25 Oct, 2010

1 commit

  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (44 commits)
    eeepc-wmi: Add cpufv sysfs interface
    eeepc-wmi: add additional hotkeys
    panasonic-laptop: Simplify calls to acpi_pcc_retrieve_biosdata
    panasonic-laptop: Handle errors properly if they happen
    intel_pmic_gpio: fix off-by-one value range checking
    IBM Real-Time "SMI Free" mode driver -v7
    Add OLPC XO-1 rfkill driver
    Move hdaps driver to platform/x86
    ideapad-laptop: Fix Makefile
    intel_pmic_gpio: swap the bits and mask args for intel_scu_ipc_update_register
    ideapad: Add param: no_bt_rfkill
    ideapad: Change the driver name to ideapad-laptop
    ideapad: rewrite the sw rfkill set
    ideapad: rewrite the hw rfkill notify
    ideapad: use EC command to control camera
    ideapad: use return value of _CFG to tell if device exist or not
    ideapad: make sure we bind on the correct device
    ideapad: check VPC bit before sync rfkill hw status
    ideapad: add ACPI helpers
    dell-laptop: Add debugfs support
    ...

    Linus Torvalds
     

23 Oct, 2010

1 commit

  • * 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:
    vfs: make no_llseek the default
    vfs: don't use BKL in default_llseek
    llseek: automatically add .llseek fop
    libfs: use generic_file_llseek for simple_attr
    mac80211: disallow seeks in minstrel debug code
    lirc: make chardev nonseekable
    viotape: use noop_llseek
    raw: use explicit llseek file operations
    ibmasmfs: use generic_file_llseek
    spufs: use llseek in all file operations
    arm/omap: use generic_file_llseek in iommu_debug
    lkdtm: use generic_file_llseek in debugfs
    net/wireless: use generic_file_llseek in debugfs
    drm: use noop_llseek

    Linus Torvalds
     

21 Oct, 2010

