Messages in this thread |  | | Date | Sun, 1 May 2022 21:37:00 -0700 | From | Guenter Roeck <> | Subject | Re: [PATCH v3 3/3] hwmon: (adt7475) Use enum chips when loading attenuator settings |
| |
On Wed, Mar 23, 2022 at 04:40:56PM +1300, Chris Packham wrote: > Make use of enum chips and use a switch statement in load_attenuators() > so that the compiler can tell us if we've failed to cater for a > supported chip. > > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Applied to hwmon-next.
Thanks, Guenter
> --- > > Notes: > Changes in v3: > - Reword commit message > - Use switch instead of if/else > Changes in v2: > - New > > drivers/hwmon/adt7475.c | 23 ++++++++++------------- > 1 file changed, 10 insertions(+), 13 deletions(-) > > diff --git a/drivers/hwmon/adt7475.c b/drivers/hwmon/adt7475.c > index 6de501de41b2..ac480e6e4818 100644 > --- a/drivers/hwmon/adt7475.c > +++ b/drivers/hwmon/adt7475.c > @@ -1569,12 +1569,12 @@ static int set_property_bit(const struct i2c_client *client, char *property, > return ret; > } > > -static int load_attenuators(const struct i2c_client *client, int chip, > +static int load_attenuators(const struct i2c_client *client, enum chips chip, > struct adt7475_data *data) > { > - int ret; > - > - if (chip == adt7476 || chip == adt7490) { > + switch (chip) { > + case adt7476: > + case adt7490: > set_property_bit(client, "adi,bypass-attenuator-in0", > &data->config4, 4); > set_property_bit(client, "adi,bypass-attenuator-in1", > @@ -1584,18 +1584,15 @@ static int load_attenuators(const struct i2c_client *client, int chip, > set_property_bit(client, "adi,bypass-attenuator-in4", > &data->config4, 7); > > - ret = i2c_smbus_write_byte_data(client, REG_CONFIG4, > - data->config4); > - if (ret < 0) > - return ret; > - } else if (chip == adt7473 || chip == adt7475) { > + return i2c_smbus_write_byte_data(client, REG_CONFIG4, > + data->config4); > + case adt7473: > + case adt7475: > set_property_bit(client, "adi,bypass-attenuator-in1", > &data->config2, 5); > > - ret = i2c_smbus_write_byte_data(client, REG_CONFIG2, > - data->config2); > - if (ret < 0) > - return ret; > + return i2c_smbus_write_byte_data(client, REG_CONFIG2, > + data->config2); > } > > return 0;
|  |