diff mbox

[v3,3/5] i2c: recovery: change input parameter to i2c_adapter for prepare/unprepare_recovery

Message ID 1417448047-15236-4-git-send-email-grygorii.strashko@ti.com
State New
Headers show

Commit Message

Grygorii Strashko Dec. 1, 2014, 3:34 p.m. UTC
This patch changes type of input parameter for .prepare/unprepare_recovery()
callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *.
This allows to simplify implementation of these callbacks and avoid
type conversations from i2c_bus_recovery_info to i2c_adapter.
The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter
which contains pointer on it.

CC: Sekhar Nori <nsekhar@ti.com>
CC: Kevin Hilman <khilman@deeprootsystems.com>
CC: Santosh Shilimkar <ssantosh@kernel.org>
CC: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 drivers/i2c/i2c-core.c | 4 ++--
 include/linux/i2c.h    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Wolfram Sang Dec. 4, 2014, 6:29 p.m. UTC | #1
On Mon, Dec 01, 2014 at 05:34:05PM +0200, Grygorii Strashko wrote:
> This patch changes type of input parameter for .prepare/unprepare_recovery()
> callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *.
> This allows to simplify implementation of these callbacks and avoid
> type conversations from i2c_bus_recovery_info to i2c_adapter.
> The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter
> which contains pointer on it.
> 
> CC: Sekhar Nori <nsekhar@ti.com>
> CC: Kevin Hilman <khilman@deeprootsystems.com>
> CC: Santosh Shilimkar <ssantosh@kernel.org>
> CC: Murali Karicheri <m-karicheri2@ti.com>
> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

Ah, bus recovery, I need to have a closer look on this one. Scheduled
for 3.20.
Grygorii Strashko March 5, 2015, 6:41 p.m. UTC | #2
Hi Wolfram,

On 12/04/2014 08:29 PM, Wolfram Sang wrote:
> On Mon, Dec 01, 2014 at 05:34:05PM +0200, Grygorii Strashko wrote:
>> This patch changes type of input parameter for .prepare/unprepare_recovery()
>> callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *.
>> This allows to simplify implementation of these callbacks and avoid
>> type conversations from i2c_bus_recovery_info to i2c_adapter.
>> The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter
>> which contains pointer on it.
>>
>> CC: Sekhar Nori <nsekhar@ti.com>
>> CC: Kevin Hilman <khilman@deeprootsystems.com>
>> CC: Santosh Shilimkar <ssantosh@kernel.org>
>> CC: Murali Karicheri <m-karicheri2@ti.com>
>> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>
> Ah, bus recovery, I need to have a closer look on this one. Scheduled
> for 3.20.
>

Unfortunately, it looks like you've missed these patches :(

I'm going to resend them if you agree.

regards,
-grygorii
Alexander A Sverdlin March 12, 2015, 11:32 a.m. UTC | #3
Hi!

On 01/12/14 16:34, Grygorii Strashko wrote:
> This patch changes type of input parameter for .prepare/unprepare_recovery()
> callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *.
> This allows to simplify implementation of these callbacks and avoid
> type conversations from i2c_bus_recovery_info to i2c_adapter.
> The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter
> which contains pointer on it.
> 
> CC: Sekhar Nori <nsekhar@ti.com>
> CC: Kevin Hilman <khilman@deeprootsystems.com>
> CC: Santosh Shilimkar <ssantosh@kernel.org>
> CC: Murali Karicheri <m-karicheri2@ti.com>
> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> ---
>  drivers/i2c/i2c-core.c | 4 ++--
>  include/linux/i2c.h    | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
> index 2f90ac6..72b6e34 100644
> --- a/drivers/i2c/i2c-core.c
> +++ b/drivers/i2c/i2c-core.c
> @@ -563,7 +563,7 @@ static int i2c_generic_recovery(struct i2c_adapter *adap)
>  	int i = 0, val = 1, ret = 0;
>  
>  	if (bri->prepare_recovery)
> -		bri->prepare_recovery(bri);
> +		bri->prepare_recovery(adap);
>  
>  	/*
>  	 * By this time SCL is high, as we need to give 9 falling-rising edges
> @@ -588,7 +588,7 @@ static int i2c_generic_recovery(struct i2c_adapter *adap)
>  	}
>  
>  	if (bri->unprepare_recovery)
> -		bri->unprepare_recovery(bri);
> +		bri->unprepare_recovery(adap);
>  
>  	return ret;
>  }
> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
> index b556e0a..cf9380f 100644
> --- a/include/linux/i2c.h
> +++ b/include/linux/i2c.h
> @@ -404,8 +404,8 @@ struct i2c_bus_recovery_info {
>  	void (*set_scl)(struct i2c_adapter *, int val);
>  	int (*get_sda)(struct i2c_adapter *);
>  
> -	void (*prepare_recovery)(struct i2c_bus_recovery_info *bri);
> -	void (*unprepare_recovery)(struct i2c_bus_recovery_info *bri);
> +	void (*prepare_recovery)(struct i2c_adapter *);
> +	void (*unprepare_recovery)(struct i2c_adapter *);
>  
>  	/* gpio recovery */
>  	int scl_gpio;
> 

