mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
hwmon: (iio_hwmon) Simplify attr.name generation in iio_hwmon_probe()
Since every call to devm_kasprintf() in the switch statement is mostly the same, we can move all of the shared code outside and capture differencies with two helper variables. No functional change intended. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
5aaa58734d
commit
cb202bb8b3
@ -92,6 +92,9 @@ static int iio_hwmon_probe(struct platform_device *pdev)
|
||||
return -ENOMEM;
|
||||
|
||||
for (i = 0; i < st->num_channels; i++) {
|
||||
const char *prefix;
|
||||
int n;
|
||||
|
||||
a = devm_kzalloc(dev, sizeof(*a), GFP_KERNEL);
|
||||
if (a == NULL)
|
||||
return -ENOMEM;
|
||||
@ -103,28 +106,28 @@ static int iio_hwmon_probe(struct platform_device *pdev)
|
||||
|
||||
switch (type) {
|
||||
case IIO_VOLTAGE:
|
||||
a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
|
||||
"in%d_input",
|
||||
in_i++);
|
||||
n = in_i++;
|
||||
prefix = "in";
|
||||
break;
|
||||
case IIO_TEMP:
|
||||
a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
|
||||
"temp%d_input",
|
||||
temp_i++);
|
||||
n = temp_i++;
|
||||
prefix = "temp";
|
||||
break;
|
||||
case IIO_CURRENT:
|
||||
a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
|
||||
"curr%d_input",
|
||||
curr_i++);
|
||||
n = curr_i++;
|
||||
prefix = "curr";
|
||||
break;
|
||||
case IIO_HUMIDITYRELATIVE:
|
||||
a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
|
||||
"humidity%d_input",
|
||||
humidity_i++);
|
||||
n = humidity_i++;
|
||||
prefix = "humidity";
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
a->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL,
|
||||
"%s%d_input",
|
||||
prefix, n);
|
||||
if (a->dev_attr.attr.name == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user