Hi Armin, thank you for your time and comments. > You can drop those checks, the hwmon core. > Maybe you could use a more unique name for the hwmon chip, like "surface_fan". Sure, incorporated both suggestions. > Please propagate the error from __ssam_fan_rpm_get(). Done. Currently that function can only return -EIO and 0, but indeed best to propagate that in case more error codes are returned in the future. > What exactly is the purpose of calling ssam_device_set_drvdata() here? That line was necessary when this driver also hooked into the thermal subsystem. Integration with the thermal subsystem was removed in downstream iterations when I discovered we can't directly control the fan speed, see [1] for more info. I've removed this line, as it no longer serves any purpose here. ~Ivor [1]: https://github.com/linux-surface/kernel/pull/144#issuecomment-1853123261