[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZG3vzxWicUgndMqv@smile.fi.intel.com>
Date: Wed, 24 May 2023 14:06:55 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Andre Przywara <andre.przywara@....com>
Cc: Maxim Kiselev <bigunclemax@...il.com>, linux-iio@...r.kernel.org,
Jonathan Cameron <jic23@...nel.org>,
Lars-Peter Clausen <lars@...afoo.de>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Samuel Holland <samuel@...lland.org>,
Conor Dooley <conor@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Philipp Zabel <p.zabel@...gutronix.de>,
Cosmin Tanislav <demonsingur@...il.com>,
Haibo Chen <haibo.chen@....com>,
ChiYuan Huang <cy_huang@...htek.com>,
Ramona Bolboaca <ramona.bolboaca@...log.com>,
Ibrahim Tilki <Ibrahim.Tilki@...log.com>,
ChiaEn Wu <chiaen_wu@...htek.com>,
William Breathitt Gray <william.gray@...aro.org>,
Arnd Bergmann <arnd@...db.de>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Caleb Connolly <caleb.connolly@...aro.org>,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-sunxi@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org
Subject: Re: [RFC PATCH v1 1/4] iio: adc: Add Allwinner D1/T113s/R329 SoCs
GPADC
On Wed, May 24, 2023 at 11:01:05AM +0100, Andre Przywara wrote:
> On Wed, 24 May 2023 11:27:30 +0300
> Maxim Kiselev <bigunclemax@...il.com> wrote:
...
> > +static const struct regmap_config sun20i_gpadc_regmap_config = {
> > + .reg_bits = 32,
> > + .val_bits = 32,
> > + .reg_stride = 4,
> > + .fast_io = true,
> > +};
>
> Is there any particular reason you chose a regmap to model this here?
> Isn't that just straight-forward MMIO, which we could just drive using
> readl()/writel()?
Even though regmap adds a few nice features that might be used.
For example, locking. But I dunno if this driver actually uses it
OR uses it correctly.
...
> > + config = of_device_get_match_data(&pdev->dev);
Please, avoid using OF-centric APIs in the new IIO drivers.
config = device_get_match_data(&pdev->dev);
should suffice.
> > + if (!config)
> > + return -ENODEV;
...
> > + irq = platform_get_irq(pdev, 0);
> > + if (irq < 0)
> > + return dev_err_probe(&pdev->dev, irq, "failed to get irq\n");
We should not repeat the message that printed by platform core.
...
> > + ret = devm_request_irq(&pdev->dev, irq, sun20i_gpadc_irq_handler,
> > + 0, dev_name(&pdev->dev), info);
You can simplify your life with
struct device *dev = &pdev->dev;
at the definition block of the function.
> > + if (ret < 0)
> > + return dev_err_probe(&pdev->dev, ret,
> > + "failed requesting irq %d\n", irq);
...
> > + .data = &sun20i_d1_gpadc_channels[1]
Also, leave comma here.
...
> > + .data = &sun50i_r329_gpadc_channels[2]
Same as above.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists