06 Sep, 2013

1 commit

  • Pull networking changes from David Miller:
    "Noteworthy changes this time around:

    1) Multicast rejoin support for team driver, from Jiri Pirko.

    2) Centralize and simplify TCP RTT measurement handling in order to
    reduce the impact of bad RTO seeding from SYN/ACKs. Also, when
    both timestamps and local RTT measurements are available prefer
    the later because there are broken middleware devices which
    scramble the timestamp.

    From Yuchung Cheng.

    3) Add TCP_NOTSENT_LOWAT socket option to limit the amount of kernel
    memory consumed to queue up unsend user data. From Eric Dumazet.

    4) Add a "physical port ID" abstraction for network devices, from
    Jiri Pirko.

    5) Add a "suppress" operation to influence fib_rules lookups, from
    Stefan Tomanek.

    6) Add a networking development FAQ, from Paul Gortmaker.

    7) Extend the information provided by tcp_probe and add ipv6 support,
    from Daniel Borkmann.

    8) Use RCU locking more extensively in openvswitch data paths, from
    Pravin B Shelar.

    9) Add SCTP support to openvswitch, from Joe Stringer.

    10) Add EF10 chip support to SFC driver, from Ben Hutchings.

    11) Add new SYNPROXY netfilter target, from Patrick McHardy.

    12) Compute a rate approximation for sending in TCP sockets, and use
    this to more intelligently coalesce TSO frames. Furthermore, add
    a new packet scheduler which takes advantage of this estimate when
    available. From Eric Dumazet.

    13) Allow AF_PACKET fanouts with random selection, from Daniel
    Borkmann.

    14) Add ipv6 support to vxlan driver, from Cong Wang"

    Resolved conflicts as per discussion.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1218 commits)
    openvswitch: Fix alignment of struct sw_flow_key.
    netfilter: Fix build errors with xt_socket.c
    tcp: Add missing braces to do_tcp_setsockopt
    caif: Add missing braces to multiline if in cfctrl_linkup_request
    bnx2x: Add missing braces in bnx2x:bnx2x_link_initialize
    vxlan: Fix kernel panic on device delete.
    net: mvneta: implement ->ndo_do_ioctl() to support PHY ioctls
    net: mvneta: properly disable HW PHY polling and ensure adjust_link() works
    icplus: Use netif_running to determine device state
    ethernet/arc/arc_emac: Fix huge delays in large file copies
    tuntap: orphan frags before trying to set tx timestamp
    tuntap: purge socket error queue on detach
    qlcnic: use standard NAPI weights
    ipv6:introduce function to find route for redirect
    bnx2x: VF RSS support - VF side
    bnx2x: VF RSS support - PF side
    vxlan: Notify drivers for listening UDP port changes
    net: usbnet: update addr_assign_type if appropriate
    driver/net: enic: update enic maintainers and driver
    driver/net: enic: Exposing symbols for Cisco's low latency driver
    ...

    Linus Torvalds
     

31 Jul, 2013

1 commit

  • pcie_link_speed and pcix_bus_speed are arrays used by probe.c to correctly
    convert lnksta register values into the pci_bus_speed enum. These static arrays
    are useful outside probe for this purpose. This patch makes these defines into
    conist arrays and exposes them with an extern header in drivers/pci/pci.h

    -v2-
    * move extern declarations to drivers/pci/pci.h

    CC: Bjorn Helgaas
    Signed-off-by: Jacob Keller
    Signed-off-by: Jeff Kirsher

    Jacob Keller
     

26 Jul, 2013

1 commit


23 Jun, 2013

