linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
  • * Re: [PATCH 6/6] i2c: Make remove callback return void
           [not found] ` <20220628140313.74984-7-u.kleine-koenig@pengutronix.de>
           [not found]   ` <60cc6796236f23c028a9ae76dbe00d1917df82a5.camel@codeconstruct.com.au>
    @ 2022-06-29  7:40   ` Heikki Krogerus
      2022-06-29 10:40   ` Andy Shevchenko
                         ` (5 subsequent siblings)
      7 siblings, 0 replies; 13+ messages in thread
    From: Heikki Krogerus @ 2022-06-29  7:40 UTC (permalink / raw)
      To: Uwe Kleine-König
      Cc: Wolfram Sang, Uwe Kleine-König, Sekhar Nori,
    	Bartosz Golaszewski, Russell King, Scott Wood, Michael Ellerman,
    	Benjamin Herrenschmidt, Paul Mackerras, Robin van der Gracht,
    	Miguel Ojeda, Corey Minyard, Peter Huewe, Jarkko Sakkinen,
    	Jason Gunthorpe, Nicolas Ferre, Alexandre Belloni,
    	Claudiu Beznea, Max Filippov, Michael Turquette, Stephen Boyd,
    	Luca Ceresoli, Tudor Ambarus, Herbert Xu, David S. Miller,
    	MyungJoo Ham, Chanwoo Choi, Michael Hennerich, Linus Walleij,
    	Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
    	Jonas Karlman, Jernej Skrabec, David Airlie, Daniel Vetter,
    	Benson Leung, Guenter Roeck, Phong LE, Adrien Grassein,
    	Peter Senna Tschudin, Martin Donnelly, Martyn Welch,
    	Douglas Anderson, Stefan Mavrodiev, Thierry Reding, Sam Ravnborg,
    	Florian Fainelli, Broad
    
    On Tue, Jun 28, 2022 at 04:03:12PM +0200, Uwe Kleine-König wrote:
    > diff --git a/drivers/usb/typec/hd3ss3220.c b/drivers/usb/typec/hd3ss3220.c
    > index cd47c3597e19..2a58185fb14c 100644
    > --- a/drivers/usb/typec/hd3ss3220.c
    > +++ b/drivers/usb/typec/hd3ss3220.c
    > @@ -245,14 +245,12 @@ static int hd3ss3220_probe(struct i2c_client *client,
    >  	return ret;
    >  }
    >  
    > -static int hd3ss3220_remove(struct i2c_client *client)
    > +static void hd3ss3220_remove(struct i2c_client *client)
    >  {
    >  	struct hd3ss3220 *hd3ss3220 = i2c_get_clientdata(client);
    >  
    >  	typec_unregister_port(hd3ss3220->port);
    >  	usb_role_switch_put(hd3ss3220->role_sw);
    > -
    > -	return 0;
    >  }
    >  
    >  static const struct of_device_id dev_ids[] = {
    > diff --git a/drivers/usb/typec/mux/fsa4480.c b/drivers/usb/typec/mux/fsa4480.c
    > index 6184f5367190..d6495e533e58 100644
    > --- a/drivers/usb/typec/mux/fsa4480.c
    > +++ b/drivers/usb/typec/mux/fsa4480.c
    > @@ -181,14 +181,12 @@ static int fsa4480_probe(struct i2c_client *client)
    >  	return 0;
    >  }
    >  
    > -static int fsa4480_remove(struct i2c_client *client)
    > +static void fsa4480_remove(struct i2c_client *client)
    >  {
    >  	struct fsa4480 *fsa = i2c_get_clientdata(client);
    >  
    >  	typec_mux_unregister(fsa->mux);
    >  	typec_switch_unregister(fsa->sw);
    > -
    > -	return 0;
    >  }
    >  
    >  static const struct i2c_device_id fsa4480_table[] = {
    > diff --git a/drivers/usb/typec/mux/pi3usb30532.c b/drivers/usb/typec/mux/pi3usb30532.c
    > index 6ce9f282594e..1cd388b55c30 100644
    > --- a/drivers/usb/typec/mux/pi3usb30532.c
    > +++ b/drivers/usb/typec/mux/pi3usb30532.c
    > @@ -160,13 +160,12 @@ static int pi3usb30532_probe(struct i2c_client *client)
    >  	return 0;
    >  }
    >  
    > -static int pi3usb30532_remove(struct i2c_client *client)
    > +static void pi3usb30532_remove(struct i2c_client *client)
    >  {
    >  	struct pi3usb30532 *pi = i2c_get_clientdata(client);
    >  
    >  	typec_mux_unregister(pi->mux);
    >  	typec_switch_unregister(pi->sw);
    > -	return 0;
    >  }
    >  
    >  static const struct i2c_device_id pi3usb30532_table[] = {
    > diff --git a/drivers/usb/typec/rt1719.c b/drivers/usb/typec/rt1719.c
    > index f1b698edd7eb..ea8b700b0ceb 100644
    > --- a/drivers/usb/typec/rt1719.c
    > +++ b/drivers/usb/typec/rt1719.c
    > @@ -930,14 +930,12 @@ static int rt1719_probe(struct i2c_client *i2c)
    >  	return ret;
    >  }
    >  
    > -static int rt1719_remove(struct i2c_client *i2c)
    > +static void rt1719_remove(struct i2c_client *i2c)
    >  {
    >  	struct rt1719_data *data = i2c_get_clientdata(i2c);
    >  
    >  	typec_unregister_port(data->port);
    >  	usb_role_switch_put(data->role_sw);
    > -
    > -	return 0;
    >  }
    >  
    >  static const struct of_device_id __maybe_unused rt1719_device_table[] = {
    > diff --git a/drivers/usb/typec/stusb160x.c b/drivers/usb/typec/stusb160x.c
    > index e7745d1c2a5c..8638f1d39896 100644
    > --- a/drivers/usb/typec/stusb160x.c
    > +++ b/drivers/usb/typec/stusb160x.c
    > @@ -801,7 +801,7 @@ static int stusb160x_probe(struct i2c_client *client)
    >  	return ret;
    >  }
    >  
    > -static int stusb160x_remove(struct i2c_client *client)
    > +static void stusb160x_remove(struct i2c_client *client)
    >  {
    >  	struct stusb160x *chip = i2c_get_clientdata(client);
    >  
    > @@ -823,8 +823,6 @@ static int stusb160x_remove(struct i2c_client *client)
    >  
    >  	if (chip->main_supply)
    >  		regulator_disable(chip->main_supply);
    > -
    > -	return 0;
    >  }
    >  
    >  static int __maybe_unused stusb160x_suspend(struct device *dev)
    > diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
    > index 96c55eaf3f80..5e9348f28d50 100644
    > --- a/drivers/usb/typec/tcpm/fusb302.c
    > +++ b/drivers/usb/typec/tcpm/fusb302.c
    > @@ -1771,7 +1771,7 @@ static int fusb302_probe(struct i2c_client *client,
    >  	return ret;
    >  }
    >  
    > -static int fusb302_remove(struct i2c_client *client)
    > +static void fusb302_remove(struct i2c_client *client)
    >  {
    >  	struct fusb302_chip *chip = i2c_get_clientdata(client);
    >  
    > @@ -1783,8 +1783,6 @@ static int fusb302_remove(struct i2c_client *client)
    >  	fwnode_handle_put(chip->tcpc_dev.fwnode);
    >  	destroy_workqueue(chip->wq);
    >  	fusb302_debugfs_exit(chip);
    > -
    > -	return 0;
    >  }
    >  
    >  static int fusb302_pm_suspend(struct device *dev)
    > diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c
    > index f33e08eb7670..c48fca60bb06 100644
    > --- a/drivers/usb/typec/tcpm/tcpci.c
    > +++ b/drivers/usb/typec/tcpm/tcpci.c
    > @@ -869,7 +869,7 @@ static int tcpci_probe(struct i2c_client *client,
    >  	return 0;
    >  }
    >  
    > -static int tcpci_remove(struct i2c_client *client)
    > +static void tcpci_remove(struct i2c_client *client)
    >  {
    >  	struct tcpci_chip *chip = i2c_get_clientdata(client);
    >  	int err;
    > @@ -880,8 +880,6 @@ static int tcpci_remove(struct i2c_client *client)
    >  		dev_warn(&client->dev, "Failed to disable irqs (%pe)\n", ERR_PTR(err));
    >  
    >  	tcpci_unregister_port(chip->tcpci);
    > -
    > -	return 0;
    >  }
    >  
    >  static const struct i2c_device_id tcpci_id[] = {
    > diff --git a/drivers/usb/typec/tcpm/tcpci_maxim.c b/drivers/usb/typec/tcpm/tcpci_maxim.c
    > index df2505570f07..a11be5754128 100644
    > --- a/drivers/usb/typec/tcpm/tcpci_maxim.c
    > +++ b/drivers/usb/typec/tcpm/tcpci_maxim.c
    > @@ -493,14 +493,12 @@ static int max_tcpci_probe(struct i2c_client *client, const struct i2c_device_id
    >  	return ret;
    >  }
    >  
    > -static int max_tcpci_remove(struct i2c_client *client)
    > +static void max_tcpci_remove(struct i2c_client *client)
    >  {
    >  	struct max_tcpci_chip *chip = i2c_get_clientdata(client);
    >  
    >  	if (!IS_ERR_OR_NULL(chip->tcpci))
    >  		tcpci_unregister_port(chip->tcpci);
    > -
    > -	return 0;
    >  }
    >  
    >  static const struct i2c_device_id max_tcpci_id[] = {
    > diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
    > index b56a0880a044..9ad4924b4ba7 100644
    > --- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
    > +++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
    > @@ -263,12 +263,11 @@ static int rt1711h_probe(struct i2c_client *client,
    >  	return 0;
    >  }
    >  
    > -static int rt1711h_remove(struct i2c_client *client)
    > +static void rt1711h_remove(struct i2c_client *client)
    >  {
    >  	struct rt1711h_chip *chip = i2c_get_clientdata(client);
    >  
    >  	tcpci_unregister_port(chip->tcpci);
    > -	return 0;
    >  }
    >  
    >  static const struct i2c_device_id rt1711h_id[] = {
    > diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
    > index dfbba5ae9487..b637e8b378b3 100644
    > --- a/drivers/usb/typec/tipd/core.c
    > +++ b/drivers/usb/typec/tipd/core.c
    > @@ -857,15 +857,13 @@ static int tps6598x_probe(struct i2c_client *client)
    >  	return ret;
    >  }
    >  
    > -static int tps6598x_remove(struct i2c_client *client)
    > +static void tps6598x_remove(struct i2c_client *client)
    >  {
    >  	struct tps6598x *tps = i2c_get_clientdata(client);
    >  
    >  	tps6598x_disconnect(tps, 0);
    >  	typec_unregister_port(tps->port);
    >  	usb_role_switch_put(tps->role_sw);
    > -
    > -	return 0;
    >  }
    >  
    >  static const struct of_device_id tps6598x_of_match[] = {
    > diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c
    > index 6db7c8ddd51c..920b7e743f56 100644
    > --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
    > +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
    > @@ -1398,7 +1398,7 @@ static int ucsi_ccg_probe(struct i2c_client *client,
    >  	return status;
    >  }
    >  
    > -static int ucsi_ccg_remove(struct i2c_client *client)
    > +static void ucsi_ccg_remove(struct i2c_client *client)
    >  {
    >  	struct ucsi_ccg *uc = i2c_get_clientdata(client);
    >  
    > @@ -1408,8 +1408,6 @@ static int ucsi_ccg_remove(struct i2c_client *client)
    >  	ucsi_unregister(uc->ucsi);
    >  	ucsi_destroy(uc->ucsi);
    >  	free_irq(uc->irq, uc);
    > -
    > -	return 0;
    >  }
    >  
    >  static const struct i2c_device_id ucsi_ccg_device_id[] = {
    > diff --git a/drivers/usb/typec/wusb3801.c b/drivers/usb/typec/wusb3801.c
    > index e63509f8b01e..3cc7a15ecbd3 100644
    > --- a/drivers/usb/typec/wusb3801.c
    > +++ b/drivers/usb/typec/wusb3801.c
    > @@ -399,7 +399,7 @@ static int wusb3801_probe(struct i2c_client *client)
    >  	return ret;
    >  }
    >  
    > -static int wusb3801_remove(struct i2c_client *client)
    > +static void wusb3801_remove(struct i2c_client *client)
    >  {
    >  	struct wusb3801 *wusb3801 = i2c_get_clientdata(client);
    >  
    > @@ -411,8 +411,6 @@ static int wusb3801_remove(struct i2c_client *client)
    >  
    >  	if (wusb3801->vbus_on)
    >  		regulator_disable(wusb3801->vbus_supply);
    > -
    > -	return 0;
    >  }
    
    Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    
    -- 
    heikki
    
    ^ permalink raw reply	[flat|nested] 13+ messages in thread
  • * Re: [PATCH 6/6] i2c: Make remove callback return void
           [not found] ` <20220628140313.74984-7-u.kleine-koenig@pengutronix.de>
           [not found]   ` <60cc6796236f23c028a9ae76dbe00d1917df82a5.camel@codeconstruct.com.au>
      2022-06-29  7:40   ` Heikki Krogerus
    @ 2022-06-29 10:40   ` Andy Shevchenko
           [not found]   ` <CAPAsAGwP4Mw_CJfsi7oapABdTBwO1HfiQux6X4UahspU74VjtQ@mail.gmail.com>
                         ` (4 subsequent siblings)
      7 siblings, 0 replies; 13+ messages in thread
    From: Andy Shevchenko @ 2022-06-29 10:40 UTC (permalink / raw)
      To: Uwe Kleine-König
      Cc: Uwe Kleine-König, linux-i2c, linux-arm-kernel, linuxppc-dev,
    	openipmi-developer, linux-integrity, linux-clk, linux-crypto,
    	linux-gpio, dri-devel, chrome-platform, linux-rpi-kernel,
    	linux-input, linux-hwmon, linux-iio, linux-stm32, linux-leds,
    	linux-media, patches, alsa-devel, linux-omap, linux-mtd, netdev,
    	devicetree, platform-driver-x86, acpi4asus-user, linux-pm,
    	linux-pwm, linux-rtc, linux-staging, linux-serial, linux-usb,
    	linux-fbdev, linux-watchdog, kasan-dev, linux-mediatek
    
    On Tue, Jun 28, 2022 at 04:03:12PM +0200, Uwe Kleine-König wrote:
    > From: Uwe Kleine-König <uwe@kleine-koenig.org>
    > 
    > The value returned by an i2c driver's remove function is mostly ignored.
    > (Only an error message is printed if the value is non-zero that the
    > error is ignored.)
    > 
    > So change the prototype of the remove function to return no value. This
    > way driver authors are not tempted to assume that passing an error to
    > the upper layer is a good idea. All drivers are adapted accordingly.
    > There is no intended change of behaviour, all callbacks were prepared to
    > return 0 before.
    > 
    > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    > ---
    >  Documentation/i2c/writing-clients.rst                     | 2 +-
    >  arch/arm/mach-davinci/board-dm644x-evm.c                  | 3 +--
    >  arch/arm/mach-davinci/board-dm646x-evm.c                  | 3 +--
    >  arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c            | 3 +--
    >  drivers/auxdisplay/ht16k33.c                              | 4 +---
    >  drivers/auxdisplay/lcd2s.c                                | 3 +--
    >  drivers/char/ipmi/ipmb_dev_int.c                          | 4 +---
    >  drivers/char/ipmi/ipmi_ipmb.c                             | 4 +---
    >  drivers/char/ipmi/ipmi_ssif.c                             | 6 ++----
    >  drivers/char/tpm/st33zp24/i2c.c                           | 4 +---
    >  drivers/char/tpm/tpm_i2c_atmel.c                          | 3 +--
    >  drivers/char/tpm/tpm_i2c_infineon.c                       | 4 +---
    >  drivers/char/tpm/tpm_i2c_nuvoton.c                        | 3 +--
    >  drivers/char/tpm/tpm_tis_i2c_cr50.c                       | 6 ++----
    >  drivers/clk/clk-cdce706.c                                 | 3 +--
    >  drivers/clk/clk-cs2000-cp.c                               | 4 +---
    >  drivers/clk/clk-si514.c                                   | 3 +--
    >  drivers/clk/clk-si5341.c                                  | 4 +---
    >  drivers/clk/clk-si5351.c                                  | 4 +---
    >  drivers/clk/clk-si570.c                                   | 3 +--
    >  drivers/clk/clk-versaclock5.c                             | 4 +---
    >  drivers/crypto/atmel-ecc.c                                | 6 ++----
    >  drivers/crypto/atmel-sha204a.c                            | 6 ++----
    >  drivers/extcon/extcon-rt8973a.c                           | 4 +---
    >  drivers/gpio/gpio-adp5588.c                               | 4 +---
    >  drivers/gpio/gpio-max7300.c                               | 4 +---
    >  drivers/gpio/gpio-pca953x.c                               | 4 +---
    >  drivers/gpio/gpio-pcf857x.c                               | 4 +---
    >  drivers/gpio/gpio-tpic2810.c                              | 4 +---
    >  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c              | 4 +---
    >  drivers/gpu/drm/bridge/analogix/analogix-anx6345.c        | 4 +---
    >  drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c        | 4 +---
    >  drivers/gpu/drm/bridge/analogix/anx7625.c                 | 4 +---
    >  drivers/gpu/drm/bridge/chrontel-ch7033.c                  | 4 +---
    >  drivers/gpu/drm/bridge/cros-ec-anx7688.c                  | 4 +---
    >  drivers/gpu/drm/bridge/ite-it6505.c                       | 4 +---
    >  drivers/gpu/drm/bridge/ite-it66121.c                      | 4 +---
    >  drivers/gpu/drm/bridge/lontium-lt8912b.c                  | 3 +--
    >  drivers/gpu/drm/bridge/lontium-lt9211.c                   | 4 +---
    >  drivers/gpu/drm/bridge/lontium-lt9611.c                   | 4 +---
    >  drivers/gpu/drm/bridge/lontium-lt9611uxc.c                | 4 +---
    >  drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c  | 8 ++------
    >  drivers/gpu/drm/bridge/nxp-ptn3460.c                      | 4 +---
    >  drivers/gpu/drm/bridge/parade-ps8622.c                    | 4 +---
    >  drivers/gpu/drm/bridge/parade-ps8640.c                    | 4 +---
    >  drivers/gpu/drm/bridge/sii902x.c                          | 4 +---
    >  drivers/gpu/drm/bridge/sii9234.c                          | 4 +---
    >  drivers/gpu/drm/bridge/sil-sii8620.c                      | 4 +---
    >  drivers/gpu/drm/bridge/tc358767.c                         | 4 +---
    >  drivers/gpu/drm/bridge/tc358768.c                         | 4 +---
    >  drivers/gpu/drm/bridge/tc358775.c                         | 4 +---
    >  drivers/gpu/drm/bridge/ti-sn65dsi83.c                     | 4 +---
    >  drivers/gpu/drm/bridge/ti-tfp410.c                        | 4 +---
    >  drivers/gpu/drm/i2c/ch7006_drv.c                          | 4 +---
    >  drivers/gpu/drm/i2c/tda9950.c                             | 4 +---
    >  drivers/gpu/drm/i2c/tda998x_drv.c                         | 3 +--
    >  drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c        | 4 +---
    >  drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c     | 4 +---
    >  drivers/gpu/drm/solomon/ssd130x-i2c.c                     | 4 +---
    >  drivers/hid/i2c-hid/i2c-hid-core.c                        | 4 +---
    >  drivers/hid/i2c-hid/i2c-hid.h                             | 2 +-
    >  drivers/hwmon/adc128d818.c                                | 4 +---
    >  drivers/hwmon/adt7470.c                                   | 3 +--
    >  drivers/hwmon/asb100.c                                    | 6 ++----
    >  drivers/hwmon/asc7621.c                                   | 4 +---
    >  drivers/hwmon/dme1737.c                                   | 4 +---
    >  drivers/hwmon/f75375s.c                                   | 5 ++---
    >  drivers/hwmon/fschmd.c                                    | 6 ++----
    >  drivers/hwmon/ftsteutates.c                               | 3 +--
    >  drivers/hwmon/ina209.c                                    | 4 +---
    >  drivers/hwmon/ina3221.c                                   | 4 +---
    >  drivers/hwmon/jc42.c                                      | 3 +--
    >  drivers/hwmon/mcp3021.c                                   | 4 +---
    >  drivers/hwmon/occ/p8_i2c.c                                | 4 +---
    >  drivers/hwmon/pcf8591.c                                   | 3 +--
    >  drivers/hwmon/smm665.c                                    | 3 +--
    >  drivers/hwmon/tps23861.c                                  | 4 +---
    >  drivers/hwmon/w83781d.c                                   | 4 +---
    >  drivers/hwmon/w83791d.c                                   | 6 ++----
    >  drivers/hwmon/w83792d.c                                   | 6 ++----
    >  drivers/hwmon/w83793.c                                    | 6 ++----
    >  drivers/hwmon/w83795.c                                    | 4 +---
    >  drivers/hwmon/w83l785ts.c                                 | 6 ++----
    >  drivers/i2c/i2c-core-base.c                               | 6 +-----
    >  drivers/i2c/i2c-slave-eeprom.c                            | 4 +---
    >  drivers/i2c/i2c-slave-testunit.c                          | 3 +--
    >  drivers/i2c/i2c-smbus.c                                   | 3 +--
    >  drivers/i2c/muxes/i2c-mux-ltc4306.c                       | 4 +---
    >  drivers/i2c/muxes/i2c-mux-pca9541.c                       | 3 +--
    >  drivers/i2c/muxes/i2c-mux-pca954x.c                       | 3 +--
    >  drivers/iio/accel/bma180.c                                | 4 +---
    >  drivers/iio/accel/bma400_i2c.c                            | 4 +---
    >  drivers/iio/accel/bmc150-accel-i2c.c                      | 4 +---
    >  drivers/iio/accel/kxcjk-1013.c                            | 4 +---
    >  drivers/iio/accel/kxsd9-i2c.c                             | 4 +---
    >  drivers/iio/accel/mc3230.c                                | 4 +---
    >  drivers/iio/accel/mma7455_i2c.c                           | 4 +---
    >  drivers/iio/accel/mma7660.c                               | 4 +---
    >  drivers/iio/accel/mma8452.c                               | 4 +---
    >  drivers/iio/accel/mma9551.c                               | 4 +---
    >  drivers/iio/accel/mma9553.c                               | 4 +---
    >  drivers/iio/accel/stk8312.c                               | 4 +---
    >  drivers/iio/accel/stk8ba50.c                              | 4 +---
    >  drivers/iio/adc/ad799x.c                                  | 4 +---
    >  drivers/iio/adc/ina2xx-adc.c                              | 4 +---
    >  drivers/iio/adc/ltc2497.c                                 | 4 +---
    >  drivers/iio/adc/ti-ads1015.c                              | 4 +---
    >  drivers/iio/chemical/atlas-sensor.c                       | 4 +---
    >  drivers/iio/chemical/ccs811.c                             | 4 +---
    >  drivers/iio/chemical/sgp30.c                              | 4 +---
    >  drivers/iio/dac/ad5380.c                                  | 4 +---
    >  drivers/iio/dac/ad5446.c                                  | 4 +---
    >  drivers/iio/dac/ad5593r.c                                 | 4 +---
    >  drivers/iio/dac/ad5696-i2c.c                              | 4 +---
    >  drivers/iio/dac/ds4424.c                                  | 4 +---
    >  drivers/iio/dac/m62332.c                                  | 4 +---
    >  drivers/iio/dac/mcp4725.c                                 | 4 +---
    >  drivers/iio/dac/ti-dac5571.c                              | 4 +---
    >  drivers/iio/gyro/bmg160_i2c.c                             | 4 +---
    >  drivers/iio/gyro/fxas21002c_i2c.c                         | 4 +---
    >  drivers/iio/gyro/itg3200_core.c                           | 4 +---
    >  drivers/iio/gyro/mpu3050-i2c.c                            | 4 +---
    >  drivers/iio/health/afe4404.c                              | 4 +---
    >  drivers/iio/health/max30100.c                             | 4 +---
    >  drivers/iio/health/max30102.c                             | 4 +---
    >  drivers/iio/humidity/hdc2010.c                            | 4 +---
    >  drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c                 | 4 +---
    >  drivers/iio/imu/kmx61.c                                   | 4 +---
    >  drivers/iio/light/apds9300.c                              | 4 +---
    >  drivers/iio/light/apds9960.c                              | 4 +---
    >  drivers/iio/light/bh1750.c                                | 4 +---
    >  drivers/iio/light/bh1780.c                                | 4 +---
    >  drivers/iio/light/cm3232.c                                | 4 +---
    >  drivers/iio/light/cm36651.c                               | 4 +---
    >  drivers/iio/light/gp2ap002.c                              | 4 +---
    >  drivers/iio/light/gp2ap020a00f.c                          | 4 +---
    >  drivers/iio/light/isl29028.c                              | 4 +---
    >  drivers/iio/light/isl29125.c                              | 4 +---
    >  drivers/iio/light/jsa1212.c                               | 4 +---
    >  drivers/iio/light/ltr501.c                                | 4 +---
    >  drivers/iio/light/opt3001.c                               | 6 ++----
    >  drivers/iio/light/pa12203001.c                            | 4 +---
    >  drivers/iio/light/rpr0521.c                               | 4 +---
    >  drivers/iio/light/stk3310.c                               | 4 +---
    >  drivers/iio/light/tcs3472.c                               | 4 +---
    >  drivers/iio/light/tsl2563.c                               | 4 +---
    >  drivers/iio/light/tsl2583.c                               | 4 +---
    >  drivers/iio/light/tsl4531.c                               | 4 +---
    >  drivers/iio/light/us5182d.c                               | 4 +---
    >  drivers/iio/light/vcnl4000.c                              | 4 +---
    >  drivers/iio/light/vcnl4035.c                              | 4 +---
    >  drivers/iio/light/veml6070.c                              | 4 +---
    >  drivers/iio/magnetometer/ak8974.c                         | 4 +---
    >  drivers/iio/magnetometer/ak8975.c                         | 4 +---
    >  drivers/iio/magnetometer/bmc150_magn_i2c.c                | 4 +---
    >  drivers/iio/magnetometer/hmc5843_i2c.c                    | 4 +---
    >  drivers/iio/magnetometer/mag3110.c                        | 4 +---
    >  drivers/iio/magnetometer/yamaha-yas530.c                  | 4 +---
    >  drivers/iio/potentiostat/lmp91000.c                       | 4 +---
    >  drivers/iio/pressure/mpl3115.c                            | 4 +---
    >  drivers/iio/pressure/ms5611_i2c.c                         | 4 +---
    >  drivers/iio/pressure/zpa2326_i2c.c                        | 4 +---
    >  drivers/iio/proximity/pulsedlight-lidar-lite-v2.c         | 4 +---
    >  drivers/iio/proximity/sx9500.c                            | 4 +---
    >  drivers/iio/temperature/mlx90614.c                        | 4 +---
    >  drivers/iio/temperature/mlx90632.c                        | 4 +---
    >  drivers/input/joystick/as5011.c                           | 4 +---
    >  drivers/input/keyboard/adp5588-keys.c                     | 4 +---
    >  drivers/input/keyboard/lm8323.c                           | 4 +---
    >  drivers/input/keyboard/lm8333.c                           | 4 +---
    >  drivers/input/keyboard/mcs_touchkey.c                     | 4 +---
    >  drivers/input/keyboard/qt1070.c                           | 4 +---
    >  drivers/input/keyboard/qt2160.c                           | 4 +---
    >  drivers/input/keyboard/tca6416-keypad.c                   | 4 +---
    >  drivers/input/misc/adxl34x-i2c.c                          | 4 +---
    >  drivers/input/misc/bma150.c                               | 4 +---
    >  drivers/input/misc/cma3000_d0x_i2c.c                      | 4 +---
    >  drivers/input/misc/pcf8574_keypad.c                       | 4 +---
    >  drivers/input/mouse/synaptics_i2c.c                       | 4 +---
    >  drivers/input/rmi4/rmi_smbus.c                            | 4 +---
    >  drivers/input/touchscreen/atmel_mxt_ts.c                  | 4 +---
    >  drivers/input/touchscreen/bu21013_ts.c                    | 4 +---
    >  drivers/input/touchscreen/cyttsp4_i2c.c                   | 4 +---
    >  drivers/input/touchscreen/edt-ft5x06.c                    | 4 +---
    >  drivers/input/touchscreen/goodix.c                        | 4 +---
    >  drivers/input/touchscreen/migor_ts.c                      | 4 +---
    >  drivers/input/touchscreen/s6sy761.c                       | 4 +---
    >  drivers/input/touchscreen/stmfts.c                        | 4 +---
    >  drivers/input/touchscreen/tsc2004.c                       | 4 +---
    >  drivers/leds/flash/leds-as3645a.c                         | 4 +---
    >  drivers/leds/flash/leds-lm3601x.c                         | 4 +---
    >  drivers/leds/flash/leds-rt4505.c                          | 3 +--
    >  drivers/leds/leds-an30259a.c                              | 4 +---
    >  drivers/leds/leds-aw2013.c                                | 4 +---
    >  drivers/leds/leds-bd2802.c                                | 4 +---
    >  drivers/leds/leds-blinkm.c                                | 3 +--
    >  drivers/leds/leds-is31fl319x.c                            | 3 +--
    >  drivers/leds/leds-is31fl32xx.c                            | 4 +---
    >  drivers/leds/leds-lm3530.c                                | 3 +--
    >  drivers/leds/leds-lm3532.c                                | 4 +---
    >  drivers/leds/leds-lm355x.c                                | 4 +---
    >  drivers/leds/leds-lm3642.c                                | 3 +--
    >  drivers/leds/leds-lm3692x.c                               | 4 +---
    >  drivers/leds/leds-lm3697.c                                | 4 +---
    >  drivers/leds/leds-lp3944.c                                | 4 +---
    >  drivers/leds/leds-lp3952.c                                | 4 +---
    >  drivers/leds/leds-lp50xx.c                                | 4 +---
    >  drivers/leds/leds-lp5521.c                                | 4 +---
    >  drivers/leds/leds-lp5523.c                                | 4 +---
    >  drivers/leds/leds-lp5562.c                                | 4 +---
    >  drivers/leds/leds-lp8501.c                                | 4 +---
    >  drivers/leds/leds-lp8860.c                                | 4 +---
    >  drivers/leds/leds-pca9532.c                               | 6 ++----
    >  drivers/leds/leds-tca6507.c                               | 4 +---
    >  drivers/leds/leds-turris-omnia.c                          | 4 +---
    >  drivers/macintosh/ams/ams-i2c.c                           | 4 +---
    >  drivers/macintosh/therm_adt746x.c                         | 4 +---
    >  drivers/macintosh/therm_windtunnel.c                      | 4 +---
    >  drivers/macintosh/windfarm_ad7417_sensor.c                | 4 +---
    >  drivers/macintosh/windfarm_fcu_controls.c                 | 3 +--
    >  drivers/macintosh/windfarm_lm75_sensor.c                  | 4 +---
    >  drivers/macintosh/windfarm_lm87_sensor.c                  | 4 +---
    >  drivers/macintosh/windfarm_max6690_sensor.c               | 4 +---
    >  drivers/macintosh/windfarm_smu_sat.c                      | 4 +---
    >  drivers/media/cec/i2c/ch7322.c                            | 4 +---
    >  drivers/media/dvb-frontends/a8293.c                       | 3 +--
    >  drivers/media/dvb-frontends/af9013.c                      | 4 +---
    >  drivers/media/dvb-frontends/af9033.c                      | 4 +---
    >  drivers/media/dvb-frontends/au8522_decoder.c              | 3 +--
    >  drivers/media/dvb-frontends/cxd2099.c                     | 4 +---
    >  drivers/media/dvb-frontends/cxd2820r_core.c               | 4 +---
    >  drivers/media/dvb-frontends/dvb-pll.c                     | 3 +--
    >  drivers/media/dvb-frontends/lgdt3306a.c                   | 4 +---
    >  drivers/media/dvb-frontends/lgdt330x.c                    | 4 +---
    >  drivers/media/dvb-frontends/m88ds3103.c                   | 3 +--
    >  drivers/media/dvb-frontends/mn88443x.c                    | 4 +---
    >  drivers/media/dvb-frontends/mn88472.c                     | 4 +---
    >  drivers/media/dvb-frontends/mn88473.c                     | 4 +---
    >  drivers/media/dvb-frontends/mxl692.c                      | 4 +---
    >  drivers/media/dvb-frontends/rtl2830.c                     | 4 +---
    >  drivers/media/dvb-frontends/rtl2832.c                     | 4 +---
    >  drivers/media/dvb-frontends/si2165.c                      | 3 +--
    >  drivers/media/dvb-frontends/si2168.c                      | 4 +---
    >  drivers/media/dvb-frontends/sp2.c                         | 3 +--
    >  drivers/media/dvb-frontends/stv090x.c                     | 3 +--
    >  drivers/media/dvb-frontends/stv6110x.c                    | 3 +--
    >  drivers/media/dvb-frontends/tc90522.c                     | 3 +--
    >  drivers/media/dvb-frontends/tda10071.c                    | 3 +--
    >  drivers/media/dvb-frontends/ts2020.c                      | 3 +--
    >  drivers/media/i2c/ad5820.c                                | 3 +--
    >  drivers/media/i2c/ad9389b.c                               | 3 +--
    >  drivers/media/i2c/adp1653.c                               | 4 +---
    >  drivers/media/i2c/adv7170.c                               | 3 +--
    >  drivers/media/i2c/adv7175.c                               | 3 +--
    >  drivers/media/i2c/adv7180.c                               | 4 +---
    >  drivers/media/i2c/adv7183.c                               | 3 +--
    >  drivers/media/i2c/adv7343.c                               | 4 +---
    >  drivers/media/i2c/adv7393.c                               | 4 +---
    >  drivers/media/i2c/adv748x/adv748x-core.c                  | 4 +---
    >  drivers/media/i2c/adv7511-v4l2.c                          | 3 +--
    >  drivers/media/i2c/adv7604.c                               | 3 +--
    >  drivers/media/i2c/adv7842.c                               | 3 +--
    >  drivers/media/i2c/ak7375.c                                | 4 +---
    >  drivers/media/i2c/ak881x.c                                | 4 +---
    >  drivers/media/i2c/bt819.c                                 | 3 +--
    >  drivers/media/i2c/bt856.c                                 | 3 +--
    >  drivers/media/i2c/bt866.c                                 | 3 +--
    >  drivers/media/i2c/ccs/ccs-core.c                          | 4 +---
    >  drivers/media/i2c/cs3308.c                                | 3 +--
    >  drivers/media/i2c/cs5345.c                                | 3 +--
    >  drivers/media/i2c/cs53l32a.c                              | 3 +--
    >  drivers/media/i2c/cx25840/cx25840-core.c                  | 3 +--
    >  drivers/media/i2c/dw9714.c                                | 4 +---
    >  drivers/media/i2c/dw9768.c                                | 4 +---
    >  drivers/media/i2c/dw9807-vcm.c                            | 4 +---
    >  drivers/media/i2c/et8ek8/et8ek8_driver.c                  | 4 +---
    >  drivers/media/i2c/hi556.c                                 | 4 +---
    >  drivers/media/i2c/hi846.c                                 | 4 +---
    >  drivers/media/i2c/hi847.c                                 | 4 +---
    >  drivers/media/i2c/imx208.c                                | 4 +---
    >  drivers/media/i2c/imx214.c                                | 4 +---
    >  drivers/media/i2c/imx219.c                                | 4 +---
    >  drivers/media/i2c/imx258.c                                | 4 +---
    >  drivers/media/i2c/imx274.c                                | 3 +--
    >  drivers/media/i2c/imx290.c                                | 4 +---
    >  drivers/media/i2c/imx319.c                                | 4 +---
    >  drivers/media/i2c/imx334.c                                | 4 +---
    >  drivers/media/i2c/imx335.c                                | 4 +---
    >  drivers/media/i2c/imx355.c                                | 4 +---
    >  drivers/media/i2c/imx412.c                                | 4 +---
    >  drivers/media/i2c/ir-kbd-i2c.c                            | 4 +---
    >  drivers/media/i2c/isl7998x.c                              | 4 +---
    >  drivers/media/i2c/ks0127.c                                | 3 +--
    >  drivers/media/i2c/lm3560.c                                | 4 +---
    >  drivers/media/i2c/lm3646.c                                | 4 +---
    >  drivers/media/i2c/m52790.c                                | 3 +--
    >  drivers/media/i2c/m5mols/m5mols_core.c                    | 4 +---
    >  drivers/media/i2c/max2175.c                               | 4 +---
    >  drivers/media/i2c/max9286.c                               | 4 +---
    >  drivers/media/i2c/ml86v7667.c                             | 4 +---
    >  drivers/media/i2c/msp3400-driver.c                        | 3 +--
    >  drivers/media/i2c/mt9m001.c                               | 4 +---
    >  drivers/media/i2c/mt9m032.c                               | 3 +--
    >  drivers/media/i2c/mt9m111.c                               | 4 +---
    >  drivers/media/i2c/mt9p031.c                               | 4 +---
    >  drivers/media/i2c/mt9t001.c                               | 3 +--
    >  drivers/media/i2c/mt9t112.c                               | 4 +---
    >  drivers/media/i2c/mt9v011.c                               | 4 +---
    >  drivers/media/i2c/mt9v032.c                               | 4 +---
    >  drivers/media/i2c/mt9v111.c                               | 4 +---
    >  drivers/media/i2c/noon010pc30.c                           | 4 +---
    >  drivers/media/i2c/og01a1b.c                               | 4 +---
    >  drivers/media/i2c/ov02a10.c                               | 4 +---
    >  drivers/media/i2c/ov08d10.c                               | 4 +---
    >  drivers/media/i2c/ov13858.c                               | 4 +---
    >  drivers/media/i2c/ov13b10.c                               | 4 +---
    >  drivers/media/i2c/ov2640.c                                | 3 +--
    >  drivers/media/i2c/ov2659.c                                | 4 +---
    >  drivers/media/i2c/ov2680.c                                | 4 +---
    >  drivers/media/i2c/ov2685.c                                | 4 +---
    >  drivers/media/i2c/ov2740.c                                | 4 +---
    >  drivers/media/i2c/ov5640.c                                | 4 +---
    >  drivers/media/i2c/ov5645.c                                | 4 +---
    >  drivers/media/i2c/ov5647.c                                | 4 +---
    >  drivers/media/i2c/ov5648.c                                | 4 +---
    >  drivers/media/i2c/ov5670.c                                | 4 +---
    >  drivers/media/i2c/ov5675.c                                | 4 +---
    >  drivers/media/i2c/ov5693.c                                | 4 +---
    >  drivers/media/i2c/ov5695.c                                | 4 +---
    >  drivers/media/i2c/ov6650.c                                | 3 +--
    >  drivers/media/i2c/ov7251.c                                | 4 +---
    >  drivers/media/i2c/ov7640.c                                | 4 +---
    >  drivers/media/i2c/ov7670.c                                | 3 +--
    >  drivers/media/i2c/ov772x.c                                | 4 +---
    >  drivers/media/i2c/ov7740.c                                | 3 +--
    >  drivers/media/i2c/ov8856.c                                | 4 +---
    >  drivers/media/i2c/ov8865.c                                | 4 +---
    >  drivers/media/i2c/ov9282.c                                | 4 +---
    >  drivers/media/i2c/ov9640.c                                | 4 +---
    >  drivers/media/i2c/ov9650.c                                | 4 +---
    >  drivers/media/i2c/ov9734.c                                | 4 +---
    >  drivers/media/i2c/rdacm20.c                               | 4 +---
    >  drivers/media/i2c/rdacm21.c                               | 4 +---
    >  drivers/media/i2c/rj54n1cb0c.c                            | 4 +---
    >  drivers/media/i2c/s5c73m3/s5c73m3-core.c                  | 4 +---
    >  drivers/media/i2c/s5k4ecgx.c                              | 4 +---
    >  drivers/media/i2c/s5k5baf.c                               | 4 +---
    >  drivers/media/i2c/s5k6a3.c                                | 3 +--
    >  drivers/media/i2c/s5k6aa.c                                | 4 +---
    >  drivers/media/i2c/saa6588.c                               | 4 +---
    >  drivers/media/i2c/saa6752hs.c                             | 3 +--
    >  drivers/media/i2c/saa7110.c                               | 3 +--
    >  drivers/media/i2c/saa7115.c                               | 3 +--
    >  drivers/media/i2c/saa7127.c                               | 3 +--
    >  drivers/media/i2c/saa717x.c                               | 3 +--
    >  drivers/media/i2c/saa7185.c                               | 3 +--
    >  drivers/media/i2c/sony-btf-mpx.c                          | 4 +---
    >  drivers/media/i2c/sr030pc30.c                             | 3 +--
    >  drivers/media/i2c/st-mipid02.c                            | 4 +---
    >  drivers/media/i2c/tc358743.c                              | 4 +---
    >  drivers/media/i2c/tda1997x.c                              | 4 +---
    >  drivers/media/i2c/tda7432.c                               | 3 +--
    >  drivers/media/i2c/tda9840.c                               | 3 +--
    >  drivers/media/i2c/tea6415c.c                              | 3 +--
    >  drivers/media/i2c/tea6420.c                               | 3 +--
    >  drivers/media/i2c/ths7303.c                               | 4 +---
    >  drivers/media/i2c/ths8200.c                               | 4 +---
    >  drivers/media/i2c/tlv320aic23b.c                          | 3 +--
    >  drivers/media/i2c/tvaudio.c                               | 3 +--
    >  drivers/media/i2c/tvp514x.c                               | 3 +--
    >  drivers/media/i2c/tvp5150.c                               | 4 +---
    >  drivers/media/i2c/tvp7002.c                               | 3 +--
    >  drivers/media/i2c/tw2804.c                                | 3 +--
    >  drivers/media/i2c/tw9903.c                                | 3 +--
    >  drivers/media/i2c/tw9906.c                                | 3 +--
    >  drivers/media/i2c/tw9910.c                                | 4 +---
    >  drivers/media/i2c/uda1342.c                               | 3 +--
    >  drivers/media/i2c/upd64031a.c                             | 3 +--
    >  drivers/media/i2c/upd64083.c                              | 3 +--
    >  drivers/media/i2c/video-i2c.c                             | 4 +---
    >  drivers/media/i2c/vp27smpx.c                              | 3 +--
    >  drivers/media/i2c/vpx3220.c                               | 4 +---
    >  drivers/media/i2c/vs6624.c                                | 3 +--
    >  drivers/media/i2c/wm8739.c                                | 3 +--
    >  drivers/media/i2c/wm8775.c                                | 3 +--
    >  drivers/media/radio/radio-tea5764.c                       | 3 +--
    >  drivers/media/radio/saa7706h.c                            | 3 +--
    >  drivers/media/radio/si470x/radio-si470x-i2c.c             | 3 +--
    >  drivers/media/radio/si4713/si4713.c                       | 4 +---
    >  drivers/media/radio/tef6862.c                             | 3 +--
    >  drivers/media/test-drivers/vidtv/vidtv_demod.c            | 4 +---
    >  drivers/media/test-drivers/vidtv/vidtv_tuner.c            | 4 +---
    >  drivers/media/tuners/e4000.c                              | 4 +---
    >  drivers/media/tuners/fc2580.c                             | 3 +--
    >  drivers/media/tuners/m88rs6000t.c                         | 4 +---
    >  drivers/media/tuners/mt2060.c                             | 4 +---
    >  drivers/media/tuners/mxl301rf.c                           | 3 +--
    >  drivers/media/tuners/qm1d1b0004.c                         | 3 +--
    >  drivers/media/tuners/qm1d1c0042.c                         | 3 +--
    >  drivers/media/tuners/si2157.c                             | 4 +---
    >  drivers/media/tuners/tda18212.c                           | 4 +---
    >  drivers/media/tuners/tda18250.c                           | 4 +---
    >  drivers/media/tuners/tua9001.c                            | 3 +--
    >  drivers/media/usb/go7007/s2250-board.c                    | 3 +--
    >  drivers/media/v4l2-core/tuner-core.c                      | 3 +--
    >  drivers/mfd/88pm800.c                                     | 4 +---
    >  drivers/mfd/88pm805.c                                     | 4 +---
    >  drivers/mfd/88pm860x-core.c                               | 3 +--
    >  drivers/mfd/acer-ec-a500.c                                | 4 +---
    >  drivers/mfd/arizona-i2c.c                                 | 4 +---
    >  drivers/mfd/axp20x-i2c.c                                  | 4 +---
    >  drivers/mfd/da903x.c                                      | 3 +--
    >  drivers/mfd/da9052-i2c.c                                  | 3 +--
    >  drivers/mfd/da9055-i2c.c                                  | 4 +---
    >  drivers/mfd/da9062-core.c                                 | 4 +---
    >  drivers/mfd/da9150-core.c                                 | 4 +---
    >  drivers/mfd/dm355evm_msp.c                                | 3 +--
    >  drivers/mfd/ene-kb3930.c                                  | 4 +---
    >  drivers/mfd/gateworks-gsc.c                               | 4 +---
    >  drivers/mfd/intel_soc_pmic_core.c                         | 4 +---
    >  drivers/mfd/iqs62x.c                                      | 4 +---
    >  drivers/mfd/lm3533-core.c                                 | 4 +---
    >  drivers/mfd/lp8788.c                                      | 3 +--
    >  drivers/mfd/madera-i2c.c                                  | 4 +---
    >  drivers/mfd/max14577.c                                    | 4 +---
    >  drivers/mfd/max77693.c                                    | 4 +---
    >  drivers/mfd/max8907.c                                     | 4 +---
    >  drivers/mfd/max8925-i2c.c                                 | 3 +--
    >  drivers/mfd/mc13xxx-i2c.c                                 | 3 +--
    >  drivers/mfd/menelaus.c                                    | 3 +--
    >  drivers/mfd/ntxec.c                                       | 4 +---
    >  drivers/mfd/palmas.c                                      | 4 +---
    >  drivers/mfd/pcf50633-core.c                               | 4 +---
    >  drivers/mfd/retu-mfd.c                                    | 4 +---
    >  drivers/mfd/rk808.c                                       | 4 +---
    >  drivers/mfd/rn5t618.c                                     | 4 +---
    >  drivers/mfd/rsmu_i2c.c                                    | 4 +---
    >  drivers/mfd/rt4831.c                                      | 4 +---
    >  drivers/mfd/si476x-i2c.c                                  | 4 +---
    >  drivers/mfd/stmfx.c                                       | 4 +---
    >  drivers/mfd/stmpe-i2c.c                                   | 4 +---
    >  drivers/mfd/tc3589x.c                                     | 4 +---
    >  drivers/mfd/tps6105x.c                                    | 4 +---
    >  drivers/mfd/tps65010.c                                    | 3 +--
    >  drivers/mfd/tps65086.c                                    | 4 +---
    >  drivers/mfd/tps65217.c                                    | 4 +---
    >  drivers/mfd/tps6586x.c                                    | 3 +--
    >  drivers/mfd/tps65912-i2c.c                                | 4 +---
    >  drivers/mfd/twl-core.c                                    | 3 +--
    >  drivers/mfd/twl6040.c                                     | 4 +---
    >  drivers/mfd/wm8994-core.c                                 | 4 +---
    >  drivers/misc/ad525x_dpot-i2c.c                            | 3 +--
    >  drivers/misc/apds9802als.c                                | 3 +--
    >  drivers/misc/apds990x.c                                   | 3 +--
    >  drivers/misc/bh1770glc.c                                  | 4 +---
    >  drivers/misc/ds1682.c                                     | 3 +--
    >  drivers/misc/eeprom/at24.c                                | 4 +---
    >  drivers/misc/eeprom/ee1004.c                              | 4 +---
    >  drivers/misc/eeprom/eeprom.c                              | 4 +---
    >  drivers/misc/eeprom/idt_89hpesx.c                         | 4 +---
    >  drivers/misc/eeprom/max6875.c                             | 4 +---
    >  drivers/misc/hmc6352.c                                    | 3 +--
    >  drivers/misc/ics932s401.c                                 | 5 ++---
    >  drivers/misc/isl29003.c                                   | 3 +--
    >  drivers/misc/isl29020.c                                   | 3 +--
    >  drivers/misc/lis3lv02d/lis3lv02d_i2c.c                    | 3 +--
    >  drivers/misc/tsl2550.c                                    | 4 +---
    >  drivers/mtd/maps/pismo.c                                  | 4 +---
    >  drivers/net/dsa/lan9303_i2c.c                             | 6 ++----
    >  drivers/net/dsa/microchip/ksz9477_i2c.c                   | 4 +---
    >  drivers/net/dsa/xrs700x/xrs700x_i2c.c                     | 6 ++----
    >  drivers/net/ethernet/mellanox/mlxsw/i2c.c                 | 4 +---
    >  drivers/net/mctp/mctp-i2c.c                               | 3 +--
    >  drivers/nfc/fdp/i2c.c                                     | 4 +---
    >  drivers/nfc/microread/i2c.c                               | 4 +---
    >  drivers/nfc/nfcmrvl/i2c.c                                 | 4 +---
    >  drivers/nfc/nxp-nci/i2c.c                                 | 4 +---
    >  drivers/nfc/pn533/i2c.c                                   | 4 +---
    >  drivers/nfc/pn544/i2c.c                                   | 4 +---
    >  drivers/nfc/s3fwrn5/i2c.c                                 | 4 +---
    >  drivers/nfc/st-nci/i2c.c                                  | 4 +---
    >  drivers/nfc/st21nfca/i2c.c                                | 4 +---
    >  drivers/of/unittest.c                                     | 6 ++----
    >  drivers/platform/chrome/cros_ec_i2c.c                     | 4 +---
    >  drivers/platform/surface/surface3_power.c                 | 4 +---
    >  drivers/platform/x86/asus-tf103c-dock.c                   | 4 +---
    >  drivers/platform/x86/intel/int3472/tps68470.c             | 4 +---
    >  drivers/power/supply/bq2415x_charger.c                    | 4 +---
    >  drivers/power/supply/bq24190_charger.c                    | 4 +---
    >  drivers/power/supply/bq24257_charger.c                    | 4 +---
    >  drivers/power/supply/bq25890_charger.c                    | 4 +---
    >  drivers/power/supply/bq27xxx_battery_i2c.c                | 4 +---
    >  drivers/power/supply/cw2015_battery.c                     | 3 +--
    >  drivers/power/supply/ds2782_battery.c                     | 4 +---
    >  drivers/power/supply/lp8727_charger.c                     | 3 +--
    >  drivers/power/supply/rt5033_battery.c                     | 4 +---
    >  drivers/power/supply/rt9455_charger.c                     | 4 +---
    >  drivers/power/supply/smb347-charger.c                     | 4 +---
    >  drivers/power/supply/z2_battery.c                         | 4 +---
    >  drivers/pwm/pwm-pca9685.c                                 | 4 +---
    >  drivers/regulator/da9121-regulator.c                      | 3 +--
    >  drivers/regulator/lp8755.c                                | 4 +---
    >  drivers/regulator/rpi-panel-attiny-regulator.c            | 4 +---
    >  drivers/rtc/rtc-bq32k.c                                   | 4 +---
    >  drivers/rtc/rtc-ds1374.c                                  | 4 +---
    >  drivers/rtc/rtc-isl12026.c                                | 3 +--
    >  drivers/rtc/rtc-m41t80.c                                  | 4 +---
    >  drivers/rtc/rtc-rs5c372.c                                 | 3 +--
    >  drivers/rtc/rtc-x1205.c                                   | 3 +--
    >  drivers/staging/media/atomisp/i2c/atomisp-gc0310.c        | 4 +---
    >  drivers/staging/media/atomisp/i2c/atomisp-gc2235.c        | 4 +---
    >  drivers/staging/media/atomisp/i2c/atomisp-lm3554.c        | 4 +---
    >  drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c       | 3 +--
    >  drivers/staging/media/atomisp/i2c/atomisp-ov2680.c        | 4 +---
    >  drivers/staging/media/atomisp/i2c/atomisp-ov2722.c        | 4 +---
    >  drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c | 4 +---
    >  drivers/staging/media/max96712/max96712.c                 | 4 +---
    >  drivers/staging/most/i2c/i2c.c                            | 4 +---
    >  drivers/staging/olpc_dcon/olpc_dcon.c                     | 4 +---
    >  drivers/tty/serial/sc16is7xx.c                            | 4 +---
    >  drivers/usb/misc/usb3503.c                                | 4 +---
    >  drivers/usb/phy/phy-isp1301-omap.c                        | 4 +---
    >  drivers/usb/phy/phy-isp1301.c                             | 4 +---
    >  drivers/usb/typec/hd3ss3220.c                             | 4 +---
    >  drivers/usb/typec/mux/fsa4480.c                           | 4 +---
    >  drivers/usb/typec/mux/pi3usb30532.c                       | 3 +--
    >  drivers/usb/typec/rt1719.c                                | 4 +---
    >  drivers/usb/typec/stusb160x.c                             | 4 +---
    >  drivers/usb/typec/tcpm/fusb302.c                          | 4 +---
    >  drivers/usb/typec/tcpm/tcpci.c                            | 4 +---
    >  drivers/usb/typec/tcpm/tcpci_maxim.c                      | 4 +---
    >  drivers/usb/typec/tcpm/tcpci_rt1711h.c                    | 3 +--
    >  drivers/usb/typec/tipd/core.c                             | 4 +---
    >  drivers/usb/typec/ucsi/ucsi_ccg.c                         | 4 +---
    >  drivers/usb/typec/wusb3801.c                              | 4 +---
    >  drivers/video/backlight/adp8860_bl.c                      | 4 +---
    >  drivers/video/backlight/adp8870_bl.c                      | 4 +---
    >  drivers/video/backlight/arcxcnn_bl.c                      | 4 +---
    >  drivers/video/backlight/bd6107.c                          | 4 +---
    >  drivers/video/backlight/lm3630a_bl.c                      | 3 +--
    >  drivers/video/backlight/lm3639_bl.c                       | 3 +--
    >  drivers/video/backlight/lp855x_bl.c                       | 4 +---
    >  drivers/video/backlight/lv5207lp.c                        | 4 +---
    >  drivers/video/backlight/tosa_bl.c                         | 3 +--
    >  drivers/video/fbdev/matrox/matroxfb_maven.c               | 3 +--
    >  drivers/video/fbdev/ssd1307fb.c                           | 4 +---
    >  drivers/w1/masters/ds2482.c                               | 3 +--
    >  drivers/watchdog/ziirave_wdt.c                            | 4 +---
    >  include/linux/i2c.h                                       | 2 +-
    >  lib/Kconfig.kasan                                         | 1 +
    >  sound/aoa/codecs/onyx.c                                   | 3 +--
    >  sound/aoa/codecs/tas.c                                    | 3 +--
    >  sound/pci/hda/cs35l41_hda_i2c.c                           | 4 +---
    >  sound/ppc/keywest.c                                       | 6 ++----
    >  sound/soc/codecs/adau1761-i2c.c                           | 3 +--
    >  sound/soc/codecs/adau1781-i2c.c                           | 3 +--
    >  sound/soc/codecs/ak4375.c                                 | 4 +---
    >  sound/soc/codecs/ak4458.c                                 | 4 +---
    >  sound/soc/codecs/ak4641.c                                 | 4 +---
    >  sound/soc/codecs/ak5558.c                                 | 4 +---
    >  sound/soc/codecs/cs35l32.c                                | 4 +---
    >  sound/soc/codecs/cs35l33.c                                | 4 +---
    >  sound/soc/codecs/cs35l34.c                                | 4 +---
    >  sound/soc/codecs/cs35l35.c                                | 4 +---
    >  sound/soc/codecs/cs35l36.c                                | 4 +---
    >  sound/soc/codecs/cs35l41-i2c.c                            | 4 +---
    >  sound/soc/codecs/cs35l45-i2c.c                            | 4 +---
    >  sound/soc/codecs/cs4234.c                                 | 4 +---
    >  sound/soc/codecs/cs4265.c                                 | 4 +---
    >  sound/soc/codecs/cs4270.c                                 | 4 +---
    >  sound/soc/codecs/cs42l42.c                                | 4 +---
    >  sound/soc/codecs/cs42l51-i2c.c                            | 4 +---
    >  sound/soc/codecs/cs42l56.c                                | 3 +--
    >  sound/soc/codecs/cs42xx8-i2c.c                            | 4 +---
    >  sound/soc/codecs/cs43130.c                                | 4 +---
    >  sound/soc/codecs/cs4349.c                                 | 4 +---
    >  sound/soc/codecs/cs53l30.c                                | 4 +---
    >  sound/soc/codecs/cx2072x.c                                | 3 +--
    >  sound/soc/codecs/max98090.c                               | 4 +---
    >  sound/soc/codecs/max9860.c                                | 3 +--
    >  sound/soc/codecs/max98927.c                               | 4 +---
    >  sound/soc/codecs/mt6660.c                                 | 3 +--
    >  sound/soc/codecs/nau8821.c                                | 4 +---
    >  sound/soc/codecs/nau8825.c                                | 6 ++----
    >  sound/soc/codecs/pcm1789-i2c.c                            | 4 +---
    >  sound/soc/codecs/pcm3168a-i2c.c                           | 4 +---
    >  sound/soc/codecs/pcm512x-i2c.c                            | 3 +--
    >  sound/soc/codecs/rt274.c                                  | 4 +---
    >  sound/soc/codecs/rt286.c                                  | 4 +---
    >  sound/soc/codecs/rt298.c                                  | 4 +---
    >  sound/soc/codecs/rt5616.c                                 | 6 ++----
    >  sound/soc/codecs/rt5631.c                                 | 6 ++----
    >  sound/soc/codecs/rt5645.c                                 | 4 +---
    >  sound/soc/codecs/rt5663.c                                 | 4 +---
    >  sound/soc/codecs/rt5670.c                                 | 4 +---
    >  sound/soc/codecs/rt5677.c                                 | 4 +---
    >  sound/soc/codecs/rt5682-i2c.c                             | 4 +---
    >  sound/soc/codecs/rt5682s.c                                | 4 +---
    >  sound/soc/codecs/rt9120.c                                 | 3 +--
    >  sound/soc/codecs/sgtl5000.c                               | 4 +---
    >  sound/soc/codecs/sta350.c                                 | 6 ++----
    >  sound/soc/codecs/tas2552.c                                | 3 +--
    >  sound/soc/codecs/tas5086.c                                | 6 ++----
    >  sound/soc/codecs/tas571x.c                                | 4 +---
    >  sound/soc/codecs/tas5805m.c                               | 3 +--
    >  sound/soc/codecs/tas6424.c                                | 4 +---
    >  sound/soc/codecs/tlv320adc3xxx.c                          | 3 +--
    >  sound/soc/codecs/tlv320aic32x4-i2c.c                      | 4 +---
    >  sound/soc/codecs/tlv320aic3x-i2c.c                        | 4 +---
    >  sound/soc/codecs/tlv320dac33.c                            | 4 +---
    >  sound/soc/codecs/wm1250-ev1.c                             | 4 +---
    >  sound/soc/codecs/wm2200.c                                 | 4 +---
    >  sound/soc/codecs/wm5100.c                                 | 4 +---
    >  sound/soc/codecs/wm8804-i2c.c                             | 3 +--
    >  sound/soc/codecs/wm8900.c                                 | 6 ++----
    >  sound/soc/codecs/wm8903.c                                 | 4 +---
    >  sound/soc/codecs/wm8960.c                                 | 6 ++----
    >  sound/soc/codecs/wm8962.c                                 | 3 +--
    >  sound/soc/codecs/wm8993.c                                 | 4 +---
    >  sound/soc/codecs/wm8996.c                                 | 4 +---
    >  sound/soc/codecs/wm9081.c                                 | 6 ++----
    
    Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    
    for the drivers I'm involved in development of.
    
    -- 
    With Best Regards,
    Andy Shevchenko
    
    
    
    ^ permalink raw reply	[flat|nested] 13+ messages in thread
  • [parent not found: <CAPAsAGwP4Mw_CJfsi7oapABdTBwO1HfiQux6X4UahspU74VjtQ@mail.gmail.com>]
  • * Re: [PATCH 6/6] i2c: Make remove callback return void
           [not found] ` <20220628140313.74984-7-u.kleine-koenig@pengutronix.de>
                         ` (3 preceding siblings ...)
           [not found]   ` <CAPAsAGwP4Mw_CJfsi7oapABdTBwO1HfiQux6X4UahspU74VjtQ@mail.gmail.com>
    @ 2022-06-29 14:25   ` Maximilian Luz
      2022-06-29 21:20   ` Luca Ceresoli
                         ` (2 subsequent siblings)
      7 siblings, 0 replies; 13+ messages in thread
    From: Maximilian Luz @ 2022-06-29 14:25 UTC (permalink / raw)
      To: Uwe Kleine-König, Wolfram Sang
      Cc: Uwe Kleine-König, Miguel Ojeda, Jarkko Sakkinen,
    	Stephen Boyd, David S. Miller, Jiri Kosina, Benjamin Tissoires,
    	Luka Perkov, Dmitry Torokhov, Bastien Nocera, Hans de Goede,
    	Mauro Carvalho Chehab, Shawn Tu, Manivannan Sadhasivam,
    	Pengutronix Kernel Team, Kyungmin Park, Andy Shevchenko,
    	Arnd Bergmann, Greg Kroah-Hartman, Jakub Kicinski, Rob Herring,
    	Mark Gross, Pali Rohár, Mark Brown, Nathan Chancellor,
    	Bjorn Andersson, linux-i2c, linux-arm-kernel, linuxppc-dev,
    	openipmi-developer, linux-integrity, linux-clk, linux-crypto,
    	linux-gpio, dri-devel, chrome-platform, linux-rpi-kernel,
    	linux-input, linux-hwmon, linux-iio, linux-stm32, linux-leds,
    	linux-media, patches, alsa-devel, linux-omap, linux-mtd, netdev,
    	devicetree, platform-driver-x86, acpi4asus-user, linux-pm,
    	linux-pwm, linux-rtc, linux-staging, linux-serial, linux-usb,
    	linux-fbdev, linux-watchdog, kasan-dev, linux-mediatek
    
    On 6/28/22 16:03, Uwe Kleine-König wrote:
    > From: Uwe Kleine-König <uwe@kleine-koenig.org>
    > 
    > The value returned by an i2c driver's remove function is mostly ignored.
    > (Only an error message is printed if the value is non-zero that the
    > error is ignored.)
    > 
    > So change the prototype of the remove function to return no value. This
    > way driver authors are not tempted to assume that passing an error to
    > the upper layer is a good idea. All drivers are adapted accordingly.
    > There is no intended change of behaviour, all callbacks were prepared to
    > return 0 before.
    > 
    > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    
    [...]
    >   drivers/platform/surface/surface3_power.c                 | 4 +---
    
    [...]
    
    > diff --git a/drivers/platform/surface/surface3_power.c b/drivers/platform/surface/surface3_power.c
    > index 444ec81ba02d..3b20dddeb815 100644
    > --- a/drivers/platform/surface/surface3_power.c
    > +++ b/drivers/platform/surface/surface3_power.c
    > @@ -554,7 +554,7 @@ static int mshw0011_probe(struct i2c_client *client)
    >   	return error;
    >   }
    >   
    > -static int mshw0011_remove(struct i2c_client *client)
    > +static void mshw0011_remove(struct i2c_client *client)
    >   {
    >   	struct mshw0011_data *cdata = i2c_get_clientdata(client);
    >   
    > @@ -564,8 +564,6 @@ static int mshw0011_remove(struct i2c_client *client)
    >   		kthread_stop(cdata->poll_task);
    >   
    >   	i2c_unregister_device(cdata->bat0);
    > -
    > -	return 0;
    >   }
    >   
    >   static const struct acpi_device_id mshw0011_acpi_match[] = {
    
    For the quoted above:
    
    Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
    
    ^ permalink raw reply	[flat|nested] 13+ messages in thread
  • * Re: [PATCH 6/6] i2c: Make remove callback return void
           [not found] ` <20220628140313.74984-7-u.kleine-koenig@pengutronix.de>
                         ` (4 preceding siblings ...)
      2022-06-29 14:25   ` Maximilian Luz
    @ 2022-06-29 21:20   ` Luca Ceresoli
      2022-07-05 10:08   ` Jean Delvare
      2022-07-06  9:13   ` Vladimir Oltean
      7 siblings, 0 replies; 13+ messages in thread
    From: Luca Ceresoli @ 2022-06-29 21:20 UTC (permalink / raw)
      To: Uwe Kleine-König, Wolfram Sang
      Cc: linux-i2c, linux-arm-kernel, linuxppc-dev, openipmi-developer,
    	linux-integrity, linux-clk, linux-crypto, linux-gpio, dri-devel,
    	chrome-platform, linux-rpi-kernel, linux-input, linux-hwmon,
    	linux-iio, linux-stm32, linux-leds, linux-media, patches,
    	alsa-devel, linux-omap, linux-mtd, netdev, devicetree,
    	platform-driver-x86, acpi4asus-user, linux-pm, linux-pwm,
    	linux-rtc, linux-staging, linux-serial, linux-usb, linux-fbdev,
    	linux-watchdog, kasan-dev, linux-mediatek
    
    Hi,
    
    [keeping only individuals and lists in Cc to avoid bounces]
    
    On 28/06/22 16:03, Uwe Kleine-König wrote:
    > From: Uwe Kleine-König <uwe@kleine-koenig.org>
    > 
    > The value returned by an i2c driver's remove function is mostly ignored.
    > (Only an error message is printed if the value is non-zero that the
    > error is ignored.)
    > 
    > So change the prototype of the remove function to return no value. This
    > way driver authors are not tempted to assume that passing an error to
    > the upper layer is a good idea. All drivers are adapted accordingly.
    > There is no intended change of behaviour, all callbacks were prepared to
    > return 0 before.
    > 
    > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    
    For versaclock:
    
    > diff --git a/drivers/clk/clk-versaclock5.c b/drivers/clk/clk-versaclock5.c
    > index e7be3e54b9be..657493ecce4c 100644
    > --- a/drivers/clk/clk-versaclock5.c
    > +++ b/drivers/clk/clk-versaclock5.c
    > @@ -1138,7 +1138,7 @@ static int vc5_probe(struct i2c_client *client)
    >  	return ret;
    >  }
    >  
    > -static int vc5_remove(struct i2c_client *client)
    > +static void vc5_remove(struct i2c_client *client)
    >  {
    >  	struct vc5_driver_data *vc5 = i2c_get_clientdata(client);
    >  
    > @@ -1146,8 +1146,6 @@ static int vc5_remove(struct i2c_client *client)
    >  
    >  	if (vc5->chip_info->flags & VC5_HAS_INTERNAL_XTAL)
    >  		clk_unregister_fixed_rate(vc5->pin_xin);
    > -
    > -	return 0;
    >  }
    >  
    >  static int __maybe_unused vc5_suspend(struct device *dev)
    
    Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
    Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
    
    -- 
    Luca
    
    ^ permalink raw reply	[flat|nested] 13+ messages in thread
  • * Re: [PATCH 6/6] i2c: Make remove callback return void
           [not found] ` <20220628140313.74984-7-u.kleine-koenig@pengutronix.de>
                         ` (5 preceding siblings ...)
      2022-06-29 21:20   ` Luca Ceresoli
    @ 2022-07-05 10:08   ` Jean Delvare
      2022-07-05 10:36     ` Uwe Kleine-König
      2022-07-06  9:13   ` Vladimir Oltean
      7 siblings, 1 reply; 13+ messages in thread
    From: Jean Delvare @ 2022-07-05 10:08 UTC (permalink / raw)
      To: Uwe Kleine-König
      Cc: Wolfram Sang, Guenter Roeck, linux-i2c, linux-arm-kernel,
    	linuxppc-dev, openipmi-developer, linux-integrity, linux-clk,
    	linux-crypto, linux-gpio, dri-devel, chrome-platform,
    	linux-rpi-kernel, linux-input, linux-hwmon, linux-iio,
    	linux-stm32, linux-leds, linux-media, patches, alsa-devel,
    	linux-omap, linux-mtd, netdev, devicetree, platform-driver-x86,
    	acpi4asus-user, linux-pm, linux-pwm, linux-rtc, linux-staging,
    	linux-serial, linux-usb, linux-fbdev, linux-watchdog, kasan-dev,
    	linux-mediatek
    
    On Tue, 28 Jun 2022 16:03:12 +0200, Uwe Kleine-König wrote:
    > From: Uwe Kleine-König <uwe@kleine-koenig.org>
    > 
    > The value returned by an i2c driver's remove function is mostly ignored.
    > (Only an error message is printed if the value is non-zero that the
    > error is ignored.)
    > 
    > So change the prototype of the remove function to return no value. This
    > way driver authors are not tempted to assume that passing an error to
    > the upper layer is a good idea. All drivers are adapted accordingly.
    > There is no intended change of behaviour, all callbacks were prepared to
    > return 0 before.
    > 
    > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    > ---
    
    That's a huge change for a relatively small benefit, but if this is
    approved by the I2C core maintainer then fine with me. For:
    
    >  drivers/hwmon/adc128d818.c                                | 4 +---
    >  drivers/hwmon/adt7470.c                                   | 3 +--
    >  drivers/hwmon/asb100.c                                    | 6 ++----
    >  drivers/hwmon/asc7621.c                                   | 4 +---
    >  drivers/hwmon/dme1737.c                                   | 4 +---
    >  drivers/hwmon/f75375s.c                                   | 5 ++---
    >  drivers/hwmon/fschmd.c                                    | 6 ++----
    >  drivers/hwmon/ftsteutates.c                               | 3 +--
    >  drivers/hwmon/ina209.c                                    | 4 +---
    >  drivers/hwmon/ina3221.c                                   | 4 +---
    >  drivers/hwmon/jc42.c                                      | 3 +--
    >  drivers/hwmon/mcp3021.c                                   | 4 +---
    >  drivers/hwmon/occ/p8_i2c.c                                | 4 +---
    >  drivers/hwmon/pcf8591.c                                   | 3 +--
    >  drivers/hwmon/smm665.c                                    | 3 +--
    >  drivers/hwmon/tps23861.c                                  | 4 +---
    >  drivers/hwmon/w83781d.c                                   | 4 +---
    >  drivers/hwmon/w83791d.c                                   | 6 ++----
    >  drivers/hwmon/w83792d.c                                   | 6 ++----
    >  drivers/hwmon/w83793.c                                    | 6 ++----
    >  drivers/hwmon/w83795.c                                    | 4 +---
    >  drivers/hwmon/w83l785ts.c                                 | 6 ++----
    >  drivers/i2c/i2c-core-base.c                               | 6 +-----
    >  drivers/i2c/i2c-slave-eeprom.c                            | 4 +---
    >  drivers/i2c/i2c-slave-testunit.c                          | 3 +--
    >  drivers/i2c/i2c-smbus.c                                   | 3 +--
    >  drivers/i2c/muxes/i2c-mux-ltc4306.c                       | 4 +---
    >  drivers/i2c/muxes/i2c-mux-pca9541.c                       | 3 +--
    >  drivers/i2c/muxes/i2c-mux-pca954x.c                       | 3 +--
    
    Reviewed-by: Jean Delvare <jdelvare@suse.de>
    
    -- 
    Jean Delvare
    SUSE L3 Support
    
    ^ permalink raw reply	[flat|nested] 13+ messages in thread
  • * Re: [PATCH 6/6] i2c: Make remove callback return void
           [not found] ` <20220628140313.74984-7-u.kleine-koenig@pengutronix.de>
                         ` (6 preceding siblings ...)
      2022-07-05 10:08   ` Jean Delvare
    @ 2022-07-06  9:13   ` Vladimir Oltean
      2022-07-06  9:31     ` Uwe Kleine-König
      7 siblings, 1 reply; 13+ messages in thread
    From: Vladimir Oltean @ 2022-07-06  9:13 UTC (permalink / raw)
      To: Uwe Kleine-König
      Cc: Wolfram Sang, Uwe Kleine-König, linux-i2c, linux-arm-kernel,
    	linuxppc-dev, openipmi-developer, linux-integrity, linux-clk,
    	linux-crypto, linux-gpio, dri-devel, chrome-platform,
    	linux-rpi-kernel, linux-input, linux-hwmon, linux-iio,
    	linux-stm32, linux-leds, linux-media, patches, alsa-devel,
    	linux-omap, linux-mtd, netdev, devicetree, platform-driver-x86,
    	acpi4asus-user, linux-pm, linux-pwm, linux-rtc, linux-staging,
    	linux-serial, linux-usb, linux-fbdev, linux-watchdog, kasan-dev,
    	linux-mediatek
    
    On Tue, Jun 28, 2022 at 04:03:12PM +0200, Uwe Kleine-König wrote:
    > From: Uwe Kleine-König <uwe@kleine-koenig.org>
    > 
    > The value returned by an i2c driver's remove function is mostly ignored.
    > (Only an error message is printed if the value is non-zero that the
    > error is ignored.)
    > 
    > So change the prototype of the remove function to return no value. This
    > way driver authors are not tempted to assume that passing an error to
    > the upper layer is a good idea. All drivers are adapted accordingly.
    > There is no intended change of behaviour, all callbacks were prepared to
    > return 0 before.
    > 
    > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    > ---
    
    Assuming you remove the spurious kasan change:
    
    Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
    
    ^ permalink raw reply	[flat|nested] 13+ messages in thread

  • end of thread, other threads:[~2022-07-06  9:32 UTC | newest]
    
    Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <20220628140313.74984-1-u.kleine-koenig@pengutronix.de>
         [not found] ` <20220628140313.74984-7-u.kleine-koenig@pengutronix.de>
         [not found]   ` <60cc6796236f23c028a9ae76dbe00d1917df82a5.camel@codeconstruct.com.au>
    2022-06-29  7:23     ` [PATCH 6/6] i2c: Make remove callback return void Uwe Kleine-König
    2022-06-29  7:37       ` Javier Martinez Canillas
    2022-06-29  7:55       ` Christophe Leroy
    2022-06-29  8:09         ` Javier Martinez Canillas
    2022-06-29  7:40   ` Heikki Krogerus
    2022-06-29 10:40   ` Andy Shevchenko
         [not found]   ` <CAPAsAGwP4Mw_CJfsi7oapABdTBwO1HfiQux6X4UahspU74VjtQ@mail.gmail.com>
    2022-06-29 13:35     ` Uwe Kleine-König
    2022-06-29 14:25   ` Maximilian Luz
    2022-06-29 21:20   ` Luca Ceresoli
    2022-07-05 10:08   ` Jean Delvare
    2022-07-05 10:36     ` Uwe Kleine-König
    2022-07-06  9:13   ` Vladimir Oltean
    2022-07-06  9:31     ` Uwe Kleine-König
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).