Hi Daniel, On Tue, Oct 20, 2009 at 12:13:57PM +0200, Daniel Mack wrote: > + > + ret = input_register_polled_device(ipdev); > + > + if (ret) { > + input_free_polled_device(ipdev); > + ipdev = NULL; > + } > + > + return ret; > +} Ah, don't be lazy ;) static void alix_button_unregister(void) { if (ipdev) { input_unregister_polled_device(ipdev); /* Yes, polled devices need to be freed */ input_free_polled_device(ipdev); ipdev = NULL; } } > +#else > +#define alix_button_register() (0) static inline int alix_button_register(void) { return 0; } static inline void alix_button_unregister(void) { } So you get typechecking (if any). > +#endif > + > static int __init alix_led_probe(struct platform_device *pdev) > { > int i; > @@ -89,6 +139,11 @@ static int __init alix_led_probe(struct platform_device *pdev) > if (ret < 0) > goto fail; > } > + > + ret = alix_button_register(); > + if (ret) > + goto fail; > + > return 0; > > fail: > @@ -103,6 +158,12 @@ static int alix_led_remove(struct platform_device *pdev) > > for (i = 0; i < ARRAY_SIZE(alix_leds); i++) > led_classdev_unregister(&alix_leds[i].cdev); > + > +#ifdef CONFIG_LEDS_ALIX2_BUTTON > + if (ipdev) > + input_unregister_polled_device(ipdev); > +#endif alix_button_unregister(); > + > return 0; > } > -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html