On Wed, May 12, 2010 at 10:33:59AM -0700, Dmitry Torokhov wrote: > On Wed, May 12, 2010 at 09:58:10AM -0700, Greg Kroah-Hartman wrote: > > From: Lee, Chun-Yi <jlee@xxxxxxxxxx> > > > > There have some MSI netbook change devices state by EC when user press > > wlan/bluetooth/wwan function keys. So, add a i8042 filter to sync sw > > state with BIOS when function keys pressed. > > > > Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxxxx> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> > > --- > > drivers/platform/x86/msi-laptop.c | 59 ++++++++++++++++++++++++++++++++++++- > > 1 files changed, 58 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/platform/x86/msi-laptop.c b/drivers/platform/x86/msi-laptop.c > > index 34bec2e..3c6e160 100644 > > --- a/drivers/platform/x86/msi-laptop.c > > +++ b/drivers/platform/x86/msi-laptop.c > > @@ -59,6 +59,7 @@ > > #include <linux/backlight.h> > > #include <linux/platform_device.h> > > #include <linux/rfkill.h> > > +#include <linux/i8042.h> > > > > #define MSI_DRIVER_VERSION "0.5" > > > > @@ -581,6 +582,46 @@ static void rfkill_cleanup(void) > > } > > } > > > > +static void msi_update_rfkill(struct work_struct *ignored) > > +{ > > + get_wireless_state_ec_standard(); > > + > > + if (rfk_wlan) > > + rfkill_set_sw_state(rfk_wlan, !wlan_s); > > + if (rfk_bluetooth) > > + rfkill_set_sw_state(rfk_bluetooth, !bluetooth_s); > > + if (rfk_threeg) > > + rfkill_set_sw_state(rfk_threeg, !threeg_s); > > +} > > +static DECLARE_DELAYED_WORK(msi_rfkill_work, msi_update_rfkill); > > + > > +bool msi_laptop_i8042_filter(unsigned char data, unsigned char str, > > + struct serio *port) > > Make it static bool... Will do. > > static void msi_init_rfkill(struct work_struct *ignored) > > { > > if (rfk_wlan) { > > @@ -706,9 +747,24 @@ static int load_scm_model_init(struct platform_device *sdev) > > /* initial rfkill */ > > result = rfkill_init(sdev); > > if (result < 0) > > - return result; > > + goto fail_rfkill; > > + > > + result = i8042_install_filter(msi_laptop_i8042_filter); > > + if (result) { > > + printk(KERN_WARNING > > Since we fail driver load this should be error, not warning message. Good point, I'll fix that up as well. I'll respin this now. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html