lkml.org 
[lkml]   [2012]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/14] ACPI / Video: blacklist some samsung laptops
    Date
    From: Corentin Chary <corentincj@iksaif.net>

    On these laptops, the ACPI video is not functional, and very unlikely
    to be fixed by the vendor. Note that intel_backlight works for some
    of these laptops, and the backlight from samsung-laptop always work.

    The good news is that newer laptops have functional ACPI video device
    and won't end up growing this list.

    Signed-off-by: Corentin Chary <corentincj@iksaif.net>
    ---
    drivers/acpi/video_detect.c | 49 +++++++++++++++++++++++++++++++++++++++++++
    1 files changed, 49 insertions(+), 0 deletions(-)

    diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
    index 45d8097..66be45e 100644
    --- a/drivers/acpi/video_detect.c
    +++ b/drivers/acpi/video_detect.c
    @@ -132,6 +132,53 @@ find_video(acpi_handle handle, u32 lvl, void *context, void **rv)
    return AE_OK;
    }

    +/* Force to use vendor driver when the ACPI device is known to be
    + * buggy */
    +static int video_detect_force_vendor(const struct dmi_system_id *d)
    +{
    + acpi_video_support |= ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
    + return 0;
    +}
    +
    +static struct dmi_system_id video_detect_dmi_table[] = {
    + {
    + .callback = video_detect_force_vendor,
    + .ident = "N150P",
    + .matches = {
    + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
    + DMI_MATCH(DMI_PRODUCT_NAME, "N150P"),
    + DMI_MATCH(DMI_BOARD_NAME, "N150P"),
    + },
    + },
    + {
    + .callback = video_detect_force_vendor,
    + .ident = "N145P/N250P/N260P",
    + .matches = {
    + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
    + DMI_MATCH(DMI_PRODUCT_NAME, "N145P/N250P/N260P"),
    + DMI_MATCH(DMI_BOARD_NAME, "N145P/N250P/N260P"),
    + },
    + },
    + {
    + .callback = video_detect_force_vendor,
    + .ident = "N150/N210/N220",
    + .matches = {
    + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
    + DMI_MATCH(DMI_PRODUCT_NAME, "N150/N210/N220"),
    + DMI_MATCH(DMI_BOARD_NAME, "N150/N210/N220"),
    + },
    + },
    + {
    + .callback = video_detect_force_vendor,
    + .ident = "NF110/NF210/NF310",
    + .matches = {
    + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
    + DMI_MATCH(DMI_PRODUCT_NAME, "NF110/NF210/NF310"),
    + DMI_MATCH(DMI_BOARD_NAME, "NF110/NF210/NF310"),
    + },
    + },
    +};
    +
    /*
    * Returns the video capabilities of a specific ACPI graphics device
    *
    @@ -164,6 +211,8 @@ long acpi_video_get_capabilities(acpi_handle graphics_handle)
    * ACPI_VIDEO_BACKLIGHT_DMI_VENDOR;
    *}
    */
    +
    + dmi_check_system(video_detect_dmi_table);
    } else {
    status = acpi_bus_get_device(graphics_handle, &tmp_dev);
    if (ACPI_FAILURE(status)) {
    --
    1.7.3.4


    \
     
     \ /
      Last update: 2012-03-20 10:01    [W:0.021 / U:31.892 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site