13 Oct, 2007

1 commit


19 Sep, 2007

2 commits

  • i am actually heavily using the ACPI video extension for my Thinkpad X61
    Tablet. I have bound the input events triggered by the brightness
    up/down keys to a simple

    echo > /sys/class/backlight/acpi_video1/brightness

    but everytime the event is triggered and acpi_video_device_lcd_set_level()
    is called i got a notificication in my kernel log like:

    set_level status: 0
    set_level status: 0
    set_level status: 0
    set_level status: 0
    ...

    Signed-off-by: Maik Broemme
    Signed-off-by: Len Brown

    Maik Broemme
     
  • In the past, the Linux/ACPI video driver invoked _DOS
    (Display Output Switch) with the parameter 1
    to tell the BIOS to switch the video output display for us.

    But this conflicts with Linux native graphics drivers,
    and can cause all sorts of issues, including hanging the system.

    http://bugzilla.kernel.org/show_bug.cgi?id=6001

    Here we change the Linux default to evaluate _DOS=0,
    which tells the BIOS to simply send us a hotkey event
    and not touch the graphics hardware.

    The acpi video driver sends the display switch hotkey
    event up through the intput layer, and X can interpret
    that and use its native graphics driver to switch the display.

    For the case where Linux has no native graphics driver running,
    or the graphics driver doesn't know how to switch video and
    the BIOS (safely) does, the previous behaviour can be restored with:

    # echo 1 > /proc/acpi/video/*/DOS

    Signed-off-by: Zhang Rui
    Signed-off-by: Len Brown

    Zhang Rui
     

25 Aug, 2007

4 commits


24 Aug, 2007

2 commits

  • Both ACPI_VIDEO_NOTIFY_SWITCH and ACPI_VIDEO_NOTIFY_PROBE
    are valid for video bus devices only. Actually ACPI video output
    device should never be notified for a output device switch/probe.

    ACPI bus devices notify handler already has the code to
    handle these kinds of events.

    Signed-off-by: Zhang Rui
    Signed-off-by: Len Brown

    Zhang Rui
     
  • Schedule /proc/acpi/event for removal in 6 months.

    Re-name acpi_bus_generate_event() to acpi_bus_generate_proc_event()
    to make sure there is no confusion that it is for /proc/acpi/event only.

    Add CONFIG_ACPI_PROC_EVENT to allow removal of /proc/acpi/event.
    There is no functional change if CONFIG_ACPI_PROC_EVENT=y

    Signed-off-by: Len Brown

    Len Brown
     

24 Jul, 2007

1 commit


23 Jul, 2007

1 commit


16 Jul, 2007

1 commit

  • Convert the backlight and LCD classes from struct class_device
    to struct device since class_device is scheduled for removal.

    One nasty API break is the backlight power attribute has had to be
    renamed to bl_power and the LCD power attribute has had to be renamed
    to lcd_power since the original names clash with the core. I can't see
    a way around this.

    Signed-off-by: Richard Purdie
    Acked-by: Greg Kroah-Hartman

    Richard Purdie
     

03 Jul, 2007

1 commit

  • Currently the acpi video module export the backlight interface to sysfs
    also if acpi_video_device_lcd_query_levels() fails to read _BLC method
    (e.g. because the method is not available). In this case the userspace
    don't know which brightness level are supported and can't set a brightness
    level (echo return with: "write error: Invalid Argument"). This happend
    e.g. on a ASUS RF1 (correct supported by the asus-laptop module).

    The video module should not export the backlight interface if query _BLC fail,
    because you can't set anything from userspace and this make it useless.

    http://bugzilla.kernel.org/show_bug.cgi?id=8375

    Signed-off-by: Danny Kukawka
    Acked-by: Luming Yu
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Danny Kukawka
     

10 May, 2007

1 commit

  • Requires CONFIG_VIDEO_OUTPUT_CONTROL and CONFIG_ACPI_VIDEO.

    After loading output.ko and video.ko, you would have
    /sys/class/video_output and several device acpi_videoNum there.

    For example, I got acpi_video0, acpi_video1,acpi_video2,and acpi_video3
    under /sys/class/video_output on my T40.
    I can query the status of output device0 by running " cat
    /sys/class/video_output/acpi_video0
    " The return value is defined in ACPI SPEC B.5.5 _DCS(Return the
    Status of Output Device). Also you can turn off video1 and turn on
    video0 by " echo 0 > acpi_video1; echo 0x80000000 > acpi_video0".
    Please reference ACPI SPEC B.5.7 _DSS for the parameter definition.

    Please note that it may or may NOT works purely depending on if
    your vendor providing correct ACPI video extension support in bios.
    the driver output.ko and video.ko just works like a interface to
    invoke BIOS.

    Signed-off-by: Luming Yu
    Signed-off-by: Len Brown

    Luming Yu
     

10 Mar, 2007

1 commit


20 Feb, 2007

2 commits


13 Feb, 2007

3 commits

  • Cosmetic only.

    Except in a single case, #define ACPI_*_DRIVER_NAME
    were invoked 0 or 1 times.

    Signed-off-by: Len Brown

    Len Brown
     
  • It was erroneously used as a description rather than a name.

    ie. turn this:

    lenb@se7525gp2:/sys> ls bus/acpi/drivers
    ACPI AC Adapter Driver ACPI Embedded Controller Driver ACPI Power Resource Driver
    ACPI Battery Driver ACPI Fan Driver ACPI Processor Driver
    ACPI Button Driver ACPI PCI Interrupt Link Driver ACPI Thermal Zone Driver
    ACPI container driver ACPI PCI Root Bridge Driver hpet

    into this:

    lenb@se7525gp2:~> ls /sys/bus/acpi/drivers
    ac battery button container ec fan hpet pci_link pci_root power processor thermal

    Signed-off-by: Len Brown

    Len Brown
     
  • cosmetic only

    Make "module name" actually match the file name.
    Invoke with ';' as leaving it off confuses Lindent and gcc doesn't care.
    Fix indentation where Lindent did get confused.

    Signed-off-by: Len Brown

    Len Brown
     

03 Feb, 2007

3 commits


23 Jan, 2007

1 commit


04 Jan, 2007

1 commit


21 Dec, 2006

2 commits


20 Dec, 2006

2 commits

  • Len Brown
     
  • acpi_video_get_next_level was supposed to implement an algorithm to select
    a new brightness level based on the old brightness level of an ACPI video
    device, but it simply says "/* Fix me */" and returns the current
    brightness.

    This patch implements acpi_video_get_next_level properly. It had to change
    a few constants at the top of the file because they were (apparently)
    wrong, but it appears to work on my Dell Inspiron e1405 (with BIOS A05
    only--BIOS A04 doesn't seem to send ACPI video hotkey events).

    [akpm@osdl.org: cleanups]
    Signed-off-by: Thomas Tuttle
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Thomas Tuttle
     

16 Dec, 2006

1 commit

  • We do this mainly because:
    1. hid is used to match ACPI devices and drivers.
    .match method which is incompatible to driver model
    can be deleted from acpi_driver.ops then.
    2. As the .uevent method mark ACPI drivers by PNPID,
    fake hid is set to non-PNPID devices so that udev script
    can load the right ACPI driver by looking for
    "HWID = " or "COMPTID = ".

    Signed-off-by: Zhang Rui
    Signed-off-by: Len Brown

    Zhang Rui
     

14 Oct, 2006

1 commit


02 Jul, 2006

1 commit


30 Jun, 2006

4 commits


27 Jun, 2006

3 commits


24 Jun, 2006

1 commit