09 Mar, 2013

1 commit


04 Mar, 2013

1 commit

  • Pull x86 platform driver updates from Matthew Garrett:
    "Mostly relatively small updates, along with some hardware enablement
    for Sony hardware and a pile of updates to Google's Chromebook driver"

    * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (49 commits)
    ideapad-laptop: Depend on BACKLIGHT_CLASS_DEVICE instead of selecting it
    ideapad: depends on backlight subsystem and update comment
    Platform: x86: chromeos_laptop - add i915 gmbuses to adapter names
    Platform: x86: chromeos_laptop - Add isl light sensor for Pixel
    Platform: x86: chromeos_laptop - Add a more general add_i2c_device
    Platform: x86: chromeos_laptop - Add Pixel Touchscreen
    Platform: x86: chromeos_laptop - Add support for probing devices
    Platform: x86: chromeos_laptop - Add Pixel Trackpad
    hp-wmi: fix handling of platform device
    sony-laptop: leak in error handling sony_nc_lid_resume_setup()
    hp-wmi: Add support for SMBus hotkeys
    asus-wmi: Fix unused function build warning
    acer-wmi: avoid the warning of 'devices' may be used uninitialized
    drivers/platform/x86/thinkpad_acpi.c: Handle HKEY event 0x6040
    Platform: x86: chromeos_laptop - Add HP Pavilion 14
    Platform: x86: chromeos_laptop - Add Taos tsl2583 device
    Platform: x86: chromeos_laptop - Add Taos tsl2563 device
    Platform: x86: chromeos_laptop - Add Acer C7 trackpad
    Platform: x86: chromeos_laptop - Rename setup_lumpy_tp to setup_cyapa_smbus_tp
    asus-laptop: always report brightness key events
    ...

    Linus Torvalds
     

27 Feb, 2013

