23 Apr, 2010

2 commits

  • If the firmware puts a device back into D0 state at resume time, we'll
    update its state in resume_noirq and thus skip the platform resume code.
    Calling that code twice should be safe and we ought to avoid getting to
    that point anyway, so remove the check and also allow the platform pci
    code to be called for D0.

    Fixes USB not being powered after resume on recent Lenovo machines.

    Acked-by: Alex Chiang
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Matthew Garrett
    Signed-off-by: Jesse Barnes

    Matthew Garrett
     
  • This reverts c519a5a7dab2d. That change added a warning about devices that
    didn't respond correctly when sizing BARs, which helped diagnose broken
    devices. But the test wasn't specific enough, so it also complained about
    working devices with zero-size BARs, e.g.,
    https://bugzilla.kernel.org/show_bug.cgi?id=15822

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     

09 Apr, 2010

1 commit

  • While testing completion timeouts I found that hardware was not recovering.
    It looks like the hot reset was never being propagated to the endpoint
    devices on the bus due to the fact that we were clearing the bit too
    quickly.

    The documentation I have states that we should be transmitting hot reset
    TS1s for 2ms. To achieve this I have added a 2ms delay from the time we
    set the secondary bus reset bit to the time we clear it. In addition I
    changed the define used for the secondary bus reset bit to match the
    register define that was being used.

    Reviewed-by: Hidetoshi Seto
    Signed-off-by: Alexander Duyck
    Signed-off-by: Jesse Barnes

    Alexander Duyck
     

05 Apr, 2010

1 commit


03 Apr, 2010

1 commit

  • The missing initialization of the nb_cntl.strap_msi_enable does not
    seem to be the only problem that prevents MSI, so that quirk is not
    sufficient to enable MSI on all machines. To be safe, disable MSI
    unconditionally for the internal graphics and HDMI audio on these
    chipsets.

    [rjw: Added the PCI_VENDOR_ID_AI quirk.]

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Clemens Ladisch
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

27 Mar, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    x86/PCI: truncate _CRS windows with _LEN > _MAX - _MIN + 1
    x86/PCI: for host bridge address space collisions, show conflicting resource
    frv/PCI: remove redundant warnings
    x86/PCI: remove redundant warnings
    PCI: don't say we claimed a resource if we failed
    PCI quirk: Disable MSI on VIA K8T890 systems
    PCI quirk: RS780/RS880: work around missing MSI initialization
    PCI quirk: only apply CX700 PCI bus parking quirk if external VT6212L is present
    PCI: complain about devices that seem to be broken
    PCI: print resources consistently with %pR
    PCI: make disabled window printk style match the enabled ones
    PCI: break out primary/secondary/subordinate for readability
    PCI: for address space collisions, show conflicting resource
    resources: add interfaces that return conflict information
    PCI: cleanup error return for pcix get and set mmrbc functions
    PCI: fix access of PCI_X_CMD by pcix get and set mmrbc functions
    PCI: kill off pci_register_set_vga_state() symbol export.
    PCI: fix return value from pcix_get_max_mmrbc()

    Linus Torvalds
     

25 Mar, 2010

