Luis R. Rodriguez
ecc8617053
module: add extra argument for parse_params() callback
This adds an extra argument onto parse_params() to be used
as a way to make the unused callback a bit more useful and
generic by allowing the caller to pass on a data structure
of its choice. An example use case is to allow us to easily
make module parameters for every module which we will do
next.
@ parse @
identifier name, args, params, num, level_min, level_max;
identifier unknown, param, val, doing;
type s16;
@@
extern char *parse_args(const char *name,
char *args,
const struct kernel_param *params,
unsigned num,
s16 level_min,
s16 level_max,
+ void *arg,
int (*unknown)(char *param, char *val,
const char *doing
+ , void *arg
));
@ parse_mod @
identifier name, args, params, num, level_min, level_max;
identifier unknown, param, val, doing;
type s16;
@@
char *parse_args(const char *name,
char *args,
const struct kernel_param *params,
unsigned num,
s16 level_min,
s16 level_max,
+ void *arg,
int (*unknown)(char *param, char *val,
const char *doing
+ , void *arg
))
{
...
}
@ parse_args_found @
expression R, E1, E2, E3, E4, E5, E6;
identifier func;
@@
(
R =
parse_args(E1, E2, E3, E4, E5, E6,
+ NULL,
func);
|
R =
parse_args(E1, E2, E3, E4, E5, E6,
+ NULL,
&func);
|
R =
parse_args(E1, E2, E3, E4, E5, E6,
+ NULL,
NULL);
|
parse_args(E1, E2, E3, E4, E5, E6,
+ NULL,
func);
|
parse_args(E1, E2, E3, E4, E5, E6,
+ NULL,
&func);
|
parse_args(E1, E2, E3, E4, E5, E6,
+ NULL,
NULL);
)
@ parse_args_unused depends on parse_args_found @
identifier parse_args_found.func;
@@
int func(char *param, char *val, const char *unused
+ , void *arg
)
{
...
}
@ mod_unused depends on parse_args_found @
identifier parse_args_found.func;
expression A1, A2, A3;
@@
- func(A1, A2, A3);
+ func(A1, A2, A3, NULL);
Generated-by: Coccinelle SmPL
Cc: cocci@systeme.lip6.fr
Cc: Tejun Heo <tj@kernel.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Ewan Milne <emilne@redhat.com>
Cc: Jean Delvare <jdelvare@suse.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Tejun Heo <tj@kernel.org>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-20 00:25:24 -07:00
..
2014-10-09 11:35:48 +03:00
2015-03-25 15:04:57 +01:00
2014-09-28 11:08:01 +02:00
2015-01-14 16:10:12 +00:00
2015-04-22 08:00:42 +10:00
2008-04-18 22:17:17 -04:00
2014-06-04 16:54:18 -07:00
2014-08-06 18:01:24 -07:00
2014-08-06 18:01:24 -07:00
2012-10-08 13:50:18 +10:30
2013-04-29 18:28:19 -07:00
2014-06-04 16:54:19 -07:00
2015-01-07 16:08:41 +00:00
2014-06-04 16:54:19 -07:00
2014-08-14 12:48:14 +02:00
2014-12-13 12:42:51 -08:00
2014-01-16 23:46:06 -08:00
2012-09-10 11:13:16 -07:00
2011-03-11 14:25:50 +00:00
2015-04-17 09:03:56 -04:00
2014-12-22 16:43:06 +00:00
2012-03-07 15:04:04 -05:00
2014-06-04 16:54:18 -07:00
2014-11-11 17:07:46 +10:30
2013-06-19 17:54:06 +02:00
2013-03-22 16:41:20 -07:00
2012-03-07 15:04:04 -05:00
2015-01-29 11:57:38 -08:00
2014-04-03 16:21:12 -07:00
2012-02-02 10:34:23 +11:00
2014-10-03 18:40:58 +01:00
2014-03-20 10:11:35 -04:00
2011-10-29 21:20:22 +02:00
2013-09-13 15:09:52 +02:00
2012-07-30 17:25:22 -07:00
2015-04-20 10:19:03 -07:00
2014-05-16 14:26:52 -04:00
2011-06-03 15:01:06 -04:00
2006-06-25 10:01:20 -07:00
2014-06-25 16:04:00 -07:00
2012-03-23 16:58:38 -07:00
2006-06-25 10:01:20 -07:00
2007-05-10 18:24:13 +02:00
2013-09-12 15:31:34 +10:00
2012-03-07 15:04:04 -05:00
2013-06-26 12:10:56 +02:00
2014-06-04 16:53:53 -07:00
2012-03-07 15:04:04 -05:00
2014-12-13 12:42:52 -08:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:26 -07:00
2014-12-13 12:42:52 -08:00
2015-03-16 21:11:32 +01:00
2014-06-04 16:54:19 -07:00
2015-03-06 23:19:27 +01:00
2015-04-17 09:03:54 -04:00
2014-05-05 16:07:46 -07:00
2015-05-20 00:25:24 -07:00
2015-02-12 18:54:15 -08:00
2013-08-14 23:24:01 +02:00
2009-06-12 21:47:04 +09:30
2014-12-13 12:42:52 -08:00
2014-04-30 19:49:37 +01:00
2012-07-23 13:54:52 +01:00
2012-07-23 13:54:52 +01:00
2012-07-23 13:54:52 +01:00
2012-07-23 13:54:52 +01:00
2012-07-23 13:54:52 +01:00
2012-07-23 13:54:52 +01:00
2015-04-17 09:03:54 -04:00
2014-01-21 23:17:20 -08:00
2014-09-08 09:51:30 +09:00
2012-10-06 03:04:57 +09:00
2015-02-13 21:21:35 -08:00
2015-02-13 21:21:36 -08:00
2014-08-06 18:01:25 -07:00
2015-02-12 18:54:15 -08:00
2015-02-12 18:54:15 -08:00
2014-09-13 11:14:53 -07:00
2015-02-12 18:54:15 -08:00
2010-08-12 09:51:35 -07:00
2013-04-29 18:28:19 -07:00
2014-05-05 09:09:14 +02:00
2015-02-12 18:54:15 -08:00
2012-03-07 15:04:04 -05:00
2014-04-07 16:36:11 -07:00
2015-04-20 14:09:55 -04:00
2012-03-24 10:24:31 -07:00
2015-04-14 16:49:04 -07:00
2015-04-11 22:26:51 -04:00
2012-03-07 15:04:04 -05:00
2009-07-17 09:11:31 +10:00
2012-05-02 00:04:06 -07:00
2012-10-11 08:50:15 +09:00
2015-04-20 10:19:03 -07:00
2015-05-06 10:26:37 -07:00
2015-05-05 17:10:10 -07:00
2014-11-11 09:31:52 -06:00
2009-07-01 22:28:44 +02:00
2014-08-08 15:57:25 -07:00
2014-08-06 18:01:24 -07:00
2015-02-12 18:54:15 -08:00
2015-03-25 15:26:49 +01:00
2014-01-23 16:36:57 -08:00
2011-10-31 17:30:56 -07:00
2015-03-31 09:45:50 -06:00
2014-10-14 10:51:23 +02:00
2012-07-06 06:01:49 -07:00
2015-02-12 18:54:15 -08:00
2015-02-12 18:54:15 -08:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2006-07-03 15:27:03 -07:00
2014-10-03 06:09:30 +02:00
2015-02-24 08:44:16 +01:00
2015-04-15 16:35:25 -07:00
2015-04-18 12:32:59 -07:00
2015-02-12 18:54:15 -08:00
2012-07-30 17:25:22 -07:00
2012-07-30 17:25:16 -07:00
2014-06-25 17:45:43 -07:00
2015-03-31 14:07:24 -04:00
2013-04-09 14:13:05 -04:00
2012-07-30 17:25:22 -07:00
2012-12-14 10:32:52 +11:00
2013-05-05 14:38:00 -07:00
2014-01-23 16:36:55 -08:00
2015-01-21 16:28:49 +10:30
2014-09-08 09:51:29 +09:00
2015-02-12 18:54:16 -08:00
2013-11-13 12:09:11 +09:00
2014-09-24 13:31:50 -04:00
2015-02-12 18:54:16 -08:00
2012-07-30 17:25:22 -07:00
2014-09-08 09:51:30 +09:00
2015-02-12 18:54:16 -08:00
2014-08-24 18:36:01 -07:00
2012-03-07 15:04:04 -05:00
2012-05-17 15:18:37 +02:00
2014-01-23 16:37:03 -08:00
2014-08-08 15:57:24 -07:00
2014-01-21 23:17:20 -08:00
2015-04-22 14:17:22 -04:00
2014-10-28 10:27:10 -06:00
2015-03-04 23:40:19 -05:00
2015-03-23 22:12:08 -04:00
2015-02-12 18:54:16 -08:00
2014-04-07 16:36:14 -07:00
2015-02-12 18:54:16 -08:00
2015-02-12 18:54:16 -08:00
2015-04-16 19:02:04 -04:00
2015-05-04 17:49:51 +08:00
2015-02-12 18:54:16 -08:00
2012-05-27 20:59:46 -07:00
2014-06-20 16:04:32 -04:00
2014-04-03 16:21:06 -07:00
2014-12-08 20:23:22 -05:00
2014-07-17 18:44:19 -07:00
2015-02-13 21:21:41 -08:00
2014-01-23 16:36:57 -08:00
2015-04-03 15:09:36 -04:00
2014-01-23 16:36:57 -08:00
2015-04-19 13:48:40 -07:00
2014-08-06 18:01:25 -07:00
2015-04-15 16:35:24 -07:00
2014-10-14 02:18:14 +02:00
2012-03-24 10:24:31 -07:00
2008-07-08 02:37:54 -07:00
2008-07-08 02:38:27 -07:00
2008-07-08 02:38:09 -07:00
2013-04-15 21:23:03 +01:00
2013-04-30 17:04:09 -07:00
2013-04-29 18:28:42 -07:00
2015-04-17 09:03:55 -04:00