OSDN Git Service

Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[uclinux-h8/linux.git] / kernel / params.c
index adc0bbc..b6554aa 100644 (file)
@@ -124,8 +124,9 @@ static int parse_one(char *param,
                     unsigned num_params,
                     s16 min_level,
                     s16 max_level,
+                    void *arg,
                     int (*handle_unknown)(char *param, char *val,
-                                    const char *doing))
+                                    const char *doing, void *arg))
 {
        unsigned int i;
        int err;
@@ -152,7 +153,7 @@ static int parse_one(char *param,
 
        if (handle_unknown) {
                pr_debug("doing %s: %s='%s'\n", doing, param, val);
-               return handle_unknown(param, val, doing);
+               return handle_unknown(param, val, doing, arg);
        }
 
        pr_debug("Unknown argument '%s'\n", param);
@@ -218,7 +219,9 @@ char *parse_args(const char *doing,
                 unsigned num,
                 s16 min_level,
                 s16 max_level,
-                int (*unknown)(char *param, char *val, const char *doing))
+                void *arg,
+                int (*unknown)(char *param, char *val,
+                               const char *doing, void *arg))
 {
        char *param, *val;
 
@@ -238,7 +241,7 @@ char *parse_args(const char *doing,
                        return args;
                irq_was_disabled = irqs_disabled();
                ret = parse_one(param, val, doing, params, num,
-                               min_level, max_level, unknown);
+                               min_level, max_level, arg, unknown);
                if (irq_was_disabled && !irqs_disabled())
                        pr_warn("%s: option '%s' enabled irq's!\n",
                                doing, param);