Message ID | 20220323034056.260455-4-chris.packham@alliedtelesis.co.nz (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | hwmon: (adt7475) pin configuration | expand |
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> For my reference: Reviewed-by: Guenter Roeck <linux@roeck-us.net> 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;
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;
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;
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> --- 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(-)