9 commits

  • pci_claim_resource() can fail, so pay attention and only claim success
    when it actually succeeded. If pci_claim_resource() fails, it prints a
    useful diagnostic.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • Bugzilla 15287 indicates that there's a problem with Message Signalled
    Interrupts on VIA K8T890 systems. Add a quirk to disable MSI on these
    systems.

    Signed-off-by: Matthew Wilcox
    Tested-by: Jan Kreuzer
    Tested-by: lh
    Signed-off-by: Jesse Barnes

    Matthew Wilcox
     
  • AMD says in section 2.5.4 (GFX MSI Enable) of #43291 (AMD 780G Family
    Register Programming Requirements):

    The SBIOS must enable internal graphics MSI capability in GCCFG by
    setting the following: NBCFG.NB_CNTL.STRAP_MSI_ENABLE='1'

    Quite a few BIOS writers misinterpret this sentence and think that
    enabling MSI is an optional feature. However, clearing that bit just
    prevents delivery of MSI messages but does not remove the MSI PCI
    capabilities registers, and so leaves these devices unusable for any
    driver that attempts to use MSI.

    Setting that bit is not possible after the BIOS has locked down the
    configuration registers, so we have to manually disable MSI for the
    affected devices.

    This fixes the codec communication errors in the HDA driver when
    accessing the HDMI audio device, and allows us to get rid of the
    overcautious quirk in radeon_irq_kms.c.

    Signed-off-by: Clemens Ladisch
    Tested-by: Alex Deucher
    Cc:
    Signed-off-by: Jesse Barnes

    Clemens Ladisch
     
  • Apply the CX700 quirk only when an external VT6212L is present (which
    is the case for the errant hardware the quirk was written for), don't
    touch the settings otherwise -- Hauppage PVR-500 tuners need PCI Bus
    Parking in order to work and when that's turned on everything seems
    to behave fine.

    I guess the underlying problem is a combination of an external VT6212L
    and the CX700 rather than the CX700's PCI being broken completely for
    all cases...

    Reported-by: Jeroen Roos
    Signed-off-by: Tim Yamin
    Signed-off-by: Jesse Barnes

    Tim Yamin
     
  • If we can tell that a device isn't working correctly, we should tell
    the user to make debugging easier. Otherwise, it can take a lot of
    work to determine whether the problem is in the driver, PCMCIA, PCI,
    hardware, etc., as in http://bugzilla.kernel.org/show_bug.cgi?id=12006

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • No functional change; just print resources in the conventional style.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • No functional change; this just tweaks the changes from 349e1823a405
    so the new printks for disabled PCI-to-PCI bridge windows match the
    ones for the enabled windows.

    Signed-off-by: Bjorn Helgaas
    CC: Yinghai Lu
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • No functional change; just add names for the primary/secondary/subordinate
    bus numbers read from config space rather than repeatedly masking/shifting.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • With request_resource_conflict(), we can learn what the actual conflict is,
    so print that info for debugging purposes.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     

20 Mar, 2010

