From: Cédric Le Goater Date: Thu, 19 Mar 2015 17:44:42 +0000 (+0100) Subject: hwmon: (ibmpowernv) add a get_sensor_type() routine X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=c4ad47206425e8f38928413ab35f59bd294ddbc2;p=deliverable%2Flinux.git hwmon: (ibmpowernv) add a get_sensor_type() routine It will help in adding different compatible properties, coming from a new device tree layout for example. Signed-off-by: Cédric Le Goater Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c index f691e18df16b..07a8219b7f4e 100644 --- a/drivers/hwmon/ibmpowernv.c +++ b/drivers/hwmon/ibmpowernv.c @@ -169,6 +169,17 @@ static int create_hwmon_attr_name(struct device *dev, enum sensors type, return 0; } +static int get_sensor_type(struct device_node *np) +{ + enum sensors type; + + for (type = 0; type < MAX_SENSOR_TYPE; type++) { + if (of_device_is_compatible(np, sensor_groups[type].compatible)) + return type; + } + return MAX_SENSOR_TYPE; +} + static int populate_attr_groups(struct platform_device *pdev) { struct platform_data *pdata = platform_get_drvdata(pdev); @@ -181,12 +192,9 @@ static int populate_attr_groups(struct platform_device *pdev) if (np->name == NULL) continue; - for (type = 0; type < MAX_SENSOR_TYPE; type++) - if (of_device_is_compatible(np, - sensor_groups[type].compatible)) { - sensor_groups[type].attr_count++; - break; - } + type = get_sensor_type(np); + if (type != MAX_SENSOR_TYPE) + sensor_groups[type].attr_count++; } of_node_put(opal); @@ -236,11 +244,7 @@ static int create_device_attrs(struct platform_device *pdev) if (np->name == NULL) continue; - for (type = 0; type < MAX_SENSOR_TYPE; type++) - if (of_device_is_compatible(np, - sensor_groups[type].compatible)) - break; - + type = get_sensor_type(np); if (type == MAX_SENSOR_TYPE) continue;