From patchwork Mon May 8 20:51:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 680061 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B83D1C7EE26 for ; Mon, 8 May 2023 20:54:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233921AbjEHUyU (ORCPT ); Mon, 8 May 2023 16:54:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233811AbjEHUyB (ORCPT ); Mon, 8 May 2023 16:54:01 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7382483D6 for ; Mon, 8 May 2023 13:53:45 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pw7r5-000303-P6; Mon, 08 May 2023 22:53:11 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pw7r3-0024oy-Nl; Mon, 08 May 2023 22:53:09 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pw7r2-002YUk-Pw; Mon, 08 May 2023 22:53:08 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Thor Thayer , Elie Morisse , Shyam Sundar S K , Brendan Higgins , Codrin Ciubotariu , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Wolfram Sang , ye xingchen , Krzysztof Adamski , Ray Jui , Scott Branden , Greg Kroah-Hartman , Allison Randal , Thomas Gleixner , Florian Fainelli , Wolfram Sang , Kamal Dasu , Michal Simek , Hans de Goede , Jochen Friedrich , Benson Leung , Krzysztof Kozlowski , Bartosz Golaszewski , Jarkko Nikula , Baruch Siach , Jean-Marie Verdun , Nick Hawkins , Dong Aisheng , Shawn Guo , Sascha Hauer , Oleksij Rempel , Jean Delvare , Paul Cercueil , Chris Pringle , Vladimir Zapolskiy , Neil Armstrong , Kevin Hilman , Julia Lawall , Conor Dooley , Daire McNamara , Khalil Blaiech , Asmaa Mnebhi , Vadim Pasternak , Michael Shych , Chris Packham , Qii Wang , Matthias Brugger , Stefan Roese , Gregory CLEMENT , Matthias Schiffer , Stefan Wahren , Avi Fishman , Tomer Maimon , Tali Perry , Peter Korsgaard , Andrew Lunn , Robert Richter , Tony Lindgren , Aaro Koskinen , Janusz Krzysztofik , Vignesh R , Michael Ellerman , Hector Martin , Sven Peter , Rob Herring , Srinivas Kandagatla , Sebastian Reichel , Miquel Raynal , Loic Poulain , Robert Foss , Andy Gross , Bjorn Andersson , Chris Brandt , Heiko Stuebner , Phil Edworthy , Andy Shevchenko , Philipp Zabel , Jim Cromie , Patrice Chotard , Pierre-Yves MORDRET , Alain Volmat , Maxime Coquelin , Alexandre Torgue , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Ard Biesheuvel , Thierry Reding , Jonathan Hunter , Laxman Dewangan , Kunihiko Hayashi , Masami Hiramatsu , Linus Walleij , Andi Shyti , Wei Chen , George Cherian , Peter Rosin , Peter Korsgaard Cc: linux-i2c@vger.kernel.org, kernel@pengutronix.de, Benjamin Herrenschmidt , Joel Stanley , Andrew Jeffery , openbmc@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, Broadcom internal kernel review list , linux-rpi-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, Guenter Roeck , chrome-platform@lists.linux.dev, Mika Westerberg , Jan Dabros , linux-renesas-soc@vger.kernel.org, Alim Akhtar , linux-samsung-soc@vger.kernel.org, Fabio Estevam , NXP Linux Team , linux-mips@vger.kernel.org, Jerome Brunet , Martin Blumenstingl , linux-amlogic@lists.infradead.org, linux-riscv@lists.infradead.org, AngeloGioacchino Del Regno , linux-mediatek@lists.infradead.org, Patrick Venture , Nancy Yuen , Benjamin Fair , linux-omap@vger.kernel.org, Nicholas Piggin , Christophe Leroy , Alyssa Rosenzweig , asahi@lists.linux.dev, linux-arm-msm@vger.kernel.org, Konrad Dybcio , linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Dmitry Osipenko Subject: [PATCH 00/89] i2c: Convert to platform remove callback returning void Date: Mon, 8 May 2023 22:51:37 +0200 Message-Id: <20230508205306.1474415-1-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=12259; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=CUiyRkHedGuUngm1XVS44bTPkh5X8UNxtDmuuxmkXfI=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBkWWA/sUJy//6LnoJE8pZ1jpYWJb4ReEOteWEqx nBbdvdRxiaJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCZFlgPwAKCRCPgPtYfRL+ TrMyB/47jd7Ku/xKY+yn8Pz8lCxZfeQrwdKR0Ava+mmos9tRoEvf3C/fjgZ6JdPMn2xAOuFj5L0 ChlkHdf+cjgqrDShJg+TdHgusB/fqdoi2SilcdhEg4do3/OuaNy0bmP1lx97NUPi74d38/N8hO4 Wjf9h6QZucyKU5j9n9VuRVgPMcA35GhgWZ+Ga+hU+dlTINCOxdJu/al05N7Ex74ppPtfxjCBTQO f0LzVF+aO+5Q9Uyx/0Q1RBhNY2vAtr4I1t+5bybE+u1pqJ9AZNAgk+NuN67I1nNSjBRl0BtYaE3 u5cZFNC9MgmA4TtzZbTz14vLP4QKcyyxwruCQNqDFAK21Isv X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-i2c@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org Hello, this series convers the drivers below drivers/i2c to the .remove_new() callback of struct platform_driver(). The motivation is to make the remove callback less prone for errors and wrong assumptions. See commit 5c5a7680e67b ("platform: Provide a remove callback that returns no value") for a more detailed rationale. All but one driver already returned zero unconditionally in their .remove() callback, so converting them to .remove_new() is trivial. i2c-davinci has two patches in this series, first the error path is improved to not return an error code, then it's converted as the others drivers are. The two davinci patches are also the only interdependency in this series. I was unsure if I should split the series in two, the busses and the mux changes; if convenient these can be applied independent of each other. Best regards Uwe Uwe Kleine-König (89): i2c: altera: Convert to platform remove callback returning void i2c: amd-mp2-plat: Convert to platform remove callback returning void i2c: aspeed: Convert to platform remove callback returning void i2c: at91-core: Convert to platform remove callback returning void i2c: au1550: Convert to platform remove callback returning void i2c: axxia: Convert to platform remove callback returning void i2c: bcm-iproc: Convert to platform remove callback returning void i2c: bcm-kona: Convert to platform remove callback returning void i2c: bcm2835: Convert to platform remove callback returning void i2c: brcmstb: Convert to platform remove callback returning void i2c: cadence: Convert to platform remove callback returning void i2c: cbus-gpio: Convert to platform remove callback returning void i2c: cht-wc: Convert to platform remove callback returning void i2c: cpm: Convert to platform remove callback returning void i2c: cros-ec-tunnel: Convert to platform remove callback returning void i2c: davinci: Improve error reporting for problems during .remove() i2c: davinci: Convert to platform remove callback returning void i2c: designware-platdrv: Convert to platform remove callback returning void i2c: digicolor: Convert to platform remove callback returning void i2c: dln2: Convert to platform remove callback returning void i2c: emev2: Convert to platform remove callback returning void i2c: exynos5: Convert to platform remove callback returning void i2c: gpio: Convert to platform remove callback returning void i2c: gxp: Convert to platform remove callback returning void i2c: highlander: Convert to platform remove callback returning void i2c: hix5hd2: Convert to platform remove callback returning void i2c: ibm_iic: Convert to platform remove callback returning void i2c: img-scb: Convert to platform remove callback returning void i2c: imx-lpi2c: Convert to platform remove callback returning void i2c: imx: Convert to platform remove callback returning void i2c: iop3xx: Convert to platform remove callback returning void i2c: isch: Convert to platform remove callback returning void i2c: jz4780: Convert to platform remove callback returning void i2c: kempld: Convert to platform remove callback returning void i2c: lpc2k: Convert to platform remove callback returning void i2c: meson: Convert to platform remove callback returning void i2c: microchip-corei2c: Convert to platform remove callback returning void i2c: mlxbf: Convert to platform remove callback returning void i2c: mlxcpld: Convert to platform remove callback returning void i2c: mpc: Convert to platform remove callback returning void i2c: mt65xx: Convert to platform remove callback returning void i2c: mt7621: Convert to platform remove callback returning void i2c: mv64xxx: Convert to platform remove callback returning void i2c: mxs: Convert to platform remove callback returning void i2c: npcm7xx: Convert to platform remove callback returning void i2c: ocores: Convert to platform remove callback returning void i2c: octeon-platdrv: Convert to platform remove callback returning void i2c: omap: Convert to platform remove callback returning void i2c: opal: Convert to platform remove callback returning void i2c: pasemi-platform: Convert to platform remove callback returning void i2c: pca-platform: Convert to platform remove callback returning void i2c: pnx: Convert to platform remove callback returning void i2c: powermac: Convert to platform remove callback returning void i2c: pxa: Convert to platform remove callback returning void i2c: qcom-cci: Convert to platform remove callback returning void i2c: qcom-geni: Convert to platform remove callback returning void i2c: qup: Convert to platform remove callback returning void i2c: rcar: Convert to platform remove callback returning void i2c: riic: Convert to platform remove callback returning void i2c: rk3x: Convert to platform remove callback returning void i2c: rzv2m: Convert to platform remove callback returning void i2c: s3c2410: Convert to platform remove callback returning void i2c: scmi: Convert to platform remove callback returning void i2c: scx200_acb: Convert to platform remove callback returning void i2c: sh7760: Convert to platform remove callback returning void i2c: sh_mobile: Convert to platform remove callback returning void i2c: simtec: Convert to platform remove callback returning void i2c: st: Convert to platform remove callback returning void i2c: stm32f4: Convert to platform remove callback returning void i2c: stm32f7: Convert to platform remove callback returning void i2c: sun6i-p2wi: Convert to platform remove callback returning void i2c: synquacer: Convert to platform remove callback returning void i2c: tegra-bpmp: Convert to platform remove callback returning void i2c: tegra: Convert to platform remove callback returning void i2c: uniphier-f: Convert to platform remove callback returning void i2c: uniphier: Convert to platform remove callback returning void i2c: versatile: Convert to platform remove callback returning void i2c: viperboard: Convert to platform remove callback returning void i2c: wmt: Convert to platform remove callback returning void i2c: xgene-slimpro: Convert to platform remove callback returning void i2c: xiic: Convert to platform remove callback returning void i2c: xlp9xx: Convert to platform remove callback returning void i2c: mux: arb-gpio-challenge: Convert to platform remove callback returning void i2c: mux: demux-pinctrl: Convert to platform remove callback returning void i2c: mux: gpio: Convert to platform remove callback returning void i2c: mux: gpmux: Convert to platform remove callback returning void i2c: mux: mlxcpld: Convert to platform remove callback returning void i2c: mux: pinctrl: Convert to platform remove callback returning void i2c: mux: reg: Convert to platform remove callback returning void drivers/i2c/busses/i2c-altera.c | 6 ++---- drivers/i2c/busses/i2c-amd-mp2-plat.c | 5 ++--- drivers/i2c/busses/i2c-aspeed.c | 6 ++---- drivers/i2c/busses/i2c-at91-core.c | 6 ++---- drivers/i2c/busses/i2c-au1550.c | 5 ++--- drivers/i2c/busses/i2c-axxia.c | 6 ++---- drivers/i2c/busses/i2c-bcm-iproc.c | 6 ++---- drivers/i2c/busses/i2c-bcm-kona.c | 6 ++---- drivers/i2c/busses/i2c-bcm2835.c | 6 ++---- drivers/i2c/busses/i2c-brcmstb.c | 5 ++--- drivers/i2c/busses/i2c-cadence.c | 6 ++---- drivers/i2c/busses/i2c-cbus-gpio.c | 6 ++---- drivers/i2c/busses/i2c-cht-wc.c | 6 ++---- drivers/i2c/busses/i2c-cpm.c | 6 ++---- drivers/i2c/busses/i2c-cros-ec-tunnel.c | 6 ++---- drivers/i2c/busses/i2c-davinci.c | 14 ++++++-------- drivers/i2c/busses/i2c-designware-platdrv.c | 6 ++---- drivers/i2c/busses/i2c-digicolor.c | 6 ++---- drivers/i2c/busses/i2c-dln2.c | 6 ++---- drivers/i2c/busses/i2c-emev2.c | 6 ++---- drivers/i2c/busses/i2c-exynos5.c | 6 ++---- drivers/i2c/busses/i2c-gpio.c | 6 ++---- drivers/i2c/busses/i2c-gxp.c | 6 ++---- drivers/i2c/busses/i2c-highlander.c | 6 ++---- drivers/i2c/busses/i2c-hix5hd2.c | 6 ++---- drivers/i2c/busses/i2c-ibm_iic.c | 6 ++---- drivers/i2c/busses/i2c-img-scb.c | 6 ++---- drivers/i2c/busses/i2c-imx-lpi2c.c | 6 ++---- drivers/i2c/busses/i2c-imx.c | 6 ++---- drivers/i2c/busses/i2c-iop3xx.c | 6 ++---- drivers/i2c/busses/i2c-isch.c | 6 ++---- drivers/i2c/busses/i2c-jz4780.c | 5 ++--- drivers/i2c/busses/i2c-kempld.c | 6 ++---- drivers/i2c/busses/i2c-lpc2k.c | 6 ++---- drivers/i2c/busses/i2c-meson.c | 6 ++---- drivers/i2c/busses/i2c-microchip-corei2c.c | 6 ++---- drivers/i2c/busses/i2c-mlxbf.c | 6 ++---- drivers/i2c/busses/i2c-mlxcpld.c | 6 ++---- drivers/i2c/busses/i2c-mpc.c | 6 ++---- drivers/i2c/busses/i2c-mt65xx.c | 6 ++---- drivers/i2c/busses/i2c-mt7621.c | 6 ++---- drivers/i2c/busses/i2c-mv64xxx.c | 6 ++---- drivers/i2c/busses/i2c-mxs.c | 6 ++---- drivers/i2c/busses/i2c-npcm7xx.c | 5 ++--- drivers/i2c/busses/i2c-ocores.c | 6 ++---- drivers/i2c/busses/i2c-octeon-platdrv.c | 5 ++--- drivers/i2c/busses/i2c-omap.c | 6 ++---- drivers/i2c/busses/i2c-opal.c | 6 ++---- drivers/i2c/busses/i2c-pasemi-platform.c | 5 ++--- drivers/i2c/busses/i2c-pca-platform.c | 6 ++---- drivers/i2c/busses/i2c-pnx.c | 6 ++---- drivers/i2c/busses/i2c-powermac.c | 6 ++---- drivers/i2c/busses/i2c-pxa.c | 6 ++---- drivers/i2c/busses/i2c-qcom-cci.c | 6 ++---- drivers/i2c/busses/i2c-qcom-geni.c | 5 ++--- drivers/i2c/busses/i2c-qup.c | 5 ++--- drivers/i2c/busses/i2c-rcar.c | 6 ++---- drivers/i2c/busses/i2c-riic.c | 6 ++---- drivers/i2c/busses/i2c-rk3x.c | 6 ++---- drivers/i2c/busses/i2c-rzv2m.c | 6 ++---- drivers/i2c/busses/i2c-s3c2410.c | 6 ++---- drivers/i2c/busses/i2c-scmi.c | 6 ++---- drivers/i2c/busses/i2c-sh7760.c | 6 ++---- drivers/i2c/busses/i2c-sh_mobile.c | 5 ++--- drivers/i2c/busses/i2c-simtec.c | 6 ++---- drivers/i2c/busses/i2c-st.c | 6 ++---- drivers/i2c/busses/i2c-stm32f4.c | 6 ++---- drivers/i2c/busses/i2c-stm32f7.c | 6 ++---- drivers/i2c/busses/i2c-sun6i-p2wi.c | 6 ++---- drivers/i2c/busses/i2c-synquacer.c | 6 ++---- drivers/i2c/busses/i2c-tegra-bpmp.c | 6 ++---- drivers/i2c/busses/i2c-tegra.c | 6 ++---- drivers/i2c/busses/i2c-uniphier-f.c | 6 ++---- drivers/i2c/busses/i2c-uniphier.c | 6 ++---- drivers/i2c/busses/i2c-versatile.c | 5 ++--- drivers/i2c/busses/i2c-viperboard.c | 6 ++---- drivers/i2c/busses/i2c-wmt.c | 6 ++---- drivers/i2c/busses/i2c-xgene-slimpro.c | 6 ++---- drivers/i2c/busses/i2c-xiic.c | 6 ++---- drivers/i2c/busses/i2c-xlp9xx.c | 6 ++---- drivers/i2c/busses/scx200_acb.c | 6 ++---- drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 5 ++--- drivers/i2c/muxes/i2c-demux-pinctrl.c | 6 ++---- drivers/i2c/muxes/i2c-mux-gpio.c | 6 ++---- drivers/i2c/muxes/i2c-mux-gpmux.c | 6 ++---- drivers/i2c/muxes/i2c-mux-mlxcpld.c | 5 ++--- drivers/i2c/muxes/i2c-mux-pinctrl.c | 6 ++---- drivers/i2c/muxes/i2c-mux-reg.c | 6 ++---- 88 files changed, 180 insertions(+), 343 deletions(-) base-commit: ac9a78681b921877518763ba0e89202254349d1b Reviewed-by: Chris Pringle Reviewed-by: Konrad Dybcio Reviewed-by: Krzysztof Kozlowski Reviewed-by: Matthias Brugger Reviewed-by: Matthias Brugger Acked-by: Jernej Skrabec Reviewed-by: Bartosz Golaszewski Reviewed-by: Bartosz Golaszewski Acked-by: Jochen Friedrich