All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Cc: Matti Vaittinen <mazziesaccount@gmail.com>,
	Lee Jones <lee.jones@linaro.org>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linux-power@fi.rohmeurope.com,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>
Subject: Re: [PATCH 09/15] gpio: support ROHM BD71815 GPOs
Date: Sat, 9 Jan 2021 01:45:50 +0100	[thread overview]
Message-ID: <CACRpkdb4CW0D86dmEOjtuFpTcO2oUZC50MhNQQtfoEQT7G_PFQ@mail.gmail.com> (raw)
In-Reply-To: <e7c5919cc0d95aca09807a828fe3c0018af8828b.1610110144.git.matti.vaittinen@fi.rohmeurope.com>

On Fri, Jan 8, 2021 at 2:39 PM Matti Vaittinen
<matti.vaittinen@fi.rohmeurope.com> wrote:

> Support GPO(s) found from ROHM BD71815 power management IC. The IC has two
> GPO pins but only one is properly documented in data-sheet. The driver
> exposes by default only the documented GPO. The second GPO is connected to
> E5 pin and is marked as GND in data-sheet. Control for this undocumented
> pin can be enabled using a special DT property.
>
> This driver is derived from work by Peter Yang <yanglsh@embest-tech.com>
> although not so much of original is left.
>
> Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>

Overall this looks good!

> +       depends on MFD_ROHM_BD71828

I suppose this makes i possible to merge out-of-order with the
core patches actually.

> +#define DEBUG

Why? Development artifact?

> +#include <linux/kthread.h>

You certainly do not need this.

> +#include <linux/mfd/rohm-bd71815.h>
> +#include <linux/mfd/rohm-generic.h>

I guess registers come from these? Do you need both?
Add a comment about what they provide.

> +       g->chip.ngpio = 1;
> +       if (g->e5_pin_is_gpo)
> +               g->chip.ngpio = 2;

Overwriting value, how not elegant.

if (g->e5_pin_is_gpo)
  g->chip.ngpio = 2;
else
  g->chip.ngpio = 1;

> +       g->chip.parent = pdev->dev.parent;
> +       g->chip.of_node = pdev->dev.parent->of_node;
> +       g->regmap = dev_get_regmap(pdev->dev.parent, NULL);
> +       g->dev = &pdev->dev;
> +
> +       ret = devm_gpiochip_add_data(&pdev->dev, &g->chip, g);
> +       if (ret < 0) {
> +               dev_err(&pdev->dev, "could not register gpiochip, %d\n", ret);
> +               return ret;
> +       }

It's a bit confusing how you use pdev->dev.parent for some stuff
and &pdev->dev for some.

What about assinging

struct device *dev = pdev->dev.parent;

and use dev for all the calls, it looks like it'd work fine.

Yours,
Linus Walleij

  parent reply	other threads:[~2021-01-09  0:47 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-08 13:27 [PATCH 00/15] Support ROHM BD71815 PMIC Matti Vaittinen
2021-01-08 13:29 ` [PATCH 01/15] rtc: bd70528: Do not require parent data Matti Vaittinen
2021-01-08 13:31 ` [PATCH 02/15] clk: BD718x7: Do not depend on parent driver data Matti Vaittinen
2021-01-08 13:32 ` [PATCH 03/15] mfd: bd718x7: simplify by cleaning unnecessary device data Matti Vaittinen
2021-01-08 13:34 ` [PATCH 04/15] dt_bindings: bd71828: Add clock output mode Matti Vaittinen
2021-01-13 13:52   ` Rob Herring
2021-01-13 14:52     ` Matti Vaittinen
2021-01-13 15:52       ` Rob Herring
2021-01-08 13:34 ` [PATCH 05/15] dt_bindings: mfd: Add ROHM BD71815 PMIC Matti Vaittinen
2021-01-11 19:06   ` Rob Herring
2021-01-12  6:14     ` Vaittinen, Matti
2021-01-08 13:36 ` [PATCH 06/15] dt_bindings: regulator: Add ROHM BD71815 PMIC regulators Matti Vaittinen
2021-01-11 19:09   ` Rob Herring
2021-01-12  6:10     ` Matti Vaittinen
2021-01-13 13:53       ` Rob Herring
2021-01-13 14:23         ` Vaittinen, Matti
2021-01-13 15:47           ` Rob Herring
2021-01-08 13:37 ` [PATCH 07/15] mfd: Add ROHM BD71815 ID Matti Vaittinen
2021-01-08 13:37 ` [PATCH 08/15] mfd: Support for ROHM BD71815 PMIC core Matti Vaittinen
2021-01-08 13:39 ` [PATCH 09/15] gpio: support ROHM BD71815 GPOs Matti Vaittinen
2021-01-08 19:28   ` kernel test robot
2021-01-08 19:28     ` kernel test robot
2021-01-09  0:45   ` Linus Walleij [this message]
2021-01-11  6:15     ` Vaittinen, Matti
2021-01-11  7:26       ` Vaittinen, Matti
2021-01-08 13:41 ` [PATCH 10/15] regulator: helpers: Export helper voltage listing Matti Vaittinen
2021-01-08 13:42 ` [PATCH 11/15] regulator: rohm-regulator: SNVS dvs and linear voltage support Matti Vaittinen
2021-01-15  8:26   ` Lee Jones
2021-01-15  9:10     ` Vaittinen, Matti
2021-01-15  9:48     ` Matti Vaittinen
2021-01-08 13:43 ` [PATCH 12/15] regulator: Support ROHM BD71815 regulators Matti Vaittinen
2021-01-08 22:30   ` kernel test robot
2021-01-08 22:30     ` kernel test robot
2021-01-08 13:45 ` [PATCH 13/15] clk: bd718x7: Add support for clk gate on ROHM BD71815 PMIC Matti Vaittinen
2021-01-08 13:46 ` [PATCH 14/15] rtc: bd70528: Support RTC on ROHM BD71815 Matti Vaittinen
2021-01-08 13:46 ` [PATCH 15/15] MAINTAINERS: Add ROHM BD71815AGW Matti Vaittinen

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=CACRpkdb4CW0D86dmEOjtuFpTcO2oUZC50MhNQQtfoEQT7G_PFQ@mail.gmail.com \
    --to=linus.walleij@linaro.org \
    --cc=bgolaszewski@baylibre.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-power@fi.rohmeurope.com \
    --cc=matti.vaittinen@fi.rohmeurope.com \
    --cc=mazziesaccount@gmail.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 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.