From: Carlo Caione <carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
To: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org,
hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
emilio-0Z03zUJReD5OxF6Tv1QG9Q@public.gmane.org,
wens-jdAy2FN1RRM@public.gmane.org,
sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: Re: Re: [PATCH v3 01/10] mfd: AXP20x: Add mfd driver for AXP20x PMIC
Date: Sat, 29 Mar 2014 16:53:51 +0100 [thread overview]
Message-ID: <20140329155351.GB3952@localhost.fastwebnet.it> (raw)
In-Reply-To: <20140328092154.GF17779@lee--X1>
On Fri, Mar 28, 2014 at 09:21:54AM +0000, Lee Jones wrote:
> > This patch introduces the preliminary support for PMICs X-Powers AXP202
> > and AXP209. The AXP209 and AXP202 are the PMUs (Power Management Unit)
> > used by A10, A13 and A20 SoCs and developed by X-Powers, a sister company
> > of Allwinner.
> >
> > The core enables support for two subsystems:
> > - PEK (Power Enable Key)
> > - Regulators
> >
> > Signed-off-by: Carlo Caione <carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
> > ---
> > drivers/mfd/Kconfig | 12 +++
> > drivers/mfd/Makefile | 1 +
> > drivers/mfd/axp20x.c | 240 +++++++++++++++++++++++++++++++++++++++++++++
> > include/linux/mfd/axp20x.h | 180 ++++++++++++++++++++++++++++++++++
> > 4 files changed, 433 insertions(+)
> > create mode 100644 drivers/mfd/axp20x.c
> > create mode 100644 include/linux/mfd/axp20x.h
> >
> > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> > index 49bb445..24ba61a 100644
> > --- a/drivers/mfd/Kconfig
> > +++ b/drivers/mfd/Kconfig
> > @@ -59,6 +59,18 @@ config MFD_AAT2870_CORE
> > additional drivers must be enabled in order to use the
> > functionality of the device.
> >
> > +config MFD_AXP20X
> > + bool "X-Powers AXP20X"
> > + select MFD_CORE
> > + select REGMAP_I2C
> > + select REGMAP_IRQ
> > + depends on I2C=y
> > + help
> > + If you say Y here you get support for the AXP20X.
> > + This driver provides common support for accessing the device,
> > + additional drivers must be enabled in order to use the
> > + functionality of the device.
>
> Please tell us what this device is and what sub-devices are available?
Ok
> [...]
>
> > diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
> > new file mode 100644
> > index 0000000..f77a663
> > --- /dev/null
> > +++ b/drivers/mfd/axp20x.c
> > @@ -0,0 +1,240 @@
> > +/*
> > + * axp20x.c - MFD core driver for the X-Powers AXP202 and AXP209
>
> ... which consist of ...
Yeah, I should improve my code documentation :)
> [...]
>
> > +static struct resource axp20x_pek_resources[] = {
> > + {
> > + .name = "PEK_DBR",
> > + .start = AXP20X_IRQ_PEK_RIS_EDGE,
> > + .end = AXP20X_IRQ_PEK_RIS_EDGE,
> > + .flags = IORESOURCE_IRQ,
> > + }, {
> > + .name = "PEK_DBF",
> > + .start = AXP20X_IRQ_PEK_FAL_EDGE,
> > + .end = AXP20X_IRQ_PEK_FAL_EDGE,
> > + .flags = IORESOURCE_IRQ,
> > + },
> > +};
>
> Have you considered doing this in the Device Tree? It's a lot less
> code/overhead.
Ok, I'll change it in v4.
> > +static const struct i2c_device_id axp20x_i2c_id[] = {
> > + { },
> > +};
> > +MODULE_DEVICE_TABLE(i2c, axp20x_i2c_id);
>
> We really should consider changing the I2C subsystem!
>
> Can you add a comment here describing why we have to add this
> seemingly pointless empty struct please?
Sure.
> > +static struct mfd_cell axp20x_cells[] = {
> > + {
> > + .name = "axp20x-pek",
> > + .num_resources = ARRAY_SIZE(axp20x_pek_resources),
> > + .resources = axp20x_pek_resources,
> > + }, {
> > + .name = "axp20x-regulator",
> > + },
> > +};
>
> Do these drivers don't look inside the DTB at all?
Only the regulators driver.
> > + of_id = of_match_device(axp20x_of_match, &i2c->dev);
> > + if (!of_id) {
> > + dev_err(&i2c->dev, "Unable to setup AXP20X data\n");
> > + return -ENODEV;
> > + }
> > + axp20x->variant = (int) of_id->data;
>
> 'variant' needs to be a (unsigned?) long or it will break on 64bit
> architectures.
Ok, I really need to start thinking to 64bit also.
Thank you,
--
Carlo Caione
next prev parent reply other threads:[~2014-03-29 15:53 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-27 21:29 [PATCH v3 00/10] mfd: AXP20x: Add support for AXP202 and AXP209 Carlo Caione
[not found] ` <1395955764-18103-1-git-send-email-carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
2014-03-27 21:29 ` [PATCH v3 01/10] mfd: AXP20x: Add mfd driver for AXP20x PMIC Carlo Caione
[not found] ` <1395955764-18103-2-git-send-email-carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
2014-03-28 9:21 ` Lee Jones
2014-03-29 15:53 ` Carlo Caione [this message]
2014-04-11 9:26 ` Carlo Caione
2014-03-27 21:29 ` [PATCH v3 02/10] dt-bindings: add vendor-prefix for X-Powers Carlo Caione
2014-03-27 21:29 ` [PATCH v3 03/10] mfd: AXP20x: Add bindings documentation Carlo Caione
2014-03-27 21:29 ` [PATCH v3 04/10] input: misc: Add driver for AXP20x Power Enable Key Carlo Caione
[not found] ` <1395955764-18103-5-git-send-email-carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
2014-03-28 7:38 ` Dmitry Torokhov
[not found] ` <20140328073803.GA22093-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2014-03-29 15:36 ` Carlo Caione
[not found] ` <20140329153624.GA3952-bi+AKbBUZKZeIdyRz4JgOMwOAu8XWILU@public.gmane.org>
2014-03-29 19:05 ` Dmitry Torokhov
2014-03-27 21:29 ` [PATCH v3 09/10] ARM: sunxi: Add AXP20x support in defconfig Carlo Caione
2014-03-27 21:29 ` [PATCH v3 05/10] input: misc: Add ABI docs for AXP20x PEK Carlo Caione
2014-03-27 21:29 ` [PATCH v3 06/10] regulator: AXP20x: Add support for regulators subsystem Carlo Caione
[not found] ` <1395955764-18103-7-git-send-email-carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
2014-03-28 13:39 ` Mark Brown
2014-03-29 17:52 ` [linux-sunxi] " Carlo Caione
[not found] ` <20140329175201.GD3952-bi+AKbBUZKZeIdyRz4JgOMwOAu8XWILU@public.gmane.org>
2014-03-30 0:47 ` Mark Brown
2014-03-27 21:29 ` [PATCH v3 07/10] ARM: sunxi: dt: Add x-powers-axp209.dtsi file Carlo Caione
[not found] ` <1395955764-18103-8-git-send-email-carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
2014-03-28 13:34 ` Mark Brown
[not found] ` <20140328133438.GA19846-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-03-29 16:14 ` Carlo Caione
2014-03-27 21:29 ` [PATCH v3 08/10] ARM: sun7i/sun4i: dt: Add AXP209 support to various boards Carlo Caione
2014-03-28 3:12 ` Chen-Yu Tsai
2014-03-28 7:37 ` [linux-sunxi] " Carlo Caione
[not found] ` <1395955764-18103-9-git-send-email-carlo-KA+7E9HrN00dnm+yROfE0A@public.gmane.org>
2014-03-28 10:11 ` Maxime Ripard
2014-03-28 11:38 ` Mark Brown
[not found] ` <20140328113839.GB30768-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-03-28 12:54 ` Maxime Ripard
2014-03-28 13:12 ` Mark Brown
2014-03-27 21:29 ` [PATCH v3 10/10] ARM: sunxi: Add AXP20x support multi_v7_defconfig Carlo Caione
2014-03-28 8:01 ` [PATCH v3 00/10] mfd: AXP20x: Add support for AXP202 and AXP209 Lee Jones
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=20140329155351.GB3952@localhost.fastwebnet.it \
--to=carlo-ka+7e9hrn00dnm+yrofe0a@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=emilio-0Z03zUJReD5OxF6Tv1QG9Q@public.gmane.org \
--cc=hdegoede-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=wens-jdAy2FN1RRM@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).