From nobody Sun Feb 8 14:56:53 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 4933819C558 for ; Sat, 3 May 2025 05:32:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746250336; cv=none; b=rbrdjGVLLUZMK5yUjbp6ox6JQVnY3gMzCPHurwoo4kHaO1LNoHsIKNUg+oFP9+RIIeUS5P9HmpQPWbQYo8nZHjLmCztexU4qPdGANn90S2ax6B5Q9Zp7sG8sIqk4RTwMLe8Em8M5euqIjMVtUo6cbnOrBgjWoGFFw6oZvLDxwJY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746250336; c=relaxed/simple; bh=hhqwCX+CfMbW8a8LTyK1HCQvR2viDSbpyfZaXTz9FJc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f7ePRTeflR//jKQqhA6uzwlkzIL0OPPqQ5oor3TDFtPcB+i0e4L/epY/0PXQJO5xxrIif+hib3FuPbmiZaNIPqPBpC897Lm52rYR3NBxCrk2pw10q+dd4w880UKTsfFPUoayJmY/tBFdf1m+5UTmI6/6sDFAV4+xKE9dwy6co2E= 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=p1vDQ/Mz; arc=none smtp.client-ip=205.220.168.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="p1vDQ/Mz" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5434e2MR004536 for ; Sat, 3 May 2025 05:32:14 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= 8rkPsKVUOAdzLtjw7eKW3hTPB+u82BaHGf8QxHqusYQ=; b=p1vDQ/MzSjshaKDu PAfTB4gEjG5TjZvowwkA/zBQcu0JutLeqKkyYCIakx+vrLLWTLqKw6EnPpr+Deau /uyrI44GoG2uhNOj9T1ov0azxfHoHx5ZVZfVz9r5kmlUKxdNlisyn0YIi/B7Y49V T8OkEVEAV47NqMrtWWUR5tA1DG8Fn81NK9+ZGRgh9U1z0FQEllO8IDm+0GOeK7VX ZiY773f4TZYwaqEddTqQN5xdN54nMNaLzpxhQVHtMmxxv62O3KsYCOqgVxZJDEPZ XrEPQ67i++2zyCOk8f/Gts3bU6Uj4aRVldAUqku7p1z0qyPkfM9DfzG3W6SA4Xyd lr+5+A== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dcakg1u0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 03 May 2025 05:32:14 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4766e03b92bso50088721cf.2 for ; Fri, 02 May 2025 22:32:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746250333; x=1746855133; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8rkPsKVUOAdzLtjw7eKW3hTPB+u82BaHGf8QxHqusYQ=; b=VSPfOG43vrwXBmt99WzAto24pti5sTqoUw3Fbh9Xna+LdkkBPjISXg4FnQKE7LSUtN DAJbDqLVGzbSea6zbh7yFViFb8UtjOiINXPAvR3AhozlZlEJfppEiNJJX4Sscrm0cLYn ach+e1VB+LUJmFL+iZneRaaoKmdBLeu+TtusuZuCS4INeg+i0+Gd8QRCV1i0KXpFKFbi tvklkwZ81oZCewkIR1jZgLLB523J9NhJdPZkOeUY7lNCmnSIUImOMPFY4jBDn7kE5cXx NBW6D1dOicFrwWFDnRdyHOn16D8FoYmHv1y83HUOnwrXK/GKInrvGuSfFv6m771INojg YLBw== X-Forwarded-Encrypted: i=1; AJvYcCV9Y09wqEcbZwKr2io6evxZwJZNmMXr1MjopPt1PHpoXyV7PE+xqa5raZrPCu7zKvi3wIXzPmkSp0o29VY=@vger.kernel.org X-Gm-Message-State: AOJu0YwbFJIOb1dRwY/hQeEoJ4UANHousI9BWYRfneTK8BsieeMCU4+n uKWgLZo2R892Jf6G1c0L6nU+uaePHyNPbnZjuvlZcsCW+uzWAmmZpyXARu6Oz3WZoNKJNSOF+EV 1kYqh73KQRsnQ03ofDF4lve9WULyt0wXSd4eNK0m9nrjuJzzsqs5FGfAKAOP1oIc= X-Gm-Gg: ASbGnctbhaow4k7dmFn670MIDXeWnuex4bGyfC+sgniCUGkFOzGqQGPQd3hY4xB25hg /oKlg7SW2auX3AQfhF3ZdEG+vZVGzFhOfM82tYpvzPEaD+YZy8mFGwh7RbW8PgAPodUa5u5vwZw TuBM/97AnUt34tQ1Nr9oqj7M4ggWVU2LS9wxIrM/4G0U2kc8BX6yQzzRe6IFF9WxoI5/f9lWQPo eUbPnhrGKRBuXbKZ2RXm1pJaxq0eCHUrGK7fI1k2wnJH5gzRb6mhUU7afbIwgT0X/3Xewt7k+zD +HL6gvTjO/DnXdCOuFu0cmA5rzTGBb66YzMaDJKF2V8KP316Wgr8jgi3/lUU+xjBHALP38Ke0d5 pDWznenx9KMGeXc6AySF2oVKv X-Received: by 2002:a05:622a:406:b0:489:6869:5e54 with SMTP id d75a77b69052e-48d5dd6a2e4mr24660611cf.44.1746250333253; Fri, 02 May 2025 22:32:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGnyIobiBcsKCXEIsgtb9OEiGQsSvvsQAtZOu7djNaXxrToq7E3Ypb6qrxXb4kavSHUd2bxSg== X-Received: by 2002:a05:622a:406:b0:489:6869:5e54 with SMTP id d75a77b69052e-48d5dd6a2e4mr24660391cf.44.1746250332919; Fri, 02 May 2025 22:32:12 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32029017cc0sm6165841fa.39.2025.05.02.22.32.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 22:32:10 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 03 May 2025 08:32:06 +0300 Subject: [PATCH 1/4] pinctrl: qcom: don't crash on enabling GPIO HOG pins 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: <20250503-pinctrl-msm-fix-v1-1-da9b7f6408f4@oss.qualcomm.com> References: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> In-Reply-To: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> To: Bjorn Andersson , Linus Walleij , Guenter Roeck , Josh Cartwright , Bartosz Golaszewski , Matti Vaittinen , Doug Anderson Cc: linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3418; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=hhqwCX+CfMbW8a8LTyK1HCQvR2viDSbpyfZaXTz9FJc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoFapXsLBlrBwW87bgV39H64nz7f2YaR5Kcl/wy dPKRA+DYSCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBWqVwAKCRCLPIo+Aiko 1QWTB/9HNZ8pyztcrM0SZVqWDoPJtc50Rb9jCcAKuqMXypKMYcbosAkdL5vG8FhM1nQ4ddPAnzS oXr7yZWkTfRNTBpSR8z5gXAbit/DlEdknLe074bwqXpTB+wl7s33YELwUYxLFNE3W/NYUOH98++ kuzpgdtpge7xiXa6aljBmlYIa4IuAc2OpoKcVJhA9PVoc77Xm8wKiX5DYTlUDVaHhO2bhZNEWGy Q7BI/PIrsXAVl0MZnI44Rn503p78LM3OKPYPN5cTpV7j67KsrrvOgQXFNuPt2qxKNNv338Yx9z0 gURIizPJEhZH0jWY3g0H9aJ2SqST92gvzb+jGFLU/sWsBTx7 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAzMDA0NCBTYWx0ZWRfX/CiZH+VV5N33 yXtgzKpTiTRMRTRQOprgS7r8bCjuK5KYSyidCIQx4XFgo3E+21rAO0xSGfcVDvx/cbiwWk0j5q3 jJhzlBu+GfgdvJLmSjd5rghA6hZEOQktk5cqJ5Tyyd/5mzQVWuC+GxhChEKTf9WtfccMFhTcf2p r2pW+EgBVeFmDBLlR1+hUNorGz7+bF6A/Qh0XqOtABmohZ6LP1f3Rd6fzERBuvumWEj+6qPdyBH zT/CSSHaRUHTteJq8/annOehbR/+vTeYsNvH5O7d7YYB5FsbReEQal8tTV6W6YdAP06XCukxh+c pu+Xu1ZfnppHdhRpU+e+jJDfALBCz8/ZA2azGVl/bi0fonMLiWZnHhz2Yd+xt46+gLkTkK1VqpX eG/8fhl7cbXg9MpmTwQEDLLXGExlYZYcx1yYfSOd/I5petXc/xLvu3C+148XKlOJB+g+beqj X-Proofpoint-ORIG-GUID: cBXHxCwwl3Is78s1NZasvzbWKx7ElImS X-Authority-Analysis: v=2.4 cv=JtvxrN4C c=1 sm=1 tr=0 ts=6815aa5e cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=pGLkceISAAAA:8 a=cm27Pg_UAAAA:8 a=EUspDBNiAAAA:8 a=F7q04jUIKJRoJ265B_sA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: cBXHxCwwl3Is78s1NZasvzbWKx7ElImS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-03_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 bulkscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 clxscore=1015 malwarescore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505030044 On Qualcomm platforms if the board uses GPIO hogs msm_pinmux_request() calls gpiochip_line_is_valid(). After commit 8015443e24e7 ("gpio: Hide valid_mask from direct assignments") gpiochip_line_is_valid() uses gc->gpiodev, which is NULL when GPIO hog pins are being processed. Thus after this commit using GPIO hogs causes the following crash. In order to fix this, verify that gpiochip->gpiodev is not NULL. Note: it is not possible to reorder calls (e.g. by calling msm_gpio_init() before pinctrl registration or by splitting pinctrl_register() into _and_init() and pinctrl_enable() and calling the latter function after msm_gpio_init()) because GPIO chip registration would fail with EPROBE_DEFER if pinctrl is not enabled at the time of registration. pc : gpiochip_line_is_valid+0x4/0x28 lr : msm_pinmux_request+0x24/0x40 sp : ffff8000808eb870 x29: ffff8000808eb870 x28: 0000000000000000 x27: 0000000000000000 x26: 0000000000000000 x25: ffff726240f9d040 x24: 0000000000000000 x23: ffff7262438c0510 x22: 0000000000000080 x21: ffff726243ea7000 x20: ffffab13f2c4e698 x19: 0000000000000080 x18: 00000000ffffffff x17: ffff726242ba6000 x16: 0000000000000100 x15: 0000000000000028 x14: 0000000000000000 x13: 0000000000002948 x12: 0000000000000003 x11: 0000000000000078 x10: 0000000000002948 x9 : ffffab13f50eb5e8 x8 : 0000000003ecb21b x7 : 000000000000002d x6 : 0000000000000b68 x5 : 0000007fffffffff x4 : ffffab13f52f84a8 x3 : ffff8000808eb804 x2 : ffffab13f1de8190 x1 : 0000000000000080 x0 : 0000000000000000 Call trace: gpiochip_line_is_valid+0x4/0x28 (P) pin_request+0x208/0x2c0 pinmux_enable_setting+0xa0/0x2e0 pinctrl_commit_state+0x150/0x26c pinctrl_enable+0x6c/0x2a4 pinctrl_register+0x3c/0xb0 devm_pinctrl_register+0x58/0xa0 msm_pinctrl_probe+0x2a8/0x584 sdm845_pinctrl_probe+0x20/0x88 platform_probe+0x68/0xc0 really_probe+0xbc/0x298 __driver_probe_device+0x78/0x12c driver_probe_device+0x3c/0x160 __device_attach_driver+0xb8/0x138 bus_for_each_drv+0x84/0xe0 __device_attach+0x9c/0x188 device_initial_probe+0x14/0x20 bus_probe_device+0xac/0xb0 deferred_probe_work_func+0x8c/0xc8 process_one_work+0x208/0x5e8 worker_thread+0x1b4/0x35c kthread+0x144/0x220 ret_from_fork+0x10/0x20 Code: b5fffba0 17fffff2 9432ec27 f9400400 (f9428800) Fixes: 8015443e24e7 ("gpio: Hide valid_mask from direct assignments") Reported-by: Doug Anderson Closes: https://lore.kernel.org/r/CAD=3DFV=3DVg8_ZOLgLoC4WhFPzhVsxXFC19NrF3= 8W6cW_W_3nFjbw@mail.gmail.com Signed-off-by: Dmitry Baryshkov Tested-by: Douglas Anderson --- drivers/pinctrl/qcom/pinctrl-msm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinc= trl-msm.c index 9ec15ae4a104cbeb9a7d819b964d341f3bba58ea..a99275f3c4a66a39f4d9318fe91= 8101127ef4487 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -149,6 +149,13 @@ static int msm_pinmux_request(struct pinctrl_dev *pctl= dev, unsigned offset) struct msm_pinctrl *pctrl =3D pinctrl_dev_get_drvdata(pctldev); struct gpio_chip *chip =3D &pctrl->chip; =20 + /* + * hog pins are requested before registering GPIO chip, don't crash in + * gpiochip_line_is_valid(). + */ + if (!chip->gpiodev) + return 0; + return gpiochip_line_is_valid(chip, offset) ? 0 : -EINVAL; } =20 --=20 2.39.5 From nobody Sun Feb 8 14:56:53 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 45F8C1A01CC for ; Sat, 3 May 2025 05:32:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746250339; cv=none; b=PPo1C7QtWuS6ED4493udVFuSlzDfHzHwCJK9x3bspN8D3dWzSuincUSRtpUYUsWddcLP7zLuMBW0n0HM9ERhacycMo4hAYS2cd8GvrirAmcxt6AlaxBQAYuW3q74QC6R4nAAUfc0C0zPgA19/z6EiA9nHvIPY/vRbTbSZHghhr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746250339; c=relaxed/simple; bh=8sMD+0BVdsqhR32JkSGai+DhVKURkFAaa3llxtrnZ+o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XFUCfDw21hlJlHtd7TZLK+MYhlc/9h+oLAC90OwYzUvqHe9dipoEjaAlIRyLOPvKVJRGR4m9GePo2xEJfJqQx+49nugKDcvZ5AauX3AJ54UMxGAv1hn8qhaUulJCOyI3boE/ZEYH3IojB44rkMdkikAhwxeRufv3CEnxpYlDOiI= 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=LRtarRr9; arc=none smtp.client-ip=205.220.168.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="LRtarRr9" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5434vpBO023576 for ; Sat, 3 May 2025 05:32:16 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= d+g1lzezxgX4iuf48n6TvpSmGyCyTlu+pITz96aE0xc=; b=LRtarRr9v6i+ZL8+ Ee4SkRqeW02oikeWCbS8l5ixzjAnQ9CA04baaKqRNOs6M+Ovc6TOoT1qfdXzfZYA eXeGAgXuvjb0Iv45hg/001BaRArZm5ImwbYGgZ1PzfrVZlr62mnXhON4I9illlrF D+q8BQqJn/1a3IuCtN/Ts9HUsubF4ie4fTU/KPl9QlNEvlNeNSUKLt+DQIYsheM5 mepCKYJYc8JK85CXBVwQNzZTGO3fVxmxmqf9Z4M3bhjx5dtwTg+BB+m4GGQLaxKV ZX0LK7Q+sg9xEuAEty0xNZoq/LMveVPp8jgeH88KcIzlxpXzdmHTsnVyNl0Vrw7/ s7xY1w== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46da3rr72s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 03 May 2025 05:32:16 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-47ae8b206a4so50112041cf.0 for ; Fri, 02 May 2025 22:32:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746250335; x=1746855135; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d+g1lzezxgX4iuf48n6TvpSmGyCyTlu+pITz96aE0xc=; b=ZL3FPlqwdHasOJP/WrdiqtDdjmPktH1nVvvej+78FIWEsEByX78qGpOn32qtkKH0fP 9tr1nyFCsa5CZK7iuE8mJLLtxJ11W3GrWQ7hKIHHEK0C0sE69RyTvZ1BHvmG/Dxys3xv HZf7B9xy5wdhumCDNZQeQCwiXwc5dAUzLS2rcChD/dURu5se+6xOa2MnYquYUxJeO1zf 8z3aNX3fVG2/EmMS4MK8UXzC8aqfVpqmzde5fvego7pbdWy0N9zRUGEbyQ9n9h4GndUh iGPnkMH0X3HPK4YR1hckDSAag4PfsFEwHs+eBe4fMwZapTImBKjW9prUglIldvwazNwJ wWRg== X-Forwarded-Encrypted: i=1; AJvYcCVzjFKe5ANaicwbDGKCG3pAzqh9SZf1ePDJ3vd+fllloLtaqG1LhRD9UYG7aHxk65s/C0ZOENDFwc/VLM8=@vger.kernel.org X-Gm-Message-State: AOJu0YzZADhqIt1rV3JfvhN2bddh7VeWxwAzzJCU1k8DQpfgfZ580hvr AEE/9cZeuMlL0kq80uEy3e/wAjj6uDdnhiqLgy1a6FziLm7ICTRUv27CZnYyhFns9XfeDTX39lH /HOgqSsX4eQnEUKh4aFpxQaV+M752Zq8HPCbB/TzDUzrcttb/Mg1/uGEGaz596ik= X-Gm-Gg: ASbGncuPKlUmyYYOHjiTkk3GW6KcOgQlMjbyDF8KlHy3ka+LG6LFGRk/CMdl2es27Lm d9VuK+P+9qrldNGtTVTCsKMcpNV4yYLGXcRJmESrO2L/6fHn7YHnBCiUQuiNh0B91dkIIjHI6Hn NWWPGM96rr4+vWlzh8skOlYX1pki0EFOUSxXDYr32mGZeVH02BupxqhBaj0DH0wFBQXgS0WKHVm 6wVkpGBEgXFX1163M1WAwy49cUxoRR/iTnTkg68paYVmt2fh9Fr40TNjxmpdkEymhlWKTglABi9 3xROmWMeXDhAh2I43lBzRO5c4wM4u8Gz6eh3nBUL6kwvY6K70b9djR2eDxR0/RbQXFfgkmyqeOR riQJkpI31xDqySoVKBCUyckAH X-Received: by 2002:ac8:690f:0:b0:476:95dd:520e with SMTP id d75a77b69052e-48c31354610mr87128481cf.16.1746250335048; Fri, 02 May 2025 22:32:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFcU2f7JBnJ76SoDjfiVAvyoGalGlzmKSZO2Wv94frd/Ay5rnbqepQqBsqyL9pDoI0HlTxCWw== X-Received: by 2002:ac8:690f:0:b0:476:95dd:520e with SMTP id d75a77b69052e-48c31354610mr87128281cf.16.1746250334641; Fri, 02 May 2025 22:32:14 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32029017cc0sm6165841fa.39.2025.05.02.22.32.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 22:32:13 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 03 May 2025 08:32:07 +0300 Subject: [PATCH 2/4] pinctrl: qcom: switch to devm_register_sys_off_handler() 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: <20250503-pinctrl-msm-fix-v1-2-da9b7f6408f4@oss.qualcomm.com> References: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> In-Reply-To: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> To: Bjorn Andersson , Linus Walleij , Guenter Roeck , Josh Cartwright , Bartosz Golaszewski , Matti Vaittinen , Doug Anderson Cc: linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3068; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=8sMD+0BVdsqhR32JkSGai+DhVKURkFAaa3llxtrnZ+o=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoFapXfvCnOffRs0fkj4X03+IWWD0MsP3qve7Kw pBDkgq5RZqJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBWqVwAKCRCLPIo+Aiko 1cmkB/wJDYZIgtJ8LSNVqmYkO3j5uVA6JDmzP3kf6UDwNTbAetQqjNhmN1YQDP0VLa6aVGY275R NRlTUoXo59z3b+onaCFVPt49d6D4jeADyF297xPheS+pzobyELSmBRsX9QDoWwjLg/XT7nTQsjB fG+/Wq+aq95Uvi/XMPDkuHTmNeIFuyC/nk5XvltGzwb7xUTiY9aatQuQPNn+n0T5QrBwP25AEOA 539/qeT6zDh41xUKFrA7ZzHB1i0lWecY7nptLPBdjboAm7MQBe1NFpjphP+N3iCzQWN/puHZsol 9ArXkrU6jEXR3SuNXElo8/GJSKYrpTuJBrLh17yJkzu20V+t X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: bc95rVO8Yg4Qqr8OLmS6wnxN7T1H9_A0 X-Authority-Analysis: v=2.4 cv=cpWbk04i c=1 sm=1 tr=0 ts=6815aa60 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=AQMnIOBPTmT00GrUaA0A:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: bc95rVO8Yg4Qqr8OLmS6wnxN7T1H9_A0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAzMDA0NCBTYWx0ZWRfX/Uu9rFUxroIh 6tjx5F3K2hC2Jgp2xeNj0AWp041zfz55Uc23T5I5QklnGbe9qTbaCHBdyicG4v4tdCvn84l7wVo jSUgDyzOAxEPifJzf/+8zf2vafje2GvBfQVLHu6lXosOdJIxqPWWK96ANvn8KtLAe8ssIs8p8+D +VCP03qdfRrM6RqCi22bObOm1fd/B6fDvHsa95cSM9Qn4vA66SP3UNbwRjHQYMldTlEr4PdmlJW KlPa/ycRQhH+lNIfMHR3saOcJgy+LOuxgPXRde3HYDG1RdMLQ3atV7Auc8pAl8EoQ/TOnV9N5Sn 8c3zsE1YBnRqbYv44MS/j4vwj9v8HYdOj7+8+6+SNxGuF3yn8TsS4seG9aY1TfXVzxTYu2B9YJm rwTQpGeFyKPaxNVJ5Z6cAvfwpyqvNkyQBkfP7oxkxbHYH3559wdK146RvXrB5LV0OvyeRqBo X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-03_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 malwarescore=0 suspectscore=0 bulkscore=0 priorityscore=1501 mlxlogscore=999 clxscore=1015 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505030044 Error-handling paths in msm_pinctrl_probe() don't call a function required to unroll restart handler registration, unregister_restart_handler(). Instead of adding calls to this function, switch the msm pinctrl code into using devm_register_sys_off_handler(). Fixes: cf1fc1876289 ("pinctrl: qcom: use restart_notifier mechanism for ps_= hold") Signed-off-by: Dmitry Baryshkov --- drivers/pinctrl/qcom/pinctrl-msm.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinc= trl-msm.c index a99275f3c4a66a39f4d9318fe918101127ef4487..88dd462516c76d58b43d49accbd= deea38af8f1ec 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -44,7 +44,6 @@ * @pctrl: pinctrl handle. * @chip: gpiochip handle. * @desc: pin controller descriptor - * @restart_nb: restart notifier block. * @irq: parent irq for the TLMM irq_chip. * @intr_target_use_scm: route irq to application cpu using scm calls * @lock: Spinlock to protect register resources as well @@ -64,7 +63,6 @@ struct msm_pinctrl { struct pinctrl_dev *pctrl; struct gpio_chip chip; struct pinctrl_desc desc; - struct notifier_block restart_nb; =20 int irq; =20 @@ -1480,10 +1478,9 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) return 0; } =20 -static int msm_ps_hold_restart(struct notifier_block *nb, unsigned long ac= tion, - void *data) +static int msm_ps_hold_restart(struct sys_off_data *data) { - struct msm_pinctrl *pctrl =3D container_of(nb, struct msm_pinctrl, restar= t_nb); + struct msm_pinctrl *pctrl =3D data->cb_data; =20 writel(0, pctrl->regs[0] + PS_HOLD_OFFSET); mdelay(1000); @@ -1494,7 +1491,11 @@ static struct msm_pinctrl *poweroff_pctrl; =20 static void msm_ps_hold_poweroff(void) { - msm_ps_hold_restart(&poweroff_pctrl->restart_nb, 0, NULL); + struct sys_off_data data =3D { + .cb_data =3D poweroff_pctrl, + }; + + msm_ps_hold_restart(&data); } =20 static void msm_pinctrl_setup_pm_reset(struct msm_pinctrl *pctrl) @@ -1504,9 +1505,11 @@ static void msm_pinctrl_setup_pm_reset(struct msm_pi= nctrl *pctrl) =20 for (i =3D 0; i < pctrl->soc->nfunctions; i++) if (!strcmp(func[i].name, "ps_hold")) { - pctrl->restart_nb.notifier_call =3D msm_ps_hold_restart; - pctrl->restart_nb.priority =3D 128; - if (register_restart_handler(&pctrl->restart_nb)) + if (devm_register_sys_off_handler(pctrl->dev, + SYS_OFF_MODE_RESTART, + 128, + msm_ps_hold_restart, + pctrl)) dev_err(pctrl->dev, "failed to setup restart handler.\n"); poweroff_pctrl =3D pctrl; @@ -1608,8 +1611,6 @@ void msm_pinctrl_remove(struct platform_device *pdev) struct msm_pinctrl *pctrl =3D platform_get_drvdata(pdev); =20 gpiochip_remove(&pctrl->chip); - - unregister_restart_handler(&pctrl->restart_nb); } EXPORT_SYMBOL(msm_pinctrl_remove); =20 --=20 2.39.5 From nobody Sun Feb 8 14:56:53 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 D551A1A255C for ; Sat, 3 May 2025 05:32:18 +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=1746250340; cv=none; b=Kh5S5JEca5u6SDnaA8WuDDro2IOOwyo/pEnQ+jooJQBsacOYFQkEaKqBBKXWSE8H2pRuIIFCCnLmYrzLZVhMNoIRVUUfuGgRU/RtGR0oQ/bfpjN/ae7DN2fdLFTRhYOx1qxngjZOaY+yGH56/XvC2BlCHJbTWb/PYNMA3y9Io6g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746250340; c=relaxed/simple; bh=lxvekQGPDsOMYef1m807SVoHXf2uXvzLwYRmS9A6iAA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Mc7VKOEOA4X2QCitRHM7qA/6Z34HlHEwiaCyE2zw36d8YkjpFPc4Jyl+ZpXeIl97fyZF8frEAbGhvBeezJ40NsiyBgqgsrmVyIZjXGjvFKMe+t4Jj7tMce/69A4j11rr6OncD2lVyjQotebxiDruNafexxhHGtNE8zAFqdSC0/4= 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=C6SH1/P5; 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="C6SH1/P5" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5434kFYq027211 for ; Sat, 3 May 2025 05:32:17 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= YLxjbqM9PSW7oEolDee1xiNk/Q1KHNR7QJsWA/AIg1k=; b=C6SH1/P5jRelggFM jH5mBWY0G8kLiH4Lnx2X8AD7OopyfOO5PolWhygJAYzaxUH4DX7p0iacv0e0wwnb 0xWmdgaOqPgPxDFkNKJJBZl4vzt2sF1LFm2E+S56gPxKDxeRChoszrd6XfaKxJO+ 3uWqj5AAuJjp8E4arHEmne45TwLI8PMGxUk8L3cHb1vNS/m7kaOshak5zt5GUccR uVrpkchKgPu4bSBQhk4ZeRfQJZ7dP0FhaBMyyD63HG6PQTDAuqkHLXiWO96wbZKD NUNtKh77wmUPLQegxX8H9uti1zyvyXfIHDCm1rXNy07JQ7i5hJmjpQF1jbxp5Sge fW96sA== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbh783np-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 03 May 2025 05:32:17 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c543ab40d3so301114385a.2 for ; Fri, 02 May 2025 22:32:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746250336; x=1746855136; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YLxjbqM9PSW7oEolDee1xiNk/Q1KHNR7QJsWA/AIg1k=; b=huoRnwuADjcvvNsuSSIL5/tEF0g79J+8x8bxB1nyU7QEfxmfSAU2hupMK0/+dVpXdC O3cLcItnU547ZD2zb1Ca17WtOif6sluQCx6S5Hoat8gSe47nZcU+HGsEUfb/9iEbf/oG JyCqKCx+ZmhZ5Tx7lejifgBWON/lfpttO2mrKIrTifbZaUOGkxL3+qAY4qquFeeaPMT6 iTNVQSAhRfJzpSJqr4/VTdn4L4D4d5HwPaUht/WA/ECC+DRVmnHbId24zPWMXCWHgHec s4HTDBtYcj5GzUgyG+eUAdu8MzKR0/UVska/GO1ovBDkBMc8gNGKJXbELd8l6rD/A0/K QiSg== X-Forwarded-Encrypted: i=1; AJvYcCUQJYbhCNQETb1B024CLRHJAnxAvxtY5h9XRQ8ocwTMA6oUZCdUg8VRr19BO4owTDLuzeGNaEmiZki0Vcw=@vger.kernel.org X-Gm-Message-State: AOJu0YybRSk2nM/le1mU6Xzo+ILlAp05zlWOa05y6gORIOYyvQwVj5GD mzti7RHcTrv+vQ5hbswXItq24mi3nCfaickGJNlRcPQFFFnp56O5Qer2SKowTpoidb355M8o9IQ Sh8nkKUsyqUNFBK1+pmGmGqwWVrX6xdbuIol+xmVUWXYxsgYwYCTRziJjVka3dRU= X-Gm-Gg: ASbGnctuwxktV/KozYFtpt8ILouopFHB3Zhm9TEQtklMUYtOuqzc+mP2XwxV9+KJfj7 PDz87NBuUBroTg3QWqkZeDRIwcnKguGQkkr/bVfA4CJSc3Wg8r1B+BO2aAOccotIwwF7DOTxydg EXp96lcQkr0+G4QtuCNGOGRc4eTtFIoXlETRsA6M746JtVbu2CSw0pX4NmHeYT4tf9JGw1If77u Hrr0PMN3ndn2uhjHh4eQZhFqYToF7kYxkwLIfTD81ihjaBc/SzDiZzFz9xHJt/11k61XIlYV6bO s3B0sXDZAYU+00RIdbZ3wTvVAHf2ewIYbr4+FNC2SiyTJaGc4Q5rQ5JxRMTDFh5FS10/Bu8GQrd AVC3xeio3+MFTdEYp2poWhzjl X-Received: by 2002:ac8:5756:0:b0:48c:4512:568a with SMTP id d75a77b69052e-48d5b96cbdcmr24116461cf.2.1746250336694; Fri, 02 May 2025 22:32:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFTs25BvVtFCFuCcyCdpmXaV7jb4YgOclzlqSXZmWEcq9CovXVDxtZt7lIGjGZ2T9NIbNewhA== X-Received: by 2002:ac8:5756:0:b0:48c:4512:568a with SMTP id d75a77b69052e-48d5b96cbdcmr24116391cf.2.1746250336393; Fri, 02 May 2025 22:32:16 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32029017cc0sm6165841fa.39.2025.05.02.22.32.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 22:32:15 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 03 May 2025 08:32:08 +0300 Subject: [PATCH 3/4] pinctrl: qcom: switch to devm_gpiochip_add_data() 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: <20250503-pinctrl-msm-fix-v1-3-da9b7f6408f4@oss.qualcomm.com> References: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> In-Reply-To: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> To: Bjorn Andersson , Linus Walleij , Guenter Roeck , Josh Cartwright , Bartosz Golaszewski , Matti Vaittinen , Doug Anderson Cc: linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1411; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=lxvekQGPDsOMYef1m807SVoHXf2uXvzLwYRmS9A6iAA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoFapXZb6OKq+z//iyeZr/AmTBOABud1Az5/Ibx XbLDa4Nh5+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBWqVwAKCRCLPIo+Aiko 1dW1B/4/H8EvUOxYkySSbIaOqwGKUP8s76idmHDQ+SXplOVQ5t8vJ85UvryWnDddYDriqHjv6Mp yFR/5yRd/c/laBCtZRrm3wZY84JHjQr/iREwEHFng8Vb+vLE08XKQQRS7GalFCYxsa7qxuEWIpm qPaoSJqiVKfyfujGC8MEJCKtPikx05xkdp1SY4U2xRSH2WZWecGv1Sxb57PXy4ZUzvHJlPMmZ9s Ay1YA+qeDcIZ+2Bex0/JVyNCieEGnHceafd/nbTSJ+6IO2LG0Z+y/K58cUjaY1/6tZ29pm3GZ5+ JwWH23qlxchhnAXcg5U1wtBN0LvTNdQ8G9nF0hsh71zVT2GE X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=fMY53Yae c=1 sm=1 tr=0 ts=6815aa61 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=04QupZ5m7bBPoSiWPbYA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: EJ3_7s_vvWCXr9M6J4hzyK-fcOc-ztLY X-Proofpoint-ORIG-GUID: EJ3_7s_vvWCXr9M6J4hzyK-fcOc-ztLY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAzMDA0MiBTYWx0ZWRfX7eB5jlfgFNSy aQeO7ldNNPgNF7nW/W1ErLGZ+PhcGzSpH7zuIr3bmOnySk4kIOAzy4O8aTm7MOCY/mFAR+R8HN9 oVgGNPhqqDSppqtqt2/xdh7nrqLxUk6x3DlfJUjuqgfnhnRMWTBhGtHHT2rT0DyMrCuBAHdfiek QhJhi77gOSgvbIYHnreZBJUwOrP5aEvnSdfYc9Kwtj19InuLNOgOuj6Pk8/84DWH+GjD90t0Grn JAnJ9v9Ly49cTB5Emh+/FkjOEeShwHXvz/cev5GVZ/SyFg1UDgWLZfwFoj+7L91D6T3Sc5Q2feQ WuzPM672sHZRNLqUtmn4ZVlHuZ1CMyddS7COwWIdbdmSYiIN83b9Hdb5KnrLLTpDDWDZg4+dOSJ 8zAJFBNTA/l92QOw3hNothZuvoRtFjHVtEkjuYcIKk4tqLruNnsYP47Paszbr81olohm33fG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-03_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505030042 In order to simplify cleanup actions, use devres-enabled version of gpiochip_add_data(). Signed-off-by: Dmitry Baryshkov Reviewed-by: Matti Vaittinen --- drivers/pinctrl/qcom/pinctrl-msm.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinc= trl-msm.c index 88dd462516c76d58b43d49accbddeea38af8f1ec..b2e8f7b3f3e3d5d232b2bd60e5c= ace62b21ffb03 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -1449,7 +1449,7 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) girq->handler =3D handle_bad_irq; girq->parents[0] =3D pctrl->irq; =20 - ret =3D gpiochip_add_data(&pctrl->chip, pctrl); + ret =3D devm_gpiochip_add_data(pctrl->dev, &pctrl->chip, pctrl); if (ret) { dev_err(pctrl->dev, "Failed register gpiochip\n"); return ret; @@ -1470,7 +1470,6 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) dev_name(pctrl->dev), 0, 0, chip->ngpio); if (ret) { dev_err(pctrl->dev, "Failed to add pin range\n"); - gpiochip_remove(&pctrl->chip); return ret; } } @@ -1608,9 +1607,6 @@ EXPORT_SYMBOL(msm_pinctrl_probe); =20 void msm_pinctrl_remove(struct platform_device *pdev) { - struct msm_pinctrl *pctrl =3D platform_get_drvdata(pdev); - - gpiochip_remove(&pctrl->chip); } EXPORT_SYMBOL(msm_pinctrl_remove); =20 --=20 2.39.5 From nobody Sun Feb 8 14:56:53 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 A8C311A9B40 for ; Sat, 3 May 2025 05:32:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746250346; cv=none; b=Kq7LI8fFmuRM5nGA9R1/s2eyiVopfBppuI6xuIQyFJdkS8x6bbony+YIUgDeKqlsPBY3+BhSdHFv1gigDvwy+9hbBUMY9h6sJRfOdEKPA0AKH9kOMaBHc1CCA97ecMAesT1ecZ5hq+PZrU/EM9mqEyc3fySJr4j+D8uvCbOQiBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746250346; c=relaxed/simple; bh=l0/8ZwR5z5cVxdtKiunbejHWWF1EF9BjtDveSR70eoE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fnFj3rFKzZltNli4h2ZohLHdr84gRjaxj8rGCnfux+L5OW2ngsAJQiLe25C9PCI36g2GXKu3d5gVM4L72cS8EGqUSfARy/zsaTitLhZ4hBGkpvnZ3Wp3qw4eJwnP5Bv1wl/tS/Q579Vy10SlggPNqX5MPkmObyf+sMYXB6l3kKE= 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=RPUWhnam; arc=none smtp.client-ip=205.220.168.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="RPUWhnam" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5434CkGD008677 for ; Sat, 3 May 2025 05:32:22 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= fH3ye87P+EPfK+jwGW+Bd14kcgnizWMrO54aJ4xCH0Q=; b=RPUWhnam44HYpbXK 1Q5rr66RJUhmKM6pdOpoC3L+ixXCl1tGBPQlHBHsYkXQldpj/IuCG2PgKRHe0jPQ Osky5UL28occJ/U/hhsMPeQKr4UVpQ5j0AYP4uk6LlzuUjoBtiYumHGSq7OI3/TV KPujML8QcAcapGqTXgMzePooYd3eP4dRxRcNjl+1AvE1hc0XkavPxLpSKKBp3rYk i8uPdOmEZX/9qdJ72AKJP1ddZQb/cnHB6yA58eO8JvB85gus8vPPMT080g8wqrZL J9aPnoaeh9hzbIHwotmvbeGght0vPrYCstrrl7kQIVJWru0R5Uo3n8aM2ysIt5Ex qP+ltg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbwfg2px-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sat, 03 May 2025 05:32:22 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-47689dc0f6dso50430191cf.3 for ; Fri, 02 May 2025 22:32:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746250340; x=1746855140; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fH3ye87P+EPfK+jwGW+Bd14kcgnizWMrO54aJ4xCH0Q=; b=T9WjwiswoJXu9dXLf6oZzHkqrW4C1d4HtzpyDbOOzgnwDDOzMCMrVcW4zwT5jzOpW4 Ru+4Qff25pzmxRVGBehJI9Mqh3bEsKmKrBdt/jQy4cJ1og6uKR7i7/cmuDqh3nN28qWP XApDhOpckiaQP4E2SPM4Q5FMyTXx/hO13wCDvxzm9HCdtpIJ9hJ9NvAHz6feMHjEBMRX hAkQ+Psy9zjz21Z9Uw5Licm2A9tXyWLrk9fv8JCuuS6Jmc3CR16/iqTGkY4l3vAX0IkY nNEelldh6cTfW624NqO+ZgXgg/iM84JCDrVbFRHQ0R0sE514cfEylKkgzWWjE9K7KxPx zSvQ== X-Forwarded-Encrypted: i=1; AJvYcCVC99bKaUaTzJh4VKXgYgutu2NRz6lnYdvgOTJ/5fn80eOPAYe1U6yzpxmijt8npVb5eePLyKcYXmNjepg=@vger.kernel.org X-Gm-Message-State: AOJu0YyGmUPFfX0qcZhNXZhITRbT+iyxuSCj2b9uDUFzXtF4Aq72XKzP eerMJKbbBnoV7tGx+vuAK4tC/iYTRepR5YbVI1JvwLgJsmFuCmKBs7aUeqCsdoAouD2fYFjYyEx +H4WbRUIMLkVg2NmMvXMj8+20Xybu/0IeN8dyusY5l9hvM0zi38xlVANYdSwoqrI= X-Gm-Gg: ASbGncspeGWP2bnd5PZiYFJfB7XqT8wuNlWP/C5r7vRCmKma8IjqoQiJ0YSGK4jUSTQ 7c0GpoFzx6/HOWrUSrRftup80b035UW1gteYvCeXLQWKJfzQBB/F487wttDCySuQFolMacOvUF6 ysCPY3AKWBpxj2xjZJvMIFU+HwoYBWHEPJsFdEPiaGhV86RF0QNizZ2AjEItkB+4jCO2Dh9o14K NEb84YsG7JJu47jyVyUTDdJxTM2QWi8eZPLogdzxByN14O99d3gFEMXDfTXGMnI15eUJBc5Cl2m Eh8cTxjDUPBh3Fmi24b9g+ZTnXbUWlHMRyD4aNjwNVBMBfJouK4+88YlaZ8889f/rmDjp7B78Mz JsgLl8M+IIWQTBGoaOO9iqSnS X-Received: by 2002:a05:622a:2509:b0:476:7eca:57e7 with SMTP id d75a77b69052e-48c31b1a333mr84732681cf.26.1746250339459; Fri, 02 May 2025 22:32:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEruVbLqXr9XflhBYN97DJ6+V15S751yWKKeMb1XY2JyNL8wKnVrL17lASMHeV18jan04dGWg== X-Received: by 2002:a05:622a:2509:b0:476:7eca:57e7 with SMTP id d75a77b69052e-48c31b1a333mr84732431cf.26.1746250338982; Fri, 02 May 2025 22:32:18 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32029017cc0sm6165841fa.39.2025.05.02.22.32.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 May 2025 22:32:17 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 03 May 2025 08:32:09 +0300 Subject: [PATCH 4/4] pinctrl: qcom: drop msm_pinctrl_remove() 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: <20250503-pinctrl-msm-fix-v1-4-da9b7f6408f4@oss.qualcomm.com> References: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> In-Reply-To: <20250503-pinctrl-msm-fix-v1-0-da9b7f6408f4@oss.qualcomm.com> To: Bjorn Andersson , Linus Walleij , Guenter Roeck , Josh Cartwright , Bartosz Golaszewski , Matti Vaittinen , Doug Anderson Cc: linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=34023; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=l0/8ZwR5z5cVxdtKiunbejHWWF1EF9BjtDveSR70eoE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoFapXpGUoYlIOty/6GKjEG+MWaBe4/WGsJksQP JvkUVR5jymJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBWqVwAKCRCLPIo+Aiko 1UtkB/9cH7/SiN56meMaGAPSyclO9/tEojtKJ2jOd5E9D2ntvjCbsvdYh81bCXKsoEfii9yGcOq Krn7i9jCRb8lp8Hbh2wjvdCK4JsHXWapTLQuuqISVtU0XIok0Vh4h908j9jrQ7TPp1q0wGVyq89 BljIVh/iDTdiV8SD1H9CdL2+HKLUCo/kd9qS2MvPmUx11+rbKuoUW/dsQWiIioI7G+BhdUD5wzI y3yCDf/JUw247wBHRYGhjWmfr0UhrBW9GF67Q7xcVIW5x6J1greVVAh/NX8Z1Gd2iOrMz5ieYnj Rme6SGL0e+gGr627rUZm8GVjojsjdtHaHRw5mzm3CilPoDJv X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Qel9-PlE4fIgef0Z9N7d39OEFI-Znir0 X-Proofpoint-GUID: Qel9-PlE4fIgef0Z9N7d39OEFI-Znir0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTAzMDA0NCBTYWx0ZWRfXz1Wkazo0x23e jNjfrkWjIvJpI4IK4OaYpy1ctjJsl0dMD5jY3As4DI2JfeU+Sb87BWaoT1xNyNA0B1//iWXHlai vMpzTepACW2NTXG25WVlCKu9Km9INTqoWV30rTixNIQzV2lqrnnekZJ1KOSvXJl/z8pl9hzDksr izDAkMRIHIL8sBLVFKlvrFLIcpiadznhThce42fygHfLDVdkj8uCu4z+n7dmh+IxleBupIvFrF/ ihwWrf3u/gpKR2fuzyUSTuWf6sHfLs85bMh4YJIbnE3h9wnEY/lTxCpTkbS5WEs8U26VOyI+7w5 ErhmbsuVCL7dyAZduGT6WSv3cHYbekJ2yk/H2p8d91gxbEeuFeUPl6dQhmS02/elx/wSL/pbJ6y dRuNZMkrF/s5jFp5rSSItSTF8eQKpeUytxT/4JOtdZe1hcUNRCNSjT/LRkx4UfXp2G5V4No4 X-Authority-Analysis: v=2.4 cv=AfqxH2XG c=1 sm=1 tr=0 ts=6815aa66 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=xmon6dfZeVAJWnF_0bwA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-03_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 impostorscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505030044 The msm_pinctrl_remove() function is now empty. Drop the function and all its calls from the corresponding pinctrl drivers. Signed-off-by: Dmitry Baryshkov --- drivers/pinctrl/qcom/pinctrl-apq8064.c | 1 - drivers/pinctrl/qcom/pinctrl-apq8084.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq4019.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq5018.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq5332.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq5424.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq6018.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq8064.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq8074.c | 1 - drivers/pinctrl/qcom/pinctrl-ipq9574.c | 1 - drivers/pinctrl/qcom/pinctrl-mdm9607.c | 1 - drivers/pinctrl/qcom/pinctrl-mdm9615.c | 1 - drivers/pinctrl/qcom/pinctrl-msm.c | 5 ----- drivers/pinctrl/qcom/pinctrl-msm.h | 1 - drivers/pinctrl/qcom/pinctrl-msm8226.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8660.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8909.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8916.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8917.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8953.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8960.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8976.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8994.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8996.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8998.c | 1 - drivers/pinctrl/qcom/pinctrl-msm8x74.c | 1 - drivers/pinctrl/qcom/pinctrl-qcm2290.c | 1 - drivers/pinctrl/qcom/pinctrl-qcs404.c | 1 - drivers/pinctrl/qcom/pinctrl-qcs615.c | 1 - drivers/pinctrl/qcom/pinctrl-qcs8300.c | 1 - drivers/pinctrl/qcom/pinctrl-qdf2xxx.c | 1 - drivers/pinctrl/qcom/pinctrl-qdu1000.c | 1 - drivers/pinctrl/qcom/pinctrl-sa8775p.c | 1 - drivers/pinctrl/qcom/pinctrl-sar2130p.c | 1 - drivers/pinctrl/qcom/pinctrl-sc7180.c | 1 - drivers/pinctrl/qcom/pinctrl-sc7280.c | 1 - drivers/pinctrl/qcom/pinctrl-sc8180x.c | 1 - drivers/pinctrl/qcom/pinctrl-sc8280xp.c | 1 - drivers/pinctrl/qcom/pinctrl-sdm660.c | 1 - drivers/pinctrl/qcom/pinctrl-sdm670.c | 1 - drivers/pinctrl/qcom/pinctrl-sdm845.c | 1 - drivers/pinctrl/qcom/pinctrl-sdx55.c | 1 - drivers/pinctrl/qcom/pinctrl-sdx65.c | 1 - drivers/pinctrl/qcom/pinctrl-sdx75.c | 1 - drivers/pinctrl/qcom/pinctrl-sm4450.c | 1 - drivers/pinctrl/qcom/pinctrl-sm6115.c | 1 - drivers/pinctrl/qcom/pinctrl-sm6125.c | 1 - drivers/pinctrl/qcom/pinctrl-sm6350.c | 1 - drivers/pinctrl/qcom/pinctrl-sm6375.c | 1 - drivers/pinctrl/qcom/pinctrl-sm7150.c | 1 - drivers/pinctrl/qcom/pinctrl-sm8150.c | 1 - drivers/pinctrl/qcom/pinctrl-sm8250.c | 1 - drivers/pinctrl/qcom/pinctrl-sm8350.c | 1 - drivers/pinctrl/qcom/pinctrl-sm8450.c | 1 - drivers/pinctrl/qcom/pinctrl-sm8550.c | 1 - drivers/pinctrl/qcom/pinctrl-sm8650.c | 1 - drivers/pinctrl/qcom/pinctrl-sm8750.c | 1 - drivers/pinctrl/qcom/pinctrl-x1e80100.c | 1 - 58 files changed, 62 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-apq8064.c b/drivers/pinctrl/qcom/= pinctrl-apq8064.c index 20c3b9025044515477f39bc25f0202dcca561743..3654913f1ae584394f5d08305f4= 9e72a9b49fe5a 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8064.c @@ -629,7 +629,6 @@ static struct platform_driver apq8064_pinctrl_driver = =3D { .of_match_table =3D apq8064_pinctrl_of_match, }, .probe =3D apq8064_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init apq8064_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-apq8084.c b/drivers/pinctrl/qcom/= pinctrl-apq8084.c index 3fc0a40762b631ad3dc15c9a7624ab705f367e74..27693cd648818bbcf6236cffad2= efcd31c92018b 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8084.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8084.c @@ -1207,7 +1207,6 @@ static struct platform_driver apq8084_pinctrl_driver = =3D { .of_match_table =3D apq8084_pinctrl_of_match, }, .probe =3D apq8084_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init apq8084_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq4019.c b/drivers/pinctrl/qcom/= pinctrl-ipq4019.c index 1f7944dd829d1b9cb8c445ee075e0e29a12294b9..6ede3149b6e1730ea432a163615= 2abcbf0fa73b2 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq4019.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq4019.c @@ -710,7 +710,6 @@ static struct platform_driver ipq4019_pinctrl_driver = =3D { .of_match_table =3D ipq4019_pinctrl_of_match, }, .probe =3D ipq4019_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq4019_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq5018.c b/drivers/pinctrl/qcom/= pinctrl-ipq5018.c index e2951f81c3eeb3f4d52c3941ab6f591da0254a23..10b99d5d8a11db644e974a80b9d= 7d04ffc09bd4c 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq5018.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq5018.c @@ -754,7 +754,6 @@ static struct platform_driver ipq5018_pinctrl_driver = =3D { .of_match_table =3D ipq5018_pinctrl_of_match, }, .probe =3D ipq5018_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq5018_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq5332.c b/drivers/pinctrl/qcom/= pinctrl-ipq5332.c index 625f8014051f6acf8e6f91d48d0406b8c2bd8caf..1ac2fc09c11923cd716495b16a7= f4af5686ce398 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq5332.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq5332.c @@ -834,7 +834,6 @@ static struct platform_driver ipq5332_pinctrl_driver = =3D { .of_match_table =3D ipq5332_pinctrl_of_match, }, .probe =3D ipq5332_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq5332_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq5424.c b/drivers/pinctrl/qcom/= pinctrl-ipq5424.c index 0d610b076da3bb7940c99cfaf4c69261f9509390..7ff1f8acc1a3a81037298464130= fda59f329d53e 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq5424.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq5424.c @@ -791,7 +791,6 @@ static struct platform_driver ipq5424_pinctrl_driver = =3D { .of_match_table =3D ipq5424_pinctrl_of_match, }, .probe =3D ipq5424_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq5424_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq6018.c b/drivers/pinctrl/qcom/= pinctrl-ipq6018.c index 0ad08647dbcdf0b1fa21a618310f150a1bde2fae..a4ba980252e187879947e705700= 4fa48815f2620 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq6018.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq6018.c @@ -1080,7 +1080,6 @@ static struct platform_driver ipq6018_pinctrl_driver = =3D { .of_match_table =3D ipq6018_pinctrl_of_match, }, .probe =3D ipq6018_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq6018_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq8064.c b/drivers/pinctrl/qcom/= pinctrl-ipq8064.c index e2bb94e86aef6e0055860794a1c64649c722aebc..0a9e357e64c60d61a094000f167= defc80503e649 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c @@ -631,7 +631,6 @@ static struct platform_driver ipq8064_pinctrl_driver = =3D { .of_match_table =3D ipq8064_pinctrl_of_match, }, .probe =3D ipq8064_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq8064_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq8074.c b/drivers/pinctrl/qcom/= pinctrl-ipq8074.c index 337f3a1c92c19285f16f59a79f3e2b20561ae19a..482f13282fc2be951032cbe6dc5= 100bf9129ea5f 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq8074.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq8074.c @@ -1041,7 +1041,6 @@ static struct platform_driver ipq8074_pinctrl_driver = =3D { .of_match_table =3D ipq8074_pinctrl_of_match, }, .probe =3D ipq8074_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq8074_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-ipq9574.c b/drivers/pinctrl/qcom/= pinctrl-ipq9574.c index e2491617b2364a64169297426351e723c37f030c..89c05d8eb55034dea3e1c7299ed= e6567c20e0159 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq9574.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq9574.c @@ -799,7 +799,6 @@ static struct platform_driver ipq9574_pinctrl_driver = =3D { .of_match_table =3D ipq9574_pinctrl_of_match, }, .probe =3D ipq9574_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init ipq9574_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-mdm9607.c b/drivers/pinctrl/qcom/= pinctrl-mdm9607.c index e7cd3ef1cf3e815ae25aa9e0c6872fbbd2c8ac79..3e18ba124fede923f56eab1aec5= aaf875f06e343 100644 --- a/drivers/pinctrl/qcom/pinctrl-mdm9607.c +++ b/drivers/pinctrl/qcom/pinctrl-mdm9607.c @@ -1059,7 +1059,6 @@ static struct platform_driver mdm9607_pinctrl_driver = =3D { .of_match_table =3D mdm9607_pinctrl_of_match, }, .probe =3D mdm9607_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init mdm9607_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-mdm9615.c b/drivers/pinctrl/qcom/= pinctrl-mdm9615.c index 0a2ae383d3d57bd4101efb7a2093b68b8920b426..bea1ca3d1b7f84c28c23af2a52c= c464da44a90b0 100644 --- a/drivers/pinctrl/qcom/pinctrl-mdm9615.c +++ b/drivers/pinctrl/qcom/pinctrl-mdm9615.c @@ -446,7 +446,6 @@ static struct platform_driver mdm9615_pinctrl_driver = =3D { .of_match_table =3D mdm9615_pinctrl_of_match, }, .probe =3D mdm9615_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init mdm9615_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinc= trl-msm.c index b2e8f7b3f3e3d5d232b2bd60e5cace62b21ffb03..2297040e2a7b0d66d5eca7a888b= d430b6a870918 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -1605,10 +1605,5 @@ int msm_pinctrl_probe(struct platform_device *pdev, } EXPORT_SYMBOL(msm_pinctrl_probe); =20 -void msm_pinctrl_remove(struct platform_device *pdev) -{ -} -EXPORT_SYMBOL(msm_pinctrl_remove); - MODULE_DESCRIPTION("Qualcomm Technologies, Inc. TLMM driver"); MODULE_LICENSE("GPL v2"); diff --git a/drivers/pinctrl/qcom/pinctrl-msm.h b/drivers/pinctrl/qcom/pinc= trl-msm.h index 63852ed702957b8111b364267af17737b7a582a1..d7dc0947bb161868c8f433dc253= 6719b8afc8bd8 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.h +++ b/drivers/pinctrl/qcom/pinctrl-msm.h @@ -171,6 +171,5 @@ extern const struct dev_pm_ops msm_pinctrl_dev_pm_ops; =20 int msm_pinctrl_probe(struct platform_device *pdev, const struct msm_pinctrl_soc_data *soc_data); -void msm_pinctrl_remove(struct platform_device *pdev); =20 #endif diff --git a/drivers/pinctrl/qcom/pinctrl-msm8226.c b/drivers/pinctrl/qcom/= pinctrl-msm8226.c index 64fee70f1772c41f5d8e20deb270ed66cb20a151..f9a957347340813f87e58d3bcbe= a81faa9d6255e 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8226.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8226.c @@ -654,7 +654,6 @@ static struct platform_driver msm8226_pinctrl_driver = =3D { .of_match_table =3D msm8226_pinctrl_of_match, }, .probe =3D msm8226_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8226_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8660.c b/drivers/pinctrl/qcom/= pinctrl-msm8660.c index 999a5f867eb5081232443a893773d73c8dc65d1b..4dbc19ffd80efcdab059a253904= e1ffe95fd36f7 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8660.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8660.c @@ -981,7 +981,6 @@ static struct platform_driver msm8660_pinctrl_driver = =3D { .of_match_table =3D msm8660_pinctrl_of_match, }, .probe =3D msm8660_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8660_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8909.c b/drivers/pinctrl/qcom/= pinctrl-msm8909.c index 756856d20d6b5f2d4e764ff32f2493de24ca677c..0aa4f77b774f45947ffade7d167= dd25cc4da5297 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8909.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8909.c @@ -929,7 +929,6 @@ static struct platform_driver msm8909_pinctrl_driver = =3D { .of_match_table =3D msm8909_pinctrl_of_match, }, .probe =3D msm8909_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8909_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8916.c b/drivers/pinctrl/qcom/= pinctrl-msm8916.c index cea5c54f92fec1829c5378a8441eb8710fd500f0..0dfc6dd33d58b2d9df7a5cc3f7f= f8890976207d3 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8916.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8916.c @@ -969,7 +969,6 @@ static struct platform_driver msm8916_pinctrl_driver = =3D { .of_match_table =3D msm8916_pinctrl_of_match, }, .probe =3D msm8916_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8916_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8917.c b/drivers/pinctrl/qcom/= pinctrl-msm8917.c index 350636807b07d9ab0e207368de63837bc5fa5502..2e1a94ab18b219f818c591ff3b0= 7280578822d1a 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8917.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8917.c @@ -1607,7 +1607,6 @@ static struct platform_driver msm8917_pinctrl_driver = =3D { .of_match_table =3D msm8917_pinctrl_of_match, }, .probe =3D msm8917_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8917_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8953.c b/drivers/pinctrl/qcom/= pinctrl-msm8953.c index 998351bdfee1369fe0f369648d66a1a05493c8fb..956383341a7a777edf28c710353= dc6deab124ef9 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8953.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8953.c @@ -1816,7 +1816,6 @@ static struct platform_driver msm8953_pinctrl_driver = =3D { .of_match_table =3D msm8953_pinctrl_of_match, }, .probe =3D msm8953_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8953_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8960.c b/drivers/pinctrl/qcom/= pinctrl-msm8960.c index ebe230b3b437ccc63535fdf51639e64a67fe05eb..a937ea867de709326a2aea77f98= 0cae1d8480f35 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8960.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8960.c @@ -1246,7 +1246,6 @@ static struct platform_driver msm8960_pinctrl_driver = =3D { .of_match_table =3D msm8960_pinctrl_of_match, }, .probe =3D msm8960_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8960_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8976.c b/drivers/pinctrl/qcom/= pinctrl-msm8976.c index c30d80e4e98ca68ccede66001445967a47d6ec8f..3bcb03387781f803bf7e0251496= a88a43b562b8d 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8976.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8976.c @@ -1096,7 +1096,6 @@ static struct platform_driver msm8976_pinctrl_driver = =3D { .of_match_table =3D msm8976_pinctrl_of_match, }, .probe =3D msm8976_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8976_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8994.c b/drivers/pinctrl/qcom/= pinctrl-msm8994.c index b1a6759ab4a5e70501aba4325e80db2359251204..7a3b6cbccb687c8b5040ee6bf37= 2f092f21aa872 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8994.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8994.c @@ -1343,7 +1343,6 @@ static struct platform_driver msm8994_pinctrl_driver = =3D { .of_match_table =3D msm8994_pinctrl_of_match, }, .probe =3D msm8994_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8994_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8996.c b/drivers/pinctrl/qcom/= pinctrl-msm8996.c index 1b5d80eaab83c7e2c81c96019e8b0cc6f5461c69..d86d83106d3ba12343a4685e5b8= 7c661f823c35b 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8996.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8996.c @@ -1920,7 +1920,6 @@ static struct platform_driver msm8996_pinctrl_driver = =3D { .of_match_table =3D msm8996_pinctrl_of_match, }, .probe =3D msm8996_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8996_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8998.c b/drivers/pinctrl/qcom/= pinctrl-msm8998.c index b7cbf32b3125a91081c6644cd3d343e08499dd1f..1daee815888f54b711505dfacef= d614df83affc0 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8998.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8998.c @@ -1535,7 +1535,6 @@ static struct platform_driver msm8998_pinctrl_driver = =3D { .of_match_table =3D msm8998_pinctrl_of_match, }, .probe =3D msm8998_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8998_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-msm8x74.c b/drivers/pinctrl/qcom/= pinctrl-msm8x74.c index 238c83f6ec4f41ff2dc572fd910c1c9aef9d290a..8253aa25775b247dc54a377c978= 1094e465e22b6 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm8x74.c +++ b/drivers/pinctrl/qcom/pinctrl-msm8x74.c @@ -1083,7 +1083,6 @@ static struct platform_driver msm8x74_pinctrl_driver = =3D { .of_match_table =3D msm8x74_pinctrl_of_match, }, .probe =3D msm8x74_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init msm8x74_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-qcm2290.c b/drivers/pinctrl/qcom/= pinctrl-qcm2290.c index f885af571ec93d66533f4909e935e5c7a2dd0511..85c951305abd6640b33cc4d8bf2= 283ffab18bbc4 100644 --- a/drivers/pinctrl/qcom/pinctrl-qcm2290.c +++ b/drivers/pinctrl/qcom/pinctrl-qcm2290.c @@ -1125,7 +1125,6 @@ static struct platform_driver qcm2290_pinctrl_driver = =3D { .of_match_table =3D qcm2290_pinctrl_of_match, }, .probe =3D qcm2290_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init qcm2290_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-qcs404.c b/drivers/pinctrl/qcom/p= inctrl-qcs404.c index ae7224012f8aa00a41350b3ce670511aa8ce18bd..54e3b44353494e9398a88702945= b7a85ff901b4d 100644 --- a/drivers/pinctrl/qcom/pinctrl-qcs404.c +++ b/drivers/pinctrl/qcom/pinctrl-qcs404.c @@ -1644,7 +1644,6 @@ static struct platform_driver qcs404_pinctrl_driver = =3D { .of_match_table =3D qcs404_pinctrl_of_match, }, .probe =3D qcs404_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init qcs404_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-qcs615.c b/drivers/pinctrl/qcom/p= inctrl-qcs615.c index 23015b055f6a925e8157363952f3ce659059d719..0c3182808d021616848c31d6053= 83296eb4e8e43 100644 --- a/drivers/pinctrl/qcom/pinctrl-qcs615.c +++ b/drivers/pinctrl/qcom/pinctrl-qcs615.c @@ -1087,7 +1087,6 @@ static struct platform_driver qcs615_tlmm_driver =3D { .of_match_table =3D qcs615_tlmm_of_match, }, .probe =3D qcs615_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init qcs615_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-qcs8300.c b/drivers/pinctrl/qcom/= pinctrl-qcs8300.c index ba6de944a859a0b637812e5d39c9eab7ea3ef8ed..e4ca2c0c12a6eb7460cdbf6f2e4= a3086313a5a55 100644 --- a/drivers/pinctrl/qcom/pinctrl-qcs8300.c +++ b/drivers/pinctrl/qcom/pinctrl-qcs8300.c @@ -1227,7 +1227,6 @@ static struct platform_driver qcs8300_pinctrl_driver = =3D { .of_match_table =3D qcs8300_pinctrl_of_match, }, .probe =3D qcs8300_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init qcs8300_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-qdf2xxx.c b/drivers/pinctrl/qcom/= pinctrl-qdf2xxx.c index b5808fcfb13cdebd04c0c71b24043b924094a683..9ecc4d40e4dc4f36aafc7030910= 2b9e66ce024c0 100644 --- a/drivers/pinctrl/qcom/pinctrl-qdf2xxx.c +++ b/drivers/pinctrl/qcom/pinctrl-qdf2xxx.c @@ -145,7 +145,6 @@ static struct platform_driver qdf2xxx_pinctrl_driver = =3D { .acpi_match_table =3D qdf2xxx_acpi_ids, }, .probe =3D qdf2xxx_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init qdf2xxx_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-qdu1000.c b/drivers/pinctrl/qcom/= pinctrl-qdu1000.c index 47bc529ef550d2ab9a13341295eacc08faed24c4..eacb89fa388850ef39ceb50497d= f9e5cca54191c 100644 --- a/drivers/pinctrl/qcom/pinctrl-qdu1000.c +++ b/drivers/pinctrl/qcom/pinctrl-qdu1000.c @@ -1248,7 +1248,6 @@ static struct platform_driver qdu1000_tlmm_driver =3D= { .of_match_table =3D qdu1000_tlmm_of_match, }, .probe =3D qdu1000_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init qdu1000_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sa8775p.c b/drivers/pinctrl/qcom/= pinctrl-sa8775p.c index a5b38221aea851ce09448eb7eb71f7f94721443a..1b62eb3e6620c978225c5fd2ab5= 41451cbe93093 100644 --- a/drivers/pinctrl/qcom/pinctrl-sa8775p.c +++ b/drivers/pinctrl/qcom/pinctrl-sa8775p.c @@ -1540,7 +1540,6 @@ static struct platform_driver sa8775p_pinctrl_driver = =3D { .of_match_table =3D sa8775p_pinctrl_of_match, }, .probe =3D sa8775p_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sa8775p_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sar2130p.c b/drivers/pinctrl/qcom= /pinctrl-sar2130p.c index 19a2e37826c7b25f6d37f130a0fb5ef4cdadb61c..3dd1b5e5cfee489ec34b16ee2ae= 1c8d2c2756553 100644 --- a/drivers/pinctrl/qcom/pinctrl-sar2130p.c +++ b/drivers/pinctrl/qcom/pinctrl-sar2130p.c @@ -1486,7 +1486,6 @@ static struct platform_driver sar2130p_tlmm_driver = =3D { .of_match_table =3D sar2130p_tlmm_of_match, }, .probe =3D sar2130p_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sar2130p_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sc7180.c b/drivers/pinctrl/qcom/p= inctrl-sc7180.c index 6eb0c73791c0bc9883bf0b740b8930fe7c7fced0..c43fe10b71add7d6294c90e8657= 8ed472b8759a3 100644 --- a/drivers/pinctrl/qcom/pinctrl-sc7180.c +++ b/drivers/pinctrl/qcom/pinctrl-sc7180.c @@ -1159,7 +1159,6 @@ static struct platform_driver sc7180_pinctrl_driver = =3D { .of_match_table =3D sc7180_pinctrl_of_match, }, .probe =3D sc7180_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sc7180_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sc7280.c b/drivers/pinctrl/qcom/p= inctrl-sc7280.c index 0c10eeb60b55e742a73dfd43d647f7009471b1b0..1b070e9d41f5972470d245edb82= 1d202ca24522b 100644 --- a/drivers/pinctrl/qcom/pinctrl-sc7280.c +++ b/drivers/pinctrl/qcom/pinctrl-sc7280.c @@ -1505,7 +1505,6 @@ static struct platform_driver sc7280_pinctrl_driver = =3D { .of_match_table =3D sc7280_pinctrl_of_match, }, .probe =3D sc7280_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sc7280_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sc8180x.c b/drivers/pinctrl/qcom/= pinctrl-sc8180x.c index d6a79ad41a40a804c503d97a6279db4b533f0047..26dd165d154348a8659720335ec= 16c3e5ace30ef 100644 --- a/drivers/pinctrl/qcom/pinctrl-sc8180x.c +++ b/drivers/pinctrl/qcom/pinctrl-sc8180x.c @@ -1720,7 +1720,6 @@ static struct platform_driver sc8180x_pinctrl_driver = =3D { .acpi_match_table =3D sc8180x_pinctrl_acpi_match, }, .probe =3D sc8180x_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sc8180x_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sc8280xp.c b/drivers/pinctrl/qcom= /pinctrl-sc8280xp.c index 96f4fb5a5d297f784e63f4335e294ebdee5f487f..6ccd7e5648d420072f7ce467d92= ef0764a6d7764 100644 --- a/drivers/pinctrl/qcom/pinctrl-sc8280xp.c +++ b/drivers/pinctrl/qcom/pinctrl-sc8280xp.c @@ -1926,7 +1926,6 @@ static struct platform_driver sc8280xp_pinctrl_driver= =3D { .of_match_table =3D sc8280xp_pinctrl_of_match, }, .probe =3D sc8280xp_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sc8280xp_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sdm660.c b/drivers/pinctrl/qcom/p= inctrl-sdm660.c index 907e4ffca5e7df48aed8f917455f35c0da8c6265..1a78288f1bc832837d5c72d9eb1= 659f397d79b94 100644 --- a/drivers/pinctrl/qcom/pinctrl-sdm660.c +++ b/drivers/pinctrl/qcom/pinctrl-sdm660.c @@ -1442,7 +1442,6 @@ static struct platform_driver sdm660_pinctrl_driver = =3D { .of_match_table =3D sdm660_pinctrl_of_match, }, .probe =3D sdm660_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sdm660_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sdm670.c b/drivers/pinctrl/qcom/p= inctrl-sdm670.c index c76183ba95e17473d1ed313090e8cc3546431348..0fe1fa94cd6da13591397442a63= ce8daec9f4674 100644 --- a/drivers/pinctrl/qcom/pinctrl-sdm670.c +++ b/drivers/pinctrl/qcom/pinctrl-sdm670.c @@ -1337,7 +1337,6 @@ static struct platform_driver sdm670_pinctrl_driver = =3D { .of_match_table =3D sdm670_pinctrl_of_match, }, .probe =3D sdm670_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sdm670_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sdm845.c b/drivers/pinctrl/qcom/p= inctrl-sdm845.c index cc05c415ed15512f1f99a598650d3adfdc795a6d..0446e291aa4831da439af12b793= 4fbda5915ee5a 100644 --- a/drivers/pinctrl/qcom/pinctrl-sdm845.c +++ b/drivers/pinctrl/qcom/pinctrl-sdm845.c @@ -1351,7 +1351,6 @@ static struct platform_driver sdm845_pinctrl_driver = =3D { .acpi_match_table =3D ACPI_PTR(sdm845_pinctrl_acpi_match), }, .probe =3D sdm845_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sdm845_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sdx55.c b/drivers/pinctrl/qcom/pi= nctrl-sdx55.c index 8826db9d21d04cecca844b0607984e21a500f15b..2c17bf889146362edf9f482d33b= 17d35a255882e 100644 --- a/drivers/pinctrl/qcom/pinctrl-sdx55.c +++ b/drivers/pinctrl/qcom/pinctrl-sdx55.c @@ -990,7 +990,6 @@ static struct platform_driver sdx55_pinctrl_driver =3D { .of_match_table =3D sdx55_pinctrl_of_match, }, .probe =3D sdx55_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sdx55_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sdx65.c b/drivers/pinctrl/qcom/pi= nctrl-sdx65.c index f6f319c997fc7a39d672872c0df1fa2ea821b2d9..85b5c0206dbd199c6efc15aad10= 784d20c1addde 100644 --- a/drivers/pinctrl/qcom/pinctrl-sdx65.c +++ b/drivers/pinctrl/qcom/pinctrl-sdx65.c @@ -939,7 +939,6 @@ static struct platform_driver sdx65_pinctrl_driver =3D { .of_match_table =3D sdx65_pinctrl_of_match, }, .probe =3D sdx65_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sdx65_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sdx75.c b/drivers/pinctrl/qcom/pi= nctrl-sdx75.c index 3cfe8c7f04df816a93252a162ccfa502854411fe..ab13a3a57a830781f35916ff508= ca65d6699271d 100644 --- a/drivers/pinctrl/qcom/pinctrl-sdx75.c +++ b/drivers/pinctrl/qcom/pinctrl-sdx75.c @@ -1124,7 +1124,6 @@ static struct platform_driver sdx75_pinctrl_driver = =3D { .of_match_table =3D sdx75_pinctrl_of_match, }, .probe =3D sdx75_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sdx75_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm4450.c b/drivers/pinctrl/qcom/p= inctrl-sm4450.c index 622f20e6f6f859ee4f132809304bc3f0685e8ff3..1ecdf1ab4f275ede7cb629321f9= c37d3f81a25e9 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm4450.c +++ b/drivers/pinctrl/qcom/pinctrl-sm4450.c @@ -994,7 +994,6 @@ static struct platform_driver sm4450_tlmm_driver =3D { .of_match_table =3D sm4450_tlmm_of_match, }, .probe =3D sm4450_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; MODULE_DEVICE_TABLE(of, sm4450_tlmm_of_match); =20 diff --git a/drivers/pinctrl/qcom/pinctrl-sm6115.c b/drivers/pinctrl/qcom/p= inctrl-sm6115.c index 4e91c75ad952487e755e0abdf861b1f118bf4de5..c273efa4399630a2187845382e2= 31fe150d997fd 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm6115.c +++ b/drivers/pinctrl/qcom/pinctrl-sm6115.c @@ -907,7 +907,6 @@ static struct platform_driver sm6115_tlmm_driver =3D { .of_match_table =3D sm6115_tlmm_of_match, }, .probe =3D sm6115_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm6115_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm6125.c b/drivers/pinctrl/qcom/p= inctrl-sm6125.c index c188842047aae054929e124f650290034cfad979..5092f20e0c1bdee2e99b768f12c= fbec31972c24c 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm6125.c +++ b/drivers/pinctrl/qcom/pinctrl-sm6125.c @@ -1266,7 +1266,6 @@ static struct platform_driver sm6125_tlmm_driver =3D { .of_match_table =3D sm6125_tlmm_of_match, }, .probe =3D sm6125_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm6125_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm6350.c b/drivers/pinctrl/qcom/p= inctrl-sm6350.c index f3828c07b134500e4307db1d42aabae389a03360..ba4686c86c54b8c1dc32522c835= 87521e149a5ae 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm6350.c +++ b/drivers/pinctrl/qcom/pinctrl-sm6350.c @@ -1373,7 +1373,6 @@ static struct platform_driver sm6350_tlmm_driver =3D { .of_match_table =3D sm6350_tlmm_of_match, }, .probe =3D sm6350_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm6350_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm6375.c b/drivers/pinctrl/qcom/p= inctrl-sm6375.c index c82c8516932ea2e1880284fa86bdaf3683f024cc..49031571e65ee3291fb1e5269e0= 71a08a77c87de 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm6375.c +++ b/drivers/pinctrl/qcom/pinctrl-sm6375.c @@ -1516,7 +1516,6 @@ static struct platform_driver sm6375_tlmm_driver =3D { .of_match_table =3D sm6375_tlmm_of_match, }, .probe =3D sm6375_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm6375_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm7150.c b/drivers/pinctrl/qcom/p= inctrl-sm7150.c index 3c7fd8af6635b94df107f44e3e0e68a2778a25e7..6e89966cd70e34bcb74cfb50e80= e110e40655b0e 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm7150.c +++ b/drivers/pinctrl/qcom/pinctrl-sm7150.c @@ -1255,7 +1255,6 @@ static struct platform_driver sm7150_tlmm_driver =3D { .of_match_table =3D sm7150_tlmm_of_match, }, .probe =3D sm7150_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm7150_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm8150.c b/drivers/pinctrl/qcom/p= inctrl-sm8150.c index 01aea9c70b7a78168ee063f5ac88afc0d7290bcb..794ed99463f76032f56be9464a4= aa3018537df94 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm8150.c +++ b/drivers/pinctrl/qcom/pinctrl-sm8150.c @@ -1542,7 +1542,6 @@ static struct platform_driver sm8150_pinctrl_driver = =3D { .of_match_table =3D sm8150_pinctrl_of_match, }, .probe =3D sm8150_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm8150_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm8250.c b/drivers/pinctrl/qcom/p= inctrl-sm8250.c index e9961a49ff9811bfa3ed3c6c1a8f1cf90afa1d29..fb6f005d64f53f318d58e69681f= 07e36404439cf 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm8250.c +++ b/drivers/pinctrl/qcom/pinctrl-sm8250.c @@ -1351,7 +1351,6 @@ static struct platform_driver sm8250_pinctrl_driver = =3D { .of_match_table =3D sm8250_pinctrl_of_match, }, .probe =3D sm8250_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm8250_pinctrl_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm8350.c b/drivers/pinctrl/qcom/p= inctrl-sm8350.c index 9c69458bd9109119e7a88d1a92f633bbf188ed0c..c8a3f39ce6f1b8565a783f04100= 269b3cadb9bcc 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm8350.c +++ b/drivers/pinctrl/qcom/pinctrl-sm8350.c @@ -1642,7 +1642,6 @@ static struct platform_driver sm8350_tlmm_driver =3D { .of_match_table =3D sm8350_tlmm_of_match, }, .probe =3D sm8350_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm8350_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm8450.c b/drivers/pinctrl/qcom/p= inctrl-sm8450.c index d11bb1ee9e3d8dfbb1e810051d5c854a959b428b..f2e52d5a0f9369d21922d065153= 9908d592301e5 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm8450.c +++ b/drivers/pinctrl/qcom/pinctrl-sm8450.c @@ -1677,7 +1677,6 @@ static struct platform_driver sm8450_tlmm_driver =3D { .of_match_table =3D sm8450_tlmm_of_match, }, .probe =3D sm8450_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm8450_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm8550.c b/drivers/pinctrl/qcom/p= inctrl-sm8550.c index 3c847d9cb5d93bbc7bb5a9b0b2ee707e14de6387..1b4496cb39eb46b2b660ef213e1= f3c8fdac2b21e 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm8550.c +++ b/drivers/pinctrl/qcom/pinctrl-sm8550.c @@ -1762,7 +1762,6 @@ static struct platform_driver sm8550_tlmm_driver =3D { .of_match_table =3D sm8550_tlmm_of_match, }, .probe =3D sm8550_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm8550_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm8650.c b/drivers/pinctrl/qcom/p= inctrl-sm8650.c index 104708252d12a82a887aa2bdaecf31d3308a102c..449a0077f4b10666ecd9dfaae8e= 0057a91e181a6 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm8650.c +++ b/drivers/pinctrl/qcom/pinctrl-sm8650.c @@ -1742,7 +1742,6 @@ static struct platform_driver sm8650_tlmm_driver =3D { .of_match_table =3D sm8650_tlmm_of_match, }, .probe =3D sm8650_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm8650_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-sm8750.c b/drivers/pinctrl/qcom/p= inctrl-sm8750.c index 1af11cd95fb0e69fcc876fe069cc2cd6fd6679fd..b2764b722a560e932660f3d0557= ad745880b91c4 100644 --- a/drivers/pinctrl/qcom/pinctrl-sm8750.c +++ b/drivers/pinctrl/qcom/pinctrl-sm8750.c @@ -1709,7 +1709,6 @@ static struct platform_driver sm8750_tlmm_driver =3D { .of_match_table =3D sm8750_tlmm_of_match, }, .probe =3D sm8750_tlmm_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init sm8750_tlmm_init(void) diff --git a/drivers/pinctrl/qcom/pinctrl-x1e80100.c b/drivers/pinctrl/qcom= /pinctrl-x1e80100.c index 419cb8facb2f3d261558593800a26694eddb4817..d4b215f34c39bf67a0656a3f894= b8639491e898b 100644 --- a/drivers/pinctrl/qcom/pinctrl-x1e80100.c +++ b/drivers/pinctrl/qcom/pinctrl-x1e80100.c @@ -1861,7 +1861,6 @@ static struct platform_driver x1e80100_pinctrl_driver= =3D { .of_match_table =3D x1e80100_pinctrl_of_match, }, .probe =3D x1e80100_pinctrl_probe, - .remove =3D msm_pinctrl_remove, }; =20 static int __init x1e80100_pinctrl_init(void) --=20 2.39.5