lkml.org 
[lkml]   [2022]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCHv2 1/2] i2c: designware: introduce a custom scl recovery for SoCFPGA platforms
From


On 5/24/22 11:43, Andy Shevchenko wrote:
> On Tue, May 24, 2022 at 08:54:40AM -0500, Dinh Nguyen wrote:
>> The I2C pins on the SoCFPGA platforms do not go through a GPIO module,
>> thus cannot be recovered by the default method of by doing a GPIO access.
>> Only a reset of the I2C IP block can a recovery be successful.
>
> Better now, but see my additional comments.
>
> ...
>
>> + switch (dev->flags & MODEL_MASK) {
>> + case MODEL_SOCFPGA:
>> + rinfo->recover_bus = i2c_socfpga_scl_recovery;
>> + break;
>> + default:
>> + rinfo->recover_bus = i2c_generic_scl_recovery;
>> + break;
>> + }
>
>> + adap->bus_recovery_info = rinfo;
>
> Usually we do not assign the pointer while data structure is incomplete.
> That's said, please leave this line as it was.
>
> On top of that, why you can't move the above switch to the place where old
> function was assigned?
>

I have to put the switch statement before the call to
devm_gpiod_get_optional(), otherwise the recover_bus function pointer
will not get set.

Dinh

\
 
 \ /
  Last update: 2022-05-26 21:10    [W:0.069 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site