24 Aug, 2007

3 commits


30 Jul, 2007

1 commit

  • Restore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the
    new CONFIG_PM_SLEEP option.

    Signed-off-by: Len Brown
    [ Modified to work with the PM config setup changes. ]
    Signed-off-by: Linus Torvalds

    Len Brown
     

27 Jul, 2007

2 commits

  • These are manual fixups after running Lindent. No functional change.

    Signed-off-by: Bjorn Helgaas
    Cc: Len Brown
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Run Lindent on all PNP source files.

    Produced by:

    $ quilt new pnp-lindent
    $ find drivers/pnp -name \*.[ch] | xargs quilt add
    $ quilt add include/linux/{pnp.h,pnpbios.h}
    $ scripts/Lindent drivers/pnp/*.c drivers/pnp/*/*.c include/linux/pnp*.h
    $ quilt refresh --sort

    Signed-off-by: Bjorn Helgaas
    Cc: Len Brown
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     

25 Jul, 2007

1 commit


24 Jul, 2007

1 commit

  • Modify modpost (file2alias.c) to add acpi*:XYZ0001: alias in modules.alias
    like:
    grep acpi /lib/modules/2.6.22-rc4-default/modules.alias
    alias acpi*:SNY5001:* sony_laptop
    alias acpi*:SNY6001:* sony_laptop
    for e.g. the sony_laptop module.
    This module matches against all ACPI devices with a HID or CID of SNY5001
    or SNY6001

    Export an uevent and modalias sysfs file containing the string:
    [MODALIAS=]acpi:PNP0C0C:
    additional CIDs are concatenated at the end.

    Signed-off-by: Thomas Renninger
    Signed-off-by: Kay Sievers
    Signed-off-by: Len Brown

    Thomas Renninger
     

22 Jul, 2007

1 commit


09 May, 2007

2 commits

  • This series converts i386 and x86_64 legacy serial ports to be platform
    devices and prevents probing for them if we have PNP.

    This prevents double discovery, where a device was found both by the legacy
    probe and by 8250_pnp.

    This also prevents the serial driver from claiming IRDA devices (unless they
    have a UART PNP ID). The serial legacy probe sometimes assumed the wrong IRQ,
    so the user had to use "setserial" to fix it.

    Removing the need for setserial to make IRDA devices work seems good, but it
    does break some things. In particular, you may need to keep setserial from
    poking legacy UART stuff back in by doing something like "dpkg-reconfigure
    setserial" with the "kernel" option. Otherwise, the setserial-discovered
    "UART" will claim resources and prevent the IRDA driver from loading.

    This patch:

    If we can discover devices using PNP, we can skip some legacy probes. This
    flag ("pnp_platform_devices") indicates that PNPBIOS or PNPACPI is enabled and
    should tell us about builtin devices.

    Signed-off-by: Bjorn Helgaas
    Cc: Keith Owens
    Cc: Len Brown
    Cc: Adam Belay
    Cc: Matthieu CASTET
    Cc: Jean Tourrilhes
    Cc: Matthew Garrett
    Cc: Ville Syrjala
    Cc: Russell King
    Cc: Samuel Ortiz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Teach PNPACPI how to hook up its devices to their ACPI nodes, so that
    pnpdev->dev.archdata points to the parallel acpi device node. Previously
    this only worked for PCI, leaving a notable hole.

    Export "acpi_bus_type" so this can work.

    Remove some extraneous whitespace.

    Signed-off-by: David Brownell
    Cc: Adam Belay
    Cc: Bjorn Helgaas
    Cc: Len Brown
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

09 Mar, 2007

1 commit


16 Feb, 2007

1 commit


26 Jan, 2007

1 commit


14 Dec, 2006

1 commit

  • All kcalloc() calls of the form "kcalloc(1,...)" are converted to the
    equivalent kzalloc() calls, and a few kcalloc() calls with the incorrect
    ordering of the first two arguments are fixed.

    Signed-off-by: Robert P. J. Day
    Cc: Jeff Garzik
    Cc: Alan Cox
    Cc: Dominik Brodowski
    Cc: Adam Belay
    Cc: James Bottomley
    Cc: Greg KH
    Cc: Mark Fasheh
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     

19 Oct, 2006

