Loading drivers/hwmon/acpi_power_meter.c +17 −42 Original line number Diff line number Diff line Loading @@ -630,49 +630,24 @@ static int read_domain_devices(struct acpi_power_meter_resource *resource) } /* Registration and deregistration */ static int register_ro_attrs(struct acpi_power_meter_resource *resource, struct sensor_template *ro) static int register_attrs(struct acpi_power_meter_resource *resource, struct sensor_template *attrs) { struct device *dev = &resource->acpi_dev->dev; struct sensor_device_attribute *sensors = &resource->sensors[resource->num_sensors]; int res = 0; while (ro->label) { sensors->dev_attr.attr.name = ro->label; while (attrs->label) { sensors->dev_attr.attr.name = attrs->label; sensors->dev_attr.attr.mode = S_IRUGO; sensors->dev_attr.show = ro->show; sensors->index = ro->index; sensors->dev_attr.show = attrs->show; sensors->index = attrs->index; sysfs_attr_init(&sensors->dev_attr.attr); res = device_create_file(dev, &sensors->dev_attr); if (res) { sensors->dev_attr.attr.name = NULL; goto error; if (attrs->set) { sensors->dev_attr.attr.mode |= S_IWUSR; sensors->dev_attr.store = attrs->set; } sensors++; resource->num_sensors++; ro++; } error: return res; } static int register_rw_attrs(struct acpi_power_meter_resource *resource, struct sensor_template *rw) { struct device *dev = &resource->acpi_dev->dev; struct sensor_device_attribute *sensors = &resource->sensors[resource->num_sensors]; int res = 0; while (rw->label) { sensors->dev_attr.attr.name = rw->label; sensors->dev_attr.attr.mode = S_IRUGO | S_IWUSR; sensors->dev_attr.show = rw->show; sensors->dev_attr.store = rw->set; sensors->index = rw->index; sysfs_attr_init(&sensors->dev_attr.attr); res = device_create_file(dev, &sensors->dev_attr); Loading @@ -682,7 +657,7 @@ static int register_rw_attrs(struct acpi_power_meter_resource *resource, } sensors++; resource->num_sensors++; rw++; attrs++; } error: Loading Loading @@ -714,10 +689,10 @@ static int setup_attrs(struct acpi_power_meter_resource *resource) return res; if (resource->caps.flags & POWER_METER_CAN_MEASURE) { res = register_ro_attrs(resource, meter_ro_attrs); res = register_attrs(resource, meter_ro_attrs); if (res) goto error; res = register_rw_attrs(resource, meter_rw_attrs); res = register_attrs(resource, meter_rw_attrs); if (res) goto error; } Loading @@ -730,27 +705,27 @@ static int setup_attrs(struct acpi_power_meter_resource *resource) } if (resource->caps.configurable_cap) { res = register_rw_attrs(resource, rw_cap_attrs); res = register_attrs(resource, rw_cap_attrs); if (res) goto error; } else { res = register_ro_attrs(resource, ro_cap_attrs); res = register_attrs(resource, ro_cap_attrs); if (res) goto error; } res = register_ro_attrs(resource, misc_cap_attrs); res = register_attrs(resource, misc_cap_attrs); if (res) goto error; } skip_unsafe_cap: if (resource->caps.flags & POWER_METER_CAN_TRIP) { res = register_rw_attrs(resource, trip_attrs); res = register_attrs(resource, trip_attrs); if (res) goto error; } res = register_ro_attrs(resource, misc_attrs); res = register_attrs(resource, misc_attrs); if (res) goto error; Loading Loading
drivers/hwmon/acpi_power_meter.c +17 −42 Original line number Diff line number Diff line Loading @@ -630,49 +630,24 @@ static int read_domain_devices(struct acpi_power_meter_resource *resource) } /* Registration and deregistration */ static int register_ro_attrs(struct acpi_power_meter_resource *resource, struct sensor_template *ro) static int register_attrs(struct acpi_power_meter_resource *resource, struct sensor_template *attrs) { struct device *dev = &resource->acpi_dev->dev; struct sensor_device_attribute *sensors = &resource->sensors[resource->num_sensors]; int res = 0; while (ro->label) { sensors->dev_attr.attr.name = ro->label; while (attrs->label) { sensors->dev_attr.attr.name = attrs->label; sensors->dev_attr.attr.mode = S_IRUGO; sensors->dev_attr.show = ro->show; sensors->index = ro->index; sensors->dev_attr.show = attrs->show; sensors->index = attrs->index; sysfs_attr_init(&sensors->dev_attr.attr); res = device_create_file(dev, &sensors->dev_attr); if (res) { sensors->dev_attr.attr.name = NULL; goto error; if (attrs->set) { sensors->dev_attr.attr.mode |= S_IWUSR; sensors->dev_attr.store = attrs->set; } sensors++; resource->num_sensors++; ro++; } error: return res; } static int register_rw_attrs(struct acpi_power_meter_resource *resource, struct sensor_template *rw) { struct device *dev = &resource->acpi_dev->dev; struct sensor_device_attribute *sensors = &resource->sensors[resource->num_sensors]; int res = 0; while (rw->label) { sensors->dev_attr.attr.name = rw->label; sensors->dev_attr.attr.mode = S_IRUGO | S_IWUSR; sensors->dev_attr.show = rw->show; sensors->dev_attr.store = rw->set; sensors->index = rw->index; sysfs_attr_init(&sensors->dev_attr.attr); res = device_create_file(dev, &sensors->dev_attr); Loading @@ -682,7 +657,7 @@ static int register_rw_attrs(struct acpi_power_meter_resource *resource, } sensors++; resource->num_sensors++; rw++; attrs++; } error: Loading Loading @@ -714,10 +689,10 @@ static int setup_attrs(struct acpi_power_meter_resource *resource) return res; if (resource->caps.flags & POWER_METER_CAN_MEASURE) { res = register_ro_attrs(resource, meter_ro_attrs); res = register_attrs(resource, meter_ro_attrs); if (res) goto error; res = register_rw_attrs(resource, meter_rw_attrs); res = register_attrs(resource, meter_rw_attrs); if (res) goto error; } Loading @@ -730,27 +705,27 @@ static int setup_attrs(struct acpi_power_meter_resource *resource) } if (resource->caps.configurable_cap) { res = register_rw_attrs(resource, rw_cap_attrs); res = register_attrs(resource, rw_cap_attrs); if (res) goto error; } else { res = register_ro_attrs(resource, ro_cap_attrs); res = register_attrs(resource, ro_cap_attrs); if (res) goto error; } res = register_ro_attrs(resource, misc_cap_attrs); res = register_attrs(resource, misc_cap_attrs); if (res) goto error; } skip_unsafe_cap: if (resource->caps.flags & POWER_METER_CAN_TRIP) { res = register_rw_attrs(resource, trip_attrs); res = register_attrs(resource, trip_attrs); if (res) goto error; } res = register_ro_attrs(resource, misc_attrs); res = register_attrs(resource, misc_attrs); if (res) goto error; Loading