From: Lee Jones <lee.jones@linaro.org>
To: Hans de Goede <hdegoede@redhat.com>
Cc: "Sebastian Reichel" <sre@kernel.org>,
"Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com>,
"David Woodhouse" <dwmw2@infradead.org>,
"Kishon Vijay Abraham I" <kishon@ti.com>,
"Felipe Balbi" <balbi@ti.com>,
"Maxime Ripard" <maxime.ripard@free-electrons.com>,
"Bruno Prémont" <bonbons@linux-vserver.org>,
linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
devicetree <devicetree@vger.kernel.org>,
linux-sunxi@googlegroups.com
Subject: Re: [PATCH 4/8] power: Add an axp20x-usb-power driver
Date: Wed, 10 Jun 2015 08:29:57 +0100 [thread overview]
Message-ID: <20150610072957.GV2982@x1> (raw)
In-Reply-To: <1433885881-19809-5-git-send-email-hdegoede@redhat.com>
On Tue, 09 Jun 2015, Hans de Goede wrote:
> This adds a driver for the usb power_supply bits of the axp20x PMICs.
>
> I initially started writing my own driver, before coming aware of
> Bruno Prémont's excellent earlier RFC with a driver for this.
>
> My driver was lacking CURRENT_MAX and VOLTAGE_MIN support Bruno's
> drvier has, so I've copied the code for those from his driver.
>
> Note that the AC-power-supply and battery charger bits will need separate
> drivers. Each one needs its own devictree child-node so that other
> devicetree nodes can reference the right power-supply, and thus each one
> will get its own mfd-cell / platform_device and platform-driver.
>
> Cc: Bruno Prémont <bonbons@linux-vserver.org>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> .../bindings/power_supply/axp20x_usb_power.txt | 34 +++
This needs to be submitted in a seperate patch.
> drivers/power/Kconfig | 7 +
> drivers/power/Makefile | 1 +
> drivers/power/axp20x_usb_power.c | 241 +++++++++++++++++++++
> include/linux/mfd/axp20x.h | 24 ++
> 5 files changed, 307 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/power_supply/axp20x_usb_power.txt
> create mode 100644 drivers/power/axp20x_usb_power.c
[...]
> diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> index f4290ae..d7adb2e 100644
> --- a/include/linux/mfd/axp20x.h
> +++ b/include/linux/mfd/axp20x.h
> @@ -11,6 +11,8 @@
> #ifndef __LINUX_MFD_AXP20X_H
> #define __LINUX_MFD_AXP20X_H
>
> +#include <linux/regmap.h>
> +
> enum {
> AXP202_ID = 0,
> AXP209_ID,
> @@ -366,4 +368,26 @@ struct axp20x_fg_pdata {
> int thermistor_curve[MAX_THERM_CURVE_SIZE][2];
> };
>
> +/* generic helper function for reading 9-16 bit wide regs */
> +static inline int axp20x_read_16bit(struct regmap *regmap,
This is only used twice and only in one file.
Do you know of any other uses of this call that will be upstreamed
shortly?
> + unsigned int reg, unsigned int width)
The function name is a bit misleading.
> +{
> + unsigned int v, raw;
> + int r;
'v' and 'r' are not good variable names.
> + r = regmap_read(regmap, reg, &v);
> + if (r)
> + return r;
> +
> + raw = v << (width - 8);
So 'reg' is expected to be top end loaded?
E.g A value of say 0x0101 (257) in 9 bits will look like this:
reg reg + 1
1000 0000b 0000 0001b
> + r = regmap_read(regmap, reg + 1, &v);
> + if (r)
> + return r;
> +
> + raw |= v;
> +
> + return raw;
> +}
> +
> #endif /* __LINUX_MFD_AXP20X_H */
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/8] power: Add an axp20x-usb-power driver
Date: Wed, 10 Jun 2015 08:29:57 +0100 [thread overview]
Message-ID: <20150610072957.GV2982@x1> (raw)
In-Reply-To: <1433885881-19809-5-git-send-email-hdegoede@redhat.com>
On Tue, 09 Jun 2015, Hans de Goede wrote:
> This adds a driver for the usb power_supply bits of the axp20x PMICs.
>
> I initially started writing my own driver, before coming aware of
> Bruno Pr?mont's excellent earlier RFC with a driver for this.
>
> My driver was lacking CURRENT_MAX and VOLTAGE_MIN support Bruno's
> drvier has, so I've copied the code for those from his driver.
>
> Note that the AC-power-supply and battery charger bits will need separate
> drivers. Each one needs its own devictree child-node so that other
> devicetree nodes can reference the right power-supply, and thus each one
> will get its own mfd-cell / platform_device and platform-driver.
>
> Cc: Bruno Pr?mont <bonbons@linux-vserver.org>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> .../bindings/power_supply/axp20x_usb_power.txt | 34 +++
This needs to be submitted in a seperate patch.
> drivers/power/Kconfig | 7 +
> drivers/power/Makefile | 1 +
> drivers/power/axp20x_usb_power.c | 241 +++++++++++++++++++++
> include/linux/mfd/axp20x.h | 24 ++
> 5 files changed, 307 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/power_supply/axp20x_usb_power.txt
> create mode 100644 drivers/power/axp20x_usb_power.c
[...]
> diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> index f4290ae..d7adb2e 100644
> --- a/include/linux/mfd/axp20x.h
> +++ b/include/linux/mfd/axp20x.h
> @@ -11,6 +11,8 @@
> #ifndef __LINUX_MFD_AXP20X_H
> #define __LINUX_MFD_AXP20X_H
>
> +#include <linux/regmap.h>
> +
> enum {
> AXP202_ID = 0,
> AXP209_ID,
> @@ -366,4 +368,26 @@ struct axp20x_fg_pdata {
> int thermistor_curve[MAX_THERM_CURVE_SIZE][2];
> };
>
> +/* generic helper function for reading 9-16 bit wide regs */
> +static inline int axp20x_read_16bit(struct regmap *regmap,
This is only used twice and only in one file.
Do you know of any other uses of this call that will be upstreamed
shortly?
> + unsigned int reg, unsigned int width)
The function name is a bit misleading.
> +{
> + unsigned int v, raw;
> + int r;
'v' and 'r' are not good variable names.
> + r = regmap_read(regmap, reg, &v);
> + if (r)
> + return r;
> +
> + raw = v << (width - 8);
So 'reg' is expected to be top end loaded?
E.g A value of say 0x0101 (257) in 9 bits will look like this:
reg reg + 1
1000 0000b 0000 0001b
> + r = regmap_read(regmap, reg + 1, &v);
> + if (r)
> + return r;
> +
> + raw |= v;
> +
> + return raw;
> +}
> +
> #endif /* __LINUX_MFD_AXP20X_H */
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2015-06-10 7:30 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 21:37 [PATCH 0/8] mfd/power/phy: Add support for otg vbus detection via axp pmic Hans de Goede
2015-06-09 21:37 ` Hans de Goede
2015-06-09 21:37 ` [PATCH 1/8] mfd: axp20x: Add missing registers, and mark more registers volatile Hans de Goede
2015-06-09 21:37 ` Hans de Goede
[not found] ` <1433885881-19809-2-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-06-10 7:36 ` Lee Jones
2015-06-10 7:36 ` Lee Jones
2015-06-09 21:37 ` [PATCH 3/8] power: Add devm_power_supply_get_by_phandle() helper function Hans de Goede
2015-06-09 21:37 ` Hans de Goede
2015-06-10 14:49 ` Sebastian Reichel
2015-06-10 14:49 ` Sebastian Reichel
[not found] ` <1433885881-19809-1-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-06-09 21:37 ` [PATCH 2/8] mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs Hans de Goede
2015-06-09 21:37 ` Hans de Goede
[not found] ` <1433885881-19809-3-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-06-10 1:19 ` Chen-Yu Tsai
2015-06-10 1:19 ` [linux-sunxi] " Chen-Yu Tsai
[not found] ` <CAGb2v652W+i6L1k5-CnHtXZXdJjFswkcyFGromhWSYaXtitW_w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-10 7:57 ` Hans de Goede
2015-06-10 7:57 ` [linux-sunxi] " Hans de Goede
[not found] ` <5577EDD9.8020900-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-06-13 13:50 ` Maxime Ripard
2015-06-13 13:50 ` [linux-sunxi] " Maxime Ripard
2015-06-24 12:18 ` Michal Suchanek
2015-06-24 12:18 ` [linux-sunxi] " Michal Suchanek
2015-06-10 7:35 ` Lee Jones
2015-06-10 7:35 ` Lee Jones
2015-06-10 7:36 ` Lee Jones
2015-06-10 7:36 ` Lee Jones
2015-06-09 21:37 ` [PATCH 4/8] power: Add an axp20x-usb-power driver Hans de Goede
2015-06-09 21:37 ` Hans de Goede
2015-06-10 7:29 ` Lee Jones [this message]
2015-06-10 7:29 ` Lee Jones
2015-06-10 9:22 ` Hans de Goede
2015-06-10 9:22 ` Hans de Goede
[not found] ` <557801B8.5040804-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-06-10 9:34 ` Lee Jones
2015-06-10 9:34 ` Lee Jones
2015-06-09 21:37 ` [PATCH 5/8] phy-sun4i-usb: Add support for monitoring vbus via a power-supply Hans de Goede
2015-06-09 21:37 ` Hans de Goede
2015-06-09 21:37 ` [PATCH 6/8] ARM: dts: axp209: Add usb_power_supply child node to the ax209 node Hans de Goede
2015-06-09 21:37 ` Hans de Goede
[not found] ` <1433885881-19809-7-git-send-email-hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-07-31 5:31 ` Chen-Yu Tsai
2015-07-31 5:31 ` [linux-sunxi] " Chen-Yu Tsai
[not found] ` <CAGb2v66X79dK84hG8NVTho-kPPMNcKXQspvT2pCM8Zbmnme53A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-31 5:51 ` Bruno Prémont
2015-07-31 5:51 ` [linux-sunxi] " Bruno Prémont
2015-07-31 6:14 ` Chen-Yu Tsai
2015-07-31 6:14 ` Chen-Yu Tsai
[not found] ` <CAGb2v67nM7pauyjyhBdfgX7p_Rud6TEsNqphB+gx4ROekVqtbw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-31 6:35 ` Bruno Prémont
2015-07-31 6:35 ` [linux-sunxi] " Bruno Prémont
2015-07-31 7:57 ` Maxime Ripard
2015-07-31 7:57 ` Maxime Ripard
[not found] ` <20150731083541.5f2c683a-I2t2yFIzmohO7ya8xxV06g@public.gmane.org>
2015-07-31 8:31 ` Hans de Goede
2015-07-31 8:31 ` Hans de Goede
[not found] ` <55BB3262.5000403-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-07-31 9:00 ` Chen-Yu Tsai
2015-07-31 9:00 ` [linux-sunxi] " Chen-Yu Tsai
[not found] ` <CAGb2v66+CZe0v=CuYOLfnNwkX70kwPOP28Nya2Y8xw8yrg4-8Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-31 9:11 ` Hans de Goede
2015-07-31 9:11 ` Hans de Goede
[not found] ` <55BB3BCB.6080608-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-07-31 10:06 ` Chen-Yu Tsai
2015-07-31 10:06 ` [linux-sunxi] " Chen-Yu Tsai
2015-07-31 9:14 ` Hans de Goede
2015-07-31 9:14 ` Hans de Goede
2015-06-09 21:38 ` [PATCH 7/8] ARM: dts: sun7i: Add regulator configuration to the bananapi dts file Hans de Goede
2015-06-09 21:38 ` Hans de Goede
2015-06-10 6:15 ` [PATCH 0/8] mfd/power/phy: Add support for otg vbus detection via axp pmic Priit Laes
2015-06-10 6:15 ` [linux-sunxi] " Priit Laes
2015-06-09 21:38 ` [PATCH 8/8] ARM: dts: sun7i: Enable USB DRC on Bananapi Hans de Goede
2015-06-09 21:38 ` Hans de Goede
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=20150610072957.GV2982@x1 \
--to=lee.jones@linaro.org \
--cc=balbi@ti.com \
--cc=bonbons@linux-vserver.org \
--cc=dbaryshkov@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=hdegoede@redhat.com \
--cc=kishon@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=maxime.ripard@free-electrons.com \
--cc=sre@kernel.org \
/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.