5 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    driver core: numa: fix BUILD_BUG_ON for node_read_distance
    driver-core: document ERR_PTR() return values
    kobject: documentation: Update to refer to kset-example.c.
    sysdev: the cpu probe/release attributes should be sysdev_class_attributes
    kobject: documentation: Fix erroneous example in kobject doc.
    driver-core: fix missing kernel-doc in firmware_class
    Driver core: Early platform kernel-doc update
    sysfs: fix sysfs lockdep warning in mlx4 code
    sysfs: fix sysfs lockdep warning in infiniband code
    sysfs: fix sysfs lockdep warning in ipmi code
    sysfs: Initialised pci bus legacy_mem field before use
    sysfs: use sysfs_bin_attr_init in firmware class driver

    Linus Torvalds
     
  • pcix_get_mmrbc() returns the maximum memory read byte count (mmrbc), if
    successful, or an appropriate error value, if not.

    Distinguishing errors from correct values and understanding the meaning of an
    error can be somewhat confusing in that:

    correct values: 512, 1024, 2048, 4096
    errors: -EINVAL -22
    PCIBIOS_FUNC_NOT_SUPPORTED 0x81
    PCIBIOS_BAD_VENDOR_ID 0x83
    PCIBIOS_DEVICE_NOT_FOUND 0x86
    PCIBIOS_BAD_REGISTER_NUMBER 0x87
    PCIBIOS_SET_FAILED 0x88
    PCIBIOS_BUFFER_TOO_SMALL 0x89

    The PCIBIOS_ errors are returned from the PCI functions generated by the
    PCI_OP_READ() and PCI_OP_WRITE() macros.

    In a similar manner, pcix_set_mmrbc() also returns the PCIBIOS_ error values
    returned from pci_read_config_[word|dword]() and pci_write_config_word().

    Following pcix_get_max_mmrbc()'s example, the following patch simply returns
    -EINVAL for all PCIBIOS_ errors encountered by pcix_get_mmrbc(), and -EINVAL
    or -EIO for those encountered by pcix_set_mmrbc().

    This simplification was chosen in light of the fact that none of the current
    callers of these functions are interested in the specific type of error
    encountered. In the future, should this change, one could simply create a
    function that maps each PCIBIOS_ error to a corresponding unique errno value,
    which could be called by pcix_get_max_mmrbc(), pcix_get_mmrbc(), and
    pcix_set_mmrbc().

    Additionally, this patch eliminates some unnecessary variables.

    Cc: stable@kernel.org
    Signed-off-by: Dean Nelson
    Signed-off-by: Jesse Barnes

    Dean Nelson
     
  • An e1000 driver on a system with a PCI-X bus was always being returned
    a value of 135 from both pcix_get_mmrbc() and pcix_set_mmrbc(). This
    value reflects an error return of PCIBIOS_BAD_REGISTER_NUMBER from
    pci_bus_read_config_dword(,, cap + PCI_X_CMD,).

    This is because for a dword, the following portion of the PCI_OP_READ()
    macro:

    if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER;

    expands to:

    if (pos & 3) return PCIBIOS_BAD_REGISTER_NUMBER;

    And is always true for 'cap + PCI_X_CMD', which is 0xe4 + 2 = 0xe6. ('cap' is
    the result of calling pci_find_capability(, PCI_CAP_ID_PCIX).)

    The same problem exists for pci_bus_write_config_dword(,, cap + PCI_X_CMD,).
    In both cases, instead of calling _dword(), _word() should be called.

    Cc: stable@kernel.org
    Signed-off-by: Dean Nelson
    Signed-off-by: Jesse Barnes

    Dean Nelson
     
  • When pci_register_set_vga_state() was made __init, the EXPORT_SYMBOL() was
    retained, which now leaves us with a section mismatch.

    Signed-off-by: Paul Mundt
    Cc: Mike Travis
    Signed-off-by: Andrew Morton
    Signed-off-by: Jesse Barnes

    Paul Mundt
     
  • For the PCI_X_STATUS register, pcix_get_max_mmrbc() is returning an incorrect
    value, which is based on:

    (stat & PCI_X_STATUS_MAX_READ) >> 12

    Valid return values are 512, 1024, 2048, 4096, which correspond to a 'stat'
    (masked and right shifted by 21) of 0, 1, 2, 3, respectively.

    A right shift by 11 would generate the correct return value when 'stat' (masked
    and right shifted by 21) has a value of 1 or 2. But for a value of 0 or 3 it's
    not possible to generate the correct return value by only right shifting.

    Fix is based on pcix_get_mmrbc()'s similar dealings with the PCI_X_CMD register.

    Cc: stable@kernel.org
    Signed-off-by: Dean Nelson
    Signed-off-by: Jesse Barnes

    Dean Nelson
     

19 Mar, 2010

2 commits

  • PPC64 is failing to boot the latest mmotm due to an uninitialised pointer in
    pci_create_legacy_files(). The surprise is that machines boot at all and it
    would appear to affect current mainline as well. This patch fixes the problem.

    Signed-off-by: Mel Gorman
    Signed-off-by: Greg Kroah-Hartman

    Mel Gorman
     
  • * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (27 commits)
    microblaze: entry.S use delay slot for return handlers
    microblaze: Save current task directly
    microblaze: Simplify entry.S - save/restore r3/r4 - ret_from_trap
    microblaze: PCI early support for noMMU system
    microblaze: Fix dma alloc and free coherent dma functions
    microblaze: Add consistent code
    microblaze: pgtable.h: move consistent functions
    microblaze: Remove ancient Kconfig option for consistent mapping
    microblaze: Remove VMALLOC_VMADDR
    microblaze: Add define for ASM_LOOP
    microblaze: Preliminary support for dma drivers
    microblaze: remove trailing space in messages
    microblaze: Use generic show_mem()
    microblaze: Change temp register for cmdline
    microblaze: Preliminary support for dma drivers
    microblaze: Move cache function to cache.c
    microblaze: Add support from PREEMPT
    microblaze: Add support for Xilinx PCI host bridge
    microblaze: Enable PCI, missing files
    microblaze: Add core PCI files
    ...

    Linus Torvalds
     

