22 Feb, 2011

8 commits

  • It is found on Dell Inspiron 1018 that the firmware reports that the hardware
    killswitch is not supported. This makes the rfkill key not functional.

    This patch forces the driver to toggle the firmware rfkill status in the case
    that the hardware killswitch is indicated as unsupported by the firmware.

    Signed-off-by: Keng-Yu Lin
    Tested-by: Alessio Igor Bogani
    Signed-off-by: Matthew Garrett

    Keng-Yu Lin
     
  • Some thinkpad hotkeys report key codes like KEY_FN_F8 when something
    like KEY_VOLUMEDOWN is desired. Always provide the scan codes in
    addition to the key codes to assist with debugging these issues. Also
    send the scan code before the key code to match what other drivers do,
    as some userspace utilities expect this ordering.

    Signed-off-by: Seth Forshee
    Signed-off-by: Matthew Garrett

    Seth Forshee
     
  • 6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3 needs to be
    6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3 to match the hardware alias.

    Signed-off-by: Matthew Garrett
    Acked-by: Carlos Corbacho
    Cc: stable@kernel.org

    Matthew Garrett
     
  • Most platform/x86 drivers that use INPUT_SPARSEKMAP also depend on INPUT,
    so do the same for ideapad-laptop. This fixes a kconfig warning and
    subsequent build errors when CONFIG_INPUT is disabled.

    warning: (ACER_WMI && ASUS_LAPTOP && DELL_WMI && HP_WMI && PANASONIC_LAPTOP && IDEAPAD_LAPTOP && EEEPC_LAPTOP && EEEPC_WMI && MSI_WMI && TOPSTAR_LAPTOP && ACPI_TOSHIBA) selects INPUT_SPARSEKMAP which has unmet direct dependencies (!S390 && INPUT)

    ERROR: "input_free_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "input_register_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_setup" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "input_allocate_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "input_unregister_device" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_free" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_report_event" [drivers/platform/x86/ideapad-laptop.ko] undefined!

    Signed-off-by: Randy Dunlap
    Cc: David Woodhouse
    Cc: Matthew Garrett
    Cc: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Randy Dunlap
     
  • Don't allow everybody to write to hardware registers.

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Matthew Garrett

    Vasiliy Kulikov
     
  • Don't allow everybody to change ACPI settings. The comment says that it
    is done deliberatelly, however, the comment before disp_proc_write()
    says that at least one of these setting is experimental.

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Matthew Garrett

    Vasiliy Kulikov
     
  • Don't allow everybody to change WMI settings.

    Signed-off-by: Vasiliy Kulikov
    Signed-off-by: Matthew Garrett

    Vasiliy Kulikov
     
  • There is no need to install a chained handler for this hardware. This
    is a plain x86 IOAPIC interrupt which is handled by the core code
    perfectly fine. There is nothing special about demultiplexing these
    gpio interrupts which justifies a custom hack. Replace it by a plain
    old interrupt handler installed with request_irq. That makes the code
    agnostic about the underlying primary interrupt hardware. The overhead
    for this is minimal, but it gives us the advantage of accounting,
    balancing and to detect interrupt storms. gpio interrupts are not
    really that performance critical.

    Patch fixups from akpm

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Matthew Garrett
    Signed-off-by: Andrew Morton

    Thomas Gleixner
     

08 Feb, 2011

