[PATCH linux dev-5.4 v1] hwmon: (pmbus) Add a PMBUS_NO_CAPABILITY platform data flag
Joel Stanley
joel at jms.id.au
Mon Jan 17 17:28:50 AEDT 2022
Hello,
I note that you're targeting v5.4 for this patch. I don't know anyone
working on maintaining this kernel tree in the openbmc project.
I suggest you move your platform to the latest LTS, v5.15. This patch
is already present in that tree.
On Mon, 17 Jan 2022 at 06:27, Lulu Su <Lulu_Su at wistron.com> wrote:
>
> From: Eddie James <eajames at linux.ibm.com>
>
> Some PMBus chips don't respond with valid data when reading the
> CAPABILITY register. Add a flag that device drivers can set so
> that the PMBus core driver doesn't use CAPABILITY to determine it's
> behavior.
>
> Signed-off-by: Eddie James <eajames at linux.ibm.com>
> Link: https://lore.kernel.org/r/20201222152640.27749-2-eajames@linux.ibm.com
> Signed-off-by: Guenter Roeck <linux at roeck-us.net>
> (cherry picked from commit e5befc024cb4515d815662ed8746712cc5366bfc)
> ---
> drivers/hwmon/pmbus/pmbus_core.c | 8 +++++---
> include/linux/pmbus.h | 9 +++++++++
> 2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
> index f7fc388..0f381558 100644
> --- a/drivers/hwmon/pmbus/pmbus_core.c
> +++ b/drivers/hwmon/pmbus/pmbus_core.c
> @@ -2156,9 +2156,11 @@ static int pmbus_init_common(struct i2c_client *client, struct pmbus_data *data,
> }
>
> /* Enable PEC if the controller supports it */
> - ret = i2c_smbus_read_byte_data(client, PMBUS_CAPABILITY);
> - if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK))
> - client->flags |= I2C_CLIENT_PEC;
> + if (!(data->flags & PMBUS_NO_CAPABILITY)) {
> + ret = i2c_smbus_read_byte_data(client, PMBUS_CAPABILITY);
> + if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK))
> + client->flags |= I2C_CLIENT_PEC;
> + }
>
> if (data->info->pages)
> pmbus_clear_faults(client);
> diff --git a/include/linux/pmbus.h b/include/linux/pmbus.h
> index 08468fc..74e1be0 100644
> --- a/include/linux/pmbus.h
> +++ b/include/linux/pmbus.h
> @@ -25,6 +25,15 @@
> */
> #define PMBUS_SKIP_STATUS_CHECK (1 << 0)
>
> +/*
> + * PMBUS_NO_CAPABILITY
> + *
> + * Some PMBus chips don't respond with valid data when reading the CAPABILITY
> + * register. For such chips, this flag should be set so that the PMBus core
> + * driver doesn't use CAPABILITY to determine it's behavior.
> + */
> +#define PMBUS_NO_CAPABILITY BIT(2)
> +
> struct pmbus_platform_data {
> u32 flags; /* Device specific flags */
>
> --
> 2.7.4
>
>
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
> This email contains confidential or legally privileged information and is for the sole use of its intended recipient.
> Any unauthorized review, use, copying or distribution of this email or the content of this email is strictly prohibited.
> If you are not the intended recipient, you may reply to the sender and should delete this e-mail immediately.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
More information about the openbmc
mailing list