[PATCH 2/5] Kernel config option for number of devices

From: Nitin Gupta
Date: Wed Sep 07 2011 - 21:29:51 EST


Allows configuring default number of zram devices
as kernel config option. User can override this
value using 'num_devices' module parameter.

Signed-off-by: Nitin Gupta <ngupta@xxxxxxxxxx>
---
drivers/staging/zram/Kconfig | 9 +++++++++
drivers/staging/zram/zram_drv.c | 13 ++++++++-----
2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/zram/Kconfig b/drivers/staging/zram/Kconfig
index 3bec4db..ca31cb3 100644
--- a/drivers/staging/zram/Kconfig
+++ b/drivers/staging/zram/Kconfig
@@ -21,6 +21,15 @@ config ZRAM
See zram.txt for more information.
Project home: http://compcache.googlecode.com/

+config ZRAM_NUM_DEVICES
+ int "Default number of zram devices"
+ depends on ZRAM
+ range 1 32
+ default 1
+ help
+ Select default number of zram devices. You can override this value
+ using 'num_devices' module parameter.
+
config ZRAM_DEBUG
bool "Compressed RAM block device debug support"
depends on ZRAM
diff --git a/drivers/staging/zram/zram_drv.c b/drivers/staging/zram/zram_drv.c
index 03ec5a2..55f2c0e 100644
--- a/drivers/staging/zram/zram_drv.c
+++ b/drivers/staging/zram/zram_drv.c
@@ -781,6 +781,14 @@ static int __init zram_init(void)
{
int ret, dev_id;

+ /*
+ * Module parameter not specified by user. Use default
+ * value as defined during kernel config.
+ */
+ if (num_devices == 0) {
+ num_devices = CONFIG_ZRAM_NUM_DEVICES;
+ }
+
if (num_devices > max_num_devices) {
pr_warning("Invalid value for num_devices: %u\n",
num_devices);
@@ -795,11 +803,6 @@ static int __init zram_init(void)
goto out;
}

- if (!num_devices) {
- pr_info("num_devices not specified. Using default: 1\n");
- num_devices = 1;
- }
-
/* Allocate the device array and initialize each one */
pr_info("Creating %u devices ...\n", num_devices);
devices = kzalloc(num_devices * sizeof(struct zram), GFP_KERNEL);
--
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/