• Stanislav Fomichev's avatar
    platform/x86: thinkpad_acpi: Fix warning about deprecated hwmon_device_register · 6b99e356
    Stanislav Fomichev authored
    Use hwmon_device_register_with_groups instead of deprecated
    hwmon_device_register and fix a dmesg warning.
    
    This patch however changes the userspace API.
    hwmon_device_register_with_groups takes `hwmon' name as an argument and
    creates a name file in the `hwmon' device, not in the `platform_device'.
    This allows us to remove custom `name' device attribute, but in order to
    make lm-sensors happy we also have to move fans and thermal attributes
    to the `hwmon' device.
    
    Even though this patch changes userspace API, it's still compatible with
    the lm-sensors. Starting with lm-sensors 3.0 (circa 2007), it looks at
    both hwmon and the backing device for the name and other attributes.
    
    before:
    $ cat /sys/devices/platform/thinkpad_hwmon/{name,fan1_input}
    thinkpad
    2007
    $ cat /sys/devices/platform/thinkpad_hwmon/hwmon/hwmon1/{name,fan1_input}
    cat: /sys/devices/platform/thinkpad_hwmon/hwmon/hwmon1/name: No such file or directory
    cat: /sys/devices/platform/thinkpad_hwmon/hwmon/hwmon1/fan1_input: No such file or directory
    $ cat /sys/class/hwmon/hwmon1/{name,fan1_input}
    cat: /sys/class/hwmon/hwmon1/name: No such file or directory
    cat: /sys/class/hwmon/hwmon1/fan1_input: No such file or directory
    $ sensors
    thinkpad-isa-0000
    Adapter: ISA adapter
    fan1:        3533 RPM
    
    after:
    $ cat /sys/devices/platform/thinkpad_hwmon/{name,fan1_input}
    cat: /sys/devices/platform/thinkpad_hwmon/name: No such file or directory
    cat: /sys/devices/platform/thinkpad_hwmon/fan1_input: No such file or directory
    $ cat /sys/devices/platform/thinkpad_hwmon/hwmon/hwmon1/{name,fan1_input}
    thinkpad
    3478
    $ cat /sys/class/hwmon/hwmon1/{name,fan1_input}
    thinkpad
    3478
    $ sensors
    thinkpad-isa-0000
    Adapter: ISA adapter
    fan1:        3489 RPM
    
    $ sensors -v
    sensors version 3.4.0 with libsensors version 3.4.0
    Signed-off-by: default avatarStanislav Fomichev <kernel@fomichev.me>
    [dvhart: cleaned up commit log, bumped version to 4.14 in the doc change]
    Signed-off-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
    6b99e356
thinkpad_acpi.c 248 KB