ds2782_battery: Get rid of magic numbers in driver_data
Constructions like 'if (id->driver_data == 1)' look quite weird. This patch introduces 'enum ds278x_num_id', which makes things much more understandable, i.e. 'if (id->driver_data == DS2786)'. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Acked-by: Mike Rapoport <mike@compulab.co.il>
This commit is contained in:
parent
9b9ade6b61
commit
ab6cc8f9b7
@ -300,13 +300,18 @@ static int ds278x_battery_remove(struct i2c_client *client)
|
||||
return 0;
|
||||
}
|
||||
|
||||
enum ds278x_num_id {
|
||||
DS2782 = 0,
|
||||
DS2786,
|
||||
};
|
||||
|
||||
static struct ds278x_battery_ops ds278x_ops[] = {
|
||||
[0] = {
|
||||
[DS2782] = {
|
||||
.get_current = ds2782_get_current,
|
||||
.get_voltage = ds2782_get_voltage,
|
||||
.get_capacity = ds2782_get_capacity,
|
||||
},
|
||||
[1] = {
|
||||
[DS2786] = {
|
||||
.get_current = ds2786_get_current,
|
||||
.get_voltage = ds2786_get_voltage,
|
||||
.get_capacity = ds2786_get_capacity,
|
||||
@ -325,7 +330,7 @@ static int ds278x_battery_probe(struct i2c_client *client,
|
||||
* ds2786 should have the sense resistor value set
|
||||
* in the platform data
|
||||
*/
|
||||
if (id->driver_data == 1 && !pdata) {
|
||||
if (id->driver_data == DS2786 && !pdata) {
|
||||
dev_err(&client->dev, "missing platform data for ds2786\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
@ -355,7 +360,7 @@ static int ds278x_battery_probe(struct i2c_client *client,
|
||||
goto fail_name;
|
||||
}
|
||||
|
||||
if (id->driver_data == 1)
|
||||
if (id->driver_data == DS2786)
|
||||
info->rsns = pdata->rsns;
|
||||
|
||||
i2c_set_clientdata(client, info);
|
||||
@ -385,8 +390,8 @@ static int ds278x_battery_probe(struct i2c_client *client,
|
||||
}
|
||||
|
||||
static const struct i2c_device_id ds278x_id[] = {
|
||||
{"ds2782", 0},
|
||||
{"ds2786", 1},
|
||||
{"ds2782", DS2782},
|
||||
{"ds2786", DS2786},
|
||||
{},
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user