Message ID | 20200809172444.16019-1-steve@sk2.org |
---|---|
State | Awaiting Upstream |
Headers | show |
Series | [v2] ARM: davinci: use simple i2c probe function | expand |
On Sun, Aug 09, 2020 at 07:24:44PM +0200, Stephen Kitt wrote: > The i2c probe functions here don't use the id information provided in > their second argument, so the single-parameter i2c probe function > ("probe_new") can be used instead. > > This avoids scanning the identifier tables during probes. > > Signed-off-by: Stephen Kitt <steve@sk2.org> This is useful, helps deprecating the old probe method: Acked-by: Wolfram Sang <wsa@kernel.org>
On Sun, Aug 9, 2020 at 7:24 PM Stephen Kitt <steve@sk2.org> wrote: > > The i2c probe functions here don't use the id information provided in > their second argument, so the single-parameter i2c probe function > ("probe_new") can be used instead. > > This avoids scanning the identifier tables during probes. > > Signed-off-by: Stephen Kitt <steve@sk2.org> > --- > Changes since v1: > - split into per-sub-architecture patches. > > arch/arm/mach-davinci/board-dm644x-evm.c | 5 ++--- > arch/arm/mach-davinci/board-dm646x-evm.c | 10 ++++------ > 2 files changed, 6 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c > index a5d3708fedf6..d0dcf69cc76d 100644 > --- a/arch/arm/mach-davinci/board-dm644x-evm.c > +++ b/arch/arm/mach-davinci/board-dm644x-evm.c > @@ -548,8 +548,7 @@ static const struct property_entry eeprom_properties[] = { > */ > static struct i2c_client *dm6446evm_msp; > > -static int dm6446evm_msp_probe(struct i2c_client *client, > - const struct i2c_device_id *id) > +static int dm6446evm_msp_probe(struct i2c_client *client) > { > dm6446evm_msp = client; > return 0; > @@ -569,7 +568,7 @@ static const struct i2c_device_id dm6446evm_msp_ids[] = { > static struct i2c_driver dm6446evm_msp_driver = { > .driver.name = "dm6446evm_msp", > .id_table = dm6446evm_msp_ids, > - .probe = dm6446evm_msp_probe, > + .probe_new = dm6446evm_msp_probe, > .remove = dm6446evm_msp_remove, > }; > > diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c > index 4600b617f9b4..2dce16fff77e 100644 > --- a/arch/arm/mach-davinci/board-dm646x-evm.c > +++ b/arch/arm/mach-davinci/board-dm646x-evm.c > @@ -160,8 +160,7 @@ static struct platform_device davinci_aemif_device = { > #define DM646X_EVM_ATA_PWD BIT(1) > > /* CPLD Register 0 Client: used for I/O Control */ > -static int cpld_reg0_probe(struct i2c_client *client, > - const struct i2c_device_id *id) > +static int cpld_reg0_probe(struct i2c_client *client) > { > if (HAS_ATA) { > u8 data; > @@ -197,7 +196,7 @@ static const struct i2c_device_id cpld_reg_ids[] = { > static struct i2c_driver dm6467evm_cpld_driver = { > .driver.name = "cpld_reg0", > .id_table = cpld_reg_ids, > - .probe = cpld_reg0_probe, > + .probe_new = cpld_reg0_probe, > }; > > /* LEDS */ > @@ -402,8 +401,7 @@ static struct snd_platform_data dm646x_evm_snd_data[] = { > #ifdef CONFIG_I2C > static struct i2c_client *cpld_client; > > -static int cpld_video_probe(struct i2c_client *client, > - const struct i2c_device_id *id) > +static int cpld_video_probe(struct i2c_client *client) > { > cpld_client = client; > return 0; > @@ -424,7 +422,7 @@ static struct i2c_driver cpld_video_driver = { > .driver = { > .name = "cpld_video", > }, > - .probe = cpld_video_probe, > + .probe_new = cpld_video_probe, > .remove = cpld_video_remove, > .id_table = cpld_video_id, > }; > > base-commit: bcf876870b95592b52519ed4aafcf9d95999bc9c > -- > 2.20.1 > Reviewed-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Hi, On 09/08/20 19:24, Stephen Kitt wrote: > The i2c probe functions here don't use the id information provided in > their second argument, so the single-parameter i2c probe function > ("probe_new") can be used instead. > > This avoids scanning the identifier tables during probes. > > Signed-off-by: Stephen Kitt <steve@sk2.org> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
On 10/08/20 3:07 PM, Wolfram Sang wrote: > On Sun, Aug 09, 2020 at 07:24:44PM +0200, Stephen Kitt wrote: >> The i2c probe functions here don't use the id information provided in >> their second argument, so the single-parameter i2c probe function >> ("probe_new") can be used instead. >> >> This avoids scanning the identifier tables during probes. >> >> Signed-off-by: Stephen Kitt <steve@sk2.org> > > This is useful, helps deprecating the old probe method: > > Acked-by: Wolfram Sang <wsa@kernel.org> Queued for v5.10. Thanks, Sekhar
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index a5d3708fedf6..d0dcf69cc76d 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c @@ -548,8 +548,7 @@ static const struct property_entry eeprom_properties[] = { */ static struct i2c_client *dm6446evm_msp; -static int dm6446evm_msp_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int dm6446evm_msp_probe(struct i2c_client *client) { dm6446evm_msp = client; return 0; @@ -569,7 +568,7 @@ static const struct i2c_device_id dm6446evm_msp_ids[] = { static struct i2c_driver dm6446evm_msp_driver = { .driver.name = "dm6446evm_msp", .id_table = dm6446evm_msp_ids, - .probe = dm6446evm_msp_probe, + .probe_new = dm6446evm_msp_probe, .remove = dm6446evm_msp_remove, }; diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index 4600b617f9b4..2dce16fff77e 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c @@ -160,8 +160,7 @@ static struct platform_device davinci_aemif_device = { #define DM646X_EVM_ATA_PWD BIT(1) /* CPLD Register 0 Client: used for I/O Control */ -static int cpld_reg0_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int cpld_reg0_probe(struct i2c_client *client) { if (HAS_ATA) { u8 data; @@ -197,7 +196,7 @@ static const struct i2c_device_id cpld_reg_ids[] = { static struct i2c_driver dm6467evm_cpld_driver = { .driver.name = "cpld_reg0", .id_table = cpld_reg_ids, - .probe = cpld_reg0_probe, + .probe_new = cpld_reg0_probe, }; /* LEDS */ @@ -402,8 +401,7 @@ static struct snd_platform_data dm646x_evm_snd_data[] = { #ifdef CONFIG_I2C static struct i2c_client *cpld_client; -static int cpld_video_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int cpld_video_probe(struct i2c_client *client) { cpld_client = client; return 0; @@ -424,7 +422,7 @@ static struct i2c_driver cpld_video_driver = { .driver = { .name = "cpld_video", }, - .probe = cpld_video_probe, + .probe_new = cpld_video_probe, .remove = cpld_video_remove, .id_table = cpld_video_id, };
The i2c probe functions here don't use the id information provided in their second argument, so the single-parameter i2c probe function ("probe_new") can be used instead. This avoids scanning the identifier tables during probes. Signed-off-by: Stephen Kitt <steve@sk2.org> --- Changes since v1: - split into per-sub-architecture patches. arch/arm/mach-davinci/board-dm644x-evm.c | 5 ++--- arch/arm/mach-davinci/board-dm646x-evm.c | 10 ++++------ 2 files changed, 6 insertions(+), 9 deletions(-) base-commit: bcf876870b95592b52519ed4aafcf9d95999bc9c