From: Bean Huo <[email protected]>
Use devm_platform_ioremap_resource_byname() to simplify the code.
Signed-off-by: Bean Huo <[email protected]>
---
v1-v2: change the patch commit subject
---
drivers/scsi/ufs/ufs-exynos.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/ufs/ufs-exynos.c b/drivers/scsi/ufs/ufs-exynos.c
index 8f1b6f61a776..1eecbe550536 100644
--- a/drivers/scsi/ufs/ufs-exynos.c
+++ b/drivers/scsi/ufs/ufs-exynos.c
@@ -940,7 +940,6 @@ static int exynos_ufs_init(struct ufs_hba *hba)
struct device *dev = hba->dev;
struct platform_device *pdev = to_platform_device(dev);
struct exynos_ufs *ufs;
- struct resource *res;
int ret;
ufs = devm_kzalloc(dev, sizeof(*ufs), GFP_KERNEL);
@@ -948,24 +947,21 @@ static int exynos_ufs_init(struct ufs_hba *hba)
return -ENOMEM;
/* exynos-specific hci */
- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "vs_hci");
- ufs->reg_hci = devm_ioremap_resource(dev, res);
+ ufs->reg_hci = devm_platform_ioremap_resource_byname(pdev, "vs_hci");
if (IS_ERR(ufs->reg_hci)) {
dev_err(dev, "cannot ioremap for hci vendor register\n");
return PTR_ERR(ufs->reg_hci);
}
/* unipro */
- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "unipro");
- ufs->reg_unipro = devm_ioremap_resource(dev, res);
+ ufs->reg_unipro = devm_platform_ioremap_resource_byname(pdev, "unipro");
if (IS_ERR(ufs->reg_unipro)) {
dev_err(dev, "cannot ioremap for unipro register\n");
return PTR_ERR(ufs->reg_unipro);
}
/* ufs protector */
- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ufsp");
- ufs->reg_ufsp = devm_ioremap_resource(dev, res);
+ ufs->reg_ufsp = devm_platform_ioremap_resource_byname(pdev, "ufsp");
if (IS_ERR(ufs->reg_ufsp)) {
dev_err(dev, "cannot ioremap for ufs protector register\n");
return PTR_ERR(ufs->reg_ufsp);
--
2.17.1
Hi Bean,
> -----Original Message-----
> From: Bean Huo <[email protected]>
> Sent: 16 September 2020 14:10
> To: [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]
> Cc: [email protected]; [email protected]
> Subject: [PATCH v2] scsi: ufs-exynos: use
> devm_platform_ioremap_resource_byname()
>
> From: Bean Huo <[email protected]>
>
> Use devm_platform_ioremap_resource_byname() to simplify the code.
>
> Signed-off-by: Bean Huo <[email protected]>
> ---
Thanks!
Acked-by: Alim Akhtar <[email protected]>
>
> v1-v2: change the patch commit subject
>
Bean,
> Use devm_platform_ioremap_resource_byname() to simplify the code.
Applied to 5.10/scsi-staging, thanks!
--
Martin K. Petersen Oracle Linux Engineering
On Wed, 16 Sep 2020 10:40:17 +0200, Bean Huo wrote:
> Use devm_platform_ioremap_resource_byname() to simplify the code.
Applied to 5.10/scsi-queue, thanks!
[1/1] scsi: ufs: ufs-exynos: Use devm_platform_ioremap_resource_byname()
https://git.kernel.org/mkp/scsi/c/2dd39fad92a1
--
Martin K. Petersen Oracle Linux Engineering
Hi Bean,
On Wed, Sep 16, 2020 at 10:43 AM Bean Huo <[email protected]> wrote:
> From: Bean Huo <[email protected]>
>
> Use devm_platform_ioremap_resource_byname() to simplify the code.
>
> Signed-off-by: Bean Huo <[email protected]>
Thanks for your patch, which is now commit 2dd39fad92a1f25f ("scsi: ufs:
ufs-exynos: Use devm_platform_ioremap_resource_byname()") in v5.10-rc1.
> --- a/drivers/scsi/ufs/ufs-exynos.c
> +++ b/drivers/scsi/ufs/ufs-exynos.c
> @@ -940,7 +940,6 @@ static int exynos_ufs_init(struct ufs_hba *hba)
> struct device *dev = hba->dev;
> struct platform_device *pdev = to_platform_device(dev);
> struct exynos_ufs *ufs;
> - struct resource *res;
> int ret;
>
> ufs = devm_kzalloc(dev, sizeof(*ufs), GFP_KERNEL);
> @@ -948,24 +947,21 @@ static int exynos_ufs_init(struct ufs_hba *hba)
> return -ENOMEM;
>
> /* exynos-specific hci */
> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "vs_hci");
> - ufs->reg_hci = devm_ioremap_resource(dev, res);
> + ufs->reg_hci = devm_platform_ioremap_resource_byname(pdev, "vs_hci");
Are you sure this is equivalent?
Before, devm_ioremap_resource() was called on "dev" (hba->dev),
after it is called on "&pdev->dev" .
> if (IS_ERR(ufs->reg_hci)) {
> dev_err(dev, "cannot ioremap for hci vendor register\n");
> return PTR_ERR(ufs->reg_hci);
> }
>
> /* unipro */
> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "unipro");
> - ufs->reg_unipro = devm_ioremap_resource(dev, res);
> + ufs->reg_unipro = devm_platform_ioremap_resource_byname(pdev, "unipro");
> if (IS_ERR(ufs->reg_unipro)) {
> dev_err(dev, "cannot ioremap for unipro register\n");
> return PTR_ERR(ufs->reg_unipro);
> }
>
> /* ufs protector */
> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ufsp");
> - ufs->reg_ufsp = devm_ioremap_resource(dev, res);
> + ufs->reg_ufsp = devm_platform_ioremap_resource_byname(pdev, "ufsp");
> if (IS_ERR(ufs->reg_ufsp)) {
> dev_err(dev, "cannot ioremap for ufs protector register\n");
> return PTR_ERR(ufs->reg_ufsp);
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Hi Bean,
On Thu, Nov 12, 2020 at 3:06 PM Geert Uytterhoeven <[email protected]> wrote:
> On Wed, Sep 16, 2020 at 10:43 AM Bean Huo <[email protected]> wrote:
> > From: Bean Huo <[email protected]>
> >
> > Use devm_platform_ioremap_resource_byname() to simplify the code.
> >
> > Signed-off-by: Bean Huo <[email protected]>
>
> Thanks for your patch, which is now commit 2dd39fad92a1f25f ("scsi: ufs:
> ufs-exynos: Use devm_platform_ioremap_resource_byname()") in v5.10-rc1.
>
> > --- a/drivers/scsi/ufs/ufs-exynos.c
> > +++ b/drivers/scsi/ufs/ufs-exynos.c
> > @@ -940,7 +940,6 @@ static int exynos_ufs_init(struct ufs_hba *hba)
> > struct device *dev = hba->dev;
> > struct platform_device *pdev = to_platform_device(dev);
> > struct exynos_ufs *ufs;
> > - struct resource *res;
> > int ret;
> >
> > ufs = devm_kzalloc(dev, sizeof(*ufs), GFP_KERNEL);
> > @@ -948,24 +947,21 @@ static int exynos_ufs_init(struct ufs_hba *hba)
> > return -ENOMEM;
> >
> > /* exynos-specific hci */
> > - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "vs_hci");
> > - ufs->reg_hci = devm_ioremap_resource(dev, res);
> > + ufs->reg_hci = devm_platform_ioremap_resource_byname(pdev, "vs_hci");
>
> Are you sure this is equivalent?
> Before, devm_ioremap_resource() was called on "dev" (hba->dev),
> after it is called on "&pdev->dev" .
Yes it is, due to:
struct platform_device *pdev = to_platform_device(dev);
Sorry for the noise.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds