All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Vadim Pasternak <vadimp@mellanox.com>
Cc: jdelvare@suse.com, linux-hwmon@vger.kernel.org,
	linux-kernel@vger.kernel.org, jiri@resnulli.us
Subject: Re: [patch] Disable PMBus status check for DPS400 PSU controller
Date: Thu, 21 Jul 2016 06:41:30 -0700	[thread overview]
Message-ID: <5790D10A.9070404@roeck-us.net> (raw)
In-Reply-To: <1469112953-77032-1-git-send-email-vadimp@mellanox.com>

Hi Vadim,

On 07/21/2016 07:55 AM, Vadim Pasternak wrote:
> pmbus/dps400: disable PMBus status check through platform data structure to
> provide support for PSU DPS-460, DPS-800 from Delta Electronics, INC and for
> SGD009 from Acbel Polytech, INC.
> These devices do not support the STATUS_CML register, and reports communication
> error in response to this command.
> For this reason for these controllers, the status register check is disabled.
>

The subject should be "hwmon: (pmbus) Add explicit support for DPS-460, DPS-800,
and SGD009", followed by something like

"Provide support for PSU DPS-460, DPS-800 from Delta Electronics, INC and for
SGD009 from Acbel Polytech, INC.
These devices do not support the STATUS_CML register and report a communication
error in response to this command. For this reason, the status register check
is disabled for these controllers."

> Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
>
Unnecessary blank line

> Reviewed-by: Jiri Pirko <jiri@mellanox.com>
> ---
>   drivers/hwmon/pmbus/pmbus.c      | 16 ++++++++++++++++
>   drivers/hwmon/pmbus/pmbus_core.c |  3 +++
>   2 files changed, 19 insertions(+)
>
> diff --git a/drivers/hwmon/pmbus/pmbus.c b/drivers/hwmon/pmbus/pmbus.c
> index 0a74991..44c736a 100644
> --- a/drivers/hwmon/pmbus/pmbus.c
> +++ b/drivers/hwmon/pmbus/pmbus.c
> @@ -25,6 +25,7 @@
>   #include <linux/slab.h>
>   #include <linux/mutex.h>
>   #include <linux/i2c.h>
> +#include <linux/i2c/pmbus.h>
>   #include "pmbus.h"
>
>   /*
> @@ -167,14 +168,26 @@ static int pmbus_probe(struct i2c_client *client,
>   		       const struct i2c_device_id *id)
>   {
>   	struct pmbus_driver_info *info;
> +	struct pmbus_platform_data *pdata = NULL;
> +	struct device *dev = &client->dev;
>
>   	info = devm_kzalloc(&client->dev, sizeof(struct pmbus_driver_info),
>   			    GFP_KERNEL);
>   	if (!info)
>   		return -ENOMEM;
> +	if (!strcmp(id->name, "dps460") || !strcmp(id->name, "dps460") ||

Should the second string be dps800 ?

> +	    !strcmp(id->name, "sgd009")) {
> +		pdata = kzalloc(sizeof(struct pmbus_platform_data), GFP_KERNEL);

Please use devm_kzalloc().

> +		if (!pdata) {
> +			kfree(info);

info was allocated with devm_kzalloc() and thus does not need kfree (besides,
if at all, it would have to be devm_kfree).

> +			return -ENOMEM;
> +		}
> +		pdata->flags = PMBUS_SKIP_STATUS_CHECK;
> +	}
>
>   	info->pages = id->driver_data;
>   	info->identify = pmbus_identify;
> +	dev->platform_data = pdata;
>
>   	return pmbus_do_probe(client, id, info);
>   }
> @@ -199,6 +212,9 @@ static const struct i2c_device_id pmbus_id[] = {
>   	{"tps544c20", 1},
>   	{"tps544c25", 1},
>   	{"udt020", 1},
> +	{"dps460", 1},
> +	{"dps800", 1},
> +	{"sgd009", 1},

Please list in alphabetic order.

>   	{}
>   };
>
> diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
> index ba59eae..3d98070 100644
> --- a/drivers/hwmon/pmbus/pmbus_core.c
> +++ b/drivers/hwmon/pmbus/pmbus_core.c
> @@ -1931,8 +1931,11 @@ EXPORT_SYMBOL_GPL(pmbus_do_probe);
>   int pmbus_do_remove(struct i2c_client *client)
>   {
>   	struct pmbus_data *data = i2c_get_clientdata(client);
> +	const struct pmbus_platform_data *pdata =
> +				dev_get_platdata(&client->dev);
>   	hwmon_device_unregister(data->hwmon_dev);
>   	kfree(data->group.attrs);
> +	kfree(pdata);
>   	return 0;
>   }
>   EXPORT_SYMBOL_GPL(pmbus_do_remove);
>


  reply	other threads:[~2016-07-21 13:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-21 14:55 [patch] Disable PMBus status check for DPS400 PSU controller Vadim Pasternak
2016-07-21 13:41 ` Guenter Roeck [this message]
2016-07-21 14:08   ` Vadim Pasternak
2016-07-21 14:31     ` 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=5790D10A.9070404@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=jdelvare@suse.com \
    --cc=jiri@resnulli.us \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vadimp@mellanox.com \
    /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.