Hi Corentin On Tue, Nov 22, 2011 at 11:02 PM, Corentin Chary <corentincj@xxxxxxxxxx> wrote: > samsung-laptop is not at all related to ACPI, but since this interface > is not documented at all, and the driver has to use it at load to > understand how it works on the laptop, I think it's a good idea to > disable it if a better solution is available. > > Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx> > --- > drivers/platform/x86/samsung-laptop.c | 20 ++++++++++++++++++-- > 1 files changed, 18 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c > index be96910..49933d2 100644 > --- a/drivers/platform/x86/samsung-laptop.c > +++ b/drivers/platform/x86/samsung-laptop.c > @@ -21,6 +21,7 @@ > #include <linux/dmi.h> > #include <linux/platform_device.h> > #include <linux/rfkill.h> > +#include <linux/acpi.h> > > /* > * This driver is needed because a number of Samsung laptops do not hook > @@ -230,6 +231,7 @@ struct samsung_laptop { > struct backlight_device *backlight_device; > struct rfkill *rfk; > > + bool handle_backlight; > bool has_stepping_quirk; > }; > > @@ -616,6 +618,9 @@ static int __init samsung_backlight_init(struct samsung_laptop *samsung) > struct backlight_device *bd; > struct backlight_properties props; > > + if (!samsung->handle_backlight) > + return 0; > + > memset(&props, 0, sizeof(struct backlight_properties)); > props.type = BACKLIGHT_PLATFORM; > props.max_brightness = samsung->config->max_brightness - > @@ -698,7 +703,8 @@ static void __init samsung_sabi_selftest(struct samsung_laptop *samsung, > printk(KERN_DEBUG "ifaceP = 0x%08x\n", ifaceP); > printk(KERN_DEBUG "sabi_iface = %p\n", samsung->sabi_iface); > > - test_backlight(samsung); > + if (samsung->handle_backlight) > + test_backlight(samsung); > test_wireless(samsung); > > sabi_get_command(samsung, config->commands.get_brightness, &sretval); > @@ -771,7 +777,8 @@ static int __init samsung_sabi_init(struct samsung_laptop *samsung) > } > > /* Check for stepping quirk */ > - check_for_stepping_quirk(samsung); > + if (samsung->handle_backlight) > + check_for_stepping_quirk(samsung); > > exit: > if (ret) > @@ -1059,6 +1066,15 @@ static int __init samsung_init(void) > return -ENOMEM; > > mutex_init(&samsung->sabi_mutex); > + samsung->handle_backlight = true; > + > +#ifdef CONFIG_ACPI > + /* Don't handle backlight here if the acpi video already handle it */ > + if (acpi_video_backlight_support()) { > + pr_info("Backlight controlled by ACPI video driver\n"); > + samsung->handle_backlight = false; > + } > +#endif > > ret = samsung_platform_init(samsung); > if (ret) > -- > 1.7.5.4 My Samsung model has an intel card which previously did not support the acpi video backlight so I needed the samsung driver. However, with this patch I couldn't find the samsung backlight and so I tried the intel back light again and now it works. So: Tested-by: David Herrmann <dh.herrmann@xxxxxxxxxxxxxx> My model is Samsung N210 btw. Regards David -- 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