forked from Minki/linux
hwmon: (pmbus) Simplify remove functions
Since devm_kzalloc() is now used to allocate driver memory, the client driver remove function has no purpose other than to call pmbus_do_remove(). This means we can get rid of it by redefining pmbus_do_remove() to use the same prototype, and pointing to it directly. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
8b313ca7f1
commit
dd285ad737
@ -301,18 +301,12 @@ static int adm1275_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, id, info);
|
return pmbus_do_probe(client, id, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int adm1275_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct i2c_driver adm1275_driver = {
|
static struct i2c_driver adm1275_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "adm1275",
|
.name = "adm1275",
|
||||||
},
|
},
|
||||||
.probe = adm1275_probe,
|
.probe = adm1275_probe,
|
||||||
.remove = adm1275_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = adm1275_id,
|
.id_table = adm1275_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -295,12 +295,6 @@ static int lm25066_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, id, info);
|
return pmbus_do_probe(client, id, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lm25066_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct i2c_device_id lm25066_id[] = {
|
static const struct i2c_device_id lm25066_id[] = {
|
||||||
{"lm25066", lm25066},
|
{"lm25066", lm25066},
|
||||||
{"lm5064", lm5064},
|
{"lm5064", lm5064},
|
||||||
@ -316,7 +310,7 @@ static struct i2c_driver lm25066_driver = {
|
|||||||
.name = "lm25066",
|
.name = "lm25066",
|
||||||
},
|
},
|
||||||
.probe = lm25066_probe,
|
.probe = lm25066_probe,
|
||||||
.remove = lm25066_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = lm25066_id,
|
.id_table = lm25066_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -361,19 +361,13 @@ static int ltc2978_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, id, info);
|
return pmbus_do_probe(client, id, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ltc2978_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This is the driver that will be inserted */
|
/* This is the driver that will be inserted */
|
||||||
static struct i2c_driver ltc2978_driver = {
|
static struct i2c_driver ltc2978_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ltc2978",
|
.name = "ltc2978",
|
||||||
},
|
},
|
||||||
.probe = ltc2978_probe,
|
.probe = ltc2978_probe,
|
||||||
.remove = ltc2978_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = ltc2978_id,
|
.id_table = ltc2978_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,12 +103,6 @@ static int max16064_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, id, &max16064_info);
|
return pmbus_do_probe(client, id, &max16064_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int max16064_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct i2c_device_id max16064_id[] = {
|
static const struct i2c_device_id max16064_id[] = {
|
||||||
{"max16064", 0},
|
{"max16064", 0},
|
||||||
{}
|
{}
|
||||||
@ -122,7 +116,7 @@ static struct i2c_driver max16064_driver = {
|
|||||||
.name = "max16064",
|
.name = "max16064",
|
||||||
},
|
},
|
||||||
.probe = max16064_probe,
|
.probe = max16064_probe,
|
||||||
.remove = max16064_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = max16064_id,
|
.id_table = max16064_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -224,12 +224,6 @@ static int max34440_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, id, &max34440_info[id->driver_data]);
|
return pmbus_do_probe(client, id, &max34440_info[id->driver_data]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int max34440_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct i2c_device_id max34440_id[] = {
|
static const struct i2c_device_id max34440_id[] = {
|
||||||
{"max34440", max34440},
|
{"max34440", max34440},
|
||||||
{"max34441", max34441},
|
{"max34441", max34441},
|
||||||
@ -244,7 +238,7 @@ static struct i2c_driver max34440_driver = {
|
|||||||
.name = "max34440",
|
.name = "max34440",
|
||||||
},
|
},
|
||||||
.probe = max34440_probe,
|
.probe = max34440_probe,
|
||||||
.remove = max34440_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = max34440_id,
|
.id_table = max34440_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -180,12 +180,6 @@ static int max8688_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, id, &max8688_info);
|
return pmbus_do_probe(client, id, &max8688_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int max8688_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct i2c_device_id max8688_id[] = {
|
static const struct i2c_device_id max8688_id[] = {
|
||||||
{"max8688", 0},
|
{"max8688", 0},
|
||||||
{ }
|
{ }
|
||||||
@ -199,7 +193,7 @@ static struct i2c_driver max8688_driver = {
|
|||||||
.name = "max8688",
|
.name = "max8688",
|
||||||
},
|
},
|
||||||
.probe = max8688_probe,
|
.probe = max8688_probe,
|
||||||
.remove = max8688_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = max8688_id,
|
.id_table = max8688_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -178,12 +178,6 @@ static int pmbus_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, id, info);
|
return pmbus_do_probe(client, id, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pmbus_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use driver_data to set the number of pages supported by the chip.
|
* Use driver_data to set the number of pages supported by the chip.
|
||||||
*/
|
*/
|
||||||
@ -209,7 +203,7 @@ static struct i2c_driver pmbus_driver = {
|
|||||||
.name = "pmbus",
|
.name = "pmbus",
|
||||||
},
|
},
|
||||||
.probe = pmbus_probe,
|
.probe = pmbus_probe,
|
||||||
.remove = pmbus_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = pmbus_id,
|
.id_table = pmbus_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -364,7 +364,7 @@ bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg);
|
|||||||
bool pmbus_check_word_register(struct i2c_client *client, int page, int reg);
|
bool pmbus_check_word_register(struct i2c_client *client, int page, int reg);
|
||||||
int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id,
|
int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id,
|
||||||
struct pmbus_driver_info *info);
|
struct pmbus_driver_info *info);
|
||||||
void pmbus_do_remove(struct i2c_client *client);
|
int pmbus_do_remove(struct i2c_client *client);
|
||||||
const struct pmbus_driver_info *pmbus_get_driver_info(struct i2c_client
|
const struct pmbus_driver_info *pmbus_get_driver_info(struct i2c_client
|
||||||
*client);
|
*client);
|
||||||
|
|
||||||
|
@ -1778,11 +1778,12 @@ out_hwmon_device_register:
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(pmbus_do_probe);
|
EXPORT_SYMBOL_GPL(pmbus_do_probe);
|
||||||
|
|
||||||
void pmbus_do_remove(struct i2c_client *client)
|
int pmbus_do_remove(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
struct pmbus_data *data = i2c_get_clientdata(client);
|
struct pmbus_data *data = i2c_get_clientdata(client);
|
||||||
hwmon_device_unregister(data->hwmon_dev);
|
hwmon_device_unregister(data->hwmon_dev);
|
||||||
sysfs_remove_group(&client->dev.kobj, &data->group);
|
sysfs_remove_group(&client->dev.kobj, &data->group);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(pmbus_do_remove);
|
EXPORT_SYMBOL_GPL(pmbus_do_remove);
|
||||||
|
|
||||||
|
@ -229,20 +229,13 @@ static int ucd9000_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, mid, info);
|
return pmbus_do_probe(client, mid, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ucd9000_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* This is the driver that will be inserted */
|
/* This is the driver that will be inserted */
|
||||||
static struct i2c_driver ucd9000_driver = {
|
static struct i2c_driver ucd9000_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ucd9000",
|
.name = "ucd9000",
|
||||||
},
|
},
|
||||||
.probe = ucd9000_probe,
|
.probe = ucd9000_probe,
|
||||||
.remove = ucd9000_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = ucd9000_id,
|
.id_table = ucd9000_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -163,20 +163,13 @@ static int ucd9200_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, mid, info);
|
return pmbus_do_probe(client, mid, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ucd9200_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* This is the driver that will be inserted */
|
/* This is the driver that will be inserted */
|
||||||
static struct i2c_driver ucd9200_driver = {
|
static struct i2c_driver ucd9200_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "ucd9200",
|
.name = "ucd9200",
|
||||||
},
|
},
|
||||||
.probe = ucd9200_probe,
|
.probe = ucd9200_probe,
|
||||||
.remove = ucd9200_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = ucd9200_id,
|
.id_table = ucd9200_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -240,18 +240,12 @@ static int zl6100_probe(struct i2c_client *client,
|
|||||||
return pmbus_do_probe(client, mid, info);
|
return pmbus_do_probe(client, mid, info);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int zl6100_remove(struct i2c_client *client)
|
|
||||||
{
|
|
||||||
pmbus_do_remove(client);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct i2c_driver zl6100_driver = {
|
static struct i2c_driver zl6100_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "zl6100",
|
.name = "zl6100",
|
||||||
},
|
},
|
||||||
.probe = zl6100_probe,
|
.probe = zl6100_probe,
|
||||||
.remove = zl6100_remove,
|
.remove = pmbus_do_remove,
|
||||||
.id_table = zl6100_id,
|
.id_table = zl6100_id,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user