3 commits

  • The set_type function of the pmic irq chip is a horrible hack. It
    schedules work because it cannot access the scu chip from the set_type
    function. That breaks the assumption, that the type is set after
    set_type has returned.

    irq_chips provide buslock functions to avoid the above. Convert the
    driver to use the proper model.

    Signed-off-by: Thomas Gleixner
    Cc: Feng Tang
    Cc: Matthew Garrett
    Cc: Alan Cox
    Cc: Alek Du
    Signed-off-by: Matthew Garrett

    Thomas Gleixner
     
  • Old functions will go away soon. Remove the stray semicolons while at
    it.

    Signed-off-by: Thomas Gleixner
    Cc: Feng Tang
    Cc: Matthew Garrett
    Cc: Alan Cox
    Cc: Alek Du
    Signed-off-by: Matthew Garrett

    Thomas Gleixner
     
  • commit 456dc301([PATCH] intel_pmic_gpio: modify EOI handling following
    change of kernel irq subsystem) changes

    - desc->chip->eoi(irq);
    +
    + if (desc->chip->irq_eoi)
    + desc->chip->irq_eoi(irq_get_irq_data(irq));
    + else
    + dev_warn(pg->chip.dev, "missing EOI handler for irq %d\n", irq);

    With the following explanation:

    "Latest kernel has many changes in IRQ subsystem and its interfaces,
    like adding irq_eoi" for struct irq_chip, this patch will make it
    support both the new and old interface."

    This is completely bogus.

    #1) The changelog does not match the patch at all

    #2) This driver relies on the assumption that it sits behind an eoi
    capable interrupt line. If the implementation of the underlying
    chip changes from eoi to irq_eoi then this driver has to follow
    that change and not add a total bogosity.

    Remove the sillyness and retrieve the interrupt data from irq_desc
    directly. No need to got through circles to look it up.

    Signed-off-by: Thomas Gleixner
    Cc: Feng Tang
    Cc: Matthew Garrett
    Cc: Alan Cox
    Cc: Alek Du
    Signed-off-by: Matthew Garrett

    Thomas Gleixner
     

31 Jan, 2011

1 commit


26 Jan, 2011

2 commits


14 Jan, 2011

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)
    ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework
    ACPI: fix resource check message
    ACPI / Battery: Update information on info notification and resume
    ACPI: Drop device flag wake_capable
    ACPI: Always check if _PRW is present before trying to evaluate it
    ACPI / PM: Check status of power resources under mutexes
    ACPI / PM: Rename acpi_power_off_device()
    ACPI / PM: Drop acpi_power_nocheck
    ACPI / PM: Drop acpi_bus_get_power()
    Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()
    ACPI / Fan: Rework the handling of power resources
    ACPI / PM: Register power resource devices as soon as they are needed
    ACPI / PM: Register acpi_power_driver early
    ACPI / PM: Add function for updating device power state consistently
    ACPI / PM: Add function for device power state initialization
    ACPI / PM: Introduce __acpi_bus_get_power()
    ACPI / PM: Introduce function for refcounting device power resources
    ACPI / PM: Add functions for manipulating lists of power resources
    ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes
    ACPICA: Update version to 20101209
    ...

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    Documentation/trace/events.txt: Remove obsolete sched_signal_send.
    writeback: fix global_dirty_limits comment runtime -> real-time
    ppc: fix comment typo singal -> signal
    drivers: fix comment typo diable -> disable.
    m68k: fix comment typo diable -> disable.
    wireless: comment typo fix diable -> disable.
    media: comment typo fix diable -> disable.
    remove doc for obsolete dynamic-printk kernel-parameter
    remove extraneous 'is' from Documentation/iostats.txt
    Fix spelling milisec -> ms in snd_ps3 module parameter description
    Fix spelling mistakes in comments
    Revert conflicting V4L changes
    i7core_edac: fix typos in comments
    mm/rmap.c: fix comment
    sound, ca0106: Fix assignment to 'channel'.
    hrtimer: fix a typo in comment
    init/Kconfig: fix typo
    anon_inodes: fix wrong function name in comment
    fix comment typos concerning "consistent"
    poll: fix a typo in comment
    ...

    Fix up trivial conflicts in:
    - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)
    - fs/ext4/ext4.h

    Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.

    Linus Torvalds
     

12 Jan, 2011

1 commit


11 Jan, 2011

