[PATCH] mtd: nand: use platform_{get,set}_drvdata()
Brian Norris
computersforpeace at gmail.com
Mon May 27 15:11:31 EDT 2013
On Thu, May 23, 2013 at 3:31 AM, Jingoo Han <jg1.han at samsung.com> wrote:
> Use the wrapper functions for getting and setting the driver data using
> platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
> so we can directly pass a struct platform_device.
This patch also removes a "dev_set_drvdata(dev, NULL)". Is this no
longer necessary during device removal? Otherwise:
Acked-by: Brian Norris <computersforpeace at gmail.com>
> Signed-off-by: Jingoo Han <jg1.han at samsung.com>
> ---
> drivers/mtd/nand/fsl_elbc_nand.c | 2 +-
> drivers/mtd/nand/fsl_ifc_nand.c | 2 +-
> drivers/mtd/nand/fsl_upm.c | 4 ++--
> drivers/mtd/nand/ndfc.c | 4 ++--
> drivers/mtd/nand/socrates_nand.c | 6 ++----
> 5 files changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
> index 2065720..44d2073 100644
> --- a/drivers/mtd/nand/fsl_elbc_nand.c
> +++ b/drivers/mtd/nand/fsl_elbc_nand.c
> @@ -915,7 +915,7 @@ err:
> static int fsl_elbc_nand_remove(struct platform_device *pdev)
> {
> struct fsl_elbc_fcm_ctrl *elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand;
> - struct fsl_elbc_mtd *priv = dev_get_drvdata(&pdev->dev);
> + struct fsl_elbc_mtd *priv = platform_get_drvdata(pdev);
>
> fsl_elbc_chip_remove(priv);
>
> diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
> index 317a771..f20986b 100644
> --- a/drivers/mtd/nand/fsl_ifc_nand.c
> +++ b/drivers/mtd/nand/fsl_ifc_nand.c
> @@ -1050,7 +1050,7 @@ err:
>
> static int fsl_ifc_nand_remove(struct platform_device *dev)
> {
> - struct fsl_ifc_mtd *priv = dev_get_drvdata(&dev->dev);
> + struct fsl_ifc_mtd *priv = platform_get_drvdata(dev);
>
> fsl_ifc_chip_remove(priv);
>
> diff --git a/drivers/mtd/nand/fsl_upm.c b/drivers/mtd/nand/fsl_upm.c
> index 04e0725..e5b7597 100644
> --- a/drivers/mtd/nand/fsl_upm.c
> +++ b/drivers/mtd/nand/fsl_upm.c
> @@ -303,7 +303,7 @@ static int fun_probe(struct platform_device *ofdev)
> if (ret)
> goto err2;
>
> - dev_set_drvdata(&ofdev->dev, fun);
> + platform_set_drvdata(ofdev, fun);
>
> return 0;
> err2:
> @@ -320,7 +320,7 @@ err1:
>
> static int fun_remove(struct platform_device *ofdev)
> {
> - struct fsl_upm_nand *fun = dev_get_drvdata(&ofdev->dev);
> + struct fsl_upm_nand *fun = platform_get_drvdata(ofdev);
> int i;
>
> nand_release(&fun->mtd);
> diff --git a/drivers/mtd/nand/ndfc.c b/drivers/mtd/nand/ndfc.c
> index 8e148f1..fa65c1b 100644
> --- a/drivers/mtd/nand/ndfc.c
> +++ b/drivers/mtd/nand/ndfc.c
> @@ -223,7 +223,7 @@ static int ndfc_probe(struct platform_device *ofdev)
> spin_lock_init(&ndfc->ndfc_control.lock);
> init_waitqueue_head(&ndfc->ndfc_control.wq);
> ndfc->ofdev = ofdev;
> - dev_set_drvdata(&ofdev->dev, ndfc);
> + platform_set_drvdata(ofdev, ndfc);
>
> ndfc->ndfcbase = of_iomap(ofdev->dev.of_node, 0);
> if (!ndfc->ndfcbase) {
> @@ -258,7 +258,7 @@ static int ndfc_probe(struct platform_device *ofdev)
>
> static int ndfc_remove(struct platform_device *ofdev)
> {
> - struct ndfc_controller *ndfc = dev_get_drvdata(&ofdev->dev);
> + struct ndfc_controller *ndfc = platform_get_drvdata(ofdev);
>
> nand_release(&ndfc->mtd);
> kfree(ndfc->mtd.name);
> diff --git a/drivers/mtd/nand/socrates_nand.c b/drivers/mtd/nand/socrates_nand.c
> index 09dde7d..5090c8c 100644
> --- a/drivers/mtd/nand/socrates_nand.c
> +++ b/drivers/mtd/nand/socrates_nand.c
> @@ -190,7 +190,7 @@ static int socrates_nand_probe(struct platform_device *ofdev)
> /* TODO: I have no idea what real delay is. */
> nand_chip->chip_delay = 20; /* 20us command delay time */
>
> - dev_set_drvdata(&ofdev->dev, host);
> + platform_set_drvdata(ofdev, host);
>
> /* first scan to find the device and get the page size */
> if (nand_scan_ident(mtd, 1, NULL)) {
> @@ -211,7 +211,6 @@ static int socrates_nand_probe(struct platform_device *ofdev)
> nand_release(mtd);
>
> out:
> - dev_set_drvdata(&ofdev->dev, NULL);
> iounmap(host->io_base);
> kfree(host);
> return res;
> @@ -222,12 +221,11 @@ out:
> */
> static int socrates_nand_remove(struct platform_device *ofdev)
> {
> - struct socrates_nand_host *host = dev_get_drvdata(&ofdev->dev);
> + struct socrates_nand_host *host = platform_get_drvdata(ofdev);
> struct mtd_info *mtd = &host->mtd;
>
> nand_release(mtd);
>
> - dev_set_drvdata(&ofdev->dev, NULL);
> iounmap(host->io_base);
> kfree(host);
>
> --
> 1.7.10.4
>
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
More information about the linux-mtd
mailing list