mbox series

[ASUS,EC,Sensors,V6,v6,0/3]

Message ID 20220116201843.2301438-1-eugene.shalygin@gmail.com (mailing list archive)
Headers show
Series [ASUS,EC,Sensors,V6,v6,1/3] hwmon: (asus-ec-sensors) add driver for ASUS EC | expand

Message

Eugene Shalygin Jan. 16, 2022, 8:18 p.m. UTC
This patchset replaces the HWMON asus_wmi_ec_sensors driver with
an implementation that does not use WMI but queries the embedded
controller directly.

That provides two enhancements: sensor reading became quicker (on some
systems or kernel configuration it took almost a full second to read
all the sensors, that transfers less than 15 bytes of data), the driver
became more fexible. The driver now relies on ACPI mutex to lock access
to the EC, in the same way as the WMI DSDT code does.

Changes in v6:
 - Fixed hwmon device name replacing dashes with underscores.
 - Removed module verion.
 - Fixed condition for asus_wmi_ec_Sensors in KBuild.

Changes in v5:
 - Place the sensors bitset directly into the driver_data field of the
         dmi_system_id struct.
 - Replace doc comments with regular ones.

Changes in v4:
 - Deprecate the wmi driver rather than removing it.

Changes in v3:
 - Remove BIOS version checks and BIOS version dependent mutex path.

Changes in v2:
 - Replace sensor flags enum with bitset
 - Replace module init/probe functions with module_platform_driver_probe
   and ask the platform drivers framework to load the driver when ACPI
   EC is found (ACPI ID "PNP0C09").
 - Extend board data with BIOS version attribute for the mutex path to be
   BIOS version dependent.
 - Add module parameter to override the mutex path.

Eugene Shalygin (3):
  hwmon: (asus-ec-sensors) add driver for ASUS EC
  hwmon: (asus-ec-sensors) update documentation
  hwmon: deprecate asis_wmi_ec_sensors driver

 Documentation/hwmon/asus_ec_sensors.rst     |  51 ++
 Documentation/hwmon/asus_wmi_ec_sensors.rst |  38 --
 MAINTAINERS                                 |   6 +
 drivers/hwmon/Kconfig                       |  16 +-
 drivers/hwmon/Makefile                      |   1 +
 drivers/hwmon/asus-ec-sensors.c             | 690 ++++++++++++++++++++
 6 files changed, 763 insertions(+), 39 deletions(-)
 create mode 100644 Documentation/hwmon/asus_ec_sensors.rst
 delete mode 100644 Documentation/hwmon/asus_wmi_ec_sensors.rst
 create mode 100644 drivers/hwmon/asus-ec-sensors.c

Comments

Oleksandr Natalenko Jan. 17, 2022, 7:21 a.m. UTC | #1
Hello.

On neděle 16. ledna 2022 21:18:38 CET Eugene Shalygin wrote:
> This patchset replaces the HWMON asus_wmi_ec_sensors driver with
> an implementation that does not use WMI but queries the embedded
> controller directly.
> 
> That provides two enhancements: sensor reading became quicker (on some
> systems or kernel configuration it took almost a full second to read
> all the sensors, that transfers less than 15 bytes of data), the driver
> became more fexible. The driver now relies on ACPI mutex to lock access
> to the EC, in the same way as the WMI DSDT code does.
> 
> Changes in v6:
>  - Fixed hwmon device name replacing dashes with underscores.
>  - Removed module verion.
>  - Fixed condition for asus_wmi_ec_Sensors in KBuild.

For the series:

Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>

> Changes in v5:
>  - Place the sensors bitset directly into the driver_data field of the
>          dmi_system_id struct.
>  - Replace doc comments with regular ones.
> 
> Changes in v4:
>  - Deprecate the wmi driver rather than removing it.
> 
> Changes in v3:
>  - Remove BIOS version checks and BIOS version dependent mutex path.
> 
> Changes in v2:
>  - Replace sensor flags enum with bitset
>  - Replace module init/probe functions with module_platform_driver_probe
>    and ask the platform drivers framework to load the driver when ACPI
>    EC is found (ACPI ID "PNP0C09").
>  - Extend board data with BIOS version attribute for the mutex path to be
>    BIOS version dependent.
>  - Add module parameter to override the mutex path.
> 
> Eugene Shalygin (3):
>   hwmon: (asus-ec-sensors) add driver for ASUS EC
>   hwmon: (asus-ec-sensors) update documentation
>   hwmon: deprecate asis_wmi_ec_sensors driver
> 
>  Documentation/hwmon/asus_ec_sensors.rst     |  51 ++
>  Documentation/hwmon/asus_wmi_ec_sensors.rst |  38 --
>  MAINTAINERS                                 |   6 +
>  drivers/hwmon/Kconfig                       |  16 +-
>  drivers/hwmon/Makefile                      |   1 +
>  drivers/hwmon/asus-ec-sensors.c             | 690 ++++++++++++++++++++
>  6 files changed, 763 insertions(+), 39 deletions(-)
>  create mode 100644 Documentation/hwmon/asus_ec_sensors.rst
>  delete mode 100644 Documentation/hwmon/asus_wmi_ec_sensors.rst
>  create mode 100644 drivers/hwmon/asus-ec-sensors.c

Thanks.
Eugene Shalygin Jan. 18, 2022, 2:01 a.m. UTC | #2
Günter,

I received data for one more board (ROG STRIX X570-F GAMING [1]), thus
shall I update the patch set now, update only two patches (source and
doc), or let you finish with these changes and then send out a little
addition [2] later on?

Thank you,
Eugene

[1] https://github.com/zeule/asus-ec-sensors/issues/10
[2] https://github.com/zeule/asus-ec-sensors/commit/d45be0a21f47b26727b87d3d111304d0533beacf
Guenter Roeck Jan. 18, 2022, 4:03 p.m. UTC | #3
On 1/17/22 6:01 PM, Eugene Shalygin wrote:
> Günter,
> 
> I received data for one more board (ROG STRIX X570-F GAMING [1]), thus
> shall I update the patch set now, update only two patches (source and
> doc), or let you finish with these changes and then send out a little
> addition [2] later on?
> 

For whatever reason the last patch is unsigned and does not include
a description, so you will have to resend anyway.

Guenter

> Thank you,
> Eugene
> 
> [1] https://github.com/zeule/asus-ec-sensors/issues/10
> [2] https://github.com/zeule/asus-ec-sensors/commit/d45be0a21f47b26727b87d3d111304d0533beacf
>
Eugene Shalygin Jan. 18, 2022, 4:57 p.m. UTC | #4
> For whatever reason the last patch is unsigned and does not include
> a description, so you will have to resend anyway.

Sorry, I had not checked that last commit. Resended as v7 with the new
board added and the commit message fixed.

Eugene