1 commit

  • On x86 platforms, the kernel respects PCI resource assignments from
    the BIOS and only reassigns resources for unassigned BARs at boot
    time. However, with the ACPI-based hotplug (acpiphp), it ignores the
    BIOS' PCI resource assignments completely and reassigns all resources
    by itself. This causes differences in PCI resource allocation
    between boot time and runtime hotplug to occur, which is generally
    undesirable and sometimes actively breaks things.

    Namely, if there are enough resources, reassigning all PCI resources
    during runtime hotplug should work, but it may fail if the resources
    are constrained. This may happen, for instance, when some PCI
    devices with huge MMIO BARs are involved in the runtime hotplug
    operations, because the current PCI MMIO alignment algorithm may
    waste huge chunks of MMIO address space in those cases.

    On the Alexander's Sony VAIO VPCZ23A4R the BIOS allocates limited
    MMIO resources for the dock station which contains a device
    (graphics adapter) with a 256MB MMIO BAR. An attempt to reassign
    that during runtime hotplug causes the dock station MMIO window to be
    exhausted and acpiphp fails to allocate resources for the majority
    of devices on the dock station as a result.

    To prevent that from happening, modify acpiphp to follow the boot
    time resources allocation behavior so that the BIOS' resource
    assignments are respected during runtime hotplug too.

    [rjw: Changelog]
    References: https://bugzilla.kernel.org/show_bug.cgi?id=56531
    Reported-and-tested-by: Alexander E. Patrakov
    Tested-by: Illya Klymov
    Signed-off-by: Jiang Liu
    Acked-by: Yinghai Lu
    Cc: 3.9+
    Signed-off-by: Rafael J. Wysocki

    Jiang Liu
     

18 Apr, 2013

1 commit


27 Jan, 2013

2 commits

  • * pci/yinghai-root-bus-hotplug:
    PCI: Put pci_dev in device tree as early as possible
    PCI: Skip attaching driver in device_add()
    PCI: acpiphp: Keep driver loaded even if no slots found
    PCI/ACPI: Print info if host bridge notify handler installation fails
    PCI: acpiphp: Move host bridge hotplug to pci_root.c
    PCI/ACPI: acpiphp: Rename alloc_acpiphp_hp_work() to alloc_acpi_hp_work()
    PCI: Make device create/destroy logic symmetric
    PCI: Fix reference count leak in pci_dev_present()
    PCI: Set pci_dev dev_node early so IOAPIC irq_descs are allocated locally
    PCI: Add root bus children dev's res to fail list
    PCI: acpiphp: Add is_hotplug_bridge detection

    Conflicts:
    drivers/pci/pci.h

    Bjorn Helgaas
     
  • * pci/yijing-ari:
    PCI: shpchp: Iterate over all devices in slot, not functions 0-7
    PCI: sgihp: Iterate over all devices in slot, not functions 0-7
    PCI: cpcihp: Iterate over all devices in slot, not functions 0-7
    PCI: pciehp: Iterate over all devices in slot, not functions 0-7
    PCI: Consolidate "next-function" functions
    PCI: Rename pci_enable_ari() to pci_configure_ari()
    PCI: Enable ARI if dev and upstream bridge support it; disable otherwise

    Bjorn Helgaas
     

26 Jan, 2013

2 commits

  • We want to put pci_dev structs in the device tree as soon as possible so
    for_each_pci_dev() iteration will not miss them, but driver attachment
    needs to be delayed until after pci_assign_unassigned_resources() to make
    sure all devices have resources assigned first.

    This patch moves device registering from pci_bus_add_devices() to
    pci_device_add(), which happens earlier, leaving driver attachment in
    pci_bus_add_devices().

    It also removes unattached child bus handling in pci_bus_add_devices().
    That's not needed because child bus via pci_add_new_bus() is already
    in parent bus children list.

    [bhelgaas: changelog]
    Signed-off-by: Yinghai Lu
    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki

    Yinghai Lu
     
  • pci_enable_ari() now supports enabling or disabling ARI forwarding. So
    rename pci_enable_ari() to pci_configure_ari() for easy understanding.

    No functional change.

    [bhelgaas: changelog]
    Signed-off-by: Yijing Wang
    Signed-off-by: Bjorn Helgaas

    Yijing Wang
     

03 Jan, 2013

1 commit

  • Currently, the ACPI wakeup capability of PCI devices is set up
    in two different places, partially in acpi_pci_bind() where
    runtime wakeup is initialized and partially in
    platform_pci_wakeup_init(), where system wakeup is initialized.
    The cleanup is only done in acpi_pci_unbind() and it only covers
    runtime wakeup.

    Use the new .setup() and .cleanup() callbacks in struct acpi_bus_type
    to consolidate that code and do the setup and the cleanup each in one
    place.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Yinghai Lu
    Acked-by: Toshi Kani

    Rafael J. Wysocki
     

