diff mbox series

[v3,2/2] power: supply: ucs1002: Add HWMON interface

Message ID 20190605072323.21990-3-andrew.smirnov@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show
Series HWMON compatibility layer for power supplies | expand

Commit Message

Andrey Smirnov June 5, 2019, 7:23 a.m. UTC
Expose current sensors found on UCS1002 via HWMON.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Cory Tusar <cory.tusar@zii.aero>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: linux-kernel@vger.kernel.org
Cc: linux-pm@vger.kernel.org
---
 drivers/power/supply/ucs1002_power.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Andrew Davis June 5, 2019, 4:26 p.m. UTC | #1
On 6/5/19 3:23 AM, Andrey Smirnov wrote:
> Expose current sensors found on UCS1002 via HWMON.
> 
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> Cc: Chris Healy <cphealy@gmail.com>
> Cc: Cory Tusar <cory.tusar@zii.aero>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Sebastian Reichel <sre@kernel.org>
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-pm@vger.kernel.org
> ---
>   drivers/power/supply/ucs1002_power.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/power/supply/ucs1002_power.c b/drivers/power/supply/ucs1002_power.c
> index 677f20a4d76f..a4b6b37549cf 100644
> --- a/drivers/power/supply/ucs1002_power.c
> +++ b/drivers/power/supply/ucs1002_power.c
> @@ -571,6 +571,12 @@ static int ucs1002_probe(struct i2c_client *client,
>   		return ret;
>   	}
>   
> +	ret = devm_power_supply_add_hwmon_sysfs(info->charger);

Could this be added to the core power supply framework on registering so 
all devices get this, vs each driver having to add this line?

Andrew

