&dev_attr_pwm1.attr,
&dev_attr_fan1_input.attr,
&dev_attr_fan2_input.attr,
- &driver_attr_fan_watchdog.attr,
NULL
};
.attrs = fan_attributes,
};
+static struct attribute *fan_driver_attributes[] = {
+ &driver_attr_fan_watchdog.attr,
+ NULL
+};
+
+static const struct attribute_group fan_driver_attr_group = {
+ .is_visible = fan_attr_is_visible,
+ .attrs = fan_driver_attributes,
+};
+
#define TPACPI_FAN_Q1 0x0001 /* Unitialized HFSP */
#define TPACPI_FAN_2FAN 0x0002 /* EC 0x31 bit 0 selects fan2 */
#define TPACPI_FAN_2CTL 0x0004 /* selects fan2 control */
/* --------------------------------------------------------------------- */
-static struct attribute *tpacpi_attributes[] = {
+static struct attribute *tpacpi_driver_attributes[] = {
&driver_attr_debug_level.attr,
&driver_attr_version.attr,
&driver_attr_interface_version.attr,
}
#endif
-static const struct attribute_group tpacpi_attr_group = {
+static const struct attribute_group tpacpi_driver_attr_group = {
#ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES
.is_visible = tpacpi_attr_is_visible,
#endif
- .attrs = tpacpi_attributes,
+ .attrs = tpacpi_driver_attributes,
+};
+
+static const struct attribute_group *tpacpi_driver_groups[] = {
+ &tpacpi_driver_attr_group,
+ NULL,
};
static const struct attribute_group *tpacpi_groups[] = {
&proxsensor_attr_group,
&kbdlang_attr_group,
&dprc_attr_group,
- &tpacpi_attr_group,
NULL,
};
NULL,
};
+static const struct attribute_group *tpacpi_hwmon_driver_groups[] = {
+ &fan_driver_attr_group,
+ NULL,
+};
+
/****************************************************************************
****************************************************************************
*
.driver = {
.name = TPACPI_DRVR_NAME,
.pm = &tpacpi_pm,
+ .groups = tpacpi_driver_groups,
.dev_groups = tpacpi_groups,
},
.shutdown = tpacpi_shutdown_handler,
static struct platform_driver tpacpi_hwmon_pdriver = {
.driver = {
.name = TPACPI_HWMON_DRVR_NAME,
+ .groups = tpacpi_hwmon_driver_groups,
.dev_groups = tpacpi_hwmon_groups,
},
};