38 commits

  • eeepc-laptop provides a sysfs interface to read and control what it
    calls cpufv. When WMI is enabled, the ACPI interface changes slightly
    and becames a write-only control with 3 valid values.

    Expose cpufv again to allow for user space utils that can extended battery
    life noticably and come a little closer to parity with eeepc-laptop.

    Write-only is OK for most user space apps because read status was
    mostly used to prevent unneeded mode changes. Since this same check
    to ignore changes to same mode also exists in the DSDT then it was
    wasted ACPI call.

    acpi_osi="!Windows 2009" can be used for get back eeepc-laptop's
    read support of cpufv for debugging things such as behaviour
    during resume.

    This patch was tested with EEE PC 1005PE by monitoring powertop output while
    writing values of "0", "1", and "2" and by reviewing the decompiled DSDT of
    an 1201NL and comparing it to 1005PE's DSDT.

    Signed-off-by: Chris Bagwell
    Signed-off-by: Matthew Garrett

    Chris Bagwell
     
  • Added 4 hotkeys using same keymap values as eeepc-latop.
    These are mousepad toggle, resolution change, screen off,
    and task manager. These were tested on 1005PE and are the
    Fn-F3, F4, F7, and F9, respectively.

    Also, added a new hot key for power toggles (Fn-Space on 1005PE)
    and is meant to drive cpufv interface from userspace.

    Signed-off-by: Chris Bagwell
    Signed-off-by: Matthew Garrett

    Chris Bagwell
     
  • Function acpi_pcc_retrieve_biosdata is always called with parameters
    (pcc, pcc->sinf), so we can drop the second parameter. It was
    dangerous to pass the sinf array separately anyway, as its length is
    checked as pcc->num_sifr, which pretty much assumed it was pcc->sinf
    (or at least had the same size.)

    This change makes the code slightly more compact and thus marginally
    faster.

    Signed-off-by: Jean Delvare
    Cc: Harald Welte
    Signed-off-by: Matthew Garrett

    Jean Delvare
     
  • acpi_pcc_retrieve_biosdata() returns success instead of error if
    HKEY.SINF is invalid. Fix this.

    Furthermore, if acpi_pcc_retrieve_biosdata() returns an error
    during device addition, initialization is properly reverted but value
    0 is returned, which means success. This would cause a crash when
    later using or removing the device, so fix this too.

    Signed-off-by: Jean Delvare
    Cc: Harald Welte
    Cc: Bruno Premont
    Signed-off-by: Matthew Garrett

    Jean Delvare
     
  • In pmic_irq_type(), we use gpio as array index for trigger,
    thus the valid value range for gpio should be 0 .. NUM_GPIO - 1.

    Signed-off-by: Axel Lin
    Signed-off-by: Matthew Garrett

    Axel Lin
     
  • After a period of RFC for this driver, I think it is ready
    for inclusion in the platform-driver-x86 tree, hopefully to
    be staged in the next merge window into Linus's tree.

    --Vernon

    ------------------------------------------------------------

    IBM Real-Time "SMI Free" mode driver

    This driver supports the Real-Time Linux (RTL) BIOS feature.
    The RTL feature allows non-fatal System Management Interrupts
    (SMIs) to be disabled on supported IBM platforms and is
    intended to be coupled with a user-space daemon to monitor
    the hardware in a way that can be prioritized and scheduled
    to better suit the requirements for the system.

    The Device is presented as a special "_RTL_" table to the OS
    in the Extended BIOS Data Area. There is a simple protocol
    for entering and exiting the mode at runtime. This driver
    creates a simple sysfs interface to allow a simple entry and
    exit from RTL mode in the UFI/BIOS.

    Since the driver is specific to IBM SystemX hardware (x86-
    based servers) it only builds on x86 builds. To reduce the
    risk of loading on the wrong hardware, the module uses DMI
    information and checks a list of servers that are known to
    work.

    Signed-off-by: Vernon Mauery
    Signed-off-by: Matthew Garrett

    Vernon Mauery
     
  • Add a software rfkill switch for the WLAN interface in the OLPC XO-1
    laptop. It uses the OLPC embedded controller to cut/restore power to
    the Marvell WLAN chip on the motherboard.

    Signed-off-by: Daniel Drake
    Signed-off-by: Matthew Garrett

    Daniel Drake
     
  • The hdaps driver isn't a hardware monitoring driver, so it shouldn't
    live under driver/hwmon. drivers/platform/x86 seems much more
    appropriate, as the driver is only useful on x86 laptops.

    Signed-off-by: Jean Delvare
    Cc: Guenter Roeck
    Cc: Matthew Garrett
    Cc: Frank Seidel
    Signed-off-by: Matthew Garrett

    Jean Delvare
     
  • The makefile didn't get updated when the driver changed name, which broke
    the build.

    Signed-off-by: Matthew Garrett

    Matthew Garrett
     
  • The intel_scu_ipc_update_register 2nd paramter should the bits and 3rd
    paramter should be the mask.

    This typo was introduced during IPC function changing...

    Reported-by: Ryan Zhou
    Signed-off-by: Alek Du
    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Alek Du
     
  • Add new module parameter that force module not to register bluetooth rfkill.

    There is report that saying using this bluetooth rfkill to enable/disable
    bluetooth will let bluetooth device initial failed when enable on Lenovo
    ideapad S12. Fortunately there is another rfkill registered by bluetooth
    driver for S12 and user can shutdown the bluetooth by either bluetooth driver
    or HW RF switch.

    For dual OS user, it may have some trouble that using Linux after turning off
    bluetooth with another OS if we do not register bluetooth rfkill at all. So
    we will force bluetooth enable when no_bt_rfkill=1.

    Signed-off-by: Ike Panhc
    Tested-by: Mario 'BitKoenig' Holbe
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • Since the platform drivers doing more for laptops than just using specific
    ACPI device. It will be good to change the name from *_acpi to *-laptop.

    Reference: http://lkml.org/lkml/2010/8/14/154

    Signed-off-by: Ike Panhc
    Acked-by: Len Brown
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • Control power of rf modules by ec commands

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • 1. Read hw rfkill status by ec command
    2. Not to touch sw status of each rfkill when hw rfkill notify
    3. Initial rfkill status when module loaded

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • There are several bits of the return value of _CFG shows if RF/Camera devices
    exist or not.

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • By reading from method _CFG to make sure we bind on the correct VPC2004 device.

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • Check VPC bit to make sure the HW rfkill is touched.

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • There are two methods under VPC2004 which is used to access VDAT/VCMD of EC
    register. Add helpers for read and write these two registers.

    And add read_method_int for reading the return value from ACPI methods which
    requires no parameter.

    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • Export the status of RF killswitch through debugfs.

    The killswitch status is obtained by the SMI to BIOS. Exporting this status
    through debugfs can help identify the issue with the misbehaving firmware.

    Signed-off-by: Keng-Yu Lin
    Signed-off-by: Matthew Garrett

    Keng-Yu Lin
     
  • Instead of creating wmi_blocks and then register corresponding devices
    on a separate pass do it all in one shot, since lifetime rules for both
    objects are the same. This also takes care of leaking devices when
    device_create fails for one of them.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • Instead of adding modalias attribute manually set it up as class's
    device attribute so driver core will create and remove it for us.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • This makes source more concise and easier to read.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • Do not abuse wmi_block structure to hold the head of list
    of blocks, use separate list_head for that.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • There is no reason why we allocate memory and copy data into an
    intermediate buffer, it is not like we are working with data coming
    from userspace.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • If we _WDG returned object that is not buffer we were forgetting
    to free memory allocated for that object.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • Courtesy of sparse...

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • Driver initialization was forgetting to remove EC address space handler
    in cases when parse_wdg() method failed.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • Instead of registering (and removing) every attribute individually
    switch to using sysfs attribute group. This makes sure that we
    properly unwind and do not try to remove non-existent attributes which
    may not be safe to do in the future.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • We need to include the SFI headers. This is fine as the SCU is only
    relevant to x86 platforms with SFI.

    Fixes the -next warning report.

    Signed-off-by: Alan Cox
    Signed-off-by: Matthew Garrett

    Alan Cox
     
  • In 2.6.35 the hex_to_bin() was introduced.

    Signed-off-by: Andy Shevchenko
    Cc: Carlos Corbacho
    Cc: Matthew Garrett
    Cc: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Andy Shevchenko
     
  • Fix kconfig recursive dependency error in ACPI_TOSHIBA:
    it uses both select and depends on for BACKLIGHT_CLASS_DEVICE.

    drivers/video/backlight/Kconfig:117:error: recursive dependency detected!
    drivers/video/backlight/Kconfig:117: symbol BACKLIGHT_CLASS_DEVICE is selected by ACPI_TOSHIBA
    drivers/platform/x86/Kconfig:490: symbol ACPI_TOSHIBA depends on LEDS_CLASS
    drivers/leds/Kconfig:12: symbol LEDS_CLASS is selected by BACKLIGHT_ADP8860
    drivers/video/backlight/Kconfig:285: symbol BACKLIGHT_ADP8860 depends on BACKLIGHT_CLASS_DEVICE

    Signed-off-by: Randy Dunlap
    Signed-off-by: Matthew Garrett

    Randy Dunlap
     
  • Signed-off-by: Matthew Garrett

    Pascal de Bruijn
     
  • The driver uses sparse keymap library and does not use this field
    anymore.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Matthew Garrett

    Dmitry Torokhov
     
  • The GPS rfkill crappy code. The ops_data argument wasn't
    set, and was totally misused. The fix have been tested
    on an Asus R2H.

    Cc: stable@kernel.org
    Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    Corentin Chary
     
  • Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    Corentin Chary