summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand/gpmi-nand
diff options
context:
space:
mode:
authorHan Xu <han.xu@nxp.com>2016-02-10 16:10:54 -0600
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commitea3ba61c9323c2daa35fd9cb5e8a8d0e8638dfc5 (patch)
tree855fc3384f8eda9f7220cfff9dd50a8bebc127ae /drivers/mtd/nand/gpmi-nand
parent6d83bd51d8dae406870a87978bd615fd31f6ea8b (diff)
MLK-12395: mtd: gpmi: add debugfs flag to indicate NAND driver use new raw access mode
For backward compatibility, kobs-ng need to know if the driver use legacy raw mode or new bch layout raw mode, add a new flag in debugfs to indicate the raw access mode. Signed-off-by: Han Xu <han.xu@nxp.com>
Diffstat (limited to 'drivers/mtd/nand/gpmi-nand')
-rw-r--r--drivers/mtd/nand/gpmi-nand/gpmi-lib.c12
-rw-r--r--drivers/mtd/nand/gpmi-nand/gpmi-nand.c2
-rw-r--r--drivers/mtd/nand/gpmi-nand/gpmi-nand.h4
3 files changed, 13 insertions, 5 deletions
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
index 437e83504edb..2b927839ee05 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
@@ -1,7 +1,7 @@
/*
* Freescale GPMI NAND Flash Driver
*
- * Copyright (C) 2008-2015 Freescale Semiconductor, Inc.
+ * Copyright (C) 2008-2016 Freescale Semiconductor, Inc.
* Copyright (C) 2008 Embedded Alley Solutions, Inc.
*
* This program is free software; you can redistribute it and/or modify
@@ -254,7 +254,7 @@ void gpmi_dump_info(struct gpmi_nand_data *this)
geo->block_mark_bit_offset);
}
-int bch_save_geometry(struct gpmi_nand_data *this)
+int bch_create_debugfs(struct gpmi_nand_data *this)
{
struct bch_geometry *bch_geo = &this->bch_geometry;
struct dentry *dbg_root;
@@ -272,6 +272,14 @@ int bch_save_geometry(struct gpmi_nand_data *this)
dev_err(this->dev, "failed to create debug bch geometry\n");
return -EINVAL;
}
+
+ /* create raw mode flag */
+ if (!debugfs_create_file("raw_mode", S_IRUGO,
+ dbg_root, NULL, NULL)) {
+ dev_err(this->dev, "failed to create raw mode flag\n");
+ return -EINVAL;
+ }
+
return 0;
}
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
index b395bef4e4d3..85b325b54ffa 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
@@ -2227,7 +2227,7 @@ static int gpmi_init_last(struct gpmi_nand_data *this)
return ret;
/* Save the geometry to debugfs*/
- ret = bch_save_geometry(this);
+ ret = bch_create_debugfs(this);
if (ret)
return ret;
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
index e0d2d89bee29..dd9b6fa625d0 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
@@ -1,7 +1,7 @@
/*
* Freescale GPMI NAND Flash Driver
*
- * Copyright (C) 2010-2015 Freescale Semiconductor, Inc.
+ * Copyright (C) 2010-2016 Freescale Semiconductor, Inc.
* Copyright (C) 2008 Embedded Alley Solutions, Inc.
*
* This program is free software; you can redistribute it and/or modify
@@ -287,7 +287,7 @@ extern int gpmi_init(struct gpmi_nand_data *);
extern int gpmi_extra_init(struct gpmi_nand_data *);
extern void gpmi_clear_bch(struct gpmi_nand_data *);
extern void gpmi_dump_info(struct gpmi_nand_data *);
-extern int bch_save_geometry(struct gpmi_nand_data *);
+extern int bch_create_debugfs(struct gpmi_nand_data *);
extern int bch_set_geometry(struct gpmi_nand_data *);
extern int gpmi_is_ready(struct gpmi_nand_data *, unsigned chip);
extern int gpmi_send_command(struct gpmi_nand_data *);