On Sun, Jul 5, 2020 at 3:31 PM Sungbo Eo <mans0n@xxxxxxxxxx> wrote: > > NXP PCA9570 is a 4-bit I2C GPO expander without interrupt functionality. > Its ports are controlled only by a data byte without register address. > > Datasheet: https://www.nxp.com/docs/en/data-sheet/PCA9570.pdf > > Signed-off-by: Sungbo Eo <mans0n@xxxxxxxxxx> > --- > v5: > * amended the commit message > * removed unnecessary castings > * added data to of_match_table > > v4: > * removed ->direction_input() and ->direction_output() > (Seems unnecessary to me) > * removed ->set_multiple() > (I'm not sure this implementation is really correct) > * added ->get() > (DS says we can read the status from the device) > * read current status during probe > > v3: > * remove mutex > * rename buffer to out > * simplify return statements > * replace ->probe() to ->probe_new() > * move ngpio to driver_data > (PCA9571 is 8-bit so I thought making ngpio configurable is a good idea) This driver looks nice now but why did you remove the mutex in v3? I think when Andy commented on that, he meant not understanding why the error check is protected, not the i2c operations. Are you sure you don't need this lock? Bartosz