diff mbox series

[v2] ARM: davinci: use simple i2c probe function

Message ID 20200809172444.16019-1-steve@sk2.org
State Awaiting Upstream
Headers show
Series [v2] ARM: davinci: use simple i2c probe function | expand

Commit Message

Stephen Kitt Aug. 9, 2020, 5:24 p.m. UTC
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

Comments

Wolfram Sang Aug. 10, 2020, 9:37 a.m. UTC | #1
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>
Bartosz Golaszewski Aug. 10, 2020, 6:47 p.m. UTC | #2
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>
Luca Ceresoli Aug. 13, 2020, 1:08 p.m. UTC | #3
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>
Sekhar Nori Sept. 3, 2020, 5:38 a.m. UTC | #4
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 mbox series

Patch

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,
 };