2023-10-06 10:58:27

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/2] mmc: sdhci-pltfm: Drop unnecessary error messages in sdhci_pltfm_init()

The devm_platform_ioremap_resource() and platform_get_irq() print
the error messages themselves and our "failed" one brings no value
and just noise. Refactor code to avoid those noisy error messages.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/mmc/host/sdhci-pltfm.c | 22 +++++++---------------
1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
index a72e123a585d..4d1a703a5bdb 100644
--- a/drivers/mmc/host/sdhci-pltfm.c
+++ b/drivers/mmc/host/sdhci-pltfm.c
@@ -115,26 +115,21 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
{
struct sdhci_host *host;
void __iomem *ioaddr;
- int irq, ret;
+ int irq;

ioaddr = devm_platform_ioremap_resource(pdev, 0);
- if (IS_ERR(ioaddr)) {
- ret = PTR_ERR(ioaddr);
- goto err;
- }
+ if (IS_ERR(ioaddr))
+ return ERR_CAST(ioaddr);

irq = platform_get_irq(pdev, 0);
- if (irq < 0) {
- ret = irq;
- goto err;
- }
+ if (irq < 0)
+ return ERR_PTR(irq);

host = sdhci_alloc_host(&pdev->dev,
sizeof(struct sdhci_pltfm_host) + priv_size);
-
if (IS_ERR(host)) {
- ret = PTR_ERR(host);
- goto err;
+ dev_err(&pdev->dev, "%s failed %pe\n", __func__, host);
+ return ERR_CAST(host);
}

host->ioaddr = ioaddr;
@@ -152,9 +147,6 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
platform_set_drvdata(pdev, host);

return host;
-err:
- dev_err(&pdev->dev, "%s failed %d\n", __func__, ret);
- return ERR_PTR(ret);
}
EXPORT_SYMBOL_GPL(sdhci_pltfm_init);

--
2.40.0.1.gaa8946217a0b


2023-10-06 10:58:38

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 2/2] mmc: sdhci-pltfm: Make driver OF independent

Since we have device_is_compatible() API, drop OF dependency
in the driver.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/mmc/host/sdhci-pltfm.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
index 4d1a703a5bdb..62753d72198a 100644
--- a/drivers/mmc/host/sdhci-pltfm.c
+++ b/drivers/mmc/host/sdhci-pltfm.c
@@ -19,7 +19,6 @@
#include <linux/err.h>
#include <linux/module.h>
#include <linux/property.h>
-#include <linux/of.h>
#ifdef CONFIG_PPC
#include <asm/machdep.h>
#endif
@@ -56,19 +55,16 @@ static bool sdhci_wp_inverted(struct device *dev)

static void sdhci_get_compatibility(struct platform_device *pdev)
{
+ struct device *dev = &pdev->dev;
struct sdhci_host *host = platform_get_drvdata(pdev);
- struct device_node *np = pdev->dev.of_node;

- if (!np)
- return;
-
- if (of_device_is_compatible(np, "fsl,p2020-rev1-esdhc"))
+ if (device_is_compatible(dev, "fsl,p2020-rev1-esdhc"))
host->quirks |= SDHCI_QUIRK_BROKEN_DMA;

- if (of_device_is_compatible(np, "fsl,p2020-esdhc") ||
- of_device_is_compatible(np, "fsl,p1010-esdhc") ||
- of_device_is_compatible(np, "fsl,t4240-esdhc") ||
- of_device_is_compatible(np, "fsl,mpc8536-esdhc"))
+ if (device_is_compatible(dev, "fsl,p2020-esdhc") ||
+ device_is_compatible(dev, "fsl,p1010-esdhc") ||
+ device_is_compatible(dev, "fsl,t4240-esdhc") ||
+ device_is_compatible(dev, "fsl,mpc8536-esdhc"))
host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
}

--
2.40.0.1.gaa8946217a0b

2023-10-09 16:36:16

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH v1 1/2] mmc: sdhci-pltfm: Drop unnecessary error messages in sdhci_pltfm_init()

On 6/10/23 13:58, Andy Shevchenko wrote:
> The devm_platform_ioremap_resource() and platform_get_irq() print
> the error messages themselves and our "failed" one brings no value
> and just noise. Refactor code to avoid those noisy error messages.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Acked-by: Adrian Hunter <[email protected]>

> ---
> drivers/mmc/host/sdhci-pltfm.c | 22 +++++++---------------
> 1 file changed, 7 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
> index a72e123a585d..4d1a703a5bdb 100644
> --- a/drivers/mmc/host/sdhci-pltfm.c
> +++ b/drivers/mmc/host/sdhci-pltfm.c
> @@ -115,26 +115,21 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
> {
> struct sdhci_host *host;
> void __iomem *ioaddr;
> - int irq, ret;
> + int irq;
>
> ioaddr = devm_platform_ioremap_resource(pdev, 0);
> - if (IS_ERR(ioaddr)) {
> - ret = PTR_ERR(ioaddr);
> - goto err;
> - }
> + if (IS_ERR(ioaddr))
> + return ERR_CAST(ioaddr);
>
> irq = platform_get_irq(pdev, 0);
> - if (irq < 0) {
> - ret = irq;
> - goto err;
> - }
> + if (irq < 0)
> + return ERR_PTR(irq);
>
> host = sdhci_alloc_host(&pdev->dev,
> sizeof(struct sdhci_pltfm_host) + priv_size);
> -
> if (IS_ERR(host)) {
> - ret = PTR_ERR(host);
> - goto err;
> + dev_err(&pdev->dev, "%s failed %pe\n", __func__, host);
> + return ERR_CAST(host);
> }
>
> host->ioaddr = ioaddr;
> @@ -152,9 +147,6 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
> platform_set_drvdata(pdev, host);
>
> return host;
> -err:
> - dev_err(&pdev->dev, "%s failed %d\n", __func__, ret);
> - return ERR_PTR(ret);
> }
> EXPORT_SYMBOL_GPL(sdhci_pltfm_init);
>

2023-10-09 17:00:37

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH v1 2/2] mmc: sdhci-pltfm: Make driver OF independent

On 6/10/23 13:58, Andy Shevchenko wrote:
> Since we have device_is_compatible() API, drop OF dependency
> in the driver.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Acked-by: Adrian Hunter <[email protected]>

> ---
> drivers/mmc/host/sdhci-pltfm.c | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
> index 4d1a703a5bdb..62753d72198a 100644
> --- a/drivers/mmc/host/sdhci-pltfm.c
> +++ b/drivers/mmc/host/sdhci-pltfm.c
> @@ -19,7 +19,6 @@
> #include <linux/err.h>
> #include <linux/module.h>
> #include <linux/property.h>
> -#include <linux/of.h>
> #ifdef CONFIG_PPC
> #include <asm/machdep.h>
> #endif
> @@ -56,19 +55,16 @@ static bool sdhci_wp_inverted(struct device *dev)
>
> static void sdhci_get_compatibility(struct platform_device *pdev)
> {
> + struct device *dev = &pdev->dev;
> struct sdhci_host *host = platform_get_drvdata(pdev);
> - struct device_node *np = pdev->dev.of_node;
>
> - if (!np)
> - return;
> -
> - if (of_device_is_compatible(np, "fsl,p2020-rev1-esdhc"))
> + if (device_is_compatible(dev, "fsl,p2020-rev1-esdhc"))
> host->quirks |= SDHCI_QUIRK_BROKEN_DMA;
>
> - if (of_device_is_compatible(np, "fsl,p2020-esdhc") ||
> - of_device_is_compatible(np, "fsl,p1010-esdhc") ||
> - of_device_is_compatible(np, "fsl,t4240-esdhc") ||
> - of_device_is_compatible(np, "fsl,mpc8536-esdhc"))
> + if (device_is_compatible(dev, "fsl,p2020-esdhc") ||
> + device_is_compatible(dev, "fsl,p1010-esdhc") ||
> + device_is_compatible(dev, "fsl,t4240-esdhc") ||
> + device_is_compatible(dev, "fsl,mpc8536-esdhc"))
> host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
> }
>

2023-10-10 14:28:29

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH v1 2/2] mmc: sdhci-pltfm: Make driver OF independent