25 commits

  • Selecting BACKLIGHT_CLASS_DEVICE doesn't guarantee that any of its
    dependencies are enabled, and these are complicated. Depending isn't ideal
    for configuration UI purposes, but is probably more appropriate here.

    Signed-off-by: Matthew Garrett

    Matthew Garrett
     
  • I've got a report of build failure on ideapad-laptop, which shows

    drivers/built-in.o: In function `ideapad_acpi_notify':
    ideapad-laptop.c:(.text+0x63876a): undefined reference to `backlight_force_update'
    drivers/built-in.o: In function `ideapad_acpi_remove':
    ideapad-laptop.c:(.devexit.text+0x64a7): undefined reference to `backlight_device_unregister'
    drivers/built-in.o: In function `ideapad_acpi_add':
    ideapad-laptop.c:(.devinit.text+0x45e28): undefined reference to `backlight_device_register'

    To select backlight subsystem can prevent this error from happening.

    Also update comment for this driver.

    Reported-by: Fengguang Wu
    Signed-off-by: Ike Panhc
    Signed-off-by: Matthew Garrett

    Ike Panhc
     
  • Add the two other i2c buses (vga and panel) from i915.
    Chromebook Pixel has input and light sensor devices on these busses.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • The Chromebook Pixel uses an isl29023 ambient light sensor on the PANEL
    GMBus.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • This will allow us to assign devices to buses by the type enum.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • Instantiate the atmel mxt1664s touchscreen on this system.
    The touchscreen may appear at two possible addresses:
    0x4a in operational mode.
    0x26 in bootloader mode.

    Signed-off-by: Yufeng Shen
    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Yufeng Shen
     
  • This will allow support for devices that may appear at more than
    one i2c address at boot time. The specific example is the atmel_mxt touch
    devices, which may appear at a different address if it comes up
    in bootloader mode.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • Instantiate the atmel mxt224s trackpad on this system.
    The trackpad may appear at two possible addresses:
    0x4b in operational mode.
    0x25 in bootloader mode.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • The driver will not quite work if someone unbinds the platform device
    from the platform driver via sysfs (moreover it will bomb is the driver
    built into the kernel as hp_wmi_bios_remove is marked as __exit and will
    not be present in the kernel).

    To fix it let's use platform_driver_probe() instead of
    platform_driver_register(), which disables binding/unbinding via sysfs.
    This also allows us to mark hp_wmi_bios_setup as __init and discard it
    once module is initialized.

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

    Dmitry Torokhov
     
  • We need to decrement "i" first because the current "i" was not allocated
    succesfully. Also we should go free the way down to zero to avoid a
    leak.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Matthew Garrett

    Dan Carpenter
     
  • Several models of HP laptops using the same DSDT have hotkey buttons
    that do not work until the EC is configured to enable them.

    Signed-off-by: Kyle Evans
    Signed-off-by: Matthew Garrett

    Kyle Evans
     
  • Fix the following build warning

    CC [M] drivers/platform/x86/asus-wmi.o
    drivers/platform/x86/asus-wmi.c:1356:13: warning: ‘do_nothing’ defined but not used [-Wunused-function]

    Signed-off-by: Shuah Khan
    Signed-off-by: Matthew Garrett

    Shuah Khan
     
  • Fengguang Wu run kernel build test to platform-drivers-x86/linux-next git tree
    on x86_64 architecture and found a warning that was introduced by
    727651bf738b6b917335025d09323d0962eda114 commit:

    drivers/platform/x86/acer-wmi.c: In function ‘WMID_set_capabilities’:
    drivers/platform/x86/acer-wmi.c:1211: warning: ‘devices’ may be used
    uninitialized in this function

    This patch fixes the above warning message.

    Cc: Carlos Corbacho
    Cc: Matthew Garrett
    Cc: Dmitry Torokhov
    Cc: Corentin Chary
    Cc: Fengguang Wu
    Signed-off-by: Lee, Chun-Yi
    Signed-off-by: Matthew Garrett

    Lee, Chun-Yi
     
  • Handle HKEY event generated on AC power change. The current message
    asks users to submit data related to this event which leads to
    a lot of confusion and noise on the mailing list.

    The following is a list affected models and 'Message-Id'
    from ibm-acpi-devel@lists.sourceforge.net of people who saw this
    event when either plugging or unplugging the AC adapter or
    docking or undocking their laptop.

    X120e - CAAAujb5v9dHdbdxDVvhNJoG4UrZC1TgKqeB_zGpAy7q8kZHMEQ@mail.gmail.com
    X121e - 20120817143459.GB3462@x1.osrc.amd.com
    X220 - Confirmed by Richard Hartmann
    X220i - 4F406274.7070807@gmail.com
    X220t - 4F489F5B.9040705@cs.tu-berlin.de
    X230 - CAKx4u7kqvVH0-gstomsiVYdGC0i6=bGxzaQ8sq9gbg76TGme3w@mail.gmail.com
    T420 - 9c848ee30b006737d0534d906bab0cf6@niklaas-baudet.net
    T420s - 20120608080824.GS25324@hexapodia.org
    W520 - 20121008181050.GF2549@ericlaptop.home.christensenplace.us

    Signed-off-by: Richard Hartmann
    Signed-off-by: Matthew Garrett

    Richard Hartmann
     
  • Add support for the HP Pavilion 14 Chromebook's trackpad, which is a reuse
    of the Samsung Series 5 550 trackpad.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • The Samsung Series 5 Chromebook is equipped with a Taos tsl2583
    light sensor. Instatiate it here.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • Two legacy Chromebooks, the Cr-48, and the Acer AC700,
    are equipped with a Taos tsl2563 light sensor.
    This will instantiate the sensor on those laptops.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • Add support for the Acer C7's trackpad, which is a reuse
    of the Samsung Series 5 550 trackpad.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • The Cypress trackpad on smbus is used on other systems
    as well. Lets make the name more generic.

    Signed-off-by: Benson Leung
    Signed-off-by: Matthew Garrett

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

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

    Corentin Chary
     
  • Z series and other recent models have 0x14? for lid and keyboard
    backlight.

    Signed-off-by: Mattia Dongili
    Signed-off-by: Matthew Garrett

    Mattia Dongili
     
  • Signed-off-by: Mattia Dongili
    Signed-off-by: Matthew Garrett

    Mattia Dongili
     
  • The call to handlers 0x124 and 0x135 (rfkill control) seems to take a
    bitmask to control various states of the device. For our rfkill we need
    a fully on/off. SVZ1311Z9R/X's LTE modem needs more bits up.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47751
    Signed-off-by: Mattia Dongili
    Signed-off-by: Matthew Garrett
    Cc: stable@kernel.org

    Mattia Dongili
     
  • Pull vfs pile (part one) from Al Viro:
    "Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
    locking violations, etc.

    The most visible changes here are death of FS_REVAL_DOT (replaced with
    "has ->d_weak_revalidate()") and a new helper getting from struct file
    to inode. Some bits of preparation to xattr method interface changes.

    Misc patches by various people sent this cycle *and* ocfs2 fixes from
    several cycles ago that should've been upstream right then.

    PS: the next vfs pile will be xattr stuff."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
    saner proc_get_inode() calling conventions
    proc: avoid extra pde_put() in proc_fill_super()
    fs: change return values from -EACCES to -EPERM
    fs/exec.c: make bprm_mm_init() static
    ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
    ocfs2: fix possible use-after-free with AIO
    ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
    get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
    target: writev() on single-element vector is pointless
    export kernel_write(), convert open-coded instances
    fs: encode_fh: return FILEID_INVALID if invalid fid_type
    kill f_vfsmnt
    vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
    nfsd: handle vfs_getattr errors in acl protocol
    switch vfs_getattr() to struct path
    default SET_PERSONALITY() in linux/elf.h
    ceph: prepopulate inodes only when request is aborted
    d_hash_and_lookup(): export, switch open-coded instances
    9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
    9p: split dropping the acls from v9fs_set_create_acl()
    ...

    Linus Torvalds
     

