Re: [PATCHv2][input-led] Defer input led work to workqueue

From: Johannes Berg
Date: Tue Aug 26 2014 - 09:22:56 EST


On Tue, 2014-08-26 at 11:17 +0200, Samuel Thibault wrote:

> - led_trigger_event(&vt_led_triggers[led], !!brightness);
> + vt_led_state[led] = !!brightness;
> + schedule_work(&vt_led_work[led]);


> +static int __init input_led_init(void)
> +{
> + unsigned i;
> +
> + for (i = 0; i < LED_CNT; i++)
> + INIT_WORK(&vt_led_work[i], vt_led_cb);
> +
> + return 0;
> +}
> +
> +static void __exit input_led_exit(void)
> +{
> +}

Come to think of it - don't you need to cancel_work_sync() in exit so
the work struct can't be queued while the module is being unloaded?

johannes

--
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/