Re: [PATCH v2] scsi: ufs-exynos: use devm_platform_ioremap_resource_byname()
Hi Bean, On Thu, Nov 12, 2020 at 3:06 PM Geert Uytterhoeven wrote: > On Wed, Sep 16, 2020 at 10:43 AM Bean Huo wrote: > > From: Bean Huo > > > > Use devm_platform_ioremap_resource_byname() to simplify the code. > > > > Signed-off-by: Bean Huo > > 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 ">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 -- ge...@linux-m68k.org 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
Re: [PATCH v2] scsi: ufs-exynos: use devm_platform_ioremap_resource_byname()
Hi Bean, On Wed, Sep 16, 2020 at 10:43 AM Bean Huo wrote: > From: Bean Huo > > Use devm_platform_ioremap_resource_byname() to simplify the code. > > Signed-off-by: Bean Huo 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 ">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 -- ge...@linux-m68k.org 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
Re: [PATCH v2] scsi: ufs-exynos: use devm_platform_ioremap_resource_byname()
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
Re: [PATCH v2] scsi: ufs-exynos: use devm_platform_ioremap_resource_byname()
Bean, > Use devm_platform_ioremap_resource_byname() to simplify the code. Applied to 5.10/scsi-staging, thanks! -- Martin K. Petersen Oracle Linux Engineering
RE: [PATCH v2] scsi: ufs-exynos: use devm_platform_ioremap_resource_byname()
Hi Bean, > -Original Message- > From: Bean Huo > Sent: 16 September 2020 14:10 > To: alim.akh...@samsung.com; avri.alt...@wdc.com; > asuto...@codeaurora.org; j...@linux.ibm.com; > martin.peter...@oracle.com; stanley@mediatek.com; > bean...@micron.com; bvanass...@acm.org; tomas.wink...@intel.com; > c...@codeaurora.org > Cc: linux-s...@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: [PATCH v2] scsi: ufs-exynos: use > devm_platform_ioremap_resource_byname() > > From: Bean Huo > > Use devm_platform_ioremap_resource_byname() to simplify the code. > > Signed-off-by: Bean Huo > --- Thanks! Acked-by: Alim Akhtar > > v1-v2: change the patch commit subject >
[PATCH v2] scsi: ufs-exynos: use devm_platform_ioremap_resource_byname()
From: Bean Huo Use devm_platform_ioremap_resource_byname() to simplify the code. Signed-off-by: Bean Huo --- 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