On Fri, 6 Oct 2023 at 12:58, Andy Shevchenko
<[email protected]> wrote:
>
> Since we have device_is_compatible() API, drop OF dependency
> in the driver.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Applied for next, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/host/sdhci-pltfm.c | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
> index 4d1a703a5bdb..62753d72198a 100644
> --- a/drivers/mmc/host/sdhci-pltfm.c
> +++ b/drivers/mmc/host/sdhci-pltfm.c
> @@ -19,7 +19,6 @@
> #include <linux/err.h>
> #include <linux/module.h>
> #include <linux/property.h>
> -#include <linux/of.h>
> #ifdef CONFIG_PPC
> #include <asm/machdep.h>
> #endif
> @@ -56,19 +55,16 @@ static bool sdhci_wp_inverted(struct device *dev)
>
> static void sdhci_get_compatibility(struct platform_device *pdev)
> {
> + struct device *dev = &pdev->dev;
> struct sdhci_host *host = platform_get_drvdata(pdev);
> - struct device_node *np = pdev->dev.of_node;
>
> - if (!np)
> - return;
> -
> - if (of_device_is_compatible(np, "fsl,p2020-rev1-esdhc"))
> + if (device_is_compatible(dev, "fsl,p2020-rev1-esdhc"))
> host->quirks |= SDHCI_QUIRK_BROKEN_DMA;
>
> - if (of_device_is_compatible(np, "fsl,p2020-esdhc") ||
> - of_device_is_compatible(np, "fsl,p1010-esdhc") ||
> - of_device_is_compatible(np, "fsl,t4240-esdhc") ||
> - of_device_is_compatible(np, "fsl,mpc8536-esdhc"))
> + if (device_is_compatible(dev, "fsl,p2020-esdhc") ||
> + device_is_compatible(dev, "fsl,p1010-esdhc") ||
> + device_is_compatible(dev, "fsl,t4240-esdhc") ||
> + device_is_compatible(dev, "fsl,mpc8536-esdhc"))
> host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
> }
>
> --
> 2.40.0.1.gaa8946217a0b
>

2023-10-10 14:28:33

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH v1 1/2] mmc: sdhci-pltfm: Drop unnecessary error messages in sdhci_pltfm_init()

On Fri, 6 Oct 2023 at 12:58, Andy Shevchenko
<[email protected]> wrote:
>
> The devm_platform_ioremap_resource() and platform_get_irq() print
> the error messages themselves and our "failed" one brings no value
> and just noise. Refactor code to avoid those noisy error messages.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Applied for next, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/host/sdhci-pltfm.c | 22 +++++++---------------
> 1 file changed, 7 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
> index a72e123a585d..4d1a703a5bdb 100644
> --- a/drivers/mmc/host/sdhci-pltfm.c
> +++ b/drivers/mmc/host/sdhci-pltfm.c
> @@ -115,26 +115,21 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
> {
> struct sdhci_host *host;
> void __iomem *ioaddr;
> - int irq, ret;
> + int irq;
>
> ioaddr = devm_platform_ioremap_resource(pdev, 0);
> - if (IS_ERR(ioaddr)) {
> - ret = PTR_ERR(ioaddr);
> - goto err;
> - }
> + if (IS_ERR(ioaddr))
> + return ERR_CAST(ioaddr);
>
> irq = platform_get_irq(pdev, 0);
> - if (irq < 0) {
> - ret = irq;
> - goto err;
> - }
> + if (irq < 0)
> + return ERR_PTR(irq);
>
> host = sdhci_alloc_host(&pdev->dev,
> sizeof(struct sdhci_pltfm_host) + priv_size);
> -
> if (IS_ERR(host)) {
> - ret = PTR_ERR(host);
> - goto err;
> + dev_err(&pdev->dev, "%s failed %pe\n", __func__, host);
> + return ERR_CAST(host);
> }
>
> host->ioaddr = ioaddr;
> @@ -152,9 +147,6 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
> platform_set_drvdata(pdev, host);
>
> return host;
> -err:
> - dev_err(&pdev->dev, "%s failed %d\n", __func__, ret);
> - return ERR_PTR(ret);
> }
> EXPORT_SYMBOL_GPL(sdhci_pltfm_init);
>
> --
> 2.40.0.1.gaa8946217a0b
>