15 Mar, 2010

2 commits


13 Mar, 2010

3 commits

  • We can use pci-dma-compat.h to implement pci_set_dma_mask and
    pci_set_consistent_dma_mask as we do with the other PCI DMA API.

    We can remove HAVE_ARCH_PCI_SET_DMA_MASK too.

    Signed-off-by: FUJITA Tomonori
    Cc: Jesse Barnes
    Cc: Greg KH
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • dma_set_coherent_mask corresponds to pci_set_consistent_dma_mask. This is
    necessary to move to the generic device model DMA API from the PCI bus
    specific API in the long term.

    dma_set_coherent_mask works in the exact same way that
    pci_set_consistent_dma_mask does. So this patch also changes
    pci_set_consistent_dma_mask to call dma_set_coherent_mask.

    Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: David S. Miller
    Cc: Jesse Barnes
    Cc: Benjamin Herrenschmidt
    Cc: Russell King
    Cc: Greg KH
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • This changes pci_set_dma_mask to call the generic DMA API, dma_set_mask.

    pci_set_dma_mask (in drivers/pci/pci.c) does the same things that
    dma_set_mask does on all the architectures that use pci_set_dma_mask;
    calls dma_supprted and sets dev->dma_mask. So we safely change
    pci_set_dma_mask to simply call dma_set_mask.

    Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: David S. Miller
    Cc: Jesse Barnes
    Acked-by: Benjamin Herrenschmidt
    Cc: Russell King
    Cc: Greg KH
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     

11 Mar, 2010

1 commit

  • There are two parts of changes. The first is just enable
    PCI in Makefiles and in Kconfig. The second is the rest of
    missing files. I didn't want to add it with previous patch
    because that patch is too big.

    Current Microblaze toolchain has problem with weak symbols
    that's why is necessary to apply this changes to be possible
    to compile pci support.
    Xilinx knows about this problem.

    Signed-off-by: Michal Simek

    Michal Simek
     

09 Mar, 2010

1 commit


08 Mar, 2010