4 commits

  • Add new mappings for assist, VAIO, zoom and eject buttons present on
    refurbished P, Z and EC models.

    Reported-by: Gyorgy Jeney
    Reported-by: Stephan Mueller
    Cc: Dmitry Torokhov
    Cc: Matthew Garrett
    Signed-off-by: Mattia Dongili
    Signed-off-by: Matthew Garrett

    Mattia Dongili
     
  • Currently the x86 platform devices are not consistent about selecting
    or depending on the LEDs Kconfig variables, and this inconsistency
    leads to Kconfig getting upset and refusing to offer LEDs (even on
    non-x86 platforms):

    drivers/platform/x86/Kconfig:422:error: recursive dependency detected!
    drivers/platform/x86/Kconfig:422: symbol EEEPC_WMI depends on ACPI_WMI
    drivers/platform/x86/Kconfig:438: symbol ACPI_WMI is selected by ACER_WMI
    drivers/platform/x86/Kconfig:18: symbol ACER_WMI depends on LEDS_CLASS
    drivers/leds/Kconfig:10: symbol LEDS_CLASS is selected by EEEPC_WMI

    Fix this by always selecting rather than depending on the symbols as
    slightly more drivers use this approach already and it seems more
    user friendly.

    Signed-off-by: Mark Brown
    Signed-off-by: Matthew Garrett

    Mark Brown
     
  • Fix sparse warning for non-ANSI function declaration:

    drivers/platform/x86/sony-laptop.c:1134:35: warning: non-ANSI function declaration of function 'sony_nc_rfkill_update'

    Signed-off-by: Randy Dunlap
    Cc: Matthew Garrett
    Cc: Mattia Dongili
    Signed-off-by: Matthew Garrett

    Randy Dunlap
     
  • Fix sparse warning for non-ANSI function declaration:

    drivers/platform/x86/intel_ips.c:1477:25: warning: non-ANSI function declaration of function 'ips_link_to_i915_driver'

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

    Randy Dunlap
     

08 Jan, 2011

