summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-07-23 09:45:24 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-08-05 14:47:36 +0200
commitdb48d9d1906c26c8d9a83ff1d9cb7ae75a00ba83 (patch)
tree846e9216587dd939cbdcebb19d912be1b56ab3ff /drivers
parent21d2ef003fd15bacbf4eeb4dbbb36c553b87cd57 (diff)
downloadbarebox-db48d9d1906c26c8d9a83ff1d9cb7ae75a00ba83.tar.gz
barebox-db48d9d1906c26c8d9a83ff1d9cb7ae75a00ba83.tar.xz
mtd: cfi-flash: Fix info
Since 636d384 mtd: cfi-flash: Add mtd concat support The devinfo output is broken. dev->priv no longer contains a struct flash_info * but instead a struct cfi_priv *. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/nor/cfi_flash.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/drivers/mtd/nor/cfi_flash.c b/drivers/mtd/nor/cfi_flash.c
index f2268dfde7..feffbd04ac 100644
--- a/drivers/mtd/nor/cfi_flash.c
+++ b/drivers/mtd/nor/cfi_flash.c
@@ -71,6 +71,11 @@ static unsigned int flash_offset_cfi[2] = {
#define CFG_FLASH_CFI_WIDTH FLASH_CFI_8BIT
#endif
+struct cfi_priv {
+ struct flash_info *infos;
+ int num_devs;
+ struct mtd_info **mtds;
+};
/*
* Functions
@@ -668,9 +673,8 @@ static int cfi_mtd_unlock(struct mtd_info *mtd, loff_t offset, size_t len)
return cfi_mtd_protect(finfo, offset, len, 0);
}
-static void cfi_info (struct device_d* dev)
+static void cfi_info_one(struct flash_info *info)
{
- struct flash_info *info = (struct flash_info *)dev->priv;
int i;
if (info->flash_id != FLASH_MAN_CFI) {
@@ -761,6 +765,15 @@ static void cfi_info (struct device_d* dev)
return;
}
+static void cfi_info(struct device_d *dev)
+{
+ struct cfi_priv *priv = dev->priv;
+ int i;
+
+ for (i = 0; i < priv->num_devs; i++)
+ cfi_info_one(&priv->infos[i]);
+}
+
int flash_status_check(struct flash_info *info, flash_sect_t sector,
u64 tout, char *prompt)
{
@@ -921,12 +934,6 @@ static int cfi_mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
return 0;
}
-struct cfi_priv {
- struct flash_info *infos;
- int num_devs;
- struct mtd_info **mtds;
-};
-
static void cfi_init_mtd(struct flash_info *info)
{
struct mtd_info *mtd = &info->mtd;