> +	if (ret) {
> +		dev_err(dev, "Failed to add hmwon attributes: %d\n", ret);
> +		return ret;
> +	}
> +
>   	ret = regmap_read(info->regmap, UCS1002_REG_PIN_STATUS, &regval);
>   	if (ret) {
>   		dev_err(dev, "Failed to read pin status: %d\n", ret);
>
Andrey Smirnov June 5, 2019, 5:47 p.m. UTC | #2
On Wed, Jun 5, 2019 at 9:26 AM Andrew F. Davis <afd@ti.com> wrote:
>
> On 6/5/19 3:23 AM, Andrey Smirnov wrote:
> > Expose current sensors found on UCS1002 via HWMON.
> >
> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > Cc: Chris Healy <cphealy@gmail.com>
> > Cc: Cory Tusar <cory.tusar@zii.aero>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > Cc: Guenter Roeck <linux@roeck-us.net>
> > Cc: Sebastian Reichel <sre@kernel.org>
> > Cc: linux-kernel@vger.kernel.org
> > Cc: linux-pm@vger.kernel.org
> > ---
> >   drivers/power/supply/ucs1002_power.c | 6 ++++++
> >   1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/power/supply/ucs1002_power.c b/drivers/power/supply/ucs1002_power.c
> > index 677f20a4d76f..a4b6b37549cf 100644
> > --- a/drivers/power/supply/ucs1002_power.c
> > +++ b/drivers/power/supply/ucs1002_power.c
> > @@ -571,6 +571,12 @@ static int ucs1002_probe(struct i2c_client *client,
> >               return ret;
> >       }
> >
> > +     ret = devm_power_supply_add_hwmon_sysfs(info->charger);
>
> Could this be added to the core power supply framework on registering so
> all devices get this, vs each driver having to add this line?
>

I'd say it is up to Sebastian to decide if this should be opt-out
rather than opt-in. I have no objections to either approach.

Thanks,
Andrey Smirnov
Guenter Roeck June 5, 2019, 6:39 p.m. UTC | #3
On Wed, Jun 05, 2019 at 10:47:25AM -0700, Andrey Smirnov wrote:
> On Wed, Jun 5, 2019 at 9:26 AM Andrew F. Davis <afd@ti.com> wrote:
> >
> > On 6/5/19 3:23 AM, Andrey Smirnov wrote:
> > > Expose current sensors found on UCS1002 via HWMON.
> > >
> > > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > Cc: Chris Healy <cphealy@gmail.com>
> > > Cc: Cory Tusar <cory.tusar@zii.aero>
> > > Cc: Lucas Stach <l.stach@pengutronix.de>
> > > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > > Cc: Guenter Roeck <linux@roeck-us.net>
> > > Cc: Sebastian Reichel <sre@kernel.org>
> > > Cc: linux-kernel@vger.kernel.org
> > > Cc: linux-pm@vger.kernel.org
> > > ---
> > >   drivers/power/supply/ucs1002_power.c | 6 ++++++
> > >   1 file changed, 6 insertions(+)
> > >
> > > diff --git a/drivers/power/supply/ucs1002_power.c b/drivers/power/supply/ucs1002_power.c
> > > index 677f20a4d76f..a4b6b37549cf 100644
> > > --- a/drivers/power/supply/ucs1002_power.c
> > > +++ b/drivers/power/supply/ucs1002_power.c
> > > @@ -571,6 +571,12 @@ static int ucs1002_probe(struct i2c_client *client,
> > >               return ret;
> > >       }
> > >
> > > +     ret = devm_power_supply_add_hwmon_sysfs(info->charger);
> >
> > Could this be added to the core power supply framework on registering so
> > all devices get this, vs each driver having to add this line?
> >
> 
> I'd say it is up to Sebastian to decide if this should be opt-out
> rather than opt-in. I have no objections to either approach.
> 

Same here, and agreed.

Guenter
Sebastian Reichel June 11, 2019, 7:46 p.m. UTC | #4
Hi,

On Wed, Jun 05, 2019 at 11:39:45AM -0700, Guenter Roeck wrote:
> On Wed, Jun 05, 2019 at 10:47:25AM -0700, Andrey Smirnov wrote:
> > On Wed, Jun 5, 2019 at 9:26 AM Andrew F. Davis <afd@ti.com> wrote:
> > >
> > > On 6/5/19 3:23 AM, Andrey Smirnov wrote:
> > > > Expose current sensors found on UCS1002 via HWMON.
> > > >
> > > > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > Cc: Chris Healy <cphealy@gmail.com>
> > > > Cc: Cory Tusar <cory.tusar@zii.aero>
> > > > Cc: Lucas Stach <l.stach@pengutronix.de>
> > > > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > > > Cc: Guenter Roeck <linux@roeck-us.net>
> > > > Cc: Sebastian Reichel <sre@kernel.org>
> > > > Cc: linux-kernel@vger.kernel.org
> > > > Cc: linux-pm@vger.kernel.org
> > > > ---
> > > >   drivers/power/supply/ucs1002_power.c | 6 ++++++
> > > >   1 file changed, 6 insertions(+)
> > > >
> > > > diff --git a/drivers/power/supply/ucs1002_power.c b/drivers/power/supply/ucs1002_power.c
> > > > index 677f20a4d76f..a4b6b37549cf 100644
> > > > --- a/drivers/power/supply/ucs1002_power.c
> > > > +++ b/drivers/power/supply/ucs1002_power.c
> > > > @@ -571,6 +571,12 @@ static int ucs1002_probe(struct i2c_client *client,
> > > >               return ret;
> > > >       }
> > > >
> > > > +     ret = devm_power_supply_add_hwmon_sysfs(info->charger);
> > >
> > > Could this be added to the core power supply framework on registering so
> > > all devices get this, vs each driver having to add this line?
> > >
> > 
> > I'd say it is up to Sebastian to decide if this should be opt-out
> > rather than opt-in. I have no objections to either approach.
> > 
> 
> Same here, and agreed.

I think this should be registered in power_supply_register() and
free'd in power_supply_unregister(). It's not device specific at
all and the functionality can be configured via Kconfig.

-- Sebastian
Andrey Smirnov June 12, 2019, 2:02 a.m. UTC | #5
On Tue, Jun 11, 2019 at 12:46 PM Sebastian Reichel <sre@kernel.org> wrote:
>
> Hi,
>
> On Wed, Jun 05, 2019 at 11:39:45AM -0700, Guenter Roeck wrote:
> > On Wed, Jun 05, 2019 at 10:47:25AM -0700, Andrey Smirnov wrote:
> > > On Wed, Jun 5, 2019 at 9:26 AM Andrew F. Davis <afd@ti.com> wrote:
> > > >
> > > > On 6/5/19 3:23 AM, Andrey Smirnov wrote:
> > > > > Expose current sensors found on UCS1002 via HWMON.
> > > > >
> > > > > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > > Cc: Chris Healy <cphealy@gmail.com>
> > > > > Cc: Cory Tusar <cory.tusar@zii.aero>
> > > > > Cc: Lucas Stach <l.stach@pengutronix.de>
> > > > > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > > > > Cc: Guenter Roeck <linux@roeck-us.net>
> > > > > Cc: Sebastian Reichel <sre@kernel.org>
> > > > > Cc: linux-kernel@vger.kernel.org
> > > > > Cc: linux-pm@vger.kernel.org
> > > > > ---
> > > > >   drivers/power/supply/ucs1002_power.c | 6 ++++++
> > > > >   1 file changed, 6 insertions(+)
> > > > >
> > > > > diff --git a/drivers/power/supply/ucs1002_power.c b/drivers/power/supply/ucs1002_power.c
> > > > > index 677f20a4d76f..a4b6b37549cf 100644
> > > > > --- a/drivers/power/supply/ucs1002_power.c
> > > > > +++ b/drivers/power/supply/ucs1002_power.c
> > > > > @@ -571,6 +571,12 @@ static int ucs1002_probe(struct i2c_client *client,
> > > > >               return ret;
> > > > >       }
> > > > >
> > > > > +     ret = devm_power_supply_add_hwmon_sysfs(info->charger);
> > > >
> > > > Could this be added to the core power supply framework on registering so
> > > > all devices get this, vs each driver having to add this line?
> > > >
> > >
> > > I'd say it is up to Sebastian to decide if this should be opt-out
> > > rather than opt-in. I have no objections to either approach.
> > >
> >
> > Same here, and agreed.
>
> I think this should be registered in power_supply_register() and
> free'd in power_supply_unregister(). It's not device specific at
> all and the functionality can be configured via Kconfig.
>

Sure, will do in v4.

Thanks,
Andrey Smirnov
diff mbox series

Patch

diff --git a/drivers/power/supply/ucs1002_power.c b/drivers/power/supply/ucs1002_power.c
index 677f20a4d76f..a4b6b37549cf 100644
--- a/drivers/power/supply/ucs1002_power.c
+++ b/drivers/power/supply/ucs1002_power.c
@@ -571,6 +571,12 @@  static int ucs1002_probe(struct i2c_client *client,
 		return ret;
 	}
 
+	ret = devm_power_supply_add_hwmon_sysfs(info->charger);
+	if (ret) {
+		dev_err(dev, "Failed to add hmwon attributes: %d\n", ret);
+		return ret;
+	}
+
 	ret = regmap_read(info->regmap, UCS1002_REG_PIN_STATUS, &regval);
 	if (ret) {
 		dev_err(dev, "Failed to read pin status: %d\n", ret);