5 commits

  • In the future, we are going to be changing the lock type for struct
    device (once we get the lockdep infrastructure properly worked out) To
    make that changeover easier, and to possibly burry the lock in a
    different part of struct device, let's create some functions to lock and
    unlock a device so that no out-of-core code needs to be changed in the
    future.

    This patch creates the device_lock/unlock/trylock() functions, and
    converts all in-tree users to them.

    Cc: Thomas Gleixner
    Cc: Jean Delvare
    Cc: Dave Young
    Cc: Ming Lei
    Cc: Jiri Kosina
    Cc: Phil Carmody
    Cc: Arjan van de Ven
    Cc: Cornelia Huck
    Cc: Rafael J. Wysocki
    Cc: Pavel Machek
    Cc: Len Brown
    Cc: Magnus Damm
    Cc: Alan Stern
    Cc: Randy Dunlap
    Cc: Stefan Richter
    Cc: David Brownell
    Cc: Vegard Nossum
    Cc: Jesse Barnes
    Cc: Alex Chiang
    Cc: Kenji Kaneshige
    Cc: Andrew Morton
    Cc: Andrew Patterson
    Cc: Yu Zhao
    Cc: Dominik Brodowski
    Cc: Samuel Ortiz
    Cc: Wolfram Sang
    Cc: CHENG Renquan
    Cc: Oliver Neukum
    Cc: Frans Pop
    Cc: David Vrabel
    Cc: Kay Sievers
    Cc: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • After merging the final tree, today's linux-next build (powerpc
    allyesconfig) failed like this:

    drivers/pci/pci-sysfs.c: In function 'pci_create_legacy_files':
    drivers/pci/pci-sysfs.c:645: error: lvalue required as unary '&' operand
    drivers/pci/pci-sysfs.c:658: error: lvalue required as unary '&' operand

    Caused by commit "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on
    dynamic attributes" interacting with commit "sysfs: Use one lockdep
    class per sysfs attribute") both from the driver-core tree.

    Signed-off-by: Stephen Rothwell
    Cc: "Eric W. Biederman"
    Signed-off-by: Greg Kroah-Hartman

    Stephen Rothwell
     
  • These are the non-static sysfs attributes that exist on
    my test machine. Fix them to use sysfs_attr_init or
    sysfs_bin_attr_init as appropriate. It simply requires
    making a sysfs attribute present to see this. So this
    is a little bit tedious but otherwise not too bad.

    Signed-off-by: Eric W. Biederman
    Acked-by: WANG Cong
    Cc: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Constify struct sysfs_ops.

    This is part of the ops structure constification
    effort started by Arjan van de Ven et al.

    Benefits of this constification:

    * prevents modification of data that is shared
    (referenced) by many other structure instances
    at runtime

    * detects/prevents accidental (but not intentional)
    modification attempts on archs that enforce
    read-only kernel data at runtime

    * potentially better optimized code as the compiler
    can assume that the const data cannot be changed

    * the compiler/linker move const data into .rodata
    and therefore exclude them from false sharing

    Signed-off-by: Emese Revfy
    Acked-by: David Teigland
    Acked-by: Matt Domsch
    Acked-by: Maciej Sosnowski
    Acked-by: Hans J. Koch
    Acked-by: Pekka Enberg
    Acked-by: Jens Axboe
    Acked-by: Stephen Hemminger
    Signed-off-by: Greg Kroah-Hartman

    Emese Revfy
     
  • * 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)
    x86, mrst: Fix whitespace breakage in apb_timer.c
    x86, mrst: Fix APB timer per cpu clockevent
    x86, mrst: Remove X86_MRST dependency on PCI_IOAPIC
    x86, olpc: Use pci subarch init for OLPC
    x86, pci: Add arch_init to x86_init abstraction
    x86, mrst: Add Kconfig dependencies for Moorestown
    x86, pci: Exclude Moorestown PCI code if CONFIG_X86_MRST=n
    x86, numaq: Make CONFIG_X86_NUMAQ depend on CONFIG_PCI
    x86, pci: Add sanity check for PCI fixed bar probing
    x86, legacy_irq: Remove duplicate vector assigment
    x86, legacy_irq: Remove left over nr_legacy_irqs
    x86, mrst: Platform clock setup code
    x86, apbt: Moorestown APB system timer driver
    x86, mrst: Add vrtc platform data setup code
    x86, mrst: Add platform timer info parsing code
    x86, mrst: Fill in PCI functions in x86_init layer
    x86, mrst: Add dummy legacy pic to platform setup
    x86/PCI: Moorestown PCI support
    x86, ioapic: Add dummy ioapic functions
    x86, ioapic: Early enable ioapic for timer irq
    ...

    Fixed up semantic conflict of new clocksources due to commit
    17622339af25 ("clocksource: add argument to resume callback").

    Linus Torvalds
     

07 Mar, 2010