14 Dec, 2012

1 commit

  • Pull PCI update from Bjorn Helgaas:
    "Host bridge hotplug:
    - Untangle _PRT from struct pci_bus (Bjorn Helgaas)
    - Request _OSC control before scanning root bus (Taku Izumi)
    - Assign resources when adding host bridge (Yinghai Lu)
    - Remove root bus when removing host bridge (Yinghai Lu)
    - Remove _PRT during hot remove (Yinghai Lu)

    SRIOV
    - Add sysfs knobs to control numVFs (Don Dutile)

    Power management
    - Notify devices when power resource turned on (Huang Ying)

    Bug fixes
    - Work around broken _SEG on HP xw9300 (Bjorn Helgaas)
    - Keep runtime PM enabled for unbound PCI devices (Huang Ying)
    - Fix Optimus dual-GPU runtime D3 suspend issue (Dave Airlie)
    - Fix xen frontend shutdown issue (David Vrabel)
    - Work around PLX PCI 9050 BAR alignment erratum (Ian Abbott)

    Miscellaneous
    - Add GPL license for drivers/pci/ioapic (Andrew Cooks)
    - Add standard PCI-X, PCIe ASPM register #defines (Bjorn Helgaas)
    - NumaChip remote PCI support (Daniel Blueman)
    - Fix PCIe Link Capabilities Supported Link Speed definition (Jingoo
    Han)
    - Convert dev_printk() to dev_info(), etc (Joe Perches)
    - Add support for non PCI BAR ROM data (Matthew Garrett)
    - Add x86 support for host bridge translation offset (Mike Yoknis)
    - Report success only when every driver supports AER (Vijay
    Pandarathil)"

    Fix up trivial conflicts.

    * tag 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (48 commits)
    PCI: Use phys_addr_t for physical ROM address
    x86/PCI: Add NumaChip remote PCI support
    ath9k: Use standard #defines for PCIe Capability ASPM fields
    iwlwifi: Use standard #defines for PCIe Capability ASPM fields
    iwlwifi: collapse wrapper for pcie_capability_read_word()
    iwlegacy: Use standard #defines for PCIe Capability ASPM fields
    iwlegacy: collapse wrapper for pcie_capability_read_word()
    cxgb3: Use standard #defines for PCIe Capability ASPM fields
    PCI: Add standard PCIe Capability Link ASPM field names
    PCI/portdrv: Use PCI Express Capability accessors
    PCI: Use standard PCIe Capability Link register field names
    x86: Use PCI setup data
    PCI: Add support for non-BAR ROMs
    PCI: Add pcibios_add_device
    EFI: Stash ROMs if they're not in the PCI BAR
    PCI: Add and use standard PCI-X Capability register names
    PCI/PM: Keep runtime PM enabled for unbound PCI devices
    xen-pcifront: Handle backend CLOSED without CLOSING
    PCI: SRIOV control and status via sysfs (documentation)
    PCI/AER: Report success only when every device has AER-aware driver
    ...

    Linus Torvalds
     

29 Nov, 2012

2 commits

  • With the demise of CONFIG_HOTPLUG as an option, the pci_uevent
    function located in hotplug.c will now always be used and doesn't need
    special treatment in the Makefile. Move pci_uevent into pci-driver.c
    and remove hotplug.c

    Signed-off-by: Bill Pemberton
    Acked-by: Bjorn Helgaas
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • Remove conditional code based on CONFIG_HOTPLUG being false. It's
    always on now in preparation of it going away as an option.

    Signed-off-by: Bill Pemberton
    Acked-by: Bjorn Helgaas
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     

27 Nov, 2012

1 commit

  • * for-linus:
    PCI/portdrv: Don't create hotplug slots unless port supports hotplug
    PCI/PM: Fix proc config reg access for D3cold and bridge suspending
    PCI/PM: Resume device before shutdown
    PCI/PM: Fix deadlock when unbinding device if parent in D3cold

    Bjorn Helgaas
     

10 Nov, 2012

3 commits


06 Nov, 2012

