Re: [PATCH 2/3] hwmon: (nct6775) Implement custom lock by ACPI mutex.

From: Andy Shevchenko
Date: Wed Nov 24 2021 - 11:11:28 EST


> + if (ACPI_FAILURE(acpi_acquire_mutex(data->acpi_wmi_mutex, NULL, ASUSWMI_DELAY_MSEC_LOCK)))


On Mon, Nov 22, 2021 at 11:29 PM Denis Pauk <pauk.denis@xxxxxxxxx> wrote:

No period in the Subject.

> Use ACPI lock when board has separate lock for monitoring IO.

the board
a separate

...

> +#define ASUSWMI_DELAY_MSEC_LOCK 500 /* Wait 0.5 s max. to get the lock */

Units are the last in the names, hence (also check the comment's
location and English)

/* Wait for up to 0.5 s to acquire the lock */
#define ASUSWMI_LOCK_TIMEOUT_MS 500

...

> - struct mutex update_lock;
> + struct mutex update_lock; /* non ACPI lock */
> + acpi_handle acpi_wmi_mutex; /* ACPI lock */

Couldn't it be an anonymous union?

...

> +static int nct6775_wmi_lock(struct nct6775_data *data)
> +{
> + if (ACPI_FAILURE(acpi_acquire_mutex(data->acpi_wmi_mutex, NULL, ASUSWMI_DELAY_MSEC_LOCK)))

Please, use a temporary variable here and in the similar cases.

acpi_status status;

status = acpi_acquire_mutex(data->acpi_wmi_mutex, NULL,
ASUSWMI_LOCK_TIMEOUT_MS));
if (ACPI_FAILURE(status))

> + return -EIO;
> +
> + return 0;
> +}

--
With Best Regards,
Andy Shevchenko