All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Chen-Yu Tsai <wens@csie.org>, Jonathan Cameron <jic23@kernel.org>,
	Lee Jones <lee.jones@linaro.org>,
	Sebastian Reichel <sre@kernel.org>,
	Mark Brown <broonie@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Lars-Peter Clausen <lars@metafoo.de>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	quic_gurus@quicinc.com,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	Michael Walle <michael@walle.cc>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-iio <linux-iio@vger.kernel.org>,
	Linux PM <linux-pm@vger.kernel.org>
Subject: Re: [PATCH v3 13/16] pinctrl: Add AXP192 pin control driver
Date: Sun, 19 Jun 2022 13:25:03 +0200	[thread overview]
Message-ID: <CAHp75VdTFF0r8oiYxavoGVo9ShLLaveU1p2BNzzqVgu2eKCBaw@mail.gmail.com> (raw)
In-Reply-To: <CAHp75Vev77nG-Ui9cp9Bz8KPcq67E3htCTYnu4NNMV0_UP9=rw@mail.gmail.com>

On Sun, Jun 19, 2022 at 1:20 PM Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Sat, Jun 18, 2022 at 11:40 PM Aidan MacDonald
> <aidanmacdonald.0x0@gmail.com> wrote:

Hit 'Send' accidentally, here is the rest of the review, including
previous comments.

...

> > +config PINCTRL_AXP192
> > +       tristate "X-Powers AXP192 PMIC pinctrl and GPIO Support"
> > +       depends on MFD_AXP20X
>
>
> > +       depends on OF
>
> Why?
>
> > +       select PINMUX
> > +       select GENERIC_PINCONF
> > +       select GPIOLIB
>
> ...
>
> > +#include <linux/of.h>
> > +#include <linux/of_device.h>
>
> Why?

Perhaps you missed mod_devicetable.h.

