[<prev] [next>] [day] [month] [year] [list]
Message-ID: <e7350d62-8dc2-8bae-e514-3b99c3abaf74@omp.ru>
Date: Thu, 20 Jul 2023 12:45:54 +0300
From: Sergey Shtylyov <s.shtylyov@....ru>
To: <nikita.shubin@...uefel.me>,
Hartley Sweeten <hsweeten@...ionengravers.com>,
Lennert Buytenhek <kernel@...tstofly.org>,
Alexander Sverdlin <alexander.sverdlin@...il.com>,
Russell King <linux@...linux.org.uk>,
Lukasz Majewski <lukma@...x.de>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Alessandro Zummo <a.zummo@...ertech.it>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Wim Van Sebroeck <wim@...ux-watchdog.org>,
Guenter Roeck <linux@...ck-us.net>,
Sebastian Reichel <sre@...nel.org>,
Thierry Reding <thierry.reding@...il.com>,
Uwe Kleine-König <u.kleine-koenig@...gutronix.de>,
Mark Brown <broonie@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Vinod Koul <vkoul@...nel.org>,
Miquel Raynal <miquel.raynal@...tlin.com>,
Richard Weinberger <richard@....at>,
Vignesh Raghavendra <vigneshr@...com>,
Damien Le Moal <dlemoal@...nel.org>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Arnd Bergmann <arnd@...db.de>, Olof Johansson <olof@...om.net>,
<soc@...nel.org>, Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Andy Shevchenko <andy@...nel.org>,
Michael Peters <mpeters@...eddedTS.com>,
Kris Bahnsen <kris@...eddedTS.com>
CC: <linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <linux-gpio@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-clk@...r.kernel.org>,
<linux-rtc@...r.kernel.org>, <linux-watchdog@...r.kernel.org>,
<linux-pm@...r.kernel.org>, <linux-pwm@...r.kernel.org>,
<linux-spi@...r.kernel.org>, <netdev@...r.kernel.org>,
<dmaengine@...r.kernel.org>, <linux-mtd@...ts.infradead.org>,
<linux-ide@...r.kernel.org>, <linux-input@...r.kernel.org>,
<alsa-devel@...a-project.org>
Subject: Re: [PATCH v3 26/42] ata: pata_ep93xx: add device tree support
On 7/20/23 2:29 PM, Nikita Shubin via B4 Relay wrote:
> From: Nikita Shubin <nikita.shubin@...uefel.me>
>
> - Add OF ID match table
> - Drop ep93xx_chip_revision and use soc_device_match instead
>
> Signed-off-by: Nikita Shubin <nikita.shubin@...uefel.me>
> ---
> drivers/ata/pata_ep93xx.c | 26 ++++++++++++++++++++------
> 1 file changed, 20 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/ata/pata_ep93xx.c b/drivers/ata/pata_ep93xx.c
> index c6e043e05d43..a88824dfc5fa 100644
> --- a/drivers/ata/pata_ep93xx.c
> +++ b/drivers/ata/pata_ep93xx.c
[...]
> @@ -910,6 +912,12 @@ static struct ata_port_operations ep93xx_pata_port_ops = {
> .port_start = ep93xx_pata_port_start,
> };
>
> +static const struct soc_device_attribute ep93xx_soc_table[] = {
> + { .revision = "E1", .data = (void *)ATA_UDMA3 },
> + { .revision = "E2", .data = (void *)ATA_UDMA4 },
> + { /* sentinel */ }
> +};
> +
> static int ep93xx_pata_probe(struct platform_device *pdev)
> {
> struct ep93xx_pata_data *drv_data;
> @@ -939,7 +947,7 @@ static int ep93xx_pata_probe(struct platform_device *pdev)
>
> drv_data = devm_kzalloc(&pdev->dev, sizeof(*drv_data), GFP_KERNEL);
> if (!drv_data) {
> - err = -ENXIO;
> + err = -ENOMEM;
> goto err_rel_gpio;
> }
>
Hm, deserves its own patch. And even for this one, you should've documented it
in the patch secription...
> @@ -976,12 +984,11 @@ static int ep93xx_pata_probe(struct platform_device *pdev)
> * so this driver supports only UDMA modes.
> */
> if (drv_data->dma_rx_channel && drv_data->dma_tx_channel) {
> - int chip_rev = ep93xx_chip_revision();
> + const struct soc_device_attribute *match;
>
> - if (chip_rev == EP93XX_CHIP_REV_E1)
> - ap->udma_mask = ATA_UDMA3;
> - else if (chip_rev == EP93XX_CHIP_REV_E2)
> - ap->udma_mask = ATA_UDMA4;
> + match = soc_device_match(ep93xx_soc_table);
> + if (match)
> + ap->udma_mask = (unsigned int) match->data;
> else
> ap->udma_mask = ATA_UDMA2;
> }
This one also looks as it could have been done separately -- before the DT
conversion?
[...]
MBR, Sergey
Powered by blists - more mailing lists