24 Jun, 2009

1 commit


13 Jun, 2009

1 commit

  • * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (50 commits)
    drm: include kernel list header file in hashtab header
    drm: Export hash table functionality.
    drm: Split out the mm declarations in a separate header. Add atomic operations.
    drm/radeon: add support for RV790.
    drm/radeon: add rv740 drm support.
    drm_calloc_large: check right size, check integer overflow, use GFP_ZERO
    drm: Eliminate magic I2C frobbing when reading EDID
    drm/i915: duplicate desired mode for use by fbcon.
    drm/via: vfree() no need checking before calling it
    drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver
    drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode
    drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo
    drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds
    drm: add separate drm debugging levels
    radeon: remove _DRM_DRIVER from the preadded sarea map
    drm: don't associate _DRM_DRIVER maps with a master
    drm: simplify kcalloc() call to kzalloc().
    intelfb: fix spelling of "CLOCK"
    drm: fix LOCK_TEST_WITH_RETURN macro
    drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect)
    ...

    Linus Torvalds
     

05 Jun, 2009

1 commit


02 Jun, 2009

1 commit


28 May, 2009

1 commit

  • Extended Address Space Descriptors are new in ACPI 3.0 and allow the
    BIOS to communicate device resource cacheability attributes (write-back,
    write-through, uncacheable, etc) to the OS.

    Previously, PNPACPI ignored these descriptors, so if a BIOS used them,
    a device could be responding at addresses the OS doesn't know about.
    This patch adds support for these descriptors in _CRS and _PRS. We
    don't attempt to encode them for _SRS (just like we don't attempt to
    encode the existing 16-, 32-, and 64-bit Address Space Descriptors).

    Unfortunately, I don't have a way to test this.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown

    Bjorn Helgaas
     

08 May, 2009

1 commit

  • 6328a57401dc5f5cf9931738eb7268fcd8058c49
    "Enable PNPACPI _PSx Support, v3"

    added a call to acpi_bus_set_power(handle, ACPI_STATE_D3)
    to pnpacpi_disable_resource() before the existing call
    to evaluate _DIS on the device.

    This caused suspend to fail on the system in
    http://bugzilla.kernel.org/show_bug.cgi?id=13243
    because the sanity check to verify we entered _PS3
    failed on the serial port.

    As a work-around, that sanity check can be disabled
    system-wide with "acpi.power_nocheck=1"

    Or perhaps we should just shrug off the _PS3 failure
    and carry on with _DIS like we used to -- which is
    what this patch does.

    Signed-off-by: Len Brown

    Len Brown
     

28 Apr, 2009

1 commit

  • We want to use dev_to_node() later on, to be aware of the 'home node'
    of the GSI in question.

    [ Impact: cleanup, prepare the IRQ code to be more NUMA aware ]

    Signed-off-by: Yinghai Lu
    Acked-by: Len Brown
    Cc: Andrew Morton
    Cc: Suresh Siddha
    Cc: "Eric W. Biederman"
    Cc: Rusty Russell
    Cc: Len Brown
    Cc: Bjorn Helgaas
    Cc: Tony Luck
    Cc: linux-acpi@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     

07 Apr, 2009

1 commit


05 Apr, 2009

1 commit


04 Apr, 2009