> ...
>
> > +struct axp192_pctl_function {
> > +       const char              *name;
> > +       /* Mux value written to the control register to select the function (-1 if unsupported) */
>
> Comment is misleading. -1 can't be a value of unsigned type.
>
> > +       const u8                *muxvals;
> > +       const char * const      *groups;
> > +       unsigned int            ngroups;
> > +};
>
> ...
>
> > +struct axp192_pctl_desc {
> > +       unsigned int                            npins;
> > +       const struct pinctrl_pin_desc           *pins;
> > +       /* Description of the function control register for each pin */
> > +       const struct axp192_pctl_reg_info       *ctrl_regs;
> > +       /* Description of the output signal register for each pin */
> > +       const struct axp192_pctl_reg_info       *out_regs;
> > +       /* Description of the input signal register for each pin */
> > +       const struct axp192_pctl_reg_info       *in_regs;
> > +       /* Description of the pull down resistor config register for each pin */
>
> Can you just convert these comments to a kernel-doc?
>
> > +       const struct axp192_pctl_reg_info       *pull_down_regs;
> > +
> > +       unsigned int                            nfunctions;
> > +       const struct axp192_pctl_function       *functions;
> > +};
>
> ...
>
> > +
> > +
>
> One blank line is enough.
>
> ...
>
> > +       switch (param) {
> > +       case PIN_CONFIG_BIAS_DISABLE:
> > +               ret = axp192_pinconf_get_pull_down(pctldev, pin);
> > +               if (ret < 0)
> > +                       return ret;
>
> > +               else if (ret != 0)
>
> 1. Redundant 'else'
> 2. if (ret > 0)
>
> > +                       return -EINVAL;
> > +               break;
> > +
> > +       case PIN_CONFIG_BIAS_PULL_DOWN:
> > +               ret = axp192_pinconf_get_pull_down(pctldev, pin);
> > +               if (ret < 0)
> > +                       return ret;
> > +               else if (ret == 0)
>
> Ditto.
>
> Looking at this I would rather expect the function to return something
> defined, than 0, non-0.
>
> > +                       return -EINVAL;
> > +               break;
>
> > +       default:
> > +               return -ENOTSUPP;
> > +       }
>
> ...
>
> > +       for (cfg = 0; cfg < num_configs; ++cfg) {
>
> cfg++ will work the same way and easier to read.

...

You may make some lines shorter by introducing here

  struct device *dev = &pdev->dev;

> > +       struct axp20x_dev *axp20x = dev_get_drvdata(pdev->dev.parent);

dev->parent

and so on...

...

> > +       pctl->pctl_dev = devm_pinctrl_register(&pdev->dev, pctrl_desc, pctl);
> > +       if (IS_ERR(pctl->pctl_dev))
> > +               dev_err_probe(&pdev->dev, PTR_ERR(pctl->pctl_dev),
> > +                             "couldn't register pinctrl driver\n");

With the above it probably fits one line.

-- 
With Best Regards,
Andy Shevchenko

  reply	other threads:[~2022-06-19 11:25 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-18 21:39 [PATCH v3 00/16] Add support for AXP192 PMIC Aidan MacDonald
2022-06-18 21:39 ` [PATCH v3 01/16] regmap-irq: Use sub_irq_reg() to calculate unmask register address Aidan MacDonald
2022-06-18 21:39 ` [PATCH v3 02/16] regmap-irq: Add get_irq_reg to support unusual register layouts Aidan MacDonald
2022-06-18 21:39 ` [PATCH v3 03/16] dt-bindings: mfd: add bindings for AXP192 MFD device Aidan MacDonald
2022-06-19  3:21   ` Chen-Yu Tsai
2022-06-18 21:39 ` [PATCH v3 04/16] dt-bindings: iio: adc: axp209: Add AXP192 compatible Aidan MacDonald
2022-06-19  3:26   ` Chen-Yu Tsai
2022-06-18 21:39 ` [PATCH v3 05/16] dt-bindings: power: supply: axp20x: " Aidan MacDonald
2022-06-19  3:34   ` Chen-Yu Tsai
2022-06-18 21:39 ` [PATCH v3 06/16] dt-bindings: gpio: Add AXP192 GPIO bindings Aidan MacDonald
2022-06-19 11:12   ` Krzysztof Kozlowski
2022-06-19 17:20   ` Rob Herring
2022-06-18 21:40 ` [PATCH v3 07/16] dt-bindings: power: axp20x-battery: Add AXP192 compatible Aidan MacDonald
2022-06-18 21:40 ` [PATCH v3 08/16] mfd: axp20x: Add support for AXP192 Aidan MacDonald
2022-06-19 10:44   ` Andy Shevchenko
2022-06-18 21:40 ` [PATCH v3 09/16] regulator: " Aidan MacDonald
2022-06-19 10:46   ` Andy Shevchenko
2022-06-18 21:40 ` [PATCH v3 10/16] iio: adc: axp20x_adc: Minor code cleanups Aidan MacDonald
2022-06-19  3:56   ` Chen-Yu Tsai
2022-06-19 11:01     ` Jonathan Cameron
2022-06-19 10:51   ` Andy Shevchenko
2022-06-18 21:40 ` [PATCH v3 11/16] iio: adc: axp20x_adc: Add support for AXP192 Aidan MacDonald
2022-06-19 10:55   ` Andy Shevchenko
2022-06-19 11:13   ` Jonathan Cameron
2022-06-19 15:11     ` Aidan MacDonald
2022-06-18 21:40 ` [PATCH v3 12/16] power: supply: axp20x_usb_power: " Aidan MacDonald
2022-06-19  3:34   ` Chen-Yu Tsai
2022-06-19 11:02   ` Andy Shevchenko
2022-06-18 21:40 ` [PATCH v3 13/16] pinctrl: Add AXP192 pin control driver Aidan MacDonald
2022-06-18 21:59   ` Randy Dunlap
2022-06-19 11:20   ` Andy Shevchenko
2022-06-19 11:25     ` Andy Shevchenko [this message]
2022-06-27  8:10   ` Michael Walle
2022-06-27 13:12     ` Aidan MacDonald
2022-06-30  7:26       ` Michael Walle
2022-07-01 15:51         ` Aidan MacDonald
2022-06-18 21:40 ` [PATCH v3 14/16] power: axp20x_battery: Add constant charge current table Aidan MacDonald
2022-06-19 11:29   ` Andy Shevchenko
2022-06-18 21:40 ` [PATCH v3 15/16] power: axp20x_battery: Support battery status without fuel gauge Aidan MacDonald
2022-06-18 21:40 ` [PATCH v3 16/16] power: axp20x_battery: Add support for AXP192 Aidan MacDonald
     [not found] ` <CAHp75VfrzQFq4u0vMtPM7LRYNcQQC-padQ1yyFijbpWx8_LwBQ@mail.gmail.com>
2022-06-19 11:17   ` [PATCH v3 00/16] Add support for AXP192 PMIC Jonathan Cameron
2022-06-19 11:12     ` Andy Shevchenko
2022-06-19 14:54       ` Aidan MacDonald

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=CAHp75VdTFF0r8oiYxavoGVo9ShLLaveU1p2BNzzqVgu2eKCBaw@mail.gmail.com \
    --to=andy.shevchenko@gmail.com \
    --cc=aidanmacdonald.0x0@gmail.com \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jic23@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lars@metafoo.de \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=michael@walle.cc \
    --cc=quic_gurus@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sebastian.reichel@collabora.com \
    --cc=sre@kernel.org \
    --cc=wens@csie.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.