Message ID | 20200916084017.14086-1-huobean@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [v2] scsi: ufs-exynos: use devm_platform_ioremap_resource_byname() | expand |
Hi Bean, > -----Original Message----- > From: Bean Huo <huobean@gmail.com> > Sent: 16 September 2020 14:10 > To: alim.akhtar@samsung.com; avri.altman@wdc.com; > asutoshd@codeaurora.org; jejb@linux.ibm.com; > martin.petersen@oracle.com; stanley.chu@mediatek.com; > beanhuo@micron.com; bvanassche@acm.org; tomas.winkler@intel.com; > cang@codeaurora.org > Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: [PATCH v2] scsi: ufs-exynos: use > devm_platform_ioremap_resource_byname() > > From: Bean Huo <beanhuo@micron.com> > > Use devm_platform_ioremap_resource_byname() to simplify the code. > > Signed-off-by: Bean Huo <beanhuo@micron.com> > --- Thanks! Acked-by: Alim Akhtar <alim.akhtar@samsung.com> > > 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!
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
Hi Bean, On Wed, Sep 16, 2020 at 10:43 AM Bean Huo <huobean@gmail.com> wrote: > From: Bean Huo <beanhuo@micron.com> > > Use devm_platform_ioremap_resource_byname() to simplify the code. > > Signed-off-by: Bean Huo <beanhuo@micron.com> 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 -- geert@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
Hi Bean, On Thu, Nov 12, 2020 at 3:06 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Wed, Sep 16, 2020 at 10:43 AM Bean Huo <huobean@gmail.com> wrote: > > From: Bean Huo <beanhuo@micron.com> > > > > Use devm_platform_ioremap_resource_byname() to simplify the code. > > > > Signed-off-by: Bean Huo <beanhuo@micron.com> > > 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 -- geert@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
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);