projects
/
GitHub
/
mt8127
/
android_kernel_alcatel_ttab.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mtd: elbc nand: use drvdata to only remove the relevant chip
[GitHub/mt8127/android_kernel_alcatel_ttab.git]
/
drivers
/
mtd
/
nand
/
fsl_elbc_nand.c
diff --git
a/drivers/mtd/nand/fsl_elbc_nand.c
b/drivers/mtd/nand/fsl_elbc_nand.c
index 1d8d111fa3ae6a7cf4347e3fb567e257f793889a..22bb5e6ddaca3ec5684d80806a8c1061375ed908 100644
(file)
--- a/
drivers/mtd/nand/fsl_elbc_nand.c
+++ b/
drivers/mtd/nand/fsl_elbc_nand.c
@@
-915,7
+915,8
@@
static int __devinit fsl_elbc_nand_probe(struct platform_device *pdev)
elbc_fcm_ctrl->chips[bank] = priv;
priv->bank = bank;
priv->ctrl = fsl_lbc_ctrl_dev;
elbc_fcm_ctrl->chips[bank] = priv;
priv->bank = bank;
priv->ctrl = fsl_lbc_ctrl_dev;
- priv->dev = dev;
+ priv->dev = &pdev->dev;
+ dev_set_drvdata(priv->dev, priv);
priv->vbase = ioremap(res.start, resource_size(&res));
if (!priv->vbase) {
priv->vbase = ioremap(res.start, resource_size(&res));
if (!priv->vbase) {
@@
-962,11
+963,10
@@
err:
static int fsl_elbc_nand_remove(struct platform_device *pdev)
{
static int fsl_elbc_nand_remove(struct platform_device *pdev)
{
- int i;
struct fsl_elbc_fcm_ctrl *elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand;
struct fsl_elbc_fcm_ctrl *elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand;
- for (i = 0; i < MAX_BANKS; i++)
- if (elbc_fcm_ctrl->chips[i])
-
fsl_elbc_chip_remove(elbc_fcm_ctrl->chips[i]
);
+ struct fsl_elbc_mtd *priv = dev_get_drvdata(&pdev->dev);
+
+
fsl_elbc_chip_remove(priv
);
mutex_lock(&fsl_elbc_nand_mutex);
elbc_fcm_ctrl->counter--;
mutex_lock(&fsl_elbc_nand_mutex);
elbc_fcm_ctrl->counter--;