Generic Platform NAND Driver
Semih Hazar
semih.hazar at indefia.com
Fri May 18 08:15:27 EDT 2007
Hi,
In the new generic platforn NAND driver, line 54;
data->chip.priv = &data;
data->mtd.priv = &data->chip;
mtd->priv->priv points to struct plat_nand_data which is defined in the
plat_nand.c and never used by it.
Can we change it so that this priv points to a host specific data, and
the helper functions (board specific) can make use of it.
Below is a suggested patch:
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index d2365c8..256957b 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -599,10 +599,12 @@ struct platform_nand_ctrl {
* struct platform_nand_data - container structure for platform-specific data
* @chip: chip level chip structure
* @ctrl: controller level device structure
+ * @host: pointer to host specific data structure
*/
struct platform_nand_data {
struct platform_nand_chip chip;
struct platform_nand_ctrl ctrl;
+ void *host;
};
/* Some helpers to access the data structures */
diff --git a/drivers/mtd/nand/plat_nand.c b/drivers/mtd/nand/plat_nand.c
index cd725fc..1e47ad3 100644
--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
@@ -51,7 +51,7 @@ static int __init plat_nand_probe(struct platform_device *pdev)
return -EIO;
}
- data->chip.priv = &data;
+ data->chip.priv = pdata->host;
data->mtd.priv = &data->chip;
data->mtd.owner = THIS_MODULE;
More information about the linux-mtd
mailing list