1 commit

  • In https://bugzilla.kernel.org/show_bug.cgi?id=48981
    Peter reported that /proc/bus/pci/??/??.? does not work for 3.6.
    This is because the device configuration space registers are
    not accessible if the corresponding parent bridge is suspended or
    the device is put into D3cold state.

    This is the same as /sys/bus/pci/devices/0000:??:??.?/config access
    issue. So the function used to solve sysfs issue is used to solve
    this issue.

    This patch moves pci_config_pm_runtime_get()/_put() from pci/pci-sysfs.c
    to pci/pci.c and makes them extern so they can be used by both the
    sysfs and proc paths.

    [bhelgaas: changelog, references, reporters]
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=48981
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=49031
    Reported-by: Forrest Loomis
    Reported-by: Peter
    Reported-by: Micael Dias
    Signed-off-by: Huang Ying
    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    CC: stable@vger.kernel.org # v3.6+

    Huang Ying
     

06 Jul, 2012

2 commits

  • * pci/rafael-pci_set_power_state-rebase:
    PCI / PM: restore the original behavior of pci_set_power_state()

    Bjorn Helgaas
     
  • Commit cc2893b6 (PCI: Ensure we re-enable devices on resume)
    addressed the problem with USB not being powered after resume on
    recent Lenovo machines, but it did that in a suboptimal way.
    Namely, it should have changed the relevant code paths only,
    which are pci_pm_resume_noirq() and pci_pm_restore_noirq() supposed
    to restore the device's power and standard configuration registers
    after system resume from suspend or hibernation. Instead, however,
    it modified pci_set_power_state() which is executed in several
    other situations too. That resulted in some undesirable effects,
    like attempting to change a device's power state in the same way
    multiple times in a row (up to as many as 4 times in a row in the
    snd_hda_intel driver).

    Fix the bug addressed by commit cc2893b6 in an alternative way,
    by forcibly powering up all devices in pci_pm_default_resume_early(),
    which is called by pci_pm_resume_noirq() and pci_pm_restore_noirq()
    to restore the device's power and standard configuration registers,
    and modifying pci_pm_runtime_resume() to avoid the forcible power-up
    if not necessary. Then, revert the changes made by commit cc2893b6
    to make the confusion introduced by it go away.

    Acked-by: Matthew Garrett
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Bjorn Helgaas

    Rafael J. Wysocki
     

24 Jun, 2012

2 commits

  • * topic/huang-d3cold-v7:
    PCI/PM: add PCIe runtime D3cold support
    PCI: do not call pci_set_power_state with PCI_D3cold
    PCI/PM: add runtime PM support to PCIe port
    ACPI/PM: specify lowest allowed state for device sleep state

    Bjorn Helgaas
     
  • This patch adds runtime D3cold support and corresponding ACPI platform
    support. This patch only enables runtime D3cold support; it does not
    enable D3cold support during system suspend/hibernate.

    D3cold is the deepest power saving state for a PCIe device, where its main
    power is removed. While it is in D3cold, you can't access the device at
    all, not even its configuration space (which is still accessible in D3hot).
    Therefore the PCI PM registers can not be used to transition into/out of
    the D3cold state; that must be done by platform logic such as ACPI _PR3.

    To support wakeup from D3cold, a system may provide auxiliary power, which
    allows a device to request wakeup using a Beacon or the sideband WAKE#
    signal. WAKE# is usually connected to platform logic such as ACPI GPE.
    This is quite different from other power saving states, where devices
    request wakeup via a PME message on the PCIe link.

    Some devices, such as those in plug-in slots, have no direct platform
    logic. For example, there is usually no ACPI _PR3 for them. D3cold
    support for these devices can be done via the PCIe Downstream Port leading
    to the device. When the PCIe port is powered on/off, the device is powered
    on/off too. Wakeup events from the device will be notified to the
    corresponding PCIe port.

    For more information about PCIe D3cold and corresponding ACPI support,
    please refer to:

    - PCI Express Base Specification Revision 2.0
    - Advanced Configuration and Power Interface Specification Revision 5.0

    [bhelgaas: changelog]
    Reviewed-by: Rafael J. Wysocki
    Originally-by: Zheng Yan
    Signed-off-by: Huang Ying
    Signed-off-by: Bjorn Helgaas

    Huang Ying
     

14 Jun, 2012

3 commits


12 Jun, 2012

1 commit


25 Feb, 2012

