Subject: Re: [PATCH] RFKILL: fix input layer initialisation

From: Ivo van Doorn <[email-masked]>
Date: Thu, 19 Jun 2008 20:49:54 +0200

On Thursday 19 June 2008, Dmitry Baryshkov wrote:
> Initialise correctly last fields, so tasks can be actually executed
> 
> Also move rfkill-input initialisation to subsys level so that it's
> available before generic drivers probing occurs.
> 
> Signed-off-by: Dmitry Baryshkov <[email-masked]>
> ---
>  net/rfkill/rfkill-input.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/net/rfkill/rfkill-input.c b/net/rfkill/rfkill-input.c
> index e4b051d..e4540fc 100644
> --- a/net/rfkill/rfkill-input.c
> +++ b/net/rfkill/rfkill-input.c
> @@ -181,6 +181,11 @@ static struct input_handler rfkill_handler = {
>  
>  static int __init rfkill_handler_init(void)
>  {
> +	unsigned long last_run = jiffies - msecs_to_jiffies(500);
> +	rfkill_wlan.last = last_run;
> +	rfkill_bt.last = last_run;
> +	rfkill_uwb.last = last_run;
> +	rfkill_wimax.last = last_run;

I'm not really fan of this approach
Can't this not be done someway in the DEFINE_RFKILL_TASK macro
where the entire structure is initialized?
That way it will automatically be set for all new rfkill task structures later.

>  	return input_register_handler(&rfkill_handler);
>  }
>  
> @@ -190,5 +195,5 @@ static void __exit rfkill_handler_exit(void)
>  	flush_scheduled_work();
>  }
>  
> -module_init(rfkill_handler_init);
> +subsys_initcall(rfkill_handler_init);
>  module_exit(rfkill_handler_exit);

This sounds good.

Ivo