All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] regulator: bd718x7: Remove double indirection for bd718xx_pmic_inits.rdatas
Date: Mon, 29 Oct 2018 10:30:25 +0200	[thread overview]
Message-ID: <20181029083025.GA20774@localhost.localdomain> (raw)
In-Reply-To: <20181028160922.24618-1-geert@linux-m68k.org>


On Sun, Oct 28, 2018 at 05:09:22PM +0100, Geert Uytterhoeven wrote:
> With gcc 4.1:
> 
>     drivers/regulator/bd718x7-regulator.c: In function ‘bd718xx_probe’:
>     drivers/regulator/bd718x7-regulator.c:1020: warning: initialization from incompatible pointer type
>     drivers/regulator/bd718x7-regulator.c:1024: warning: initialization from incompatible pointer type
> 
> Apparently this old compiler can't handle the obscure double
> indirection.

That was surprizing for me. Besides I don't see why this is obscure ;)

> However, there is no need for a double indirection.  Just store a
> pointer to the array instead, like other drivers tend to do.

But that's _exactly_ what we have here. A pointer to an array of
structs, not pointer to a struct - or pointer to the first member of an
array =)

But this is one of the cases where practicality should be preferred. And
you are correct. It is easier to understand when we have simple pointer
to a struct - and moreover it should work on all compilers, right?
So this looks good to me.

> Fixes: 494edd266b945f36 ("regulator/mfd: Support ROHM BD71847 power management IC")
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> Compile-tested only.
> ---
>  drivers/regulator/bd718x7-regulator.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/regulator/bd718x7-regulator.c b/drivers/regulator/bd718x7-regulator.c
> index 3a47e0372e77c812..fff5bc4faa2c99aa 100644
> --- a/drivers/regulator/bd718x7-regulator.c
> +++ b/drivers/regulator/bd718x7-regulator.c
> @@ -1007,7 +1007,7 @@ static const struct bd718xx_regulator_data bd71837_regulators[] = {
>  };
>  
>  struct bd718xx_pmic_inits {
> -	const struct bd718xx_regulator_data (*r_datas)[];
> +	const struct bd718xx_regulator_data *r_datas;
>  	unsigned int r_amount;
>  };
>  
> @@ -1017,11 +1017,11 @@ static int bd718xx_probe(struct platform_device *pdev)
>  	struct regulator_config config = { 0 };
>  	struct bd718xx_pmic_inits pmic_regulators[] = {
>  		[BD718XX_TYPE_BD71837] = {
> -			.r_datas = &bd71837_regulators,
> +			.r_datas = bd71837_regulators,
>  			.r_amount = ARRAY_SIZE(bd71837_regulators),
>  		},
>  		[BD718XX_TYPE_BD71847] = {
> -			.r_datas = &bd71847_regulators,
> +			.r_datas = bd71847_regulators,
>  			.r_amount = ARRAY_SIZE(bd71847_regulators),
>  		},
>  	};
> @@ -1059,7 +1059,7 @@ static int bd718xx_probe(struct platform_device *pdev)
>  		struct regulator_dev *rdev;
>  		const struct bd718xx_regulator_data *r;
>  
> -		r = &(*pmic_regulators[mfd->chip_type].r_datas)[i];
> +		r = &pmic_regulators[mfd->chip_type].r_datas[i];
>  		desc = &r->desc;
>  
>  		config.dev = pdev->dev.parent;
> -- 
> 2.17.1
> 

-- 
Matti Vaittinen
ROHM Semiconductors

~~~ "I don't think so," said Rene Descartes.  Just then, he vanished ~~~

      reply	other threads:[~2018-10-29  8:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-28 16:09 [PATCH] regulator: bd718x7: Remove double indirection for bd718xx_pmic_inits.rdatas Geert Uytterhoeven
2018-10-29  8:30 ` Matti Vaittinen [this message]

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=20181029083025.GA20774@localhost.localdomain \
    --to=matti.vaittinen@fi.rohmeurope.com \
    --cc=arnd@arndb.de \
    --cc=broonie@kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.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.