1. 11 4月, 2009 1 次提交
  2. 07 4月, 2009 2 次提交
    • L
      hwmon: Add Asus ATK0110 support · 2c03d07a
      Luca Tettamanti 提交于
      Asus boards have an ACPI interface for interacting with the hwmon (fan,
      temperatures, voltages) subsystem; this driver exposes the relevant
      information via the standard sysfs interface.
      
      There are two different ACPI interfaces:
      - an old one (based on RVLT/RFAN/RTMP)
      - a new one (GGRP/GITM)
      Both may be present but there a few cases (my board, sigh) where the
      new interface is just an empty stub; the driver defaults to the old one
      when both are present.
      The old interface has received a considerable testing, but I'm still
      awaiting confirmation from my tester that the new one is working as
      expected (hence the debug code is still enabled).
      
      Currently all the attributes are read-only, though a (partial) control
      should be possible with a bit more work.
      Signed-off-by: NLuca Tettamanti <kronos.it@gmail.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      2c03d07a
    • A
      PCI: pci_slot: grab refcount on slot's bus · 72800360
      Alex Chiang 提交于
      If a logical hot unplug (remove) is performed on a physical PCI slot's
      parent bridge, and then pci_slot is unloaded, we will encounter an oops:
      
        [<ffffffff803a788a>] kobject_release+0x9a/0x290
        [<ffffffff803a77f0>] ? kobject_release+0x0/0x290
        [<ffffffff803a8ce7>] kref_put+0x37/0x80
        [<ffffffff803a76f7>] kobject_put+0x27/0x60
        [<ffffffff803bebcc>] ? pci_destroy_slot+0x3c/0xc0
        [<ffffffff803bebd5>] pci_destroy_slot+0x45/0xc0
        [<ffffffffa000f05c>] acpi_pci_slot_remove+0x5c/0x91 [pci_slot]
        [<ffffffff8040064b>] acpi_pci_unregister_driver+0x4b/0x62
        [<ffffffffa000f5c8>] acpi_pci_slot_exit+0x10/0x12 [pci_slot]
        [<ffffffff80276ce1>] sys_delete_module+0x161/0x250
      
      We need to grab a reference to the parent PCI bus, which will pin
      the bus and prevent it from being released until pci_slot is unloaded.
      
      Cc: lenb@kernel.org
      Reviewed-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Tested-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Reported-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      72800360
  3. 05 4月, 2009 4 次提交
    • B
      ACPI: processor: use .notify method instead of installing handler directly · 7ec0a729
      Bjorn Helgaas 提交于
      This patch adds a .notify() method.  The presence of .notify() causes
      Linux/ACPI to manage event handlers and notify handlers on our behalf,
      so we don't have to install and remove them ourselves.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      CC: Zhang Rui <rui.zhang@intel.com>
      CC: Zhao Yakui <yakui.zhao@intel.com>
      CC: Venki Pallipadi <venkatesh.pallipadi@intel.com>
      CC: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      7ec0a729
    • B
      ACPI: button: use .notify method instead of installing handler directly · 373cfc36
      Bjorn Helgaas 提交于
      This patch adds a .notify() method.  The presence of .notify() causes
      Linux/ACPI to manage event handlers and notify handlers on our behalf,
      so we don't have to install and remove them ourselves.
      
      Note that events from fixed hardware buttons now show up as a special
      notify event, so to preserve user-space backward compatibility, we
      convert that back to ACPI_BUTTON_NOTIFY_STATUS.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Reviewed-by: NAlex Chiang <achiang@hp.com>
      CC: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      373cfc36
    • B
      ACPI: support acpi_device_ops .notify methods · 46ec8598
      Bjorn Helgaas 提交于
      This patch adds support for ACPI device driver .notify() methods.  If
      such a method is present, Linux/ACPI installs a handler for device
      notifications (but not for system notifications such as Bus Check,
      Device Check, etc).  When a device notification occurs, Linux/ACPI
      passes it on to the driver's .notify() method.
      
      In most cases, this removes the need for drivers to install their own
      handlers for device-specific notifications.
      
      For fixed hardware devices like some power and sleep buttons, there's
      no notification value because there's no control method to execute a
      Notify opcode.  When a fixed hardware device generates an event, we
      handle it the same as a regular device notification, except we send
      a ACPI_FIXED_HARDWARE_EVENT value.  This is outside the normal 0x0-0xff
      range used by Notify opcodes.
      
      Several drivers install their own handlers for system Bus Check and
      Device Check notifications so they can support hot-plug.  This patch
      doesn't affect that usage.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Reviewed-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      46ec8598
    • A
      ACPI: battery: asynchronous init · 0f66af53
      Arjan van de Ven 提交于
      The battery driver tends to take quite some time to initialize
      (100ms-300ms is quite typical).
      This patch initializes the batter driver asynchronously, so that other
      things in the kernel can initialize in parallel to this 300 msec.
      
      As part of this, the battery driver had to move to the back
      of the ACPI init order (hence the Makefile change).
      Without this move, the next ACPI driver would just block
      on the ACPI/devicee layer semaphores until the battery driver was
      done anyway, not gaining any boot time.
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      0f66af53
  4. 04 4月, 2009 9 次提交
  5. 03 4月, 2009 3 次提交
  6. 01 4月, 2009 2 次提交
  7. 31 3月, 2009 1 次提交
    • A
      proc 2/2: remove struct proc_dir_entry::owner · 99b76233
      Alexey Dobriyan 提交于
      Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy
      as correctly noted at bug #12454. Someone can lookup entry with NULL
      ->owner, thus not pinning enything, and release it later resulting
      in module refcount underflow.
      
      We can keep ->owner and supply it at registration time like ->proc_fops
      and ->data.
      
      But this leaves ->owner as easy-manipulative field (just one C assignment)
      and somebody will forget to unpin previous/pin current module when
      switching ->owner. ->proc_fops is declared as "const" which should give
      some thoughts.
      
      ->read_proc/->write_proc were just fixed to not require ->owner for
      protection.
      
      rmmod'ed directories will be empty and return "." and ".." -- no harm.
      And directories with tricky enough readdir and lookup shouldn't be modular.
      We definitely don't want such modular code.
      
      Removing ->owner will also make PDE smaller.
      
      So, let's nuke it.
      
      Kudos to Jeff Layton for reminding about this, let's say, oversight.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=12454Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      99b76233
  8. 30 3月, 2009 1 次提交
  9. 28 3月, 2009 17 次提交