Message ID | 20221118224540.619276-1-uwe@kleine-koenig.org |
---|---|
Headers | show |
Series | i2c: Complete conversion to i2c_probe_new | expand |
Hello: This patch was applied to chrome-platform/linux.git (for-next) by Tzung-Bi Shih <tzungbi@kernel.org>: On Fri, 18 Nov 2022 23:35:34 +0100 you wrote: > Hello, > > since commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() > call-back type") from 2016 there is a "temporary" alternative probe > callback for i2c drivers. > > This series completes all drivers to this new callback (unless I missed > something). It's based on current next/master. > A part of the patches depend on commit 662233731d66 ("i2c: core: > Introduce i2c_client_get_device_id helper function"), there is a branch that > you can pull into your tree to get it: > > [...] Here is the summary with links: - [512/606] platform/chrome: cros_ec: Convert to i2c's .probe_new() https://git.kernel.org/chrome-platform/c/f9e510dc92df You are awesome, thank you!
Hi Uwe, > This series completes all drivers to this new callback (unless I missed > something). It's based on current next/master. Thanks for this work, really, but oh my poor inbox... > I don't think it's feasable to apply this series in one go, so I ask the > maintainers of the changed files to apply via their tree. This seems reasonable. It would have made sense to send "patch series per subsystem" then. So people only see the subset they are interested in. I know filename-to-subsys mapping is hardly ever perfect. But in my experience, even imperfect, it is more convenient than such a huge patch series. Happy hacking, Wolfram
On Fri, 18 Nov 2022, Uwe Kleine-König wrote: > Hello, > > since commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() > call-back type") from 2016 there is a "temporary" alternative probe > callback for i2c drivers. Oh yeah, this! Thanks for picking this up Uwe, I guess I've been distracted for the past 6 years or so. :) > This series completes all drivers to this new callback (unless I missed > something). It's based on current next/master. > A part of the patches depend on commit 662233731d66 ("i2c: core: > Introduce i2c_client_get_device_id helper function"), there is a branch that > you can pull into your tree to get it: > > https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/client_device_id_helper-immutable > > I don't think it's feasable to apply this series in one go, so I ask the > maintainers of the changed files to apply via their tree. I guess it > will take a few kernel release iterations until all patch are in, but I > think a single tree creates too much conflicts. > > The last patch changes i2c_driver::probe, all non-converted drivers will > fail to compile then. So I hope the build bots will tell me about any > driver I missed to convert. This patch is obviously not for application > now. > > I dropped most individuals from the recipents of this mail to not > challenge the mail servers and mailing list filters too much. Sorry if > you had extra efforts to find this mail. [...] > drivers/mfd/88pm800.c | 5 ++--- > drivers/mfd/88pm805.c | 5 ++--- > drivers/mfd/aat2870-core.c | 5 ++--- > drivers/mfd/act8945a.c | 5 ++--- > drivers/mfd/adp5520.c | 6 +++--- > drivers/mfd/arizona-i2c.c | 6 +++--- > drivers/mfd/as3711.c | 5 ++--- > drivers/mfd/as3722.c | 5 ++--- > drivers/mfd/atc260x-i2c.c | 5 ++--- > drivers/mfd/axp20x-i2c.c | 5 ++--- > drivers/mfd/bcm590xx.c | 5 ++--- > drivers/mfd/bd9571mwv.c | 5 ++--- > drivers/mfd/da903x.c | 6 +++--- > drivers/mfd/da9052-i2c.c | 6 +++--- > drivers/mfd/da9055-i2c.c | 5 ++--- > drivers/mfd/da9062-core.c | 6 +++--- > drivers/mfd/da9063-i2c.c | 6 +++--- > drivers/mfd/da9150-core.c | 5 ++--- > drivers/mfd/khadas-mcu.c | 5 ++--- > drivers/mfd/lm3533-core.c | 5 ++--- > drivers/mfd/lp3943.c | 4 ++-- > drivers/mfd/lp873x.c | 5 ++--- > drivers/mfd/lp87565.c | 5 ++--- > drivers/mfd/lp8788.c | 4 ++-- > drivers/mfd/madera-i2c.c | 6 +++--- > drivers/mfd/max14577.c | 6 +++--- > drivers/mfd/max77620.c | 6 +++--- > drivers/mfd/max77693.c | 6 +++--- > drivers/mfd/max77843.c | 6 +++--- > drivers/mfd/max8907.c | 5 ++--- > drivers/mfd/max8925-i2c.c | 5 ++--- > drivers/mfd/max8997.c | 6 +++--- > drivers/mfd/max8998.c | 6 +++--- > drivers/mfd/mc13xxx-i2c.c | 6 +++--- > drivers/mfd/menelaus.c | 5 ++--- > drivers/mfd/menf21bmc.c | 4 ++-- > drivers/mfd/palmas.c | 5 ++--- > drivers/mfd/pcf50633-core.c | 5 ++--- > drivers/mfd/rc5t583.c | 5 ++--- > drivers/mfd/retu-mfd.c | 4 ++-- > drivers/mfd/rk808.c | 5 ++--- > drivers/mfd/rohm-bd718x7.c | 5 ++--- > drivers/mfd/rsmu_i2c.c | 6 +++--- > drivers/mfd/rt5033.c | 5 ++--- > drivers/mfd/sec-core.c | 5 ++--- > drivers/mfd/si476x-i2c.c | 6 +++--- > drivers/mfd/sky81452.c | 5 ++--- > drivers/mfd/stmfx.c | 5 ++--- > drivers/mfd/stmpe-i2c.c | 5 +++-- > drivers/mfd/stpmic1.c | 5 ++--- > drivers/mfd/stw481x.c | 5 ++--- > drivers/mfd/tc3589x.c | 6 +++--- > drivers/mfd/ti-lmu.c | 5 +++-- > drivers/mfd/tps6105x.c | 5 ++--- > drivers/mfd/tps65010.c | 6 +++--- > drivers/mfd/tps6507x.c | 5 ++--- > drivers/mfd/tps65086.c | 5 ++--- > drivers/mfd/tps65090.c | 5 ++--- > drivers/mfd/tps65218.c | 5 ++--- > drivers/mfd/tps6586x.c | 5 ++--- > drivers/mfd/tps65910.c | 6 +++--- > drivers/mfd/tps65912-i2c.c | 5 ++--- > drivers/mfd/twl-core.c | 5 +++-- > drivers/mfd/twl6040.c | 5 ++--- > drivers/mfd/wl1273-core.c | 5 ++--- > drivers/mfd/wm831x-i2c.c | 6 +++--- > drivers/mfd/wm8350-i2c.c | 5 ++--- > drivers/mfd/wm8400-core.c | 5 ++--- > drivers/mfd/wm8994-core.c | 6 +++--- For my own reference (apply this as-is to your sign-off block): Acked-for-MFD-by: Lee Jones <lee@kernel.org> > drivers/video/backlight/adp8860_bl.c | 6 +++--- > drivers/video/backlight/adp8870_bl.c | 6 +++--- > drivers/video/backlight/arcxcnn_bl.c | 4 ++-- > drivers/video/backlight/bd6107.c | 5 ++--- > drivers/video/backlight/lm3630a_bl.c | 5 ++--- > drivers/video/backlight/lm3639_bl.c | 5 ++--- > drivers/video/backlight/lp855x_bl.c | 5 +++-- > drivers/video/backlight/lv5207lp.c | 5 ++--- > drivers/video/backlight/tosa_bl.c | 5 ++--- > drivers/video/fbdev/matrox/matroxfb_maven.c | 5 ++--- For my own reference (apply this as-is to your sign-off block): Acked-for-Backlight-by: Lee Jones <lee@kernel.org>
Queued all of the below: with one tweaked as per your suggestion and the highlighted one dropped on basis I was already carrying the equivalent - as you pointed out. I was already carrying the required dependency. Includes the IIO ones in staging. Thanks, Jonathan p.s. I perhaps foolishly did this in a highly manual way so as to also pick up Andy's RB. So might have dropped one... Definitely would have been better as one patch per subsystem with a cover letter suitable for replies like Andy's to be picked up by b4. > iio: accel: adxl372_i2c: Convert to i2c's .probe_new() > iio: accel: bma180: Convert to i2c's .probe_new() > iio: accel: bma400: Convert to i2c's .probe_new() > iio: accel: bmc150: Convert to i2c's .probe_new() > iio: accel: da280: Convert to i2c's .probe_new() > iio: accel: kxcjk-1013: Convert to i2c's .probe_new() > iio: accel: mma7455_i2c: Convert to i2c's .probe_new() > iio: accel: mma8452: Convert to i2c's .probe_new() > iio: accel: mma9551: Convert to i2c's .probe_new() > iio: accel: mma9553: Convert to i2c's .probe_new() > iio: adc: ad7091r5: Convert to i2c's .probe_new() > iio: adc: ad7291: Convert to i2c's .probe_new() > iio: adc: ad799x: Convert to i2c's .probe_new() > iio: adc: ina2xx-adc: Convert to i2c's .probe_new() > iio: adc: ltc2471: Convert to i2c's .probe_new() > iio: adc: ltc2485: Convert to i2c's .probe_new() > iio: adc: ltc2497: Convert to i2c's .probe_new() > iio: adc: max1363: Convert to i2c's .probe_new() > iio: adc: max9611: Convert to i2c's .probe_new() > iio: adc: mcp3422: Convert to i2c's .probe_new() > iio: adc: ti-adc081c: Convert to i2c's .probe_new() > iio: adc: ti-ads1015: Convert to i2c's .probe_new() > iio: cdc: ad7150: Convert to i2c's .probe_new() > iio: cdc: ad7746: Convert to i2c's .probe_new() > iio: chemical: ams-iaq-core: Convert to i2c's .probe_new() > iio: chemical: atlas-ezo-sensor: Convert to i2c's .probe_new() > iio: chemical: atlas-sensor: Convert to i2c's .probe_new() > iio: chemical: bme680_i2c: Convert to i2c's .probe_new() > iio: chemical: ccs811: Convert to i2c's .probe_new() > iio: chemical: scd4x: Convert to i2c's .probe_new() > iio: chemical: sgp30: Convert to i2c's .probe_new() > iio: chemical: sgp40: Convert to i2c's .probe_new() > iio: chemical: vz89x: Convert to i2c's .probe_new() > iio: dac: ad5064: Convert to i2c's .probe_new() > iio: dac: ad5380: Convert to i2c's .probe_new() > iio: dac: ad5446: Convert to i2c's .probe_new() > iio: dac: ad5593r: Convert to i2c's .probe_new() > iio: dac: ad5696-i2c: Convert to i2c's .probe_new() > iio: dac: ds4424: Convert to i2c's .probe_new() > iio: dac: m62332: Convert to i2c's .probe_new() > iio: dac: max517: Convert to i2c's .probe_new() > iio: dac: max5821: Convert to i2c's .probe_new() > iio: dac: mcp4725: Convert to i2c's .probe_new() > iio: dac: ti-dac5571: Convert to i2c's .probe_new() > iio: gyro: bmg160_i2c: Convert to i2c's .probe_new() > iio: gyro: itg3200_core: Convert to i2c's .probe_new() > iio: gyro: mpu3050-i2c: Convert to i2c's .probe_new() > iio: gyro: st_gyro_i2c: Convert to i2c's .probe_new() > iio: health: afe4404: Convert to i2c's .probe_new() > iio: health: max30100: Convert to i2c's .probe_new() > iio: health: max30102: Convert to i2c's .probe_new() > iio: humidity: am2315: Convert to i2c's .probe_new() > iio: humidity: hdc100x: Convert to i2c's .probe_new() > iio: humidity: hdc2010: Convert to i2c's .probe_new() > iio: humidity: hts221_i2c: Convert to i2c's .probe_new() > iio: humidity: htu21: Convert to i2c's .probe_new() > iio: humidity: si7005: Convert to i2c's .probe_new() > iio: humidity: si7020: Convert to i2c's .probe_new() > iio: imu: bmi160/bmi160_i2c: Convert to i2c's .probe_new() > iio: imu: fxos8700_i2c: Convert to i2c's .probe_new() > iio: imu: inv_mpu6050: Convert to i2c's .probe_new() > iio: imu: kmx61: Convert to i2c's .probe_new() > iio: imu: st_lsm6dsx: Convert to i2c's .probe_new() > iio: light: adjd_s311: Convert to i2c's .probe_new() > iio: light: adux1020: Convert to i2c's .probe_new() > iio: light: al3010: Convert to i2c's .probe_new() > iio: light: al3320a: Convert to i2c's .probe_new() > iio: light: apds9300: Convert to i2c's .probe_new() > iio: light: apds9960: Convert to i2c's .probe_new() > iio: light: bh1750: Convert to i2c's .probe_new() > iio: light: bh1780: Convert to i2c's .probe_new() > iio: light: cm3232: Convert to i2c's .probe_new() > iio: light: cm3323: Convert to i2c's .probe_new() > iio: light: cm36651: Convert to i2c's .probe_new() > iio: light: gp2ap002: Convert to i2c's .probe_new() > iio: light: gp2ap020a00f: Convert to i2c's .probe_new() > iio: light: isl29018: Convert to i2c's .probe_new() > iio: light: isl29028: Convert to i2c's .probe_new() > iio: light: isl29125: Convert to i2c's .probe_new() > iio: light: jsa1212: Convert to i2c's .probe_new() > iio: light: ltr501: Convert to i2c's .probe_new() > iio: light: lv0104cs: Convert to i2c's .probe_new() > iio: light: max44000: Convert to i2c's .probe_new() > iio: light: max44009: Convert to i2c's .probe_new() > iio: light: noa1305: Convert to i2c's .probe_new() > iio: light: opt3001: Convert to i2c's .probe_new() > iio: light: pa12203001: Convert to i2c's .probe_new() > iio: light: rpr0521: Convert to i2c's .probe_new() > iio: light: si1133: Convert to i2c's .probe_new() > iio: light: si1145: Convert to i2c's .probe_new() > iio: light: st_uvis25_i2c: Convert to i2c's .probe_new() > iio: light: stk3310: Convert to i2c's .probe_new() > iio: light: tcs3414: Convert to i2c's .probe_new() > iio: light: tcs3472: Convert to i2c's .probe_new() > iio: light: tsl2563: Convert to i2c's .probe_new() > iio: light: tsl2583: Convert to i2c's .probe_new() > iio: light: tsl2772: Convert to i2c's .probe_new() > iio: light: tsl4531: Convert to i2c's .probe_new() > iio: light: us5182d: Convert to i2c's .probe_new() > iio: light: vcnl4000: Convert to i2c's .probe_new() > iio: light: vcnl4035: Convert to i2c's .probe_new() > iio: light: veml6030: Convert to i2c's .probe_new() > iio: light: veml6070: Convert to i2c's .probe_new() > iio: light: zopt2201: Convert to i2c's .probe_new() > iio: magnetometer: ak8974: Convert to i2c's .probe_new() > iio: magnetometer: ak8975: Convert to i2c's .probe_new() > iio: magnetometer: bmc150_magn_i2c: Convert to i2c's .probe_new() > iio: magnetometer: hmc5843: Convert to i2c's .probe_new() > iio: magnetometer: mag3110: Convert to i2c's .probe_new() > iio: magnetometer: mmc35240: Convert to i2c's .probe_new() > iio: magnetometer: yamaha-yas530: Convert to i2c's .probe_new() > iio: potentiometer: ad5272: Convert to i2c's .probe_new() > iio: potentiometer: ds1803: Convert to i2c's .probe_new() > iio: potentiometer: max5432: Convert to i2c's .probe_new() > iio: potentiometer: tpl0102: Convert to i2c's .probe_new() > iio: potentiostat: lmp91000: Convert to i2c's .probe_new() > iio: pressure: abp060mg: Convert to i2c's .probe_new() Not this one > iio: pressure: bmp280-i2c: Convert to i2c's .probe_new() > iio: pressure: dlhl60d: Convert to i2c's .probe_new() > iio: pressure: dps310: Convert to i2c's .probe_new() > iio: pressure: hp03: Convert to i2c's .probe_new() > iio: pressure: hp206c: Convert to i2c's .probe_new() > iio: pressure: icp10100: Convert to i2c's .probe_new() > iio: pressure: mpl115_i2c: Convert to i2c's .probe_new() > iio: pressure: mpl3115: Convert to i2c's .probe_new() > iio: pressure: ms5611_i2c: Convert to i2c's .probe_new() > iio: pressure: ms5637: Convert to i2c's .probe_new() > iio: pressure: st_pressure_i2c: Convert to i2c's .probe_new() > iio: pressure: t5403: Convert to i2c's .probe_new() > iio: pressure: zpa2326_i2c: Convert to i2c's .probe_new() > iio: proximity: isl29501: Convert to i2c's .probe_new() > iio: proximity: mb1232: Convert to i2c's .probe_new() > iio: proximity: pulsedlight-lidar-lite-v2: Convert to i2c's > .probe_new() > iio: proximity: rfd77402: Convert to i2c's .probe_new() > iio: proximity: srf08: Convert to i2c's .probe_new() > iio: proximity: sx9500: Convert to i2c's .probe_new() > iio: temperature: mlx90614: Convert to i2c's .probe_new() > iio: temperature: mlx90632: Convert to i2c's .probe_new() > iio: temperature: tmp006: Convert to i2c's .probe_new() > iio: temperature: tmp007: Convert to i2c's .probe_new() > iio: temperature: tsys01: Convert to i2c's .probe_new() > iio: temperature: tsys02d: Convert to i2c's .probe_new() ... > staging: iio: adt7316: Convert to i2c's .probe_new() > staging: iio: ad5933: Convert to i2c's .probe_new() > staging: iio: ade7854: Convert to i2c's .probe_new()
On Tue, Nov 22, 2022 at 06:58:18PM +0000, Jonathan Cameron wrote: > > Queued all of the below: > with one tweaked as per your suggestion and the highlighted one dropped on basis > I was already carrying the equivalent - as you pointed out. > > I was already carrying the required dependency. > > Includes the IIO ones in staging. > > Thanks, > > Jonathan > > p.s. I perhaps foolishly did this in a highly manual way so as to > also pick up Andy's RB. So might have dropped one... You could have done: H=$(git rev-parse @) b4 am -P 49-190 20221118224540.619276-1-uwe@kleine-koenig.org git am ... git filter-branch -f --msg-filter "grep -v 'Signed-off-by: Jonathan'; echo 'Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>'; echo 'Signed-off-by: Jonathan Cameron <jic23@kernel.org>'" $H.. (untested, but you get the idea). > Definitely would have been better as one patch per subsystem with > a cover letter suitable for replies like Andy's to be picked up > by b4. Next time I will go for one series per subsystem which I like better than one patch per subsystem. Best regards Uwe
On Fri, Nov 18, 2022 at 11:46 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > that explicitly in the probe function. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > --- > drivers/gpio/gpio-max732x.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c > index da6972117030..68e982cdee73 100644 > --- a/drivers/gpio/gpio-max732x.c > +++ b/drivers/gpio/gpio-max732x.c > @@ -608,9 +608,9 @@ static struct max732x_platform_data *of_gpio_max732x(struct device *dev) > return pdata; > } > > -static int max732x_probe(struct i2c_client *client, > - const struct i2c_device_id *id) > +static int max732x_probe(struct i2c_client *client) > { > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > struct max732x_platform_data *pdata; > struct device_node *node; > struct max732x_chip *chip; > @@ -707,7 +707,7 @@ static struct i2c_driver max732x_driver = { > .name = "max732x", > .of_match_table = of_match_ptr(max732x_of_table), > }, > - .probe = max732x_probe, > + .probe_new = max732x_probe, > .id_table = max732x_id, > }; > > -- > 2.38.1 > Applied, thanks! Bartosz
On Fri, Nov 18, 2022 at 11:46 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > that explicitly in the probe function. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > --- > drivers/gpio/gpio-pcf857x.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpio/gpio-pcf857x.c b/drivers/gpio/gpio-pcf857x.c > index e98ea47d7237..cec2f2c78255 100644 > --- a/drivers/gpio/gpio-pcf857x.c > +++ b/drivers/gpio/gpio-pcf857x.c > @@ -247,9 +247,9 @@ static const struct irq_chip pcf857x_irq_chip = { > > /*-------------------------------------------------------------------------*/ > > -static int pcf857x_probe(struct i2c_client *client, > - const struct i2c_device_id *id) > +static int pcf857x_probe(struct i2c_client *client) > { > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > struct pcf857x_platform_data *pdata = dev_get_platdata(&client->dev); > struct device_node *np = client->dev.of_node; > struct pcf857x *gpio; > @@ -422,7 +422,7 @@ static struct i2c_driver pcf857x_driver = { > .name = "pcf857x", > .of_match_table = of_match_ptr(pcf857x_of_table), > }, > - .probe = pcf857x_probe, > + .probe_new = pcf857x_probe, > .remove = pcf857x_remove, > .shutdown = pcf857x_shutdown, > .id_table = pcf857x_id, > -- > 2.38.1 > Applied, thanks! Bartosz
On Wed, Nov 23, 2022 at 10:47 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > On Fri, Nov 18, 2022 at 11:46 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > > > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > > that explicitly in the probe function. > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > --- > > drivers/gpio/gpio-max732x.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c > > index da6972117030..68e982cdee73 100644 > > --- a/drivers/gpio/gpio-max732x.c > > +++ b/drivers/gpio/gpio-max732x.c > > @@ -608,9 +608,9 @@ static struct max732x_platform_data *of_gpio_max732x(struct device *dev) > > return pdata; > > } > > > > -static int max732x_probe(struct i2c_client *client, > > - const struct i2c_device_id *id) > > +static int max732x_probe(struct i2c_client *client) > > { > > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > > struct max732x_platform_data *pdata; > > struct device_node *node; > > struct max732x_chip *chip; > > @@ -707,7 +707,7 @@ static struct i2c_driver max732x_driver = { > > .name = "max732x", > > .of_match_table = of_match_ptr(max732x_of_table), > > }, > > - .probe = max732x_probe, > > + .probe_new = max732x_probe, > > .id_table = max732x_id, > > }; > > > > -- > > 2.38.1 > > > > Applied, thanks! > > Bartosz Ugh, backing it out, I thought these patches were independent. In that case: Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
On Wed, Nov 23, 2022 at 10:48 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > On Fri, Nov 18, 2022 at 11:46 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > > > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > > that explicitly in the probe function. > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > --- > > drivers/gpio/gpio-pcf857x.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpio/gpio-pcf857x.c b/drivers/gpio/gpio-pcf857x.c > > index e98ea47d7237..cec2f2c78255 100644 > > --- a/drivers/gpio/gpio-pcf857x.c > > +++ b/drivers/gpio/gpio-pcf857x.c > > @@ -247,9 +247,9 @@ static const struct irq_chip pcf857x_irq_chip = { > > > > /*-------------------------------------------------------------------------*/ > > > > -static int pcf857x_probe(struct i2c_client *client, > > - const struct i2c_device_id *id) > > +static int pcf857x_probe(struct i2c_client *client) > > { > > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > > struct pcf857x_platform_data *pdata = dev_get_platdata(&client->dev); > > struct device_node *np = client->dev.of_node; > > struct pcf857x *gpio; > > @@ -422,7 +422,7 @@ static struct i2c_driver pcf857x_driver = { > > .name = "pcf857x", > > .of_match_table = of_match_ptr(pcf857x_of_table), > > }, > > - .probe = pcf857x_probe, > > + .probe_new = pcf857x_probe, > > .remove = pcf857x_remove, > > .shutdown = pcf857x_shutdown, > > .id_table = pcf857x_id, > > -- > > 2.38.1 > > > > Applied, thanks! > > Bartosz Same story as with the other ones: Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
On Wed, Nov 23, 2022 at 04:49:05PM +0100, Bartosz Golaszewski wrote: > On Wed, Nov 23, 2022 at 10:47 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > On Fri, Nov 18, 2022 at 11:46 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > > > > > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > > > that explicitly in the probe function. > > > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > --- > > > drivers/gpio/gpio-max732x.c | 6 +++--- > > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c > > > index da6972117030..68e982cdee73 100644 > > > --- a/drivers/gpio/gpio-max732x.c > > > +++ b/drivers/gpio/gpio-max732x.c > > > @@ -608,9 +608,9 @@ static struct max732x_platform_data *of_gpio_max732x(struct device *dev) > > > return pdata; > > > } > > > > > > -static int max732x_probe(struct i2c_client *client, > > > - const struct i2c_device_id *id) > > > +static int max732x_probe(struct i2c_client *client) > > > { > > > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > > > struct max732x_platform_data *pdata; > > > struct device_node *node; > > > struct max732x_chip *chip; > > > @@ -707,7 +707,7 @@ static struct i2c_driver max732x_driver = { > > > .name = "max732x", > > > .of_match_table = of_match_ptr(max732x_of_table), > > > }, > > > - .probe = max732x_probe, > > > + .probe_new = max732x_probe, > > > .id_table = max732x_id, > > > }; > > > > > > -- > > > 2.38.1 > > > > > > > Applied, thanks! > > > > Bartosz > > Ugh, backing it out, I thought these patches were independent. They depend on i2c_client_get_device_id which you can get into your tree either by pulling in https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/client_device_id_helper-immutable or by waiting until this hits Linus Torvald's tree and updating to that. I'd like to see the gpio patches go in via the gpio tree. If you choose not to pull in the above and apply now, I will resend (per subsystem) the remaining patches based on the next -rc1 containing that function. Best regards Uwe
On Wed, Nov 23, 2022 at 5:41 PM Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote: > > On Wed, Nov 23, 2022 at 04:49:05PM +0100, Bartosz Golaszewski wrote: > > On Wed, Nov 23, 2022 at 10:47 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote: > > > > > > On Fri, Nov 18, 2022 at 11:46 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > > > > > > > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > > > > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > > > > that explicitly in the probe function. > > > > > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > --- > > > > drivers/gpio/gpio-max732x.c | 6 +++--- > > > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > > > > > diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c > > > > index da6972117030..68e982cdee73 100644 > > > > --- a/drivers/gpio/gpio-max732x.c > > > > +++ b/drivers/gpio/gpio-max732x.c > > > > @@ -608,9 +608,9 @@ static struct max732x_platform_data *of_gpio_max732x(struct device *dev) > > > > return pdata; > > > > } > > > > > > > > -static int max732x_probe(struct i2c_client *client, > > > > - const struct i2c_device_id *id) > > > > +static int max732x_probe(struct i2c_client *client) > > > > { > > > > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > > > > struct max732x_platform_data *pdata; > > > > struct device_node *node; > > > > struct max732x_chip *chip; > > > > @@ -707,7 +707,7 @@ static struct i2c_driver max732x_driver = { > > > > .name = "max732x", > > > > .of_match_table = of_match_ptr(max732x_of_table), > > > > }, > > > > - .probe = max732x_probe, > > > > + .probe_new = max732x_probe, > > > > .id_table = max732x_id, > > > > }; > > > > > > > > -- > > > > 2.38.1 > > > > > > > > > > Applied, thanks! > > > > > > Bartosz > > > > Ugh, backing it out, I thought these patches were independent. > > They depend on i2c_client_get_device_id which you can get into your tree > either by pulling in > > https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/client_device_id_helper-immutable > > or by waiting until this hits Linus Torvald's tree and updating to that. > > I'd like to see the gpio patches go in via the gpio tree. If you choose > not to pull in the above and apply now, I will resend (per subsystem) > the remaining patches based on the next -rc1 containing that function. > That's alright, I pulled Wolfram's branch and re-applied the three patches. Bart
On Fri, 18 Nov 2022 23:35:34 +0100, Uwe Kleine-König wrote: > since commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() > call-back type") from 2016 there is a "temporary" alternative probe > callback for i2c drivers. > > This series completes all drivers to this new callback (unless I missed > something). It's based on current next/master. > A part of the patches depend on commit 662233731d66 ("i2c: core: > Introduce i2c_client_get_device_id helper function"), there is a branch that > you can pull into your tree to get it: > > [...] Applied all patches that build. Patches excluded: - ps8622 - ti-sn65dsi83 - adv7511 Repo: https://cgit.freedesktop.org/drm/drm-misc/ [014/606] drm/bridge: adv7511: Convert to i2c's .probe_new() (no commit info) [015/606] drm/bridge/analogix/anx6345: Convert to i2c's .probe_new() (no commit info) [016/606] drm/bridge/analogix/anx78xx: Convert to i2c's .probe_new() (no commit info) [017/606] drm/bridge: anx7625: Convert to i2c's .probe_new() (no commit info) [018/606] drm/bridge: icn6211: Convert to i2c's .probe_new() (no commit info) [019/606] drm/bridge: chrontel-ch7033: Convert to i2c's .probe_new() commit: 8dc6de280f01c0f7b8d40435736f3c975368ad70 [020/606] drm/bridge: it6505: Convert to i2c's .probe_new() (no commit info) [021/606] drm/bridge: it66121: Convert to i2c's .probe_new() (no commit info) [022/606] drm/bridge: lt8912b: Convert to i2c's .probe_new() (no commit info) [023/606] drm/bridge: lt9211: Convert to i2c's .probe_new() (no commit info) [024/606] drm/bridge: lt9611: Convert to i2c's .probe_new() (no commit info) [025/606] drm/bridge: lt9611uxc: Convert to i2c's .probe_new() (no commit info) [026/606] drm/bridge: megachips: Convert to i2c's .probe_new() (no commit info) [027/606] drm/bridge: nxp-ptn3460: Convert to i2c's .probe_new() (no commit info) [028/606] drm/bridge: parade-ps8622: Convert to i2c's .probe_new() (no commit info) [029/606] drm/bridge: sii902x: Convert to i2c's .probe_new() (no commit info) [030/606] drm/bridge: sii9234: Convert to i2c's .probe_new() (no commit info) [031/606] drm/bridge: sii8620: Convert to i2c's .probe_new() (no commit info) [032/606] drm/bridge: tc358767: Convert to i2c's .probe_new() (no commit info) [033/606] drm/bridge: tc358768: Convert to i2c's .probe_new() (no commit info) [034/606] drm/bridge/tc358775: Convert to i2c's .probe_new() (no commit info) [035/606] drm/bridge: ti-sn65dsi83: Convert to i2c's .probe_new() (no commit info) [037/606] drm/bridge: tfp410: Convert to i2c's .probe_new() (no commit info) rob
On Fri, 18 Nov 2022 23:35:34 +0100, Uwe Kleine-König wrote: > since commit b8a1a4cd5a98 ("i2c: Provide a temporary .probe_new() > call-back type") from 2016 there is a "temporary" alternative probe > callback for i2c drivers. > > This series completes all drivers to this new callback (unless I missed > something). It's based on current next/master. > A part of the patches depend on commit 662233731d66 ("i2c: core: > Introduce i2c_client_get_device_id helper function"), there is a branch that > you can pull into your tree to get it: > > [...] Applied, thanks! Repo: https://cgit.freedesktop.org/drm/drm-misc/ [014/606] drm/bridge: adv7511: Convert to i2c's .probe_new() commit: 1c546894ff82f8b7c070998c03f9b15a3499f326 [028/606] drm/bridge: parade-ps8622: Convert to i2c's .probe_new() commit: d6b522e9bbb0cca1aeae4ef6188800534794836f [035/606] drm/bridge: ti-sn65dsi83: Convert to i2c's .probe_new() commit: 0f6548807fa77e87bbc37964c6b1ed9ba6e1155d rob
Hello Linus, On Fri, Nov 18, 2022 at 11:44:04PM +0100, Uwe Kleine-König wrote: > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > that explicitly in the probe function. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > --- > drivers/pinctrl/pinctrl-mcp23s08_i2c.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/pinctrl/pinctrl-mcp23s08_i2c.c b/drivers/pinctrl/pinctrl-mcp23s08_i2c.c > index e0b001c8c08c..b635c5737e0c 100644 > --- a/drivers/pinctrl/pinctrl-mcp23s08_i2c.c > +++ b/drivers/pinctrl/pinctrl-mcp23s08_i2c.c > @@ -8,8 +8,9 @@ > > #include "pinctrl-mcp23s08.h" > > -static int mcp230xx_probe(struct i2c_client *client, const struct i2c_device_id *id) > +static int mcp230xx_probe(struct i2c_client *client) > { > + const struct i2c_device_id *id = i2c_client_get_device_id(client); > struct device *dev = &client->dev; > unsigned int type = id->driver_data; > struct mcp23s08 *mcp; > @@ -100,7 +101,7 @@ static struct i2c_driver mcp230xx_driver = { > .name = "mcp230xx", > .of_match_table = mcp23s08_i2c_of_match, > }, > - .probe = mcp230xx_probe, > + .probe_new = mcp230xx_probe, > .id_table = mcp230xx_id, > }; To eventually get all drivers converted to probe_new it would be great if you picked this patch and #511 for pinctrl. Best regards Uwe
On Fri, Nov 18, 2022 at 11:48 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > that explicitly in the probe function. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Patch applied! Thanks for driving this big project. Yours, Linus Walleij
Hello Linus, On Tue, Jan 10, 2023 at 09:01:04AM +0100, Linus Walleij wrote: > On Fri, Nov 18, 2022 at 11:48 PM Uwe Kleine-König <uwe@kleine-koenig.org> wrote: > > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > .probe_new() doesn't get the i2c_device_id * parameter, so determine > > that explicitly in the probe function. > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > Patch applied! Thanks. Is there a reason you picked #510 but not #511 other than having missed there is a 2nd pinctrl patch in my series? If it's only that b4 am -P 511 -s -l CACRpkdaViC8T5qFRW+=+rGST=nr9beQJqTP7d42OoYUnhPhqig@mail.gmail.com is your friend. Best regards Uwe
On Wed, Jan 11, 2023 at 10:52 AM Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote: > Thanks. Is there a reason you picked #510 but not #511 other than having > missed there is a 2nd pinctrl patch in my series? > > If it's only that > > b4 am -P 511 -s -l CACRpkdaViC8T5qFRW+=+rGST=nr9beQJqTP7d42OoYUnhPhqig@mail.gmail.com > > is your friend. My bad. I applied 511 above as well, helpful with the oneliner! Yours, Linus Walleij