Skip to content

Commit

Permalink
mtd: elbc nand: use drvdata to only remove the relevant chip
Browse files Browse the repository at this point in the history
Previously the remove method was looping and removing all chips,
which is obviously not the right thing to do — left over from when
the driver was organized differently and that was the remove method for
the entire controller.  This would result in bad things happening if
you have more than one NAND chip, and remove the module.

This also fixes priv->dev to properly point to the chip's device rather than
the controller's.  Until now priv->dev was only used for error/debug prints
(and it's an improvement there), so this shouldn't break anything.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
  • Loading branch information
Scott Wood authored and David Woodhouse committed Jul 6, 2012
1 parent 9d6367f commit 874d72c
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/mtd/nand/fsl_elbc_nand.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
priv->dev = dev;
priv->dev = &pdev->dev;
dev_set_drvdata(priv->dev, priv);

priv->vbase = ioremap(res.start, resource_size(&res));
if (!priv->vbase) {
Expand Down Expand Up @@ -962,11 +963,10 @@ static int __devinit fsl_elbc_nand_probe(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;
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--;
Expand Down

0 comments on commit 874d72c

Please sign in to comment.