1 commit

  • This patch solves nasty problem original driver has.

    Original goal of the ricoh_mmc was to disable this device because then,
    mmc cards can be read using standard SDHCI controller, thus avoiding
    writing of yet another driver.

    However, the act of disablement, makes other pci functions that belong to
    this controller (xD and memstick) shift up one level, thus pci core has
    now wrong idea about these devices.

    To fix this issue, this patch moves the driver into the pci quirk section,
    thus it is executes before the pci is enumerated, and therefore solving
    that issue, also same sequence of commands is performed on resume for same
    reasons.

    Also regardless of the above, this way is cleaner. You still need to set
    CONFIG_MMC_RICOH_MMC to enable this quirk

    Signed-off-by: Maxim Levitsky
    Acked-by: Philip Langdale
    Acked-by: Wolfram Sang
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maxim Levitsky
     

06 Mar, 2010

1 commit

  • Make the run-time power management of PCI devices be inactive by
    default by calling pm_runtime_forbid() for each PCI device during its
    initialization. This setting may be overriden by the user space with
    the help of the /sys/devices/.../power/control interface.

    That's necessary to avoid breakage on systems where ACPI-based
    wake-up is known to fail for some devices.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

04 Mar, 2010

1 commit

  • …l/git/tip/linux-2.6-tip

    * 'x86-bootmem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)
    early_res: Need to save the allocation name in drop_range_partial()
    sparsemem: Fix compilation on PowerPC
    early_res: Add free_early_partial()
    x86: Fix non-bootmem compilation on PowerPC
    core: Move early_res from arch/x86 to kernel/
    x86: Add find_fw_memmap_area
    Move round_up/down to kernel.h
    x86: Make 32bit support NO_BOOTMEM
    early_res: Enhance check_and_double_early_res
    x86: Move back find_e820_area to e820.c
    x86: Add find_early_area_size
    x86: Separate early_res related code from e820.c
    x86: Move bios page reserve early to head32/64.c
    sparsemem: Put mem map for one node together.
    sparsemem: Put usemap for one node together
    x86: Make 64 bit use early_res instead of bootmem before slab
    x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA
    x86: Make early_node_mem get mem > 4 GB if possible
    x86: Dynamically increase early_res array size
    x86: Introduce max_early_res and early_res_count
    ...

    Linus Torvalds
     

02 Mar, 2010

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1341 commits)
    virtio_net: remove forgotten assignment
    be2net: fix tx completion polling
    sis190: fix cable detect via link status poll
    net: fix protocol sk_buff field
    bridge: Fix build error when IGMP_SNOOPING is not enabled
    bnx2x: Tx barriers and locks
    scm: Only support SCM_RIGHTS on unix domain sockets.
    vhost-net: restart tx poll on sk_sndbuf full
    vhost: fix get_user_pages_fast error handling
    vhost: initialize log eventfd context pointer
    vhost: logging thinko fix
    wireless: convert to use netdev_for_each_mc_addr
    ethtool: do not set some flags, if others failed
    ipoib: returned back addrlen check for mc addresses
    netlink: Adding inode field to /proc/net/netlink
    axnet_cs: add new id
    bridge: Make IGMP snooping depend upon BRIDGE.
    bridge: Add multicast count/interval sysfs entries
    bridge: Add hash elasticity/max sysfs entries
    bridge: Add multicast_snooping sysfs toggle
    ...

    Trivial conflicts in Documentation/feature-removal-schedule.txt

    Linus Torvalds
     
  • * 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI: replace acpi_integer by u64
    ACPICA: Update version to 20100121.
    ACPICA: Remove unused uint32_struct type
    ACPICA: Disassembler: Remove obsolete "Integer64" field in parse object
    ACPICA: Remove obsolete ACPI_INTEGER (acpi_integer) type
    ACPICA: Predefined name repair: fix NULL package elements
    ACPICA: AcpiGetDevices: Eliminate unnecessary _STA calls
    ACPICA: Update all ACPICA copyrights and signons to 2010
    ACPICA: Update for new gcc-4 warning options

    Linus Torvalds