Acked-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
grygorii.strashko@linaro.org March 13, 2015, 10:15 a.m. UTC | #4
Hi Wolfram,

On 03/12/2015 01:32 PM, Alexander Sverdlin wrote:
> On 01/12/14 16:34, Grygorii Strashko wrote:
>> This patch changes type of input parameter for .prepare/unprepare_recovery()
>> callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *.
>> This allows to simplify implementation of these callbacks and avoid
>> type conversations from i2c_bus_recovery_info to i2c_adapter.
>> The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter
>> which contains pointer on it.
>>
>> CC: Sekhar Nori <nsekhar@ti.com>
>> CC: Kevin Hilman <khilman@deeprootsystems.com>
>> CC: Santosh Shilimkar <ssantosh@kernel.org>
>> CC: Murali Karicheri <m-karicheri2@ti.com>
>> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>> ---
>>   drivers/i2c/i2c-core.c | 4 ++--
>>   include/linux/i2c.h    | 4 ++--
>>   2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
>> index 2f90ac6..72b6e34 100644
>> --- a/drivers/i2c/i2c-core.c
>> +++ b/drivers/i2c/i2c-core.c
>> @@ -563,7 +563,7 @@ static int i2c_generic_recovery(struct i2c_adapter *adap)
>>   	int i = 0, val = 1, ret = 0;
>>   
>>   	if (bri->prepare_recovery)
>> -		bri->prepare_recovery(bri);
>> +		bri->prepare_recovery(adap);
>>   
>>   	/*
>>   	 * By this time SCL is high, as we need to give 9 falling-rising edges
>> @@ -588,7 +588,7 @@ static int i2c_generic_recovery(struct i2c_adapter *adap)
>>   	}
>>   
>>   	if (bri->unprepare_recovery)
>> -		bri->unprepare_recovery(bri);
>> +		bri->unprepare_recovery(adap);
>>   
>>   	return ret;
>>   }
>> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
>> index b556e0a..cf9380f 100644
>> --- a/include/linux/i2c.h
>> +++ b/include/linux/i2c.h
>> @@ -404,8 +404,8 @@ struct i2c_bus_recovery_info {
>>   	void (*set_scl)(struct i2c_adapter *, int val);
>>   	int (*get_sda)(struct i2c_adapter *);
>>   
>> -	void (*prepare_recovery)(struct i2c_bus_recovery_info *bri);
>> -	void (*unprepare_recovery)(struct i2c_bus_recovery_info *bri);
>> +	void (*prepare_recovery)(struct i2c_adapter *);
>> +	void (*unprepare_recovery)(struct i2c_adapter *);
>>   
>>   	/* gpio recovery */
>>   	int scl_gpio;
>>
> 
> Acked-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
> 

Could I ask you to consider this patch for 4.1?
Now my I2C Davinci series is based on it and probably I2C OMAP changes
will need to be based on it too - if Felipe would agree with this of course.

regards,
-grygorii
Felipe Balbi March 13, 2015, 3:45 p.m. UTC | #5
Hi,

