mbox series

[v9,0/3] hwmon: Support access to the NCT677x via Asus WMI.

Message ID 20210917220240.56553-1-pauk.denis@gmail.com (mailing list archive)
Headers show
Series hwmon: Support access to the NCT677x via Asus WMI. | expand

Message

Denis Pauk Sept. 17, 2021, 10:02 p.m. UTC
Support accessing the NCT677x via Asus WMI functions.

On mainboards that support this way of accessing the chip,
the driver will usually not work without this option since
in these mainboards, ACPI will mark the I/O port as used.

Could you please review?

@Guenter Roeck, I have removed unrequired error messages.

---
Changes in v9:
   - Remove unrequired error messages on WMI call failure.
   
Changes in v8:
  - Rename asuswmi_evaluate_method() to nct6775_asuswmi_evaluate_method().
  - Add out error message if WMI method is failed.
  - Stop futher read/write if first operation is failed.

Changes in v7:
  - Remove unrequred & 0xff with i8 variables.
  - Make ASUSWMI_UNSUPPORTED_METHOD as default value for WMI responce,
    before run wmi_evaluate_method().
  - Rename ASUSWMI_MGMT2_GUID to ASUSWMI_MONITORING_GUID.
  - Replace checks of 'err != -EINVAL' with 'err >= 0' for match_string result.
  
Changes in v6:
 - Add dependency "ACPI_WMI || ACPI_WMI=n" to Kconfig, 
 - Minimize size of code under IS_ENABLED(CONFIG_ACPI_WMI),
 - Remove not requred check of platform_get_resource result,
 - Split function pointers patch to two separate patches,
 - Add more board ROG CROSSHAIR * names from bugzilla.
 
Changes in v5:
  - Use IS_ENABLED(CONFIG_ACPI_WMI) instead defined(CONFIG_ACPI_WMI)

Changes in v4:
  - Fix naming conflict with inb, outb by add sio prefix to callbacks in
    nct6775_sio_data.
  - Fix build without ACPI WMI.    
    
Changes in v3:
  - Remove unrequired type conversions.
  - Make function declarations one line.
  - Use nct6775 function pointers in struct nct6775_data instead direct calls.

Changes in v2:
  - Split changes to separate patches.
  - Limit WMI usage by DMI_BOARD_NAME in checked ASUS motherboards.
  - Rearrange code for directly use struct nct6775_sio_data in superio_*()
    functions.

---
Denis Pauk (3):
  hwmon: (nct6775) Use superio_*() function pointers in sio_data.
  hwmon: (nct6775) Use nct6775_*() function pointers in nct6775_data.
  hwmon: (nct6775) Support access via Asus WMI

 drivers/hwmon/Kconfig   |   1 +
 drivers/hwmon/nct6775.c | 706 ++++++++++++++++++++++++++--------------
 2 files changed, 464 insertions(+), 243 deletions(-)

Comments

Guenter Roeck Sept. 17, 2021, 10:09 p.m. UTC | #1
On Sat, Sep 18, 2021 at 01:02:37AM +0300, Denis Pauk wrote:
> Support accessing the NCT677x via Asus WMI functions.
> 
> On mainboards that support this way of accessing the chip,
> the driver will usually not work without this option since
> in these mainboards, ACPI will mark the I/O port as used.
> 
> Could you please review?
> 
> @Guenter Roeck, I have removed unrequired error messages.
> 

Series applied.

Thanks,
Guenter