#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
        struct backlight_device *backlight_device;
        struct rfkill *rfk;
 
+       bool handle_backlight;
        bool has_stepping_quirk;
 };
 
        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 -
        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);
        }
 
        /* Check for stepping quirk */
-       check_for_stepping_quirk(samsung);
+       if (samsung->handle_backlight)
+               check_for_stepping_quirk(samsung);
 
 exit:
        if (ret)
                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)