From nobody Fri Sep 25 01:20:35 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C54A34ACC6B for ; Thu, 17 Sep 2026 22:56:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789685794; cv=none; b=o8eDHDtUL5XeEvEAvGoYvOz0fGISJyrM59TzLWyIB2KcWeHdJgHd/yLCAy+ZpB0HHUSINSnDV0pvITMCBxDwu8ZZAcCu7nOxYUCgWsCBmyBLTOBWGqzTOT6DGRK3gG5BJvR1atyXl4RNPN5ndgzUwHlA+gfS92CfeNVHtgI05yo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789685794; c=relaxed/simple; bh=z5RFOzgzYC5TMMNQ/B5mfSfzp/qgDLgpH4puOuz6SZY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Se1ZUxNdijY1rzVbtyOnYNzuosa+tGZ+XlRmwELEowlra/1vqHOKgIzXUA54cnab0d741w9M4Sq97IeGQdUJLRORGpwsBE+qzd+0oHmdr74zRI2S4Ck7jXqgU3wqKXOgo2+ekaHZcZTOSSgSUgi99IBTw4MqAmn6jzWDXPafhp4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=i6zQYDYN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Dk9LlyL7; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="i6zQYDYN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Dk9LlyL7" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68HLGCu22823289 for ; Thu, 17 Sep 2026 22:56:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= J7nsXF2Z4lia4oXjOVDfCPan6jxoQ/loYfy7cjdmcqM=; b=i6zQYDYNfjHPrl1g 5vH+ELw+xnpblF/N4iTi2VBhuhSFq1fOVG9rCcenaTtJ98V7G3n4zIKKQyTAEQ70 Hn32oYtW91QeaQ5ADGJ1o7UJmRa5sw9ZkGNngWalTud8YJZ5OJxY+axkPp0FRYYP 9bhCA2GTbKJaR/MZve5wO65mb3/IqAJYRiNYekOWeADp739p2npSogB+Xnx8+RqV Ckt/sgXgJiovCTlQq8SnJwLP/4USTtIEou4JB6x8UsThUQojqCeEwveyNCCFmHFq /+O1vpjiLbFXYVFOASMMtJadztClV2/v4du8iYkeI5TSibYTPXFc4vwSO3/VqQ+e 2BohCA== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4grjkt1yrf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 17 Sep 2026 22:56:31 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-39d8646b10eso134594a91.1 for ; Thu, 17 Sep 2026 15:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789685790; x=1790290590; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=J7nsXF2Z4lia4oXjOVDfCPan6jxoQ/loYfy7cjdmcqM=; b=Dk9LlyL7odyZSZNDUjusoCJoV4XaQI0kZXW/9kNpfRM3FWDZwvC8s8TgxYcc7xE+SQ /cTsIZ137RhHHC5zxJ/djptLQf/2wR586WPrR4mpPerstGcqYEIs19wpLQKS1yT/WPxY +G5uyejV+EjPqyCiWfhD7iCnI32RVH3c/d01PP5Ysb1xpoM8FP8iZroVSP2P5ofhsI9n bucHg44EgVsYPzG03GLIoMd86g0e1xpcOCu9/REhNFOYbP84YaGyZcCe2pciPpdP0Cu5 TJOKlK/sH7+DSk7J2shbmr7qp0J3XnBVTZOIuFu/c/CfM/36eefd6lHhwxyUB3eMAxP9 4bLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789685790; x=1790290590; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=J7nsXF2Z4lia4oXjOVDfCPan6jxoQ/loYfy7cjdmcqM=; b=fE4/vwxhIq88pTCNrWZky4B7x7tY6doSDgqTWSwI4n2lM48rvsDB5mXt+OHqKi91tW DYxkoje8Y5BEgx7uzRj7198Xb0DqA1Mg1iUjldMEt+kJ/kIQ3OmVbzsTbxL+8U8pm9n3 Ikbt015OU01T5R0SZ47ZawL4keGyoxHHGeeZzXK0UmnS/4ueM+i0z0mJLKoDU4F18vb5 MS9dh0dXlpbmDEAcMM3e6RwIEUy26VEgUZmW4LdS0e7oLk5MLCIDxdPXnAY6CKTYQ3D2 4fHJT7RZm0CJHRNSsehtHHX30/gmEkUe4ECjJXbiKfiD/suPrZuhFMsUlrNd7JntlN47 +/BQ== X-Forwarded-Encrypted: i=1; AKwUvByrNdH9lPAQ14Pxgl4Lf5UaQZNZp7T20qfmh1AhSgf8dKwMqkSBQ1LnXC0KkhOj3nEMb3dq84NEF4mO/20=@vger.kernel.org X-Gm-Message-State: AFuF++mMOcORWD2Ybcp2OwoGcrysuwgKrOqwAPfuE84xC1CsWswFbDSM vW/bsdCN+Q0LqwBpPT1syS0P1vGKLq4GEL9BSOEqwsukQnvCIWtvRcd/nSo9ffjGk0OZfxIqixa FRP3ifWq0sJsWlh5YA3sECsMecOgDrKFxJ1+pp01TfTLV/iGNldKC2QTfxIiuFTT0c0/VkBbXso I= X-Gm-Gg: AYBFou0Tr4S2dHbdQY82nYr6PooQJcRuWJbldlPsNDehjt6GAFyxDwnF5z8p48vMu2g YD7CafY5RJXigK+xUlW+eZx7vVkeWL6+ytSFx0gPQJJV0L1ZxRdw0/7klvUhs92GdtFEJcIENm9 KiGlo4pfLodzoR0R4KpN11RFNfZDm89bfzs7Kkp/zv7IsagTiVj5Eu9+NWF9xVJC5KnAMOxGHhJ PHLSdV7Je+vE+H5VZV2Bdi26seSorcUErmjxz+4cLjtEbQJS3UGCJ8kM7FZrgNpUbjkRL9Lr9+b ZFoRAODwTAc74vi+A/QCrN32iDoT38Jbt8HbAa3zFrmRjQhTqSwi7R3yY11WDHHP+qVX5wTJosv 25fqNac0oSssykToUqBhlhQcWEUKrMC0DnZ941C6yDYNpObfdUw== X-Received: by 2002:a17:90b:4b86:b0:39e:21a7:5dfe with SMTP id 98e67ed59e1d1-39e54c5a1ecmr1907555a91.3.1789685790453; Thu, 17 Sep 2026 15:56:30 -0700 (PDT) X-Received: by 2002:a17:90b:4b86:b0:39e:21a7:5dfe with SMTP id 98e67ed59e1d1-39e54c5a1ecmr1907494a91.3.1789685790018; Thu, 17 Sep 2026 15:56:30 -0700 (PDT) Received: from hu-aletran-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33bf5ad25bbsm15812508eec.19.2026.09.17.15.56.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2026 15:56:29 -0700 (PDT) From: Alex Tran Date: Thu, 17 Sep 2026 15:55:55 -0700 Subject: [PATCH v2 1/3] pinctrl: scmi: Replace pinmux ops get function info with generics Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260917-scmi-pinctrl-generics-v2-1-3eeee364257f@oss.qualcomm.com> References: <20260917-scmi-pinctrl-generics-v2-0-3eeee364257f@oss.qualcomm.com> In-Reply-To: <20260917-scmi-pinctrl-generics-v2-0-3eeee364257f@oss.qualcomm.com> To: Sudeep Holla , Cristian Marussi , Linus Walleij Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Alex Tran X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789685788; l=5982; i=alex.tran@oss.qualcomm.com; h=from:subject:message-id; bh=z5RFOzgzYC5TMMNQ/B5mfSfzp/qgDLgpH4puOuz6SZY=; b=z6GlfoSGVm6PAPyRMTs3NzhhJxzNWc7Bio6PS3ZgwyQBgw8We6XbHDFa/j3avlkk4mTqD5BNA yZYS043YWskBeLrKMskg46fUfRRunglLlsss29Wg6T50KyNvhDMYfDH X-Developer-Key: i=alex.tran@oss.qualcomm.com; a=ed25519; pk=vKab/gw1fXij5UviWoglv+ho+H/oOiTHyETCLfayPE0= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTE3MDMzMCBTYWx0ZWRfX/JruAbuHuW4g F7+BvwK1OaLAuzktvEGtNK6aYEugr/FkoAXHdiiwULZ+3zT25I9epThTecWsFAwYrL4EGHbQQDD uF8G7JLLU5fKAT6l+DMN29JpzP4LPVvpsKX7Hpr/g4Eh1jSSMUT4n7mrcGYmq7BGbUIvRlhPmTB ZMnuGLmhvbzNqgB7ceyGxbdDM6H+FdrtdZ9nQg2leu9ZAiKu93ib9RB1QBC9lEtYmeUGFnZzC9C hAAnbfmgAkF6jisfyDWSg7a7FJyOayE6IsUnRKMs95WWvstrGm63blweAoxrHcmvZknk6swGRQq 3hTgpu4ndJL3HT9k5gFLAzRxC/h3rI6IVeL6MHl8inWSN5j0yrruuWbQuPboub+SeZxjYcsMOM1 Vt22+hpMda7wP+yIIHE6nrtHRkBOX7QRrBfWbzhTZV8nBlbRRCd9i/GVNmyvIOeTnSbh4dxJ71D WXrrjQqTIH7x+2Navwg== X-Proofpoint-GUID: 16KBQVeRiMXH6qWqmQp1IjCy04cjp2Em X-Proofpoint-ORIG-GUID: 16KBQVeRiMXH6qWqmQp1IjCy04cjp2Em X-Proofpoint-Spam-Info: AW1haW4tMjYwOTE3MDMzMCBTYWx0ZWRfX0fH4/TC90yDH OgF7gXCSorxFWo6pQffBeHElaELsP8JTeb8zh4IFGSKnRCeK4PsED/YFjGeIZWUgaqOaNY0T9EF bQZDDrAaZ+qMWh3g5p8rBl2PbRzvFrY= X-Authority-Analysis: v=2.4 cv=Y/VtIReN c=1 sm=1 tr=0 ts=6aac701f cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=7RNIVtV6K-S_ttmQ72cA:9 a=QEXdDO2ut3YA:10 a=O8hF6Hzn-FEA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-17_05,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609170330 During probe, populate the pinctrl device with function info so that the generic callbacks can be used to fetch function count, name, and groups. Remove locally stored functions since caching them in this driver is no longer needed. Signed-off-by: Alex Tran --- drivers/pinctrl/pinctrl-scmi.c | 151 +++++++++++++++++--------------------= ---- 1 file changed, 61 insertions(+), 90 deletions(-) diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c index 1bb36ca477b7..1d85a16f300d 100644 --- a/drivers/pinctrl/pinctrl-scmi.c +++ b/drivers/pinctrl/pinctrl-scmi.c @@ -24,6 +24,7 @@ #include "pinctrl-utils.h" #include "core.h" #include "pinconf.h" +#include "pinmux.h" =20 #define DRV_NAME "scmi-pinctrl" =20 @@ -37,8 +38,6 @@ struct scmi_pinctrl { struct scmi_protocol_handle *ph; struct pinctrl_dev *pctldev; struct pinctrl_desc pctl_desc; - struct pinfunction *functions; - unsigned int nr_functions; }; =20 static int pinctrl_scmi_get_groups_count(struct pinctrl_dev *pctldev) @@ -84,86 +83,6 @@ static const struct pinctrl_ops pinctrl_scmi_pinctrl_ops= =3D { #endif }; =20 -static int pinctrl_scmi_get_functions_count(struct pinctrl_dev *pctldev) -{ - struct scmi_pinctrl *pmx =3D pinctrl_dev_get_drvdata(pctldev); - - return pinctrl_ops->count_get(pmx->ph, FUNCTION_TYPE); -} - -static const char *pinctrl_scmi_get_function_name(struct pinctrl_dev *pctl= dev, - unsigned int selector) -{ - int ret; - const char *name; - struct scmi_pinctrl *pmx =3D pinctrl_dev_get_drvdata(pctldev); - - ret =3D pinctrl_ops->name_get(pmx->ph, selector, FUNCTION_TYPE, &name); - if (ret) { - dev_err(pmx->dev, "get name failed with err %d", ret); - return NULL; - } - - return name; -} - -static int pinctrl_scmi_get_function_groups(struct pinctrl_dev *pctldev, - unsigned int selector, - const char * const **p_groups, - unsigned int * const p_num_groups) -{ - struct pinfunction *func; - const unsigned int *group_ids; - unsigned int num_groups; - const char **groups; - int ret, i; - struct scmi_pinctrl *pmx =3D pinctrl_dev_get_drvdata(pctldev); - - if (!p_groups || !p_num_groups) - return -EINVAL; - - if (selector >=3D pmx->nr_functions) - return -EINVAL; - - func =3D &pmx->functions[selector]; - if (func->ngroups) - goto done; - - ret =3D pinctrl_ops->function_groups_get(pmx->ph, selector, &num_groups, - &group_ids); - if (ret) { - dev_err(pmx->dev, "Unable to get function groups, err %d", ret); - return ret; - } - if (!num_groups) - return -EINVAL; - - groups =3D kcalloc(num_groups, sizeof(*groups), GFP_KERNEL); - if (!groups) - return -ENOMEM; - - for (i =3D 0; i < num_groups; i++) { - groups[i] =3D pinctrl_scmi_get_group_name(pctldev, group_ids[i]); - if (!groups[i]) { - ret =3D -EINVAL; - goto err_free; - } - } - - func->ngroups =3D num_groups; - func->groups =3D groups; -done: - *p_groups =3D func->groups; - *p_num_groups =3D func->ngroups; - - return 0; - -err_free: - kfree(groups); - - return ret; -} - static int pinctrl_scmi_func_set_mux(struct pinctrl_dev *pctldev, unsigned int selector, unsigned int group) { @@ -190,9 +109,9 @@ static int pinctrl_scmi_free(struct pinctrl_dev *pctlde= v, unsigned int offset) static const struct pinmux_ops pinctrl_scmi_pinmux_ops =3D { .request =3D pinctrl_scmi_request, .free =3D pinctrl_scmi_free, - .get_functions_count =3D pinctrl_scmi_get_functions_count, - .get_function_name =3D pinctrl_scmi_get_function_name, - .get_function_groups =3D pinctrl_scmi_get_function_groups, + .get_functions_count =3D pinmux_generic_get_function_count, + .get_function_name =3D pinmux_generic_get_function_name, + .get_function_groups =3D pinmux_generic_get_function_groups, .set_mux =3D pinctrl_scmi_func_set_mux, }; =20 @@ -487,6 +406,60 @@ static const struct pinconf_ops pinctrl_scmi_pinconf_o= ps =3D { .pin_config_config_dbg_show =3D pinconf_generic_dump_config, }; =20 +static int pinctrl_scmi_get_functions(struct scmi_pinctrl *pmx) +{ + unsigned int nr_funcs, nr_groups, i, j; + const unsigned int *group_ids; + const char *fname; + const char **gnames; + int ret; + + nr_funcs =3D pinctrl_ops->count_get(pmx->ph, FUNCTION_TYPE); + + for (i =3D 0; i < nr_funcs; i++) { + ret =3D pinctrl_ops->name_get(pmx->ph, i, FUNCTION_TYPE, + &fname); + if (ret) + return ret; + + ret =3D pinctrl_ops->function_groups_get(pmx->ph, i, + &nr_groups, + &group_ids); + if (ret) + return ret; + + if (!nr_groups) + dev_warn(pmx->dev, + "Function %s contains no groups\n", + fname); + + gnames =3D devm_kmalloc_array(pmx->dev, nr_groups, + sizeof(*gnames), GFP_KERNEL); + if (!gnames) + return -ENOMEM; + + for (j =3D 0; j < nr_groups; j++) { + ret =3D pinctrl_ops->name_get(pmx->ph, group_ids[j], + GROUP_TYPE, &gnames[j]); + if (ret) + return ret; + } + + ret =3D pinmux_generic_add_function(pmx->pctldev, fname, gnames, + nr_groups, NULL); + if (ret < 0) + return ret; + if (ret !=3D i) { + dev_err(pmx->dev, + "Duplicate function name: %s index: %u selector: %d\n", + fname, i, ret); + return -EINVAL; + } + } + + return 0; +} + static int pinctrl_scmi_get_pins(struct scmi_pinctrl *pmx, struct pinctrl_desc *desc) { @@ -571,11 +544,9 @@ static int scmi_pinctrl_probe(struct scmi_device *sdev) if (ret) return dev_err_probe(dev, ret, "Failed to register pinctrl\n"); =20 - pmx->nr_functions =3D pinctrl_scmi_get_functions_count(pmx->pctldev); - pmx->functions =3D devm_kcalloc(dev, pmx->nr_functions, - sizeof(*pmx->functions), GFP_KERNEL); - if (!pmx->functions) - return -ENOMEM; + ret =3D pinctrl_scmi_get_functions(pmx); + if (ret) + return dev_err_probe(dev, ret, "Failed to register functions\n"); =20 return pinctrl_enable(pmx->pctldev); } --=20 2.43.0 From nobody Fri Sep 25 01:20:35 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D58043DEA2 for ; Thu, 17 Sep 2026 22:56:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789685795; cv=none; b=RfssG4oGYgbK10/x+DCAwuGFhe5dH9ciWPQJcaTqsZaMhmtLObG3ukd9K8UqfiOlZ06w4MdM2cnZyt6l2QcZZxlvQvQHW60KbsDhH29ggrJd/iFQ9344iGfub08M7qdbliyB7YRTmD/E7++RWiQBR5uEwwheGqcI5xSw7spb2lU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789685795; c=relaxed/simple; bh=P8dryjMpnqvpodgWk2ySD7v0wpX4IgHdJJ8YJF0hzFM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YZgX7eAXvLgWPeC/isctr21ByJ7SYzbq7lJJIFmeqdqI8TI51VFqNwbK4gTcg5OGk1Lo/WaNAYOngwN0IQcbaHp5BKNXbzMxpvCs0hWhH4bmfuJo/wFDxiCRK5PCezFL387W8uslBDZHUgxBe0VK/nG3M9u9fF0cLDJrvZmLZbk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Svk1/ZM7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bugjM6hW; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Svk1/ZM7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bugjM6hW" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68HLGI793432067 for ; Thu, 17 Sep 2026 22:56:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= C8fhB4ShupgmdingQtdsx4ZV7fuE84BA4Ymz0F7Pxoc=; b=Svk1/ZM7ul6UUri1 ilADI/q42HWeWOXDTlhXtMd+epfVhQKv1y5K06BgXfL0VDFWvcs6dohdInxV3hlX p93MhU6T5EOjVT2Ipkp7pkFSz263eCTuX5MJv87sQ1yG3odWx6cxQQR0bkvp2ix5 M2FZxSOBarq6yRe9jzg6hYzWW0YUNKFBCwwBx5cMLS6TJ/TLjdOU5Nf5rQ+yQBxU dQXkWvAwximUBqf4PW92VSogCXVnsfKFUIU5/fzVMvH1ilaXr7g24EhkSmjYvy1O 0L4mAx7RoueN9q8JrJIFJ45NP0uY5M/N+k5ASAm3QaYZuKftPHIfwHgEZk9D/6t8 efVSBg== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4grhs6j9b7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 17 Sep 2026 22:56:32 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2d55d8cd938so2443085ad.1 for ; Thu, 17 Sep 2026 15:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789685791; x=1790290591; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=C8fhB4ShupgmdingQtdsx4ZV7fuE84BA4Ymz0F7Pxoc=; b=bugjM6hWXZ+Adz4BAU+uQSRFluJsG4+6G2mjkmUjVM6FViMLlv7OGgYW042C2IFC/f 3wFiqdMNreYU6TAJcNsWoDzMtmKlkol+xPN+Eu93SB2xWJFWyT5SXzmSilqPc1nPijAU UDZaO4GjstZFr2MnSFMZbYsvw3+V+1CSs5b0oH/kVRT06E+fkmngRhioGFMdrU1mL3W3 /omgkZ0KHrmljoS5yRKo6ubmvK2vyxyaRyzSljg6/Yz3jvWwcEBw5o3BN1wZ9tLLU8pG nPCe6lFE9fVi5r1I8ZuUV5weqxVLV2TYFRZ7F7cIOHJ2s+9Cpr/Ca5B2NAwgAk2orRcA /pqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789685791; x=1790290591; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=C8fhB4ShupgmdingQtdsx4ZV7fuE84BA4Ymz0F7Pxoc=; b=Pe41oym7T+azviCUa1vMyCgHNduhCHPs3sc2QEUEZ6B/1yFoaMIrJtmzYgJZjL+S4B MIVvHaG+LD4oOcbPsb/5w93pZ7JIksX3JDPqA674oNIcwPwMxFpG/gzW1q63WyrSKwzw a27LdDqJU/USNk7xz7Auw6ofIXE9GJjvu1yIyK7CCguid4kZcLCvqD21h/EHZiKvE54z mFAF4cSV68RMmIXY5+9aG0xYMf4GhJTonaZbmrTAtr3CQIvNmQ4OgjJ0UvH39dSOyTxi EF9rwAoBLVBJBQUQRyyMiXiQrHR9O4T1m1Ud31hDoADz4ORf5ZJnJbPcgQ9J1agZsqYT NRtA== X-Forwarded-Encrypted: i=1; AKwUvByViLVYuMZBZ3fKkK12+meNk1WqEbmF31JcB7PRqsJuBJ0In6VQI4o+EIKJHWPpchGOVf6ca9ZAfl6Y4lQ=@vger.kernel.org X-Gm-Message-State: AFuF++kAZXrR4oMMn/0ZRgjXx2UFKVu+Y+olcjLqMwC8F2erdR57dXBJ 35eev3efrSJt1o1rmx9Zb9X0O9TYpbmqFLrNVFgNVJQWIJxzTa8/YShv7fVUooFCdgqtrRm7BuL 4umcdB++tSwfpxDwS7ZROCwHLeIJda1uknQ0a8Wes6iFAbeocaJq9U8SuONyqyhqDpZY= X-Gm-Gg: AYBFou3wOW+L8qBhiH7Fa8xmwfKQEEtmBov2brWnwPSF+xN3/D0SH6qMOe2PrdKmaH/ 5vYEq+Q6IaED+tnjIQ5FyUaZIJ68w3OTegq7y+13q8SaQtwZemlMGbbI37hleFwfEezsCPGRFyA UReQ/+y7rEPAESQ169OTBdpEu3je+gk5UDrKr0OBouuev8YBMP8+I/zH7oGOiXdFMwkx8ZbAjI7 AfirGce+8TtEoyS7mliB00STQcA+1oW6A7Wg2wGCYGiRRPhRr08Nad6NJQ5cxocV7ivDp2cox3n 9OVR4lQmnxdw40Cueb6SrzWWk83rWq1Ln/NZkv9zp+AhgrUT0pMg2wwJmJaFR8AKIvssquPShjH +VTK5Mi6Ki2okAKJ1cNVTtL3ONlebsvTKrdJY+GbwGGI0QWgz/w== X-Received: by 2002:a17:903:2443:b0:2d9:484:861d with SMTP id d9443c01a7336-2ddb1af6da8mr12657625ad.10.1789685791119; Thu, 17 Sep 2026 15:56:31 -0700 (PDT) X-Received: by 2002:a17:903:2443:b0:2d9:484:861d with SMTP id d9443c01a7336-2ddb1af6da8mr12657315ad.10.1789685790662; Thu, 17 Sep 2026 15:56:30 -0700 (PDT) Received: from hu-aletran-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33bf5ad25bbsm15812508eec.19.2026.09.17.15.56.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2026 15:56:30 -0700 (PDT) From: Alex Tran Date: Thu, 17 Sep 2026 15:55:56 -0700 Subject: [PATCH v2 2/3] pinctrl: scmi: Replace pinctrl ops get group info with generics Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260917-scmi-pinctrl-generics-v2-2-3eeee364257f@oss.qualcomm.com> References: <20260917-scmi-pinctrl-generics-v2-0-3eeee364257f@oss.qualcomm.com> In-Reply-To: <20260917-scmi-pinctrl-generics-v2-0-3eeee364257f@oss.qualcomm.com> To: Sudeep Holla , Cristian Marussi , Linus Walleij Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Alex Tran X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789685788; l=3568; i=alex.tran@oss.qualcomm.com; h=from:subject:message-id; bh=P8dryjMpnqvpodgWk2ySD7v0wpX4IgHdJJ8YJF0hzFM=; b=pMk4JLcfOy5cUTaVghI5ArSIfRa+ErdzPL7JMcBU8CJH4cwE8P9sIpq/IsgA7Z4eRZl8fYtRn VM02NxlcSLEAvVhb+ASBBsDGBwxKOIcjs/YVUJ0uyPgFjQkuuKHcfXc X-Developer-Key: i=alex.tran@oss.qualcomm.com; a=ed25519; pk=vKab/gw1fXij5UviWoglv+ho+H/oOiTHyETCLfayPE0= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTE3MDMzMCBTYWx0ZWRfX+cuQLIIAx+DL QjYTqAyii4R7BerknW+MRIyl7fGuYAysLK3yNyQ3ywHvvcyXdCMMnSQ+E0DxhTaxdKWfhKKa3YK 6bNchY6FifEQNDtDzYkB0eFhFkRLYeGeniozo85z3kv7Ht9CQi/j+y0NTAOHBa3eB7ZBtZm8yH5 L36psh3vBlmfMKY6U/ds/sf1/zvL4IBhBsKasAupIZMFmbDeD0DW3uz+9Ts/X6DYh084/La8YXP MDaSxQeDLHXqKS+xeZe5752y2PG7BAFAZ4o5IMdmrxfaqh2aWz68OCtawBvaEPpvg/s39SBBXTT zORMj06XEx65b8qrpv3aqIjrQfUU1myoEvBjLn7+oL3FAVNI4AUmz56aU90vJrpQ1Fb/QV71bza 11OLgijKodPkRu4NlysT3zqIvkUOMWmvs4btlJov2gTZpLqfHXf8lEsVIAgQtcjXFjhumoBZwJg UqzMFG2c5liEiLwP5AA== X-Proofpoint-GUID: YLsqYhTA14nVwqu7FPfUtKcb80gy-Rzt X-Proofpoint-Spam-Info: AW1haW4tMjYwOTE3MDMzMCBTYWx0ZWRfX42rFUSgGWfqx ZrvEX4Oqc9bedeZEK/uVB5huZ62hnxKoLDUjrzY9xOIJbmfrialySRnRztzPKPtfg9YAfEXhhg3 bIf5fsMjdRLOj0qB7SgOrDugqNQ2E68= X-Proofpoint-ORIG-GUID: YLsqYhTA14nVwqu7FPfUtKcb80gy-Rzt X-Authority-Analysis: v=2.4 cv=cvwOAF4i c=1 sm=1 tr=0 ts=6aac7020 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=p54jq0OH07X71X_IsjoA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-17_05,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 adultscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609170330 During probe, populate the pinctrl device with group info so that the generic callbacks can be used to fetch group count, name, and pins. Signed-off-by: Alex Tran --- drivers/pinctrl/pinctrl-scmi.c | 81 +++++++++++++++++++++++---------------= ---- 1 file changed, 45 insertions(+), 36 deletions(-) diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c index 1d85a16f300d..c93d61dfa282 100644 --- a/drivers/pinctrl/pinctrl-scmi.c +++ b/drivers/pinctrl/pinctrl-scmi.c @@ -40,43 +40,10 @@ struct scmi_pinctrl { struct pinctrl_desc pctl_desc; }; =20 -static int pinctrl_scmi_get_groups_count(struct pinctrl_dev *pctldev) -{ - struct scmi_pinctrl *pmx =3D pinctrl_dev_get_drvdata(pctldev); - - return pinctrl_ops->count_get(pmx->ph, GROUP_TYPE); -} - -static const char *pinctrl_scmi_get_group_name(struct pinctrl_dev *pctldev, - unsigned int selector) -{ - int ret; - const char *name; - struct scmi_pinctrl *pmx =3D pinctrl_dev_get_drvdata(pctldev); - - ret =3D pinctrl_ops->name_get(pmx->ph, selector, GROUP_TYPE, &name); - if (ret) { - dev_err(pmx->dev, "get name failed with err %d", ret); - return NULL; - } - - return name; -} - -static int pinctrl_scmi_get_group_pins(struct pinctrl_dev *pctldev, - unsigned int selector, - const unsigned int **pins, - unsigned int *num_pins) -{ - struct scmi_pinctrl *pmx =3D pinctrl_dev_get_drvdata(pctldev); - - return pinctrl_ops->group_pins_get(pmx->ph, selector, pins, num_pins); -} - static const struct pinctrl_ops pinctrl_scmi_pinctrl_ops =3D { - .get_groups_count =3D pinctrl_scmi_get_groups_count, - .get_group_name =3D pinctrl_scmi_get_group_name, - .get_group_pins =3D pinctrl_scmi_get_group_pins, + .get_groups_count =3D pinctrl_generic_get_group_count, + .get_group_name =3D pinctrl_generic_get_group_name, + .get_group_pins =3D pinctrl_generic_get_group_pins, #ifdef CONFIG_OF .dt_node_to_map =3D pinconf_generic_dt_node_to_map_all, .dt_free_map =3D pinconf_generic_dt_free_map, @@ -460,6 +427,44 @@ static int pinctrl_scmi_get_functions(struct scmi_pinc= trl *pmx) return 0; } =20 +static int pinctrl_scmi_get_groups(struct scmi_pinctrl *pmx) +{ + unsigned int nr_groups, nr_pins, i; + const unsigned int *pins; + const char *gname; + int ret; + + nr_groups =3D pinctrl_ops->count_get(pmx->ph, GROUP_TYPE); + + for (i =3D 0; i < nr_groups; i++) { + ret =3D pinctrl_ops->name_get(pmx->ph, i, GROUP_TYPE, &gname); + if (ret) + return ret; + + ret =3D pinctrl_ops->group_pins_get(pmx->ph, i, &pins, + &nr_pins); + if (ret) + return ret; + + if (!nr_pins) + dev_warn(pmx->dev, + "Group %s contains no pins\n", gname); + + ret =3D pinctrl_generic_add_group(pmx->pctldev, gname, pins, + nr_pins, NULL); + if (ret < 0) + return ret; + if (ret !=3D i) { + dev_err(pmx->dev, + "Duplicate group name: %s index: %u selector: %d\n", + gname, i, ret); + return -EINVAL; + } + } + + return 0; +} + static int pinctrl_scmi_get_pins(struct scmi_pinctrl *pmx, struct pinctrl_desc *desc) { @@ -544,6 +549,10 @@ static int scmi_pinctrl_probe(struct scmi_device *sdev) if (ret) return dev_err_probe(dev, ret, "Failed to register pinctrl\n"); =20 + ret =3D pinctrl_scmi_get_groups(pmx); + if (ret) + return dev_err_probe(dev, ret, "Failed to register groups\n"); + ret =3D pinctrl_scmi_get_functions(pmx); if (ret) return dev_err_probe(dev, ret, "Failed to register functions\n"); --=20 2.43.0 From nobody Fri Sep 25 01:20:35 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D9424AD7E8 for ; Thu, 17 Sep 2026 22:56:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789685795; cv=none; b=STomZG189TWzLoS6Ohc7WbZpqFZFWFmoSUNpXOqzmbdWg5BTUPkh3lyB++n2SQXvE+w14y21rzdQCTcS3gYl78M6MRltaLDCIP+PkWYT7ynpMWvb4Xri2RU2Qp1AeJT3ccmSdlaiEwuJBdxuFXh9GXHxEYlHZAszAjLrcLyCFfw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789685795; c=relaxed/simple; bh=nSbXNq1OJYe51dl5okOjHM4uLmUxr4IZI624Hov2mXg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Q4owDD36RtztuMX68rz8CC7v4T9YCumic2gR0/s/5zYNDvTK5CGn3LXjE2eKZONBlkXBeSOnJbq0e280vEZw4lP0y5hhR53G0gxXxVj8j23M/N2d+3jXa2GBl3SsNw1u1lcI+CxDUV36qTLc71bzTwNhmE+5G+grAP8V64CmSag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=jZMepdNn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aYiUr0z0; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jZMepdNn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aYiUr0z0" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68HLG5r92710935 for ; Thu, 17 Sep 2026 22:56:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YxlxRRDVK1vBrWCas79ZIfg+L1LP4XTtHA+rHF5ADps=; b=jZMepdNnQHPlWfp7 /eD7VWcoFsNazO/PCdEXpvvI+fDrLQsGWRl8KShHMrFPSaQmQixaCEL26H2lzE5d 66oOXyzAfD+j3tFBwbhzycez3avWc3wZftAQKhJNLc99fwzjK3nENz1QV4dpI397 OmrYnN7AOJreJWtbP/aCvFlYgnuVf2w5M3TjAZbExgB7NR+cBXyP8ya5HQLEOI3x HO5nrnaCNe1SX3PhsVKaUkZc60DUcSCA4+k7Qa8o8owQVDqoxNMqMUBqTKUkvFjQ E3ryxk2NJnsjJu6X00vnpKHZ2kobakOk6OKQbqHisbjeGKchj3y/vCHGxYy4eqxh 44awaQ== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4grk97sspu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 17 Sep 2026 22:56:33 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-38e1118e4abso283870a91.0 for ; Thu, 17 Sep 2026 15:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1789685792; x=1790290592; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=YxlxRRDVK1vBrWCas79ZIfg+L1LP4XTtHA+rHF5ADps=; b=aYiUr0z0LUlCOEWFJWkYXwNAAoheOIrP2dwSntECyrOFHhChCfcaQFXDTgmGddQwdz KJDQf5Wj1Y8frwuO06lmGev7Jp+AboN1Se7XVHKxC542nTFQAdcWQ6HFNgug0g//hHR/ 6nVXTOf+24mX1X5ZMmdG6AKvuEjpk8lao494yGXQvHPjVY6KQX30EAj7gPI1KwQXaS4Z fKh5cUks9bUwuVfEgqknYmBqZ+4VqkQAEW5iQ1AxkpOQrLaZV8dhVJhQ02NdCdinuLix 7JETid0ZT3rapsQWJ4mOqmT49it9J2X9eZ4V0MQi+bNx2nMAFed5SpcRpD9tQ4EtojZe sZnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789685792; x=1790290592; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=YxlxRRDVK1vBrWCas79ZIfg+L1LP4XTtHA+rHF5ADps=; b=iPjHLRkstUTzUh+NiRR8BVHER4ms31V4peB82rKBgJgefwPLpzVBGrSQxh9mXcSpsM a7DFVNLU0wo9eZwe+BYSeSJrCTmhqWPMEe/0BE8dXaqkWYRqwWMwTQu8yvzzQQUkIeda GZ3gNetpkh7U50wHnKxU2WI8dWMiXu+HElsNdusEsGYXJNNpI4FXcKJWwX2ImcUZ64Oe hPT/WW67aBt8h436AmzAC6jeiXoLNRbr+8aZfEDwiXokNCv2/CLcPa6vfT/lPKouN/64 0ZNpssdH+X2KXUyiLSljNOimLDGk6O36PpOl2XTzUrgaWzNfNWoVVhX0M4Y/EIMifv3j sDoA== X-Forwarded-Encrypted: i=1; AKwUvBzAZlt6aUWinBoatsbpA+DBebQmmuSzjBzolL0sjBVsnLLKpcrvKUgvOkrU59n7i9E0oyUcNlbVu0oygAE=@vger.kernel.org X-Gm-Message-State: AFuF++kqhG2d0sNJ3rJYoOji3CYnbKFof8UFBgtX2CxqPNgwn371GPM6 sbtbdBmZfM8eSo+WHkSuR05xtefiyoEFw4Lc1vrQSuodRMYFcOidw/QLRnTkWx6PoPDtBf+sHws f4XZrz3zKQVvyx0TNok08R1454K0cep67fCV41vPsqfR1VIhgC6bQaEQFGWy8uQOcvDA= X-Gm-Gg: AYBFou1fOcGFmax/vNrBk2/BAvzltdW4PXIMQi1OMad3dqP+UZopQiQTTUYV+5iDPD5 RqV+tvQLUc+UJX2KPjfrozYPd5/M5yYhOvcORHXkzrvvsSp+D4RmEb+UMeAolJ+Dt+t/ldHj2gq mCI94pttSq12v9iBc6SdBsDCxq2+pOwR09BYC3avRy+eDbqx+3DHXmoCLrkidFxOH6D1ooH21JW faS1e1ufJgj+Ag2qQQadeJLTeq+KOdunQeuxEtJMKcYAInSWWO9PX3nnzO3ZIW8peYCeZAGEOdT fLUdkMVlGdfoX2PU6dli9FEJ/QFkqCRD3CVesx+dg9hDCh2SoQJxeK+E0amRHiM0x3t1VQqUGoT aiBMEKQ6p6Gr/y4B3xfhFjVyLplRfxP1HFYZNxO154W3zd0jWkQ== X-Received: by 2002:a17:90b:17c1:b0:39d:f2a1:3a with SMTP id 98e67ed59e1d1-39e54c19b62mr1267901a91.15.1789685791791; Thu, 17 Sep 2026 15:56:31 -0700 (PDT) X-Received: by 2002:a17:90b:17c1:b0:39d:f2a1:3a with SMTP id 98e67ed59e1d1-39e54c19b62mr1267874a91.15.1789685791376; Thu, 17 Sep 2026 15:56:31 -0700 (PDT) Received: from hu-aletran-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-33bf5ad25bbsm15812508eec.19.2026.09.17.15.56.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2026 15:56:31 -0700 (PDT) From: Alex Tran Date: Thu, 17 Sep 2026 15:55:57 -0700 Subject: [PATCH v2 3/3] pinctrl: kconfig: Select generic pinctrl helpers for scmi pinctrl Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260917-scmi-pinctrl-generics-v2-3-3eeee364257f@oss.qualcomm.com> References: <20260917-scmi-pinctrl-generics-v2-0-3eeee364257f@oss.qualcomm.com> In-Reply-To: <20260917-scmi-pinctrl-generics-v2-0-3eeee364257f@oss.qualcomm.com> To: Sudeep Holla , Cristian Marussi , Linus Walleij Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Alex Tran X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789685788; l=746; i=alex.tran@oss.qualcomm.com; h=from:subject:message-id; bh=nSbXNq1OJYe51dl5okOjHM4uLmUxr4IZI624Hov2mXg=; b=qt7oMd5cieO9tBGCHfxsL5Y3SMPcyQewnlHKqaYhCp59AL7QHCz4Kd5e0fL1RsGXRpuU6UHP0 ksK1xR5Hw9qAFoqa9WBQpYsb+g3biaoLgAEB7r62smDxGFoG6dVpub4 X-Developer-Key: i=alex.tran@oss.qualcomm.com; a=ed25519; pk=vKab/gw1fXij5UviWoglv+ho+H/oOiTHyETCLfayPE0= X-Authority-Analysis: v=2.4 cv=LOzz05W9 c=1 sm=1 tr=0 ts=6aac7021 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=eVtWBnz9pTluID88zzUA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTE3MDMzMCBTYWx0ZWRfX2aud2PGLE0pU wRt7M6e9rXek871Sipcx75pSc21aozI1SmSZ9vV1rcrdybQqgiGOgLZOoBOixUyUEWSW34m+Bbw ncJ53TUmV9Z83b89cEOoK75jekqUX9TfUMv5mH8UBX7bgP8ozwqN3yOU/8tJU9RsJWBpbKONJQo tKM+xqKYywQM8vgp7AUNlo2y2Arn4iYDiI9R0jG7xRogy3uggQTnwM0KjLgV0G2uZxMyOUait86 0Y9ZYoN7or0PMtgw7AEL9fpfxrkwWv+yd3YSERUVcnPWTlzc8L7hFw/pJzTBSt5GjWDcMQVnoCq oLN+9pOS94J1fYQO9+EHZABdFZb3G8jG/uy6eOjx7u9LUEkdpcB86Hsiw01qVtTxTHVKfKtZzQD tCHPyJ4V1nVn8MgJjTKofwS5Lyl7kKo9fWt9MYSK+gGpDbxcDooveKYbyKhxa+vOAXwnzAOrmJC hCTBWKLkWja5bIDH+tA== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTE3MDMzMCBTYWx0ZWRfXxbQTzpyz51i9 khWS93dZdiAQ96BNs17hf16cdZ088v1YE4f9WO9kILJPcBat5HKZGRwbiZ6pnrA0VaX14YH9yUr lxkY0pfDikERTT3oUwepfoMMki82mLM= X-Proofpoint-ORIG-GUID: jTaOCZSbzFODMJInLB1NxGOAbMPxMSLH X-Proofpoint-GUID: jTaOCZSbzFODMJInLB1NxGOAbMPxMSLH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-17_05,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 priorityscore=1501 bulkscore=0 impostorscore=0 spamscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609170330 Select the corresponding pinctrl and pinmux generic Kconfig symbols when PINCTRL_SCMI is enabled. Signed-off-by: Alex Tran --- drivers/pinctrl/Kconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index c2cdd7b2c49b..c93f0bfcd7e9 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig @@ -532,6 +532,8 @@ config PINCTRL_SCMI tristate "Pinctrl driver using SCMI protocol interface" depends on ARM_SCMI_PROTOCOL || COMPILE_TEST select PINMUX + select GENERIC_PINCTRL_GROUPS + select GENERIC_PINMUX_FUNCTIONS select GENERIC_PINCONF help This driver provides support for pinctrl which is controlled --=20 2.43.0