Re: [PATCH 3/9] drivers: ata: ahci_tegra: use devm_platform_ioremap_resource()
On 8/20/19 2:35 PM, Enrico Weigelt, metux IT consult wrote: > Use the new helper that wraps the calls to platform_get_resource() > and devm_ioremap_resource() together. > > Signed-off-by: Enrico Weigelt, metux IT consult > --- > drivers/ata/ahci_tegra.c | 13 + > 1 file changed, 5 insertions(+), 8 deletions(-) > > diff --git a/drivers/ata/ahci_tegra.c b/drivers/ata/ahci_tegra.c > index e3163da..3845c23 100644 > --- a/drivers/ata/ahci_tegra.c > +++ b/drivers/ata/ahci_tegra.c > @@ -481,7 +481,6 @@ static int tegra_ahci_probe(struct platform_device *pdev) > { > struct ahci_host_priv *hpriv; > struct tegra_ahci_priv *tegra; > - struct resource *res; > int ret; > unsigned int i; > > @@ -498,19 +497,17 @@ static int tegra_ahci_probe(struct platform_device > *pdev) > tegra->pdev = pdev; > tegra->soc = of_device_get_match_data(>dev); > > - res = platform_get_resource(pdev, IORESOURCE_MEM, 1); > - tegra->sata_regs = devm_ioremap_resource(>dev, res); > + tegra->sata_regs = devm_platform_ioremap_resource(pdev, 1); > if (IS_ERR(tegra->sata_regs)) > return PTR_ERR(tegra->sata_regs); > > /* >* AUX registers is optional. >*/ > - res = platform_get_resource(pdev, IORESOURCE_MEM, 2); > - if (res) { > - tegra->sata_aux_regs = devm_ioremap_resource(>dev, res); > - if (IS_ERR(tegra->sata_aux_regs)) > - return PTR_ERR(tegra->sata_aux_regs); > + tegra->sata_aux_regs = devm_platform_ioremap_resource(pdev, 2); This conversion is incorrect - despite the resource being optional we will get error message from devm_[platform_]ioremap_resource() (it always prints an error on !res condition). > + if (IS_ERR(tegra->sata_aux_regs)) { > + dev_info(>dev, "Cant get aux registers (optional)"); No need for this message. > + tegra->sata_aux_regs = NULL; > } > > tegra->sata_rst = devm_reset_control_get(>dev, "sata"); Best regards, -- Bartlomiej Zolnierkiewicz Samsung R Institute Poland Samsung Electronics
[PATCH 3/9] drivers: ata: ahci_tegra: use devm_platform_ioremap_resource()
Use the new helper that wraps the calls to platform_get_resource() and devm_ioremap_resource() together. Signed-off-by: Enrico Weigelt, metux IT consult --- drivers/ata/ahci_tegra.c | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/ata/ahci_tegra.c b/drivers/ata/ahci_tegra.c index e3163da..3845c23 100644 --- a/drivers/ata/ahci_tegra.c +++ b/drivers/ata/ahci_tegra.c @@ -481,7 +481,6 @@ static int tegra_ahci_probe(struct platform_device *pdev) { struct ahci_host_priv *hpriv; struct tegra_ahci_priv *tegra; - struct resource *res; int ret; unsigned int i; @@ -498,19 +497,17 @@ static int tegra_ahci_probe(struct platform_device *pdev) tegra->pdev = pdev; tegra->soc = of_device_get_match_data(>dev); - res = platform_get_resource(pdev, IORESOURCE_MEM, 1); - tegra->sata_regs = devm_ioremap_resource(>dev, res); + tegra->sata_regs = devm_platform_ioremap_resource(pdev, 1); if (IS_ERR(tegra->sata_regs)) return PTR_ERR(tegra->sata_regs); /* * AUX registers is optional. */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 2); - if (res) { - tegra->sata_aux_regs = devm_ioremap_resource(>dev, res); - if (IS_ERR(tegra->sata_aux_regs)) - return PTR_ERR(tegra->sata_aux_regs); + tegra->sata_aux_regs = devm_platform_ioremap_resource(pdev, 2); + if (IS_ERR(tegra->sata_aux_regs)) { + dev_info(>dev, "Cant get aux registers (optional)"); + tegra->sata_aux_regs = NULL; } tegra->sata_rst = devm_reset_control_get(>dev, "sata"); -- 1.9.1
Re: [PATCH 3/9] drivers: ata: ahci_tegra: use devm_platform_ioremap_resource()
On 12/03/2019 09:19, Enrico Weigelt, metux IT consult wrote: > Use the new helper that wraps the calls to platform_get_resource() > and devm_ioremap_resource() together. > > Signed-off-by: Enrico Weigelt, metux IT consult > --- > drivers/ata/ahci_tegra.c | 13 + > 1 file changed, 5 insertions(+), 8 deletions(-) > > diff --git a/drivers/ata/ahci_tegra.c b/drivers/ata/ahci_tegra.c > index 004f260..88748ca 100644 > --- a/drivers/ata/ahci_tegra.c > +++ b/drivers/ata/ahci_tegra.c > @@ -490,7 +490,6 @@ static int tegra_ahci_probe(struct platform_device *pdev) > { > struct ahci_host_priv *hpriv; > struct tegra_ahci_priv *tegra; > - struct resource *res; > int ret; > unsigned int i; > > @@ -507,19 +506,17 @@ static int tegra_ahci_probe(struct platform_device > *pdev) > tegra->pdev = pdev; > tegra->soc = of_device_get_match_data(>dev); > > - res = platform_get_resource(pdev, IORESOURCE_MEM, 1); > - tegra->sata_regs = devm_ioremap_resource(>dev, res); > + tegra->sata_regs = devm_platform_ioremap_resource(pdev, 1); > if (IS_ERR(tegra->sata_regs)) > return PTR_ERR(tegra->sata_regs); > > /* >* AUX registers is optional. >*/ > - res = platform_get_resource(pdev, IORESOURCE_MEM, 2); > - if (res) { > - tegra->sata_aux_regs = devm_ioremap_resource(>dev, res); > - if (IS_ERR(tegra->sata_aux_regs)) > - return PTR_ERR(tegra->sata_aux_regs); > + tegra->sata_aux_regs = devm_platform_ioremap_resource(pdev, 2); > + if (IS_ERR(tegra->sata_aux_regs)) { > + dev_info(>dev, "Cant get aux registers (optional)"); dev_err? > + tegra->sata_aux_regs = NULL; This bit does not look right, because although the AUX registers are optional, now we don't know if it failed because they are not supported for a given device or something else failed. So I am not sure we can do this here. Cheers Jon -- nvpublic
[PATCH 3/9] drivers: ata: ahci_tegra: use devm_platform_ioremap_resource()
Use the new helper that wraps the calls to platform_get_resource() and devm_ioremap_resource() together. Signed-off-by: Enrico Weigelt, metux IT consult --- drivers/ata/ahci_tegra.c | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/ata/ahci_tegra.c b/drivers/ata/ahci_tegra.c index 004f260..88748ca 100644 --- a/drivers/ata/ahci_tegra.c +++ b/drivers/ata/ahci_tegra.c @@ -490,7 +490,6 @@ static int tegra_ahci_probe(struct platform_device *pdev) { struct ahci_host_priv *hpriv; struct tegra_ahci_priv *tegra; - struct resource *res; int ret; unsigned int i; @@ -507,19 +506,17 @@ static int tegra_ahci_probe(struct platform_device *pdev) tegra->pdev = pdev; tegra->soc = of_device_get_match_data(>dev); - res = platform_get_resource(pdev, IORESOURCE_MEM, 1); - tegra->sata_regs = devm_ioremap_resource(>dev, res); + tegra->sata_regs = devm_platform_ioremap_resource(pdev, 1); if (IS_ERR(tegra->sata_regs)) return PTR_ERR(tegra->sata_regs); /* * AUX registers is optional. */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 2); - if (res) { - tegra->sata_aux_regs = devm_ioremap_resource(>dev, res); - if (IS_ERR(tegra->sata_aux_regs)) - return PTR_ERR(tegra->sata_aux_regs); + tegra->sata_aux_regs = devm_platform_ioremap_resource(pdev, 2); + if (IS_ERR(tegra->sata_aux_regs)) { + dev_info(>dev, "Cant get aux registers (optional)"); + tegra->sata_aux_regs = NULL; } tegra->sata_rst = devm_reset_control_get(>dev, "sata"); -- 1.9.1