&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,
        },
 };