On Fri, Mar 13, 2015 at 12:15:54PM +0200, Grygorii.Strashko@linaro.org wrote:
> Hi Wolfram,
> 
> On 03/12/2015 01:32 PM, Alexander Sverdlin wrote:
> > On 01/12/14 16:34, Grygorii Strashko wrote:
> >> This patch changes type of input parameter for .prepare/unprepare_recovery()
> >> callbacks from struct i2c_bus_recovery_info * to struct i2c_adapter *.
> >> This allows to simplify implementation of these callbacks and avoid
> >> type conversations from i2c_bus_recovery_info to i2c_adapter.
> >> The i2c_bus_recovery_info can be simply retrieved from struct i2c_adapter
> >> which contains pointer on it.
> >>
> >> CC: Sekhar Nori <nsekhar@ti.com>
> >> CC: Kevin Hilman <khilman@deeprootsystems.com>
> >> CC: Santosh Shilimkar <ssantosh@kernel.org>
> >> CC: Murali Karicheri <m-karicheri2@ti.com>
> >> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> >> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> >> ---
> >>   drivers/i2c/i2c-core.c | 4 ++--
> >>   include/linux/i2c.h    | 4 ++--
> >>   2 files changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
> >> index 2f90ac6..72b6e34 100644
> >> --- a/drivers/i2c/i2c-core.c
> >> +++ b/drivers/i2c/i2c-core.c
> >> @@ -563,7 +563,7 @@ static int i2c_generic_recovery(struct i2c_adapter *adap)
> >>   	int i = 0, val = 1, ret = 0;
> >>   
> >>   	if (bri->prepare_recovery)
> >> -		bri->prepare_recovery(bri);
> >> +		bri->prepare_recovery(adap);
> >>   
> >>   	/*
> >>   	 * By this time SCL is high, as we need to give 9 falling-rising edges
> >> @@ -588,7 +588,7 @@ static int i2c_generic_recovery(struct i2c_adapter *adap)
> >>   	}
> >>   
> >>   	if (bri->unprepare_recovery)
> >> -		bri->unprepare_recovery(bri);
> >> +		bri->unprepare_recovery(adap);
> >>   
> >>   	return ret;
> >>   }
> >> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
> >> index b556e0a..cf9380f 100644
> >> --- a/include/linux/i2c.h
> >> +++ b/include/linux/i2c.h
> >> @@ -404,8 +404,8 @@ struct i2c_bus_recovery_info {
> >>   	void (*set_scl)(struct i2c_adapter *, int val);
> >>   	int (*get_sda)(struct i2c_adapter *);
> >>   
> >> -	void (*prepare_recovery)(struct i2c_bus_recovery_info *bri);
> >> -	void (*unprepare_recovery)(struct i2c_bus_recovery_info *bri);
> >> +	void (*prepare_recovery)(struct i2c_adapter *);
> >> +	void (*unprepare_recovery)(struct i2c_adapter *);
> >>   
> >>   	/* gpio recovery */
> >>   	int scl_gpio;
> >>
> > 
> > Acked-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
> > 
> 
> Could I ask you to consider this patch for 4.1?
> Now my I2C Davinci series is based on it and probably I2C OMAP changes
> will need to be based on it too - if Felipe would agree with this of course.

I can easily fix my i2c-omap series for this, but I need confirmation
that this is what's going to get merged.
diff mbox

Patch

diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 2f90ac6..72b6e34 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -563,7 +563,7 @@  static int i2c_generic_recovery(struct i2c_adapter *adap)
 	int i = 0, val = 1, ret = 0;
 
 	if (bri->prepare_recovery)
-		bri->prepare_recovery(bri);
+		bri->prepare_recovery(adap);
 
 	/*
 	 * By this time SCL is high, as we need to give 9 falling-rising edges
@@ -588,7 +588,7 @@  static int i2c_generic_recovery(struct i2c_adapter *adap)
 	}
 
 	if (bri->unprepare_recovery)
-		bri->unprepare_recovery(bri);
+		bri->unprepare_recovery(adap);
 
 	return ret;
 }
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index b556e0a..cf9380f 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -404,8 +404,8 @@  struct i2c_bus_recovery_info {
 	void (*set_scl)(struct i2c_adapter *, int val);
 	int (*get_sda)(struct i2c_adapter *);
 
-	void (*prepare_recovery)(struct i2c_bus_recovery_info *bri);
-	void (*unprepare_recovery)(struct i2c_bus_recovery_info *bri);
+	void (*prepare_recovery)(struct i2c_adapter *);
+	void (*unprepare_recovery)(struct i2c_adapter *);
 
 	/* gpio recovery */
 	int scl_gpio;