All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zev Weiss <zweiss@equinix.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Marcello Sylvester Bauer <sylv@sylv.io>,
	Jean Delvare <jdelvare@suse.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
	Patrick Rudolph <patrick.rudolph@9elements.com>
Subject: Re: [PATCH v1 1/1] drivers/hwmon/pmbus: Add mutex to regulator ops
Date: Sat, 26 Feb 2022 23:59:46 +0000	[thread overview]
Message-ID: <20220226235946.GW5754@packtop> (raw)
In-Reply-To: <fcfe0d87-6755-a9e0-6237-fae889fbf2c7@roeck-us.net>

On Sat, Feb 26, 2022 at 03:47:41PM PST, Guenter Roeck wrote:
>On 2/26/22 15:42, Zev Weiss wrote:
>>On Fri, Feb 25, 2022 at 08:06:09AM PST, Marcello Sylvester Bauer wrote:
>>>From: Patrick Rudolph <patrick.rudolph@9elements.com>
>>>
>>>On PMBUS devices with multiple pages, the regulator ops need to be
>>>protected with the update mutex. This prevents accidentally changing
>>>the page in a separate thread while operating on the PMBUS_OPERATION
>>>register.
>>>
>>>Tested on Infineon xdpe11280 while a separate thread polls for sensor
>>>data.
>>>
>>>Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
>>>Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
>>>---
>>>drivers/hwmon/pmbus/pmbus_core.c | 16 +++++++++++++---
>>>1 file changed, 13 insertions(+), 3 deletions(-)
>>>
>>>diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
>>>index 776ee2237be2..f79930162256 100644
>>>--- a/drivers/hwmon/pmbus/pmbus_core.c
>>>+++ b/drivers/hwmon/pmbus/pmbus_core.c
>>>@@ -2386,10 +2386,14 @@ static int pmbus_regulator_is_enabled(struct regulator_dev *rdev)
>>>{
>>>	struct device *dev = rdev_get_dev(rdev);
>>>	struct i2c_client *client = to_i2c_client(dev->parent);
>>>+	struct pmbus_data *data = i2c_get_clientdata(client);
>>>	u8 page = rdev_get_id(rdev);
>>>	int ret;
>>>
>>>+	mutex_lock(&data->update_lock);
>>>	ret = pmbus_read_byte_data(client, page, PMBUS_OPERATION);
>>>+	mutex_unlock(&data->update_lock);
>>>+
>>>	if (ret < 0)
>>>		return ret;
>>>
>>>@@ -2400,11 +2404,17 @@ static int _pmbus_regulator_on_off(struct regulator_dev *rdev, bool enable)
>>>{
>>>	struct device *dev = rdev_get_dev(rdev);
>>>	struct i2c_client *client = to_i2c_client(dev->parent);
>>>+	struct pmbus_data *data = i2c_get_clientdata(client);
>>>	u8 page = rdev_get_id(rdev);
>>>+	int ret;
>>>
>>>-	return pmbus_update_byte_data(client, page, PMBUS_OPERATION,
>>>-				      PB_OPERATION_CONTROL_ON,
>>>-				      enable ? PB_OPERATION_CONTROL_ON : 0);
>>>+	mutex_lock(&data->update_lock);
>>>+	ret = pmbus_update_byte_data(client, page, PMBUS_OPERATION,
>>>+				     PB_OPERATION_CONTROL_ON,
>>>+				     enable ? PB_OPERATION_CONTROL_ON : 0);
>>>+	mutex_unlock(&data->update_lock);
>>>+
>>>+	return ret;
>>>}
>>>
>>>static int pmbus_regulator_enable(struct regulator_dev *rdev)
>>>-- 
>>>2.35.1
>>>
>>>
>>
>>Looks like this doesn't cover pmbus_regulator_get_error_flags(), which
>>was added recently -- perhaps rebase onto hwmon-next?
>>
>
>This is a bug fix which needs to be applied to stable releases, or am I
>missing something ?
>

Ah, true -- should it then be a two-patch series, with this as the first
for -stable and then a second for -next that extends it to include
pmbus_regulator_get_error_flags()?


Zev

  reply	other threads:[~2022-02-27  0:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-25 16:06 [PATCH v1 1/1] drivers/hwmon/pmbus: Add mutex to regulator ops Marcello Sylvester Bauer
2022-02-26 23:42 ` Zev Weiss
2022-02-26 23:47   ` Guenter Roeck
2022-02-26 23:59     ` Zev Weiss [this message]
2022-02-27 16:53   ` Guenter Roeck
2022-02-27 16:47 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220226235946.GW5754@packtop \
    --to=zweiss@equinix.com \
    --cc=jdelvare@suse.com \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=patrick.rudolph@9elements.com \
    --cc=sylv@sylv.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.