diff options
author | Amul Saha <amul.saha@samsung.com> | 2009-06-16 01:54:01 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-16 03:43:33 -0400 |
commit | c90173f0907486fe4010c2a8cef534e2473db43f (patch) | |
tree | da4610a705abc9b6cd8ca4307242da6763a16f4e /drivers/mtd/onenand/onenand_base.c | |
parent | a2ab0ce09edf20b5228208405dd14bc8790fbdbd (diff) |
mtd: OneNAND: Allow setting of boundary information when built as module
This patch unifies the flex_bdry setting for module vs. built-in
configuration of OneNAND.
Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com>
Signed-off-by: Vishak G <vishak.g@samsung.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/onenand/onenand_base.c')
-rw-r--r-- | drivers/mtd/onenand/onenand_base.c | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c index 864327ed7fb3..6e829095ea9d 100644 --- a/drivers/mtd/onenand/onenand_base.c +++ b/drivers/mtd/onenand/onenand_base.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/moduleparam.h> | ||
23 | #include <linux/init.h> | 24 | #include <linux/init.h> |
24 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
25 | #include <linux/delay.h> | 26 | #include <linux/delay.h> |
@@ -34,6 +35,14 @@ | |||
34 | /* Default Flex-OneNAND boundary and lock respectively */ | 35 | /* Default Flex-OneNAND boundary and lock respectively */ |
35 | static int flex_bdry[MAX_DIES * 2] = { -1, 0, -1, 0 }; | 36 | static int flex_bdry[MAX_DIES * 2] = { -1, 0, -1, 0 }; |
36 | 37 | ||
38 | module_param_array(flex_bdry, int, NULL, 0400); | ||
39 | MODULE_PARM_DESC(flex_bdry, "SLC Boundary information for Flex-OneNAND" | ||
40 | "Syntax:flex_bdry=DIE_BDRY,LOCK,..." | ||
41 | "DIE_BDRY: SLC boundary of the die" | ||
42 | "LOCK: Locking information for SLC boundary" | ||
43 | " : 0->Set boundary in unlocked status" | ||
44 | " : 1->Set boundary in locked status"); | ||
45 | |||
37 | /** | 46 | /** |
38 | * onenand_oob_128 - oob info for Flex-Onenand with 4KB page | 47 | * onenand_oob_128 - oob info for Flex-Onenand with 4KB page |
39 | * For now, we expose only 64 out of 80 ecc bytes | 48 | * For now, we expose only 64 out of 80 ecc bytes |
@@ -3259,25 +3268,6 @@ out: | |||
3259 | } | 3268 | } |
3260 | 3269 | ||
3261 | /** | 3270 | /** |
3262 | * flexonenand_setup - capture Flex-OneNAND boundary and lock | ||
3263 | * values passed as kernel parameters | ||
3264 | * @param s kernel parameter string | ||
3265 | */ | ||
3266 | static int flexonenand_setup(char *s) | ||
3267 | { | ||
3268 | int ints[5], i; | ||
3269 | |||
3270 | s = get_options(s, 5, ints); | ||
3271 | |||
3272 | for (i = 0; i < ints[0]; i++) | ||
3273 | flex_bdry[i] = ints[i + 1]; | ||
3274 | |||
3275 | return 1; | ||
3276 | } | ||
3277 | |||
3278 | __setup("onenand.bdry=", flexonenand_setup); | ||
3279 | |||
3280 | /** | ||
3281 | * onenand_probe - [OneNAND Interface] Probe the OneNAND device | 3271 | * onenand_probe - [OneNAND Interface] Probe the OneNAND device |
3282 | * @param mtd MTD device structure | 3272 | * @param mtd MTD device structure |
3283 | * | 3273 | * |