From 217b7d85734bea95a5ea2dcdbfc5db1b489a3945 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 21 Jul 2009 18:37:32 +0200 Subject: nand: Add size parameter Signed-off-by: Sascha Hauer --- drivers/nand/nand.c | 12 ++++++++++++ include/linux/mtd/mtd.h | 3 +++ 2 files changed, 15 insertions(+) diff --git a/drivers/nand/nand.c b/drivers/nand/nand.c index 2b3dec0f91..bf00d8b035 100644 --- a/drivers/nand/nand.c +++ b/drivers/nand/nand.c @@ -143,6 +143,12 @@ static ssize_t nand_erase(struct cdev *cdev, size_t count, unsigned long offset) return 0; } +#if 0 +static char* mtd_get_size(struct device_d *, struct param_d *param) +{ + static char +} +#endif static struct file_operations nand_ops = { .read = nand_read, @@ -163,6 +169,11 @@ int add_mtd_device(struct mtd_info *mtd) mtd->cdev.priv = mtd; mtd->cdev.dev = &mtd->class_dev; + mtd->param_size.flags = PARAM_FLAG_RO; + mtd->param_size.name = "size"; + mtd->param_size.value = asprintf("%d", mtd->size); + dev_add_param(&mtd->class_dev, &mtd->param_size); + devfs_create(&mtd->cdev); return 0; @@ -171,6 +182,7 @@ int add_mtd_device(struct mtd_info *mtd) int del_mtd_device (struct mtd_info *mtd) { unregister_device(&mtd->class_dev); + free(mtd->param_size.value); return 0; } diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index c6e28e228b..6a1fcb97c2 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -203,6 +203,9 @@ struct mtd_info { struct device_d class_dev; struct device_d *dev; struct cdev cdev; + + struct param_d param_size; + char *size_str; }; -- cgit v1.2.3