Commit c90173f0 authored by Amul Saha's avatar Amul Saha Committed by David Woodhouse
Browse files

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: default avatarAmul Kumar Saha <amul.saha@samsung.com>
Signed-off-by: default avatarVishak G <vishak.g@samsung.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent a2ab0ce0
Loading
Loading
Loading
Loading
+9 −19
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/delay.h>
@@ -34,6 +35,14 @@
/* Default Flex-OneNAND boundary and lock respectively */
static int flex_bdry[MAX_DIES * 2] = { -1, 0, -1, 0 };

module_param_array(flex_bdry, int, NULL, 0400);
MODULE_PARM_DESC(flex_bdry,	"SLC Boundary information for Flex-OneNAND"
				"Syntax:flex_bdry=DIE_BDRY,LOCK,..."
				"DIE_BDRY: SLC boundary of the die"
				"LOCK: Locking information for SLC boundary"
				"    : 0->Set boundary in unlocked status"
				"    : 1->Set boundary in locked status");

/**
 *  onenand_oob_128 - oob info for Flex-Onenand with 4KB page
 *  For now, we expose only 64 out of 80 ecc bytes
@@ -3258,25 +3267,6 @@ out:
	return ret;
}

/**
 * flexonenand_setup - 	capture Flex-OneNAND boundary and lock
 * 			values  passed as kernel parameters
 * @param s	kernel parameter string
 */
static int flexonenand_setup(char *s)
{
	int ints[5], i;

	s = get_options(s, 5, ints);

	for (i = 0; i < ints[0]; i++)
		flex_bdry[i] = ints[i + 1];

	return 1;
}

__setup("onenand.bdry=", flexonenand_setup);

/**
 * onenand_probe - [OneNAND Interface] Probe the OneNAND device
 * @param mtd		MTD device structure