From: Lee Jones <lee.jones@linaro.org>
To: Tony Xie <tony.xie@rock-chips.com>
Cc: heiko@sntech.de, broonie@kernel.org, robh+dt@kernel.org,
mark.rutland@arm.com, a.zummo@towertech.it,
alexandre.belloni@bootlin.com, sboyd@kernel.org,
linux-clk@vger.kernel.org, linux-rtc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, chenjh@rock-chips.com,
xsf@rock-chips.com, zhangqing@rock-chips.com,
huangtao@rock-chips.com
Subject: Re: [PATCH v5 1/5] mfd: rk808: Add RK817 and RK809 support
Date: Thu, 25 Oct 2018 10:33:55 +0100 [thread overview]
Message-ID: <20181025093355.GN4939@dell> (raw)
In-Reply-To: <1540294467-25813-2-git-send-email-tony.xie@rock-chips.com>
On Tue, 23 Oct 2018, Tony Xie wrote:
> The rk809 and rk817 are a Power Management IC (PMIC) for multimedia
> and handheld devices. It contains the following components:
>
> - Regulators
> - RTC
> - Clocking
>
> Both RK809 and RK817 chips are using a similar register map,
> so we can reuse the RTC and Clocking and regulators functionality.
What's with the odd tabbing at the start of every line?
> Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
> Acked-by: Stephen Boyd <sboyd@kernel.org>
> ---
> drivers/mfd/Kconfig | 6 +-
> drivers/mfd/rk808.c | 225 +++++++++++++++++++++++++++++++++++++++++++---
> include/linux/mfd/rk808.h | 172 +++++++++++++++++++++++++++++++++++
> include/linux/regmap.h | 6 ++
> 4 files changed, 392 insertions(+), 17 deletions(-)
[...]
> +static struct resource rk817_rtc_resources[] = {
> + {
> + .start = RK817_IRQ_RTC_ALARM,
> + .end = RK817_IRQ_RTC_ALARM,
> + .flags = IORESOURCE_IRQ,
> + }
> +};
There are MACROs for these. Please consider converting to them.
You don't need to do that for *this* patch though.
[...]
> static const struct regmap_irq_chip rk818_irq_chip = {
> .name = "rk818",
> .irqs = rk818_irqs,
> @@ -376,7 +489,7 @@ static void rk805_device_shutdown(void)
>
> if (!rk808) {
> dev_warn(&rk808_i2c_client->dev,
> - "have no rk805, so do nothing here\n");
> + "can not get the driver data of rk808!\n");
Nit: "cannot"
> return;
> }
>
> @@ -394,7 +507,7 @@ static void rk808_device_shutdown(void)
>
> if (!rk808) {
> dev_warn(&rk808_i2c_client->dev,
> - "have no rk808, so do nothing here\n");
> + "can not get the driver data of rk808!\n");
As above (and below).
> return;
> }
>
> @@ -412,7 +525,7 @@ static void rk818_device_shutdown(void)
>
> if (!rk808) {
> dev_warn(&rk808_i2c_client->dev,
> - "have no rk818, so do nothing here\n");
> + "can not get the driver data of rk808!\n");
"RK808" in all prints and comments.
> return;
> }
>
> @@ -423,9 +536,39 @@ static void rk818_device_shutdown(void)
> dev_err(&rk808_i2c_client->dev, "power off error!\n");
> }
>
> +static void rk8xx_syscore_shutdown(void)
> +{
> + int ret;
> + struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client);
> +
> + if (!rk808) {
> + dev_warn(&rk808_i2c_client->dev,
> + "can not get the driver data of rk808!\n");
> + return;
> + }
> +
> + if (system_state == SYSTEM_POWER_OFF &&
> + (rk808->variant == RK809_ID || rk808->variant == RK817_ID)) {
> + ret = regmap_update_bits(rk808->regmap,
> + RK817_SYS_CFG(3),
> + RK817_SLPPIN_FUNC_MSK,
> + SLPPIN_DN_FUN);
> + if (ret) {
> + dev_warn(&rk808_i2c_client->dev,
> + "the retset pin can not switch to power down function\n");
Spellcheck.
[...]
> diff --git a/include/linux/regmap.h b/include/linux/regmap.h
> index 4f38068..a468b81 100644
> --- a/include/linux/regmap.h
> +++ b/include/linux/regmap.h
> @@ -1047,6 +1047,12 @@ struct regmap_irq {
> #define REGMAP_IRQ_REG(_irq, _off, _mask) \
> [_irq] = { .reg_offset = (_off), .mask = (_mask) }
>
> +#define REGMAP_IRQ_REG_LINE(_id, _reg_bits) \
> + [_id] = { \
> + .mask = BIT((_id) % (_reg_bits)), \
> + .reg_offset = (_id) / (_reg_bits), \
> + }
> +
> /**
> * struct regmap_irq_chip - Description of a generic regmap irq_chip.
> *
This needs to be a separate patch.
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2018-10-25 9:34 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-23 11:34 [PATCH v5 0/5] support a new type of PMIC,including two chips(rk817 and rk809) Tony Xie
2018-10-23 11:34 ` [PATCH v5 1/5] mfd: rk808: Add RK817 and RK809 support Tony Xie
2018-10-25 9:33 ` Lee Jones [this message]
2018-10-23 11:34 ` [PATCH v5 2/5] regulator: rk808: add RK809 and RK817 support Tony Xie
2018-10-25 9:36 ` Lee Jones
2018-10-23 11:34 ` [PATCH v5 3/5] dt-bindings: mfd: rk808: Add binding information for RK809 and RK817 Tony Xie
2018-10-25 9:38 ` Lee Jones
2018-10-23 11:34 ` [PATCH v5 4/5] rtc: rk808: add RK809 and RK817 support Tony Xie
2018-10-23 11:36 ` [PATCH v5 5/5] clk: RK808: " Tony Xie
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=20181025093355.GN4939@dell \
--to=lee.jones@linaro.org \
--cc=a.zummo@towertech.it \
--cc=alexandre.belloni@bootlin.com \
--cc=broonie@kernel.org \
--cc=chenjh@rock-chips.com \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=huangtao@rock-chips.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-rtc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=tony.xie@rock-chips.com \
--cc=xsf@rock-chips.com \
--cc=zhangqing@rock-chips.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 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).