On Sun, Oct 29, 2017 at 1:53 AM, Guillaume Douézan-Grard <gdouezangrard@xxxxxxxxx> wrote: > Topstar U931 laptops provide an LED synced with the WLAN adapter > hard-blocking state. Unfortunately, some models seem to be defective, > making impossible to hard-block the adapter with the WLAN switch and > thus the LED is useless. > > An ACPI method is available to programmatically control this switch and > it indirectly allows to control the LED. > > This commit registers the LED within the corresponding subsystem, making > possible for instance to use an rfkill-based trigger to synchronize the > LED with the soft-blocking state. > > This feature is disabled by default and can be enabled with the > `led_workaround` module parameter. > #include <linux/platform_device.h> > #include <linux/input.h> > #include <linux/input/sparse-keymap.h> > +#include <linux/leds.h> Yep, exact place, esp. after moving platform_device to the right place. > +static bool led_workaround; > +module_param_named(led_workaround, led_workaround, bool, 0444); > +MODULE_PARM_DESC(led_workaround, > + "Enables software-based WLAN LED control on systems with defective hardware switch"); So, this is most problematic piece in the series. We are not encouraging module parameters. Why do we need one? Can't be detected automatically (perhaps based on DMI strings)? -- With Best Regards, Andy Shevchenko