1 commit

  • The ACPIPnP implementation had the understanding of Linux resource flags very
    wrong, resulting in a nonfunctional implementation of DMA resource
    allocation.

    This was usually not a problem, since almost no on-board PnP devices use ISA
    DMA, with the exception of ECP parallel ports. Even with that, parallel port
    DMA is preconfigured by the BIOS, so this routine isn't normally called.

    Except in the case where somebody does 'rmmod parport_pc; modprobe
    parport_pc', where the rmmod case disables the ECP parallel port resources,
    and they need to be enabled again to initialize the module. This didn't
    work, resulting in a non-printing printer.

    The application doing exactly the above to force reprobing of printers is
    the YaST printer module. Thus without this fix YaST wedged the printer when
    configuring it, and was not able to print a test page.

    Reported-by: Ralf Flaxa
    Reproduced-by: Jiri Dluhos
    Signed-off-by: Vojtech Pavlik
    Signed-off-by: Greg Kroah-Hartman

    Vojtech Pavlik
     

06 Aug, 2006

1 commit

  • A patch in -mm kernel correct the parsing of "address resources" of pnpacpi.
    Before we assumed it was memory only, but it could be also IO.

    But this change show an hidden bug : some resources could be producer type
    that are not handled by pnp layer. So we should ignore the producer
    resources.

    This patch fixes bug 6292 (http://bugzilla.kernel.org/show_bug.cgi?id=6292).
    Some devices like PNP0A03 have 0xd00-0xffff and 0x0-0xcf7 as IO producer
    resources.

    Before correcting "address resources" parsing, it was seen as memory and was
    harmless, because nobody tried to reserve this memory range as it should be
    IO.

    With the correction it become IO resources, and make failed all others device
    that want to register IO in this range and use pnp layer (like a ISA sound
    card).

    The solution is to ignore producer resources

    Signed-off-by: Matthieu CASTET
    Signed-off-by: Uwe Bugla
    Cc: Bjorn Helgaas
    Cc: Adam Belay
    Cc: "Brown, Len"
    Acked-by: Shaohua Li
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    matthieu castet
     

04 Jul, 2006

1 commit

  • ACPI supplies a "shareable" indication, but PNPACPI ignores it. If a PNP
    device uses a shared interrupt, request_irq() fails because the PNP driver
    can't tell whether to supply SA_SHIRQ.

    This patch allows PNP drivers to test
    (pnp_irq_flags(dev, 0) & IORESOURCE_IRQ_SHAREABLE)

    Signed-off-by: Bjorn Helgaas
    Cc: Adam Belay
    Cc: Matthieu Castet
    Cc: Li Shaohua
    Cc: Len Brown
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     

01 Jul, 2006

1 commit


02 Apr, 2006

3 commits

  • Tidy up whitespace. No functional change.

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

    Bjorn Helgaas
     
  • Factor out the duplicated switch from pnpacpi_count_resources() and
    pnpacpi_type_resources(). Remove the unnecessary re-initialization of
    resource->type and length from all the encode functions (id and length are
    originally set in the pnpacpi_build_resource_template() ->
    pnpacpi_type_resources() path).

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

    Bjorn Helgaas
     
  • Fix resource_type handling for QWORD, DWORD, and WORD Address Space
    Descriptors. Previously we ignored the resource_type, so I/O ports and bus
    number ranges were incorrectly parsed as memory ranges.

    Sample PCI root bridge resources from HP rx2600 before this patch:

    # cat /sys/bus/pnp/devices/00:02/resources
    state = active
    mem 0x0-0x1f
    mem 0x0-0x3af
    mem 0x3e0-0x1fff
    mem 0x80000000-0x8fffffff

    With this patch:

    # cat /sys/bus/pnp/devices/00:02/resources
    state = active
    io 0x0-0x3af
    io 0x3e0-0x1fff
    mem 0x80000000-0x8fffffff
    mem 0x80004000000-0x80103fffffe

    Changes:
    0x0-0x1f PCI bus number range was incorrectly reported as memory, now
    not reported at all
    0x0-0x3af I/O port range was incorrectly reported as memory
    0x3e0-0x1fff I/O port range was incorrectly reported as memory
    0x80004000000-0x80103fffffe memory range wasn't reported at all because
    we only support PNP_MAX_MEM (4) memory resources

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

    Bjorn Helgaas
     

25 Jan, 2006

1 commit


20 Jan, 2006

1 commit


07 Jan, 2006

4 commits


10 Dec, 2005

2 commits

  • Implemented support for the EM64T and other x86_64
    processors. This essentially entails recognizing
    that these processors support non-aligned memory
    transfers. Previously, all 64-bit processors were assumed
    to lack hardware support for non-aligned transfers.

    Completed conversion of the Resource Manager to nearly
    full table-driven operation. Specifically, the resource
    conversion code (convert AML to internal format and the
    reverse) and the debug code to dump internal resource
    descriptors are fully table-driven, reducing code and data
    size and improving maintainability.

    The OSL interfaces for Acquire and Release Lock now use a
    64-bit flag word on 64-bit processors instead of a fixed
    32-bit word. (Alexey Starikovskiy)

    Implemented support within the resource conversion code
    for the Type-Specific byte within the various ACPI 3.0
    *WordSpace macros.

    Fixed some issues within the resource conversion code for
    the type-specific flags for both Memory and I/O address
    resource descriptors. For Memory, implemented support
    for the MTP and TTP flags. For I/O, split the TRS and TTP
    flags into two separate fields.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Completed a major overhaul of the Resource Manager code -
    specifically, optimizations in the area of the AML/internal
    resource conversion code. The code has been optimized to
    simplify and eliminate duplicated code, CPU stack use has
    been decreased by optimizing function parameters and local
    variables, and naming conventions across the manager have
    been standardized for clarity and ease of maintenance (this
    includes function, parameter, variable, and struct/typedef
    names.)

    All Resource Manager dispatch and information tables have
    been moved to a single location for clarity and ease of
    maintenance. One new file was created, named "rsinfo.c".

    The ACPI return macros (return_ACPI_STATUS, etc.) have
    been modified to guarantee that the argument is
    not evaluated twice, making them less prone to macro
    side-effects. However, since there exists the possibility
    of additional stack use if a particular compiler cannot
    optimize them (such as in the debug generation case),
    the original macros are optionally available. Note that
    some invocations of the return_VALUE macro may now cause
    size mismatch warnings; the return_UINT8 and return_UINT32
    macros are provided to eliminate these. (From Randy Dunlap)

    Implemented a new mechanism to enable debug tracing for
    individual control methods. A new external interface,
    acpi_debug_trace(), is provided to enable this mechanism. The
    intent is to allow the host OS to easily enable and disable
    tracing for problematic control methods. This interface
    can be easily exposed to a user or debugger interface if
    desired. See the file psxface.c for details.

    acpi_ut_callocate() will now return a valid pointer if a
    length of zero is specified - a length of one is used
    and a warning is issued. This matches the behavior of
    acpi_ut_allocate().

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

07 Dec, 2005

1 commit


07 Nov, 2005

1 commit

  • This patch contains the following possible cleanups:
    - make needlessly global code static
    - #if 0 the following unused global function:
    - core.c: pnp_remove_device
    - #if 0 the following unneeded EXPORT_SYMBOL's:
    - card.c: pnp_add_card
    - card.c: pnp_remove_card
    - card.c: pnp_add_card_device
    - card.c: pnp_remove_card_device
    - card.c: pnp_add_card_id
    - core.c: pnp_register_protocol
    - core.c: pnp_unregister_protocol
    - core.c: pnp_add_device
    - core.c: pnp_remove_device
    - pnpacpi/core.c: pnpacpi_protocol
    - driver.c: pnp_add_id
    - isapnp/core.c: isapnp_read_byte
    - manager.c: pnp_auto_config_dev
    - resource.c: pnp_register_dependent_option
    - resource.c: pnp_register_independent_option
    - resource.c: pnp_register_irq_resource
    - resource.c: pnp_register_dma_resource
    - resource.c: pnp_register_port_resource
    - resource.c: pnp_register_mem_resource

    Note that this patch #if 0's exactly one functions and removes no
    functions. Most it does is the #if 0 of EXPORT_SYMBOL's, so if any modular
    code will use any of them, re-adding will be trivial.

    Modular ISAPnP might be interesting in some cases, but this is more legacy
    code. If someone would work on it to sort all the issues out (starting
    with the point that most users of __ISAPNP__ will have to be fixed)
    re-enabling the required EXPORT_SYMBOL's won't be hard for him.

    Signed-off-by: Adrian Bunk
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

22 Sep, 2005

1 commit


08 Sep, 2005

3 commits


03 Sep, 2005

1 commit

  • Move pcibios_penalize_isa_irq() to pnpacpi_parse_allocated_irqresource().
    Previously we passed the GSI, not the IRQ, and we did it even if parsing
    the IRQ resource failed.

    Parse IRQ descriptors that contain multiple interrupts. This violates the
    spec (in _CRS, only one interrupt per descriptor is allowed), but some
    firmware, e.g., HP rx7620 and rx8620 descriptions of HPET, has this bug.

    Signed-off-by: Bjorn Helgaas
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Bjorn Helgaas
     

25 Aug, 2005

1 commit


05 Aug, 2005

1 commit


12 Jul, 2005

1 commit