On Thu, May 07, 2020 at 01:19:58PM -0700, Alex Qiu wrote: > Hi Guenter, > > LGTM; minor nits: > > On Thu, May 7, 2020 at 10:44 AM Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > > > > The 'currpage' and 'currphase' variables in struct pmbus_data are used by > > the PMBus core to determine if the phase or page value has changed. Both > > are initialized with values which are never expected to be set in the code > > to ensure that the first page/phase write operation is actually performed. > > > > This is not well explained and occasionally causes confusion. Change the > > type of both variables to s16 and initialize with -1 to ensure that the > > initial value never matches a requested value, and clarify that this > > value means "unknown/unset". > > > > Cc: Alex Qiu <xqiu@xxxxxxxxxx> > > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > > --- > > drivers/hwmon/pmbus/pmbus_core.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c > > index 8d321bf7d15b..a420877ba533 100644 > > --- a/drivers/hwmon/pmbus/pmbus_core.c > > +++ b/drivers/hwmon/pmbus/pmbus_core.c > > @@ -109,8 +109,8 @@ struct pmbus_data { > > bool has_status_word; /* device uses STATUS_WORD register */ > > int (*read_status)(struct i2c_client *client, int page); > > > > - u8 currpage; > > - u8 currphase; /* current phase, 0xff for all */ > > + s16 currpage; /* current page, -1 for unknown/unset */ > > + s16 currphase; /* current phase, 0xff for all, -1 for unknown/unset */ > I'm not sure if assigning macros for -1 and 0xff would be a good idea? The driver uses hardcoded 0xff in various places. We could replace it with defines, but that should be a separate patch. Thanks, Guenter