linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Marek Vasut <marek.vasut@gmail.com>
Cc: linux-kernel@vger.kernel.org,
	Marek Vasut <marek.vasut+renesas@gmail.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Mark Brown <broonie@kernel.org>,
	Steve Twiss <stwiss.opensource@diasemi.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH v3 08/10] mfd: da9063: Register RTC only on DA9063L
Date: Tue, 5 Jun 2018 08:53:21 +0100	[thread overview]
Message-ID: <20180605075321.GM21163@dell> (raw)
In-Reply-To: <20180602101155.26375-8-marek.vasut+renesas@gmail.com>

On Sat, 02 Jun 2018, Marek Vasut wrote:

> The DA9063L does not contain RTC block, unlike the full DA9063.
> Split the RTC block into separate mfd cell and register it only
> on DA9063.
> 
> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Steve Twiss <stwiss.opensource@diasemi.com>
> Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Cc: linux-renesas-soc@vger.kernel.org
> ---
> V2: No change
> V3: Rework of mfd: da9063: Disallow RTC on DA9063L
> ---
>  drivers/mfd/da9063-core.c | 30 +++++++++++++++++++++++-------
>  1 file changed, 23 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c
> index eebca3442cf3..b05910c797af 100644
> --- a/drivers/mfd/da9063-core.c
> +++ b/drivers/mfd/da9063-core.c
> @@ -76,7 +76,7 @@ static struct resource da9063_hwmon_resources[] = {
>  };
>  
>  
> -static const struct mfd_cell da9063_devs[] = {
> +static const struct mfd_cell da9063_common_devs[] = {
>  	{
>  		.name		= DA9063_DRVNAME_REGULATORS,

Appreciate that these are historical, but these device name defines
make me shudder.  They only serve to act as an obfuscation layer when
debugging at platform level.  Please consider getting rid of them.

>  		.num_resources	= ARRAY_SIZE(da9063_regulators_resources),
> @@ -100,15 +100,19 @@ static const struct mfd_cell da9063_devs[] = {
>  		.resources	= da9063_onkey_resources,
>  		.of_compatible = "dlg,da9063-onkey",
>  	},
> +	{
> +		.name		= DA9063_DRVNAME_VIBRATION,
> +	},

Place this on a single line please.

        { .name	= DA9063_DRVNAME_VIBRATION },

> +};
> +
> +/* Only present on DA9063 , not on DA9063L */
> +static const struct mfd_cell da9063_devs[] = {
>  	{
>  		.name		= DA9063_DRVNAME_RTC,
>  		.num_resources	= ARRAY_SIZE(da9063_rtc_resources),
>  		.resources	= da9063_rtc_resources,
>  		.of_compatible	= "dlg,da9063-rtc",
>  	},
> -	{
> -		.name		= DA9063_DRVNAME_VIBRATION,
> -	},
>  };
>  
>  static int da9063_clear_fault_log(struct da9063 *da9063)
> @@ -225,16 +229,28 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq)
>  
>  	da9063->irq_base = regmap_irq_chip_get_base(da9063->regmap_irq);
>  
> -	ret = mfd_add_devices(da9063->dev, -1, da9063_devs,
> -			      ARRAY_SIZE(da9063_devs), NULL, da9063->irq_base,
> -			      NULL);
> +	ret = mfd_add_devices(da9063->dev, -1, da9063_common_devs,

Please consider updating the -1's in this file with the appropriate
define in a separate patch.

> +			      ARRAY_SIZE(da9063_common_devs),
> +			      NULL, da9063->irq_base, NULL);
>  	if (ret) {
>  		dev_err(da9063->dev, "Cannot add MFD cells\n");
>  		goto err_irq_exit;
>  	}
>  
> +	if (da9063->type == PMIC_TYPE_DA9063) {
> +		ret = mfd_add_devices(da9063->dev, -1, da9063_devs,
> +				      ARRAY_SIZE(da9063_devs),
> +				      NULL, da9063->irq_base, NULL);
> +		if (ret) {
> +			dev_err(da9063->dev, "Cannot add MFD cells\n");

Better to be more general here.

"Failed to add child devices" or such.

Users don't tend to care about MFD cells.

> +			goto err_mfd_cleanup;
> +		}
> +	}
> +
>  	return ret;
>  
> +err_mfd_cleanup:
> +	mfd_remove_devices(da9063->dev);

Any reason why you can't use devm_*?

>  err_irq_exit:
>  	da9063_irq_exit(da9063);
>  	return ret;

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2018-06-05  7:53 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-02 10:11 [PATCH v3 01/10] mfd: da9063: Fix failpath in core Marek Vasut
2018-06-02 10:11 ` [PATCH v3 02/10] mfd: da9063: Use REGMAP_IRQ_REG Marek Vasut
2018-06-04  7:17   ` Geert Uytterhoeven
2018-06-04 12:26   ` Lee Jones
2018-06-04 16:23     ` Marek Vasut
2018-06-05  7:09       ` Lee Jones
2018-06-05  7:31         ` Geert Uytterhoeven
2018-06-05  8:16           ` Lee Jones
2018-06-05 19:48   ` Steve Twiss
2018-06-02 10:11 ` [PATCH v3 03/10] mfd: da9063: Rename PMIC_DA9063 to PMIC_CHIP_ID_DA9063 Marek Vasut
2018-06-04 12:26   ` Lee Jones
2018-06-04 18:31     ` Marek Vasut
2018-06-05  7:05       ` Lee Jones
2018-06-05 17:16       ` Steve Twiss
2018-06-05 17:20         ` Marek Vasut
2018-06-05 19:49   ` Steve Twiss
2018-06-02 10:11 ` [PATCH v3 04/10] mfd: da9063: Replace model with type Marek Vasut
2018-06-05  7:21   ` Lee Jones
2018-06-02 10:11 ` [PATCH v3 05/10] mfd: da9063: Add DA9063L type Marek Vasut
2018-06-05  7:22   ` Lee Jones
2018-06-05 19:50   ` Steve Twiss
2018-06-02 10:11 ` [PATCH v3 06/10] mfd: da9063: Add custom regmap for DA9063L Marek Vasut
2018-06-04  7:39   ` Geert Uytterhoeven
2018-06-04 16:25     ` Marek Vasut
2018-06-05 20:17       ` Steve Twiss
2018-06-05 23:02         ` Marek Vasut
2018-06-06  9:47           ` Steve Twiss
2018-06-06  9:50             ` Marek Vasut
2018-06-02 10:11 ` [PATCH v3 07/10] mfd: da9063: Add custom IRQ map " Marek Vasut
2018-06-05  7:47   ` Lee Jones
2018-06-05  7:54     ` Geert Uytterhoeven
2018-06-05  8:24       ` Lee Jones
2018-06-05 19:52   ` Steve Twiss
2018-06-05 22:58     ` Marek Vasut
2018-06-02 10:11 ` [PATCH v3 08/10] mfd: da9063: Register RTC only on DA9063L Marek Vasut
2018-06-05  7:53   ` Lee Jones [this message]
2018-06-05  9:29     ` Marek Vasut
2018-06-06  6:16       ` Lee Jones
2018-06-06  9:17         ` Marek Vasut
2018-06-07  5:04           ` Lee Jones
2018-06-07 10:57             ` Marek Vasut
2018-06-07 13:24               ` Lee Jones
2018-06-02 10:11 ` [PATCH v3 09/10] mfd: da9063: Handle less LDOs " Marek Vasut
2018-06-05  8:18   ` Lee Jones
2018-06-02 10:11 ` [PATCH v3 10/10] mfd: da9063: Add DA9063L support Marek Vasut
2018-06-05  8:18   ` Lee Jones
2018-06-05 19:47   ` Steve Twiss
2018-06-04  7:16 ` [PATCH v3 01/10] mfd: da9063: Fix failpath in core Geert Uytterhoeven
2018-06-04  8:28 ` Vaishali Thakkar
2018-06-04 12:24 ` Lee Jones
2018-06-04 13:08   ` Marek Vasut

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=20180605075321.GM21163@dell \
    --to=lee.jones@linaro.org \
    --cc=broonie@kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=marek.vasut+renesas@gmail.com \
    --cc=marek.vasut@gmail.com \
    --cc=stwiss.opensource@diasemi.com \
    --cc=wsa+renesas@sang-engineering.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).