2 commits

  • This isn't really a quirk; calling it directly from pci_add_device makes
    more sense.

    Signed-off-by: Yinghai Lu
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     
  • Let the user could enable and disable with pci=realloc=on or pci=realloc=off

    Also
    1. move variable and functions near the place they are used.
    2. change macro to function
    3. change related functions and variable to static and _init
    4. update parameter description accordingly.

    This will let us add a config option to control default behavior, and
    still allow the user to turn off automatic reallocation if it fails on
    their platform until a permanent solution is found.

    -v2: still honor pci=realloc, and treat it as pci=realloc=on
    also use enum instead of ...
    -v3: update kernel-paramenters.txt according to Jesse.

    Signed-off-by: Yinghai Lu
    Acked-by: Jesse Barnes
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     

24 Feb, 2012

1 commit

  • unreferenced object 0xffff880276d17700 (size 64):
    comm "swapper/0", pid 1, jiffies 4294897182 (age 3976.028s)
    hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 18 f9 de 76 02 88 ff ff ...........v....
    10 00 00 00 0e 00 00 00 0f 28 40 00 00 00 00 00 .........(@.....
    backtrace:
    [] kmemleak_alloc+0x26/0x43
    [] __kmalloc+0x121/0x183
    [] pci_add_cap_save_buffer+0x35/0x7c
    [] pci_allocate_cap_save_buffers+0x1d/0x65
    [] pci_device_add+0x92/0xf1
    [] pci_scan_single_device+0x9f/0xa1
    [] pci_scan_slot.part.20+0x21/0x106
    [] pci_scan_slot+0x2b/0x35
    [] __pci_scan_child_bus+0x51/0x107
    [] pci_scan_bridge+0x376/0x6ae
    [] __pci_scan_child_bus+0xcd/0x107
    [] pci_scan_child_bus+0x11/0x2a
    [] pci_acpi_scan_root+0x18b/0x21c
    [] acpi_pci_root_add+0x1e1/0x42a
    [] acpi_device_probe+0x50/0x190
    [] really_probe+0x99/0x126

    Need to free saved_buffer for capabilities.

    Signed-off-by: Yinghai Lu
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     

15 Feb, 2012

1 commit


07 Jan, 2012

2 commits

  • During S3 or S4 resume or PCI reset, ATS regs aren't restored correctly.
    This patch enables ATS at the device state restore if PCI device has ATS
    capability.

    Signed-off-by: Xudong Hao
    Signed-off-by: Xiantao Zhang
    Signed-off-by: Jesse Barnes

    Hao, Xudong
     
  • These new PCI services allow to probe for 2.3-compliant INTx masking
    support and then use the feature from PCI interrupt handlers. The
    services are properly synchronized with concurrent config space access
    via sysfs or on device reset.

    This enables generic PCI device drivers like uio_pci_generic or KVM's
    device assignment to implement the necessary kernel-side IRQ handling
    without any knowledge about device-specific interrupt status and control
    registers.

    Acked-by: Michael S. Tsirkin
    Signed-off-by: Jan Kiszka
    Signed-off-by: Jesse Barnes

    Jan Kiszka
     

02 Aug, 2011

1 commit


23 Jul, 2011

1 commit

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

    * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    iommu/core: Fix build with INTR_REMAP=y && CONFIG_DMAR=n
    iommu/amd: Don't use MSI address range for DMA addresses
    iommu/amd: Move missing parts to drivers/iommu
    iommu: Move iommu Kconfig entries to submenu
    x86/ia64: intel-iommu: move to drivers/iommu/
    x86: amd_iommu: move to drivers/iommu/
    msm: iommu: move to drivers/iommu/
    drivers: iommu: move to a dedicated folder
    x86/amd-iommu: Store device alias as dev_data pointer
    x86/amd-iommu: Search for existind dev_data before allocting a new one
    x86/amd-iommu: Allow dev_data->alias to be NULL
    x86/amd-iommu: Use only dev_data in low-level domain attach/detach functions
    x86/amd-iommu: Use only dev_data for dte and iotlb flushing routines
    x86/amd-iommu: Store ATS state in dev_data
    x86/amd-iommu: Store devid in dev_data
    x86/amd-iommu: Introduce global dev_data_list
    x86/amd-iommu: Remove redundant device_flush_dte() calls
    iommu-api: Add missing header file

    Fix up trivial conflicts (independent additions close to each other) in
    drivers/Makefile and include/linux/pci.h

    Linus Torvalds
     

09 Jul, 2011

1 commit

  • Multiple attempts to dynamically reallocate pci resources have
    unfortunately lead to regressions. Though we continue to fix the
    regressions and fine tune the dynamic-reallocation behavior, we have not
    reached a acceptable state yet.

    This patch provides a interim solution. It disables dynamic reallocation
    by default, but adds the ability to enable it through pci=realloc kernel
    command line parameter.

    Tested-by: Oliver Hartkopp
    Signed-off-by: Ram Pai
    Signed-off-by: Jesse Barnes

    Ram Pai
     

21 Jun, 2011

1 commit

  • This should ease finding similarities with different platforms,
    with the intention of solving problems once in a generic framework
    which everyone can use.

    Note: to move intel-iommu.c, the declaration of pci_find_upstream_pcie_bridge()
    has to move from drivers/pci/pci.h to include/linux/pci.h. This is handled
    in this patch, too.

    As suggested, also drop DMAR's EXPERIMENTAL tag while we're at it.

    Compile-tested on x86_64.

    Signed-off-by: Ohad Ben-Cohen
    Signed-off-by: Joerg Roedel

    Ohad Ben-Cohen
     

24 May, 2011

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (27 commits)
    PCI: Don't use dmi_name_in_vendors in quirk
    PCI: remove unused AER functions
    PCI/sysfs: move bus cpuaffinity to class dev_attrs
    PCI: add rescan to /sys/.../pci_bus/.../
    PCI: update bridge resources to get more big ranges when allocating space (again)
    KVM: Use pci_store/load_saved_state() around VM device usage
    PCI: Add interfaces to store and load the device saved state
    PCI: Track the size of each saved capability data area
    PCI/e1000e: Add and use pci_disable_link_state_locked()
    x86/PCI: derive pcibios_last_bus from ACPI MCFG
    PCI: add latency tolerance reporting enable/disable support
    PCI: add OBFF enable/disable support
    PCI: add ID-based ordering enable/disable support
    PCI hotplug: acpiphp: assume device is in state D0 after powering on a slot.
    PCI: Set PCIE maxpayload for card during hotplug insertion
    PCI/ACPI: Report _OSC control mask returned on failure to get control
    x86/PCI: irq and pci_ids patch for Intel Panther Point DeviceIDs
    PCI: handle positive error codes
    PCI: check pci_vpd_pci22_wait() return
    PCI: Use ICH6_GPIO_EN in ich6_lpc_acpi_gpio
    ...

    Fix up trivial conflicts in include/linux/pci_ids.h: commit a6e5e2be4461
    moved the intel SMBUS ID definitons to the i2c-i801.c driver.

    Linus Torvalds
     

22 May, 2011

2 commits

  • Requested by Greg KH to fix a race condition in the creating of PCI bus
    cpuaffinity files.

    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Yinghai Lu
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     
  • After remove the device from /sys, we have to rescan all or
    find out the bridge and access /sys../device/rescan there.

    this patch add /sys/.../pci_bus/.../rescan. So user can rescan more easy.
    that is more clean and easy to understand.

    like after remove 0000:c4:00.0, you can rescan 0000:c4 directly.

    -v2: According to Jesse, use function instead of exposing attr, so could hide
    #ifdef in header file.
    also add code to remove rescan file in remove path.
    -v3: GregKH pointed out that we should use dev_attrs to avoid racing.
    So add pcibus_attrs and make it to be member of pcibus_attrs.
    -v4: Change name to pcibus_dev_attrs according to GregKH

    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Yinghai Lu
    Signed-off-by: Jesse Barnes

    Yinghai Lu
     

11 Apr, 2011

1 commit

  • This patch moves the relevant declarations from the local
    header file in drivers/pci to a more accessible locations so
    that it can be used by the AMD IOMMU driver too.
    The file is named pci-ats.h because support for the PCI PRI
    capability will also be added there in a later patch-set.

    Signed-off-by: Joerg Roedel
    Acked-by: Jesse Barnes

    Joerg Roedel