1. 02 2月, 2008 2 次提交
    • H
      ACPI: thinkpad-acpi: refactor hotkey_get and hotkey_set (v2) · b2c985e7
      Henrique de Moraes Holschuh 提交于
      Refactor and organize the code a bit for the NVRAM polling support:
      
      1. Split hotkey_get/set into hotkey_status_get/set and hotkey_mask_get/set;
      2. Cache the status of hot key mask for later driver use;
      3. Make sure the cache of hot key mask is refreshed when needed;
      4. log a printk notice when the firmware doesn't set the hot key
         mask to exactly what we asked it to;
      5. Add proper locking to the data structures.
      
      Only (4) should be user-noticeable, but there is a chance (5) fixes
      some unknown/unreported race conditions.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      b2c985e7
    • H
      ACPI: thinkpad-acpi: document keymap gotcha's (v2) · 0f089147
      Henrique de Moraes Holschuh 提交于
      Publish the requirements for keymap changes.  This is a documentation
      change, only.
      
      Currently, people look at the thinkpad-acpi default keymaps, and think:
      "modifying this is a trivial thing, it can't break systems, and there are
      keys defined for foo and bar, but the driver has them as KEY_RESERVED.
      Must have been an oversight, let me change it."
      
      And since they never get to see the bug reports, because they are not
      really a part of the Linux ThinkPad users community (linux-thinkpad
      mailinglist, thinkwiki wiki, thinkpad forums) and laptop users are slow
      to complain to distros about any breakages...
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      0f089147
  2. 14 12月, 2007 1 次提交
    • H
      ACPI: thinkpad-acpi: fix lenovo keymap for brightness · 56a185b4
      Henrique de Moraes Holschuh 提交于
      Starting in 2.6.23...
      
      Several reports from X60 users complained that the default Lenovo keymap
      issuing EV_KEY KEY_BRIGHTNESS_UP/DOWN input events caused major issues when
      the proper brightness support through ACPI video.c was loaded.
      
      Therefore, remove the generation of these events by default, which is the
      right thing for T60, X60, R60, T61, X61 and R61 with their latest BIOSes.
      
      Distros that want to misuse these events into OSD reporting (which requires
      an ugly hack from hell in HAL) are welcome to set up the key map they need
      through HAL.  That way, we don't break everyone else's systems.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      56a185b4
  3. 20 11月, 2007 1 次提交
  4. 06 11月, 2007 7 次提交
  5. 16 10月, 2007 1 次提交
  6. 10 10月, 2007 3 次提交
  7. 26 9月, 2007 2 次提交
  8. 24 9月, 2007 6 次提交
  9. 17 9月, 2007 2 次提交
    • H
      ACPI: thinkpad-acpi: bump up version to 0.16 · 3b0c6485
      Henrique de Moraes Holschuh 提交于
      Name it thinkpad-acpi version 0.16 to avoid any confusion with some 0.15
      thinkpad-acpi development snapshots and backports that had input layer
      support, but no hotkey_report_mode support.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      3b0c6485
    • H
      ACPI: thinkpad-acpi: revert new 2.6.23 CONFIG_THINKPAD_ACPI_INPUT_ENABLED option · ff80f137
      Henrique de Moraes Holschuh 提交于
      Revert new 2.6.23 CONFIG_THINKPAD_ACPI_INPUT_ENABLED Kconfig option because
      it would create a legacy we don't want to support.
      
      CONFIG_THINKPAD_ACPI_INPUT_ENABLED was added to try to fix an issue that is
      now moot with the addition of the netlink ACPI event report interface to
      the ACPI core.
      
      Now that ACPI core can send events over netlink, we can use a different
      strategy to keep backwards compatibility with older userspace, without the
      need for the CONFIG_THINKPAD_ACPI_INPUT_ENABLED games.  And it arrived
      before CONFIG_THINKPAD_ACPI_INPUT_ENABLED made it to a stable mainline
      kernel, even, which is Good.
      
      This patch is in sync with some changes to thinkpad-acpi backports, that
      will keep things sane for userspace across different combinations of kernel
      versions, thinkpad-acpi backports (or the lack thereof), and userspace
      capabilities:
      
      Unless a module parameter is used, thinkpad-acpi will now behave in such a
      way that it will work well (by default) with userspace that still uses only
      the old ACPI procfs event interface and doesn't care for thinkpad-acpi
      input devices.
      
      It will also always work well with userspace that has been updated to use
      both the thinkpad-acpi input devices, and ACPI core netlink event
      interface, regardless of any module parameter.
      
      The module parameter was added to allow thinkpad-acpi to work with
      userspace that has been partially updated to use thinkpad-acpi input
      devices, but not the new ACPI core netlink event interface.  To use this
      mode of hot key reporting, one has to specify the hotkey_report_mode=2
      module parameter.
      
      The thinkpad-acpi driver exports the value of hotkey_report_mode through
      sysfs, as well.  thinkpad-acpi backports to older kernels, that do not
      support the new ACPI core netlink interface, have code to allow userspace
      to switch hotkey_report_mode at runtime through sysfs.  This capability
      will not be provided in mainline thinkpad-acpi as it is not needed there.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Cc: Michael S. Tsirkin <mst@dev.mellanox.co.il>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Richard Hughes <hughsient@gmail.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      ff80f137
  10. 24 8月, 2007 2 次提交
    • L
      ACPI: Schedule /proc/acpi/event for removal · 14e04fb3
      Len Brown 提交于
      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: NLen Brown <len.brown@intel.com>
      14e04fb3
    • Z
      ACPI: don't duplicate input events on netlink · 962ce8ca
      Zhang Rui 提交于
      The previous events patch added a netlink event for every
      user of the legacy /proc/acpi/event interface.
      
      However, some users of /proc/acpi/event are really input events,
      and they already report their events via the input layer.
      
      Introduce a new interface, acpi_bus_generate_netlink_event(),
      which is explicitly called by devices that want to repoprt
      events via netlink.  This allows the input-like events
      to opt-out of generating netlink events.  In summary:
      
      events that are sent via netlink:
      	ac/battery/sbs
      	thermal
      	processor
      	thinkpad_acpi dock/bay
      
      events that are sent via input layer:
      	button
      	video hotkey
      	thinkpad_acpi hotkey
      	asus_acpi/asus-laptop hotkey
      	sonypi/sonylaptop
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      962ce8ca
  11. 04 8月, 2007 1 次提交
    • H
      ACPI: thinkpad-acpi: fix the module init failure path · ac36393d
      Henrique de Moraes Holschuh 提交于
      Thomas Renninger reports that if one tries to load thinkpad-acpi in a
      non-thinkpad, one gets:
      
      Call Trace:
       [<ffffffff802fa57d>] kref_get+0x2f/0x36
       [<ffffffff802f97f7>] kobject_get+0x12/0x17
       [<ffffffff8036dfd7>] get_driver+0x14/0x1a
       [<ffffffff8036dfee>] driver_remove_file+0x11/0x32
       [<ffffffff8823b9be>] :thinkpad_acpi:thinkpad_acpi_module_exit+0xa8/0xfc
       [<ffffffff8824b8a0>] :thinkpad_acpi:thinkpad_acpi_module_init+0x74a/0x776
       [<ffffffff8024f968>] __link_module+0x0/0x25
       [<ffffffff80252269>] sys_init_module+0x162c/0x178f
       [<ffffffff8020bc2e>] system_call+0x7e/0x83
      
      So, track if the platform driver and its driver attributes were registered,
      and only deallocate them in that case.
      
      This patch is based on Thomas Renninger's patch for the issue.
      Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Acked-by: NThomas Renninger <trenn@suse.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      ac36393d
  12. 24 7月, 2007 1 次提交
  13. 22 7月, 2007 11 次提交