19 commits

  • Add the KHLB2 model identifier to the list of supported models

    Signed-off-by: Albert Astals Cid
    Signed-off-by: Matthew Garrett

    Albert Astals Cid
     
  • Enabled Acer Launch Manager mode to disable the EC raw behavior for
    communication devices when WMID3 method available. And, we also add a
    ec_raw_mode kernel module option for enable The EC raw behavior mode
    when anyone what reset it back.
    When Acer Launch Manager mode enabled, EC will stop to touch any
    communication devices' RF state or power state that causes conflict
    with rfkill_input or any userland daemon to charge the rfkill rules.

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

    From: Lee, Chun-Yi
     
  • Latest kernel has many changes in IRQ subsystem and its interfaces, like adding
    "irq_eoi" for struct irq_chip, this patch will make it support both the new
    and old interface.

    Cc: Alek Du
    Signed-off-by: Feng Tang
    Signed-off-by: Matthew Garrett

    Feng Tang
     
  • … thinkpad_acpi.c::acpi_evalf()

    Hi,

    In drivers/platform/x86/thinkpad_acpi.c::acpi_evalf() we don't always call
    va_end() after va_start(). This patch corrects that.

    Signed-off-by: Jesper Juhl <jj@chaosbits.net>
    Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
    Signed-off-by: Matthew Garrett <mjg@redhat.com>

    Jesper Juhl
     
  • Initial wlan/bluetooth/wwan rfkill software block state when acer-wmi driver
    probe. Acer notebook can save the devices state and this patch can use it to
    initial the devices' rfkill state.

    Signed-off-by: Lee, Chun-Yi
    Acked-by: Thomas Renninger
    Cc: Carlos Corbacho
    Signed-off-by: Matthew Garrett

    Lee, Chun-Yi
     
  • Check the Acer OEM-specific Type AA to detect the WiFi/Bluetooth/3G
    devices available or not, and set the devices capability flag.

    Signed-off-by: Lee, Chun-Yi
    Reviewed-by: Jean Delvare
    Reviewed-by: Dmitry Torokhov
    Acked-by: Thomas Renninger
    Acked-by: Jiri Benc
    Cc: Carlos Corbacho
    Cc: Corentin Chary
    Signed-off-by: Matthew Garrett

    Lee, Chun-Yi
     
  • Add 3G rfkill sysfs file for provide userland to control 3G device
    on/off by using WMI method.

    Signed-off-by: Lee, Chun-Yi
    Acked-by: Thomas Renninger
    Acked-by: Jiri Benc
    Acked-by: Dmitry Torokhov
    Signed-off-by: Carlos Corbaho
    Cc: Corentin Chary
    Signed-off-by: Matthew Garrett

    Lee, Chun-Yi
     
  • Add acer wmi hotkey event support. Install a wmi notify handler to
    transfer wmi event key to key code, then send out keycode through acer
    wmi input device to userland.

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

    Lee, Chun-Yi
     
  • With 'make oldnoconfig' I see these warnings in linux-next (next-20101208):

    drivers/platform/x86/Kconfig:422:error: recursive dependency detected!
    drivers/platform/x86/Kconfig:422: symbol EEEPC_WMI depends on ACPI_WMI
    drivers/platform/x86/Kconfig:438: symbol ACPI_WMI is selected by ACER_WMI
    drivers/platform/x86/Kconfig:18: symbol ACER_WMI depends on LEDS_CLASS
    drivers/leds/Kconfig:10: symbol LEDS_CLASS is selected by EEEPC_WMI

    This patch replaces all "select on ACPI_WMI" by "depends on ACPI_WMI".

    Quote from David Woodhouse:
    "A better policy is: "NEVER USE SELECT"."

    Reported-and-tested-by: Sedat Dilek
    Signed-off-by: Sedat Dilek
    Acked-by: Randy Dunlap
    Signed-off-by: Matthew Garrett

    Sedat Dilek
     
  • Passing ideapad_priv as argument and try not to using too much global variable.
    This is part 2 for rfkill.

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

    Ike Panhc
     
  • Passing ideapad_priv as argument and try not to using too much global variable.
    This is part 1 for platform driver and input device.

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

    Ike Panhc
     
  • 1. Add markups on init and exit functions
    2. Unify the comments in the same style
    3. Return result when module initial

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

    Ike Panhc
     
  • Hotkey enabled by this patch:
    Fn+F3: Video mode switch
    Fn+F5: software rfkill for wifi

    For some ideapad when push Fn+F3, hardware generates Super-P keys, those key
    will not be enabled by this patch.

    Thanks for Dave Hansen report the problem. If CONFIG_INPUT_SPARSEKMAP is not
    set, when building, you will have error message:

    ERROR: "sparse_keymap_setup" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_free" [drivers/platform/x86/ideapad-laptop.ko] undefined!
    ERROR: "sparse_keymap_report_event" [drivers/platform/x86/ideapad-laptop.ko] undefined!

    To select INPUT_SPARSEKMAP solve this issue.

    Ref: http://lkml.org/lkml/2010/12/2/340

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

    Ike Panhc
     
  • The entry was at /sys/devices/LNXSYSTM:00/../VPC2004:00/camera_power
    move to /sys/devices/platform/ideapad/camera_power

    Add document about usage of ideapad node in sysfs.

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

    Ike Panhc
     
  • Create /sys/devices/platform/ideapad for nodes of ideapad landing.

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

    Ike Panhc
     
  • Annotate pnp_ids as '__used' to fix following warning:

    CC drivers/platform/x86/fujitsu-laptop.o
    drivers/platform/x86/fujitsu-laptop.c:1243: warning: ‘pnp_ids’ defined but not used

    Signed-off-by: Namhyung Kim
    Signed-off-by: Matthew Garrett

    Namhyung Kim
     
  • The break resets the retval to 0 but we want to return an error code.
    This was introduced in c64eefd48c4 "WMI: embed struct device directly
    into wmi_block"

    Signed-off-by: Dan Carpenter
    Signed-off-by: Matthew Garrett
    Acked-by: Dmitry Torokhov

    Dan Carpenter
     
  • If legacy device (SB.ATKD - ASUS010) used by eeepc-laptop
    is enabled, don't allow eeepc-wmi to load because:
    - eeepc-laptop may be loaded, and can conflict with
    eeepc-wmi (they both try to register eeepc::touchpad
    led for example).
    - the WMI interface is inteded to be used when the OS is
    not detected as Win 7. And when this is the case, the
    ASUS010 device is disabled.

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

    Corentin Chary
     
  • Allow te get the current led state in a more accurate way.

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

    Corentin Chary