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 <[email protected]>
---
 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

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to