1 commit

  • (This is an update to the patch presented earlier in
    http://lkml.org/lkml/2008/12/8/284, with new error handling.)

    This patch sets the power of PnP ACPI devices to D0 when they
    are activated and to D3 when they are disabled. The latter is
    in correspondence with the ACPI 3.0 specification, whereas the
    former is added in order to be able to power up a device after
    it has been previously disabled (or when booting up a system).
    (As a consequence, the patch makes the PnP ACPI code more ACPI
    compliant.)

    Section 6.2.2 of the ACPI Specification (at least versions 1.0b
    and 3.0a) states: "Prior to running this control method [_DIS],
    the OS[PM] will have already put the device in the D3 state."
    Unfortunately, there is no clear statement as to when to put
    a device in the D0 state. :-( Therefore, the patch executes the
    method calls as _PS3/_DIS and _SRS/_PS0. What is clear: "If the
    device is disabled, _SRS enables the device at the specified
    resources." (From the ACPI 3.0a Specification.)

    The patch fixes a problem with some IBM ThinkPads (at least the
    600E and the 600X) where the serial ports have a dedicated
    power source that needs to be brought up before the serial port
    can be used. Without this patch, the serial port is enabled
    but has no power. (In the past, the tpctl utility had to be
    utilized to turn on the power, but support for this feature
    stopped with version 5.9 as it did not support the more recent
    kernel versions.)

    The error handlers that handle any errors that can occur during
    the power up/power down phases return the error codes to the
    caller directly. Comments welcome! :-)

    No regressions were observed on hardware that does not require
    this patch.

    The patch is applied against 2.6.27.x.

    Signed-off-by: Witold Szczeponik
    Acked-by: Zhao Yakui
    Signed-off-by: Len Brown

    Witold Szczeponik
     

03 Apr, 2009

2 commits


09 Jan, 2009

1 commit


07 Jan, 2009

1 commit


01 Jan, 2009

1 commit


31 Dec, 2008

1 commit


05 Nov, 2008

1 commit


23 Oct, 2008

3 commits

  • Conflicts:
    MAINTAINERS
    arch/x86/kernel/acpi/boot.c
    arch/x86/kernel/acpi/sleep.c
    drivers/acpi/Kconfig
    drivers/pnp/Makefile
    drivers/pnp/quirks.c

    Signed-off-by: Len Brown

    Len Brown
     
  • Len Brown
     
  • According to ACPI spec when the status of some device is not present
    but functional, the device is valid and the children of this device
    should be enumerated. It means that the device should be added to
    linux acpi device tree. But the device driver for this device should not
    be loaded.
    The detailed info can be found in the section 6.3.7 of ACPI 3.0b spec.
    _STA may return bit 0 clear (not present) with bit 3 set (device is
    functional). This case is used to indicate a valid device for which no
    device driver should be loaded (for example, a bridge device.).
    Children of this device may be present and valid. OS should continue
    enumeration below a device whose _STA returns this bit combination

    http://bugzilla.kernel.org/show_bug.cgi?id=3358

    Signed-off-by: Zhao Yakui
    Signed-off-by: Li Shaohua
    Signed-off-by: Zhang Rui
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Zhao Yakui
     

17 Oct, 2008

5 commits

  • I dunno how this missed Bjorn and his quest to use %pF in commit
    c80cfb0406c01bb5da91bfe30f5cb1fd96831138 ("vsprintf: use new vsprintf
    symbolic function pointer format"), but it did.

    So use %pF in the two remaining places that still tried to print out
    function pointers by hand.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (46 commits)
    UIO: Fix mapping of logical and virtual memory
    UIO: add automata sercos3 pci card support
    UIO: Change driver name of uio_pdrv
    UIO: Add alignment warnings for uio-mem
    Driver core: add bus_sort_breadthfirst() function
    NET: convert the phy_device file to use bus_find_device_by_name
    kobject: Cleanup kobject_rename and !CONFIG_SYSFS
    kobject: Fix kobject_rename and !CONFIG_SYSFS
    sysfs: Make dir and name args to sysfs_notify() const
    platform: add new device registration helper
    sysfs: use ilookup5() instead of ilookup5_nowait()
    PNP: create device attributes via default device attributes
    Driver core: make bus_find_device_by_name() more robust
    usb: turn dev_warn+WARN_ON combos into dev_WARN
    debug: use dev_WARN() rather than WARN_ON() in device_pm_add()
    debug: Introduce a dev_WARN() function
    sysfs: fix deadlock
    device model: Do a quickcheck for driver binding before doing an expensive check
    Driver core: Fix cleanup in device_create_vargs().
    Driver core: Clarify device cleanup.
    ...

    Linus Torvalds
     
  • PnP encodes the resource type directly as its struct resource->flags value
    which is an unsigned long. Make it so...

    Signed-off-by: Rene Herman
    Cc: "H. Peter Anvin"
    Acked-by: Bjorn Helgaas
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rene Herman
     
  • There's no point in printing some ancient version number forever.

    Signed-off-by: Adrian Bunk
    Acked-by: Rene Herman
    Acked-by: Bjorn Helgaas
    Acked-by: Adam M Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This creates the attributes before the uevent is sent.

    Signed-off-by: Drew Moseley
    Acked-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Drew Moseley
     

15 Oct, 2008

1 commit


11 Oct, 2008

8 commits

  • CONFIG_PNP_DEBUG is no longer used to turn on dev_dbg() in PNP,
    since we have pnp_dbg() which can be enabled at boot-time, so
    this patch removes the config option.

    Note that pnp_dock_event() checks "#ifdef DEBUG". But there's
    never been a clear path for enabling that via configgery. It
    happened that CONFIG_PNP_DEBUG enabled it after 1bd17e63a068db6,
    but that was accidental and only in 2.6.26.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • pnp_dbg() is equivalent to dev_dbg() except that we can turn it
    on at boot-time with the "pnp.debug" kernel parameter, so we don't
    have to build a new kernel image.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • This adds the core function pnp_dbg() and a new config option to
    enable it.

    The PNP core debugging messages can be enabled at boot-time with the
    "pnp.debug" kernel parameter.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • Use scnprintf() to build up a buffer of PNP IDs to print. This
    makes the printk atomic and helps get rid of an #ifdef.

    Also remove an "#ifdef DEBUG" from some debug functions. The
    functions only produce debug output, so it's OK to run the
    function and just have the output be dropped at the end.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • Use the '%pF' format to get rid of an "#ifdef DEBUG".

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • There are only a few remaining uses of pnp_info(), so I just
    converted them to printk and removed the pnp_err(), pnp_info(),
    pnp_warn(), and pnp_dbg() wrappers.

    I also removed a couple debug messages that don't seem useful any
    more ("driver registered", "driver unregistered", "driver attached").

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • Use dev_printk() when possible for more informative error messages.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • This patch just fixes indentation of a couple debug messages.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Bjorn Helgaas
     

10 Oct, 2008

1 commit

  • We already did that a long time ago for pnp_system_init, but
    pnpacpi_init and pnpbios_init remained as subsys_initcalls, and get
    linked into the kernel before the arch-specific routines that finalize
    the PCI resources (pci_subsys_init).

    This means that the PnP routines would either register their resources
    before the PCI layer could, or would be unable to check whether a PCI
    resource had already been registered. Both are problematic.

    I wanted to do this before 2.6.27, but every time we change something
    like this, something breaks. That said, _every_ single time we trust
    some firmware (like PnP tables) more than we trust the hardware itself
    (like PCI probing), the problems have been worse.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

23 Sep, 2008

1 commit


25 Aug, 2008

1 commit

  • The Extended Interrupt descriptor has a producer/consumer bit, but
    it's not clear what that would mean, and existing BIOSes use the bit
    inconsistently. This patch makes Linux PNPACPI ignore the bit.

    The ACPI spec contains examples of PCI Interrupt Link devices marked
    as ResourceProducers, but many BIOSes mark them as ResourceConsumers.

    I also checked with a Windows contact, who said:

    Windows uses only "resource consumer" when dealing with
    interrupts. There's no useful way of looking at a resource
    producer of interrupts.

    ... NT-based Windows largely infers the producer/consumer stuff
    from the device type and ignores the bits in the namespace. This
    was necessary because Windows 98 ignored them and early namespaces
    contained random junk.

    The reason I want to change this is because if PNPACPI devices exclude
    ResourceProducer IRQ resources, we can't write PNP drivers for those
    devices.

    For example, on machines such as the the HP rx7620, rx7640, rx8620,
    rx8640, and Superdome, HPET interrupts are ResourceProducers. The
    HPET driver currently has to use acpi_bus_register_driver() and do its
    own _CRS parsing, even though it requires absolutely no ACPI-specific
    functionality.

    It would be better if the HPET driver were a PNP driver and took
    advantage of the _CRS parsing built into PNPACPI.

    This producer/consumer check was originally added here:
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2b8de5f50e4a302b83ebcd5b0120621336d50bd6

    to fix this bug:
    http://bugzilla.kernel.org/show_bug.cgi?id=6292

    However, the bug was related only to memory and I/O port resources,
    where the distinction is sensible and important to Linux. Given that
    the distinction is muddled for IRQ resources, I think it was a mistake
    to add the check there.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andi Kleen

    Bjorn Helgaas
     

02 Aug, 2008

1 commit

  • Each resource should be printed on its own line, so start snprintf'ing
    at the beginning of the buffer every time through the loop.

    Also, use scnprintf() rather than snprintf() when building up the
    buffer to print. scnprintf() returns the number of characters actually
    written into the buffer (not including the trailing NULL).

    snprintf() returns the number of characters that *would be* written,
    assuming everything would fit in the buffer. That's nice if we want to
    resize the buffer to make sure everything fits, but in this case, I
    just want to keep from overflowing the buffer, and it's OK if the
    output is truncated.

    Using snprintf() meant that my "len" could grow to be more than the
    the buffer size, which makes "sizeof(buf) - len" negative, which causes
    this alarming WARN_ON:
    http://marc.info/?l=linux-kernel&m=121736480005656&w=2

    More useful snprintf/scnprintf discussion:
    http://lwn.net/Articles/69419/

    Signed-off-by: Bjorn Helgaas
    Reported-by: Pete Clements
    Cc: Rene Herman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     

27 Jul, 2008

2 commits

  • pnp_add_card_id() can now become static.

    Signed-off-by: Adrian Bunk
    Cc: Bjorn Helgaas
    Cc: Rene Herman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • quirk_system_pci_resources() disables a PnP mem resource that overlaps a
    PCI BAR so as to not keep the PCI driver from claiming the resource. Have
    it do the same for io resources.

    Here, ACPI claims ports that overlap with my soundcard causing the
    soundcard driver to fail to load. It's unknown why my ACPI BIOS claims
    those ports; it did not use to but this is not a (kernel) regression.
    Some odd BIOS reconfig triggered by temporarily removing the card seems to
    have brought this on.

    Signed-off-by: Rene Herman
    Acked-by: Bjorn Helgaas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rene Herman