25 Feb, 2013

13 commits

  • This adds the chromeos_laptop driver. It supports
    the Cypress APA SMBUS touchpad as well as the isl29018 i2c ambient
    light sensor on the Samsung Series 5 550 Chromebook.

    Signed-off-by: Benson Leung
    Reviewed-by: Olof Johansson
    Signed-off-by: Matthew Garrett

    Benson Leung
     
  • The new B series BIOS has version string 43CN46WW. The driver
    requires that 2nd and 3rd characters be 'E' and 'T' respectively,
    where as the newer BIOS has 'C' and 'N' respectively. Failing to
    load the module causes some of the hotkeys to not work.

    Before the patch
    ================
    sudo modprobe thinkpad_acpi
    FATAL: Error inserting thinkpad_acpi (/lib/modules/3.5.0-15-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko): No such device

    After the patch
    ===============
    [44937.265438] thinkpad_acpi: ThinkPad ACPI Extras v0.24
    [44937.265445] thinkpad_acpi: http://ibm-acpi.sf.net/
    [44937.265449] thinkpad_acpi: ThinkPad BIOS 43CN46WW, EC unknown
    [44937.265453] thinkpad_acpi: Lenovo Lenovo B470e, model HuronRiver Platform
    [44937.266479] thinkpad_acpi: detected a 8-level brightness capable ThinkPad
    [44937.266557] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
    [44937.267846] thinkpad_acpi: Console audio control enabled, mode: monitor (read only)
    [44937.268131] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input17

    Signed-off-by: Manoj Iyer
    Tested-by: James Ferguson
    Signed-off-by: Matthew Garrett

    Manoj Iyer
     
  • Add rfkill support for the GPS radio found in HP laptops (HP Elitebook 2170p and the like)
    using the Ericsson F5321/H5321 Mobile Broadband Module.

    Signed-off-by: Viliam Trepák
    Signed-off-by: Matthew Garrett

    Trepák Vilmos
     
  • Found another Lenovo ideapad S205 the product name is 1038DPG, it has
    a 0x78 EC register exposes the state of wifi hardware switch on the machine.

    So, add this patch to support Lenovo ideapad S205-1038DPG wifi hardware
    switch in acer-wmi driver.

    Evidently the Ideapad S205 is just a model name on the market, but they have
    totally different product name in DMI table.

    Reference: bko#43007
    https://bugzilla.kernel.org/show_bug.cgi?id=43007

    Tested-by: Colin
    Cc: Carlos Corbacho
    Cc: Matthew Garrett
    Cc: Dmitry Torokhov
    Cc: Corentin Chary
    Cc: Thomas Renninger
    Signed-off-by: Lee, Chun-Yi
    Signed-off-by: Matthew Garrett

    Lee, Chun-Yi
     
  • Found another Lenovo ideapad S205 the product name is 10382JG, it has
    a 0x78 EC register exposes the state of wifi hardware switch on the machine.

    So, add this patch to support Lenovo ideapad S205-10382JG wifi hardware
    switch in acer-wmi driver.

    Evidently the Ideapad S205 is just a model name on the market, but they have
    totally different product name in DMI table.

    Reference: bko#43007
    https://bugzilla.kernel.org/show_bug.cgi?id=43007

    Tested-by: Ivo Anjo
    Cc: Carlos Corbacho
    Cc: Matthew Garrett
    Cc: Dmitry Torokhov
    Cc: Corentin Chary
    Cc: Thomas Renninger
    Signed-off-by: Lee, Chun-Yi
    Signed-off-by: Matthew Garrett

    Lee, Chun-Yi
     
  • Fill up all the video switch keys in the map.

    Signed-off-by: AceLan Kao
    Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    AceLan Kao
     
  • For machines with AMD graphic chips, it will send out WMI event and ACPI
    interrupt at the same time while hitting the hotkey. BIOS will notify the
    system the next display output mode throught WMI event code, so that
    windows' application can show an OSD to tell the user which mode will be
    taken effect. User can hit the display toggle key many times within 2
    seconds to choose the mode they want. After 2 seconds, WMI dirver should
    send a WMIMethod(SDSP) command to tell the BIOS which mode the user chose.
    And then BIOS will raise another ACPI interrupt to tell the system to
    really switch the display mode.

    In Linux desktop, we don't have this kind of OSD to let users to choose
    the mode they want, so we don't need to call WMIMethod(SDSP) to have
    another ACPI interrupt. To simplify the problem, we just have to ignore
    the WMI event, and let the first ACPI interrupt to send out the key event.

    For the need, here comes another quirk to add machines with this kind of
    behavior. When the WMI driver receives the display toggle WMI event, and
    found the machin is in the list, it will do nothing and let ACPI video
    driver to report the key event.

    Signed-off-by: AceLan Kao
    Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    AceLan Kao
     
  • Fill up all the video switch keys in the map.

    Signed-off-by: AceLan Kao
    Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    AceLan Kao
     
  • 0x60 is touchpad enable key, but is misdefined in the keymap.

    Signed-off-by: AceLan Kao
    Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    AceLan Kao
     
  • 0x60 is touchpad enable key, but is misdefined in the keymap.

    Signed-off-by: AceLan Kao
    Signed-off-by: Corentin Chary
    Signed-off-by: Matthew Garrett

    AceLan Kao
     
  • Maybe this should be shared in another module...

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

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

    Corentin Chary
     
  • Add MSI Wind support to msi-wmi driver. MSI Wind has different GUID for
    key events, different WMI key scan codes, it does not need filtering
    consecutive identical events and it does not support backlight control
    via MSIWMI_BIOS_GUID WMI. Tested on MSI Wind U100.

    Signed-off-by: Maxim Mikityanskiy
    Signed-off-by: Matthew Garrett

    Maxim Mikityanskiy