]> err.no Git - linux-2.6/log
linux-2.6
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Sat, 2 Feb 2008 03:29:33 +0000 (14:29 +1100)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (64 commits)
  PCI: make pci_bus a struct device
  PCI: fix codingstyle issues in include/linux/pci.h
  PCI: fix codingstyle issues in drivers/pci/pci.h
  PCI: PCIE ASPM support
  PCI: Fix fakephp deadlock
  PCI: modify SB700 SATA MSI quirk
  PCI: Run ACPI _OSC method on root bridges only
  PCI ACPI: AER driver should only register PCIe devices with _OSC
  PCI ACPI: Added a function to register _OSC with only PCIe devices.
  PCI: constify function pointer tables
  PCI: Convert drivers/pci/proc.c to use unlocked_ioctl
  pciehp: block new requests from the device before power off
  pciehp: workaround against Bad DLLP during power off
  pciehp: wait for 1000ms before LED operation after power off
  PCI: Remove pci_enable_device_bars() from documentation
  PCI: Remove pci_enable_device_bars()
  PCI: Remove users of pci_enable_device_bars()
  PCI: Add pci_enable_device_{io,mem} intefaces
  PCI: avoid save the same type of cap multiple times
  PCI: correctly initialize a structure for pcie_save_pcix_state()
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Sat, 2 Feb 2008 03:28:57 +0000 (14:28 +1100)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (128 commits)
  USB: fix codingstyle issues in drivers/usb/core/*.c
  USB: fix codingstyle issues in drivers/usb/core/message.c
  USB: fix codingstyle issues in drivers/usb/core/hcd-pci.c
  USB: fix codingstyle issues in drivers/usb/core/devio.c
  USB: fix codingstyle issues in drivers/usb/core/devices.c
  USB: fix codingstyle issues in drivers/usb/core/*.h
  USB: fix codingstyle issues in include/linux/usb/
  USB: fix codingstyle issues in include/linux/usb.h
  USB: mark USB drivers as being GPL only
  USB: use a real vendor and product id for root hubs
  USB: mount options: fix usbfs
  USB: Fix usb_serial_driver structure for Kobil cardreader driver.
  usb: ehci should use u16 for isochronous intervals
  usb: ehci, remove false clear-reset path
  USB: Use menuconfig objects
  usb: ohci-sm501 driver
  usb: dma bounce buffer support
  USB: last abuses of intfdata in close for usb-serial drivers
  USB: kl5kusb105 don't flush to logically disconnected devices
  USB: oti6858: cleanup
  ...

16 years agodebug: softlockup looping fix
Peter Zijlstra [Fri, 1 Feb 2008 23:23:08 +0000 (00:23 +0100)]
debug: softlockup looping fix

Rafael J. Wysocki reported weird, multi-seconds delays during
suspend/resume and bisected it back to:

  commit 82a1fcb90287052aabfa235e7ffc693ea003fe69
  Author: Ingo Molnar <mingo@elte.hu>
  Date:   Fri Jan 25 21:08:02 2008 +0100

      softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks

fix it:

 - restore the old wakeup mechanism
 - fix break usage in do_each_thread() { } while_each_thread().
 - fix the hotplug switch stmt, a fall-through case was broken.

Bisected-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoPCI: make pci_bus a struct device
Greg Kroah-Hartman [Wed, 23 May 2007 02:47:54 +0000 (22:47 -0400)]
PCI: make pci_bus a struct device

This moves the pci_bus class device to be a real struct device and at
the same time, place it in the device tree in the correct location.

Note, the old "bridge" symlink is now gone, but this was a non-standard
link and no userspace program used it.  If you need to determine the
device that the bus is on, follow the standard device symlink, or walk
up the device tree.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: fix codingstyle issues in include/linux/pci.h
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
PCI: fix codingstyle issues in include/linux/pci.h

Fixes a number of coding style issues in pci.h.
It's a tad more readable now...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: fix codingstyle issues in drivers/pci/pci.h
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
PCI: fix codingstyle issues in drivers/pci/pci.h

Fixes a few coding style issues in the internal pci.h file

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: PCIE ASPM support
Shaohua Li [Thu, 24 Jan 2008 02:21:57 +0000 (10:21 +0800)]
PCI: PCIE ASPM support

PCI Express ASPM defines a protocol for PCI Express components in the D0
state to reduce Link power by placing their Links into a low power state
and instructing the other end of the Link to do likewise. This
capability allows hardware-autonomous, dynamic Link power reduction
beyond what is achievable by software-only controlled power management.
However, The device should be configured by software appropriately.
Enabling ASPM will save power, but will introduce device latency.

This patch adds ASPM support in Linux. It introduces a global policy for
ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control
it. The interface can be used as a boot option too. Currently we have
below setting:
        -default, BIOS default setting
        -powersave, highest power saving mode, enable all available ASPM
state
and clock power management
        -performance, highest performance, disable ASPM and clock power
management
By default, the 'default' policy is used currently.

In my test, power difference between powersave mode and performance mode
is about 1.3w in a system with 3 PCIE links.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Fix fakephp deadlock
Ian Abbott [Fri, 25 Jan 2008 16:23:56 +0000 (16:23 +0000)]
PCI: Fix fakephp deadlock

If the fakephp driver is used to emulate removal of a PCI device by
writing text string "0" to the "power" sysfs attribute file, this causes
its parent directory and its contents (including the "power" file) to be
deleted before the write operation returns.  Unfortunately, it ends up
in a deadlock waiting for itself to complete.

The deadlock is as follows: sysfs_write_file calls flush_write_buffer
which calls sysfs_get_active_two before calling power_write_file in
pci_hotplug_core.c via the sysfs store operation. The power_write_file
function calls disable_slot in fakephp.c via the slot operation.  The
disable_slot function calls remove_slot which calls pci_hp_deregister
(back in pci_hotplug_core.c) which calls fs_remove_slot which calls
sysfs_remove_file to remove the "power" file. The sysfs_remove_file
function calls sysfs_hash_and_remove which calls sysfs_addrm_finish
which calls sysfs_deactivate. The sysfs_deactivate function sees that
something has an active reference on the sysfs_dirent (from the
previous call to sysfs_get_active_two back up the call stack somewhere)
so waits for the active reference to go away, which is of course
impossible.

The problem has been present since 2.6.21.

This patch breaks the deadlock by queuing work queue items on a single-
threaded work queue to remove a slot from sysfs, and to rescan the PCI
buses.  There is also some protection against disabling a slot that is
already being removed.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: modify SB700 SATA MSI quirk
Shane Huang [Fri, 25 Jan 2008 06:46:24 +0000 (15:46 +0900)]
PCI: modify SB700 SATA MSI quirk

SB700 SATA MSI bug will be fixed in SB700 revision A21 at hardware
level, but the SB700 revision older than A21 will also be found in the
market.  This patch modify the original quirk commit
bc38b411fe696fad32b261f492cb4afbf1835256 instead of withdrawing it.
The patch also removes quirk to 0x4395 because 0x4395 is SB800 device
ID.

Signed-off-by: Shane Huang <shane.huang@amd.com>
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Run ACPI _OSC method on root bridges only
Andrew Patterson [Wed, 23 Jan 2008 00:18:27 +0000 (17:18 -0700)]
PCI: Run ACPI _OSC method on root bridges only

According to the PCI Firmware Specification Revision 3.0 section 4.5, _OSC
should only be called on a root brdige.  Here is the relevant passage: "The
_OSC interface defined in this section applies only to Host Bridge ACPI
devices that originate PCI, PCI-X, or PCI Express hierarchies". Changed the
code to find the parent root bridge of the device and call _OSC on that.

Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI ACPI: AER driver should only register PCIe devices with _OSC
Andrew Patterson [Wed, 23 Jan 2008 00:18:17 +0000 (17:18 -0700)]
PCI ACPI: AER driver should only register PCIe devices with _OSC

AER is only used with PCIe devices so we should only check PCIe devices for
_OSC support.

Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI ACPI: Added a function to register _OSC with only PCIe devices.
Andrew Patterson [Wed, 23 Jan 2008 00:18:12 +0000 (17:18 -0700)]
PCI ACPI: Added a function to register _OSC with only PCIe devices.

The function pci_osc_support_set() traverses every root bridge when
checking for _OSC support for a capability.  It quits as soon as it finds a
device/bridge that doesn't support the requested capability. This won't
work for systems that have mixed PCI and PCIe bridges when checking for
PCIe features.  I split this function into two -- pci_osc_support_set() and
pcie_osc_support_set(). The latter is used when only PCIe devices should be
traversed.

Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: constify function pointer tables
Jan Engelhardt [Tue, 22 Jan 2008 19:53:43 +0000 (20:53 +0100)]
PCI: constify function pointer tables

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Convert drivers/pci/proc.c to use unlocked_ioctl
Mathieu Segaud [Thu, 10 Jan 2008 13:27:12 +0000 (14:27 +0100)]
PCI: Convert drivers/pci/proc.c to use unlocked_ioctl

Change access to inode thru file->f_dentry->d_inode, and add explicit
lock/unlock_kernel() calls.

Signed-off-by: Mathieu Segaud <mathieu.segaud@regala.cx>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agopciehp: block new requests from the device before power off
Kenji Kaneshige [Thu, 20 Dec 2007 10:46:33 +0000 (19:46 +0900)]
pciehp: block new requests from the device before power off

Disable Bus Master, SERR# and INTx to ensure that no new Requests will
be generated from the device before turning power off, in accordance
with the specification.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agopciehp: workaround against Bad DLLP during power off
Kenji Kaneshige [Thu, 20 Dec 2007 10:45:09 +0000 (19:45 +0900)]
pciehp: workaround against Bad DLLP during power off

Set Bad DLLP Mask bit in Correctable Error Mask Register during
turning power off the slot.

This is the workaround against Bad DLLP error that sometimes happen
during turning power off on the slot which conforms to PCI Express
1.0a spec. The cause of this error seems that PCI Express 1.0a spec
doesn't have the following consideration that was added to PCI Express
1.1 spec.

    "If the port is associated with a hot-pluggable slot (Hot-Plug
    Capable bit in the Slot Capabilities register set to 1b), and
    Power Controller Control bit in Slot Control register is 1b(Off),
    then any transition to DL Inactive must not be considered an
    error."

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agopciehp: wait for 1000ms before LED operation after power off
Kenji Kaneshige [Thu, 20 Dec 2007 10:43:56 +0000 (19:43 +0900)]
pciehp: wait for 1000ms before LED operation after power off

After turning power off, we must wait for at least 1 second *before*
LED operation.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Remove pci_enable_device_bars() from documentation
Grant Grundler [Mon, 24 Dec 2007 07:08:51 +0000 (00:08 -0700)]
PCI: Remove pci_enable_device_bars() from documentation

Patch below removes pci_enable_device_bars() from Documentation/pci.txt .

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Remove pci_enable_device_bars()
Benjamin Herrenschmidt [Thu, 20 Dec 2007 04:28:10 +0000 (15:28 +1100)]
PCI: Remove pci_enable_device_bars()

Now that all in-tree users are gone, this removes pci_enable_device_bars()
completely.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Remove users of pci_enable_device_bars()
Benjamin Herrenschmidt [Thu, 20 Dec 2007 04:28:09 +0000 (15:28 +1100)]
PCI: Remove users of pci_enable_device_bars()

This patch converts users of pci_enable_device_bars() to the new
pci_enable_device_{io,mem} interface.

The new API fits nicely, except maybe for the QLA case where a bit of
code re-organization might be a good idea but I prefer sticking to the
simple patch as I don't have hardware to test on.

I'll also need some feedback on the cs5520 change.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Add pci_enable_device_{io,mem} intefaces
Benjamin Herrenschmidt [Thu, 20 Dec 2007 04:28:08 +0000 (15:28 +1100)]
PCI: Add pci_enable_device_{io,mem} intefaces

The pci_enable_device_bars() interface isn't well suited to PCI
because you can't actually enable/disable BARs individually on
a device. So for example, if a device has 2 memory BARs 0 and 1,
and one of them (let's say 1) has not been successfully allocated
by the firmware or the kernel, then enabling memory decoding
shouldn't be permitted for the entire device since it will decode
whatever random address is still in that BAR 1.

So a device must be either fully enabled for IO, for Memory, or
for both. Not on a per-BAR basis.

This provides two new functions, pci_enable_device_io() and
pci_enable_device_mem() to replace pci_enable_device_bars(). The
implementation internally builds a BAR mask in order to be able
to use existing arch infrastructure.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: avoid save the same type of cap multiple times
Shaohua Li [Tue, 18 Dec 2007 01:57:09 +0000 (09:57 +0800)]
PCI: avoid save the same type of cap multiple times

Avoid adding the same type of cap multiple times, otherwise we will see dead loop.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: correctly initialize a structure for pcie_save_pcix_state()
Shaohua Li [Tue, 18 Dec 2007 01:56:56 +0000 (09:56 +0800)]
PCI: correctly initialize a structure for pcie_save_pcix_state()

save_state->cap_nr should be correctly set, otherwise we can't find the
saved cap at resume.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: fix typo in pci_save_pcix_state
Shaohua Li [Tue, 18 Dec 2007 01:56:47 +0000 (09:56 +0800)]
PCI: fix typo in pci_save_pcix_state

pci_save/store_state has multiple bugs, which will cause cap can't be
saved/restored correctly. Below 3 patches fix them.

fix the typo in pci_save_pcix_state

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: use dev_printk in x86 quirk messages
bjorn.helgaas@hp.com [Mon, 17 Dec 2007 21:09:40 +0000 (14:09 -0700)]
PCI: use dev_printk in x86 quirk messages

Convert quirk printks to dev_printk().

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: use dev_printk in quirk messages
bjorn.helgaas@hp.com [Mon, 17 Dec 2007 21:09:39 +0000 (14:09 -0700)]
PCI: use dev_printk in quirk messages

Convert quirk printks to dev_printk().

I made the MSI disable messages a little more consistent:

    - always use "disabled", not "deactivated"
    - specify "device MSI disabled" or "subordinate MSI disabled" when
      disabling MSI for only a specific device or subordinate bus

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: print quirk name in debug messages
bjorn.helgaas@hp.com [Mon, 17 Dec 2007 21:09:38 +0000 (14:09 -0700)]
PCI: print quirk name in debug messages

Instead of printing this:

    PCI: Calling quirk c023b250 for 0000:00:00.0

we can print this:

    pci 0000:00:00.0: calling quirk 0xc023b270: quirk_cardbus_legacy+0x0/0x30()

The address is superfluous because sprint_symbol() includes the
address if the symbol lookup fails, but this is the same style used
in do_initcalls() and pnp_fixup_device().

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: fix for quirk_e100_interrupt()
Ivan Kokshaysky [Mon, 17 Dec 2007 21:39:27 +0000 (00:39 +0300)]
PCI: fix for quirk_e100_interrupt()

Check that the e100 is in the D0 power state. If it's not, it won't
respond to MMIO accesses and we end up with master-abort machine
checks on some platforms.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Spelling fixes
Joe Perches [Mon, 17 Dec 2007 19:40:11 +0000 (11:40 -0800)]
PCI: Spelling fixes

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Kconfig help: don't refer to the PCI-HOWTO
Adrian Bunk [Thu, 13 Dec 2007 18:45:17 +0000 (19:45 +0100)]
PCI: Kconfig help: don't refer to the PCI-HOWTO

A HOWTO that hasn't been updated for half a dozen years no longer
"contains valuable information about which PCI hardware does work under
Linux and which doesn't".

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: drivers/pci/msi.c: move arch hooks to the top
Adrian Bunk [Tue, 11 Dec 2007 22:19:41 +0000 (23:19 +0100)]
PCI: drivers/pci/msi.c: move arch hooks to the top

This patch fixes the following problem present with older gcc versions:

<--  snip  -->

...
  CC      drivers/pci/msi.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/pci/msi.c:692: warning: weak declaration of `arch_msi_check_device' after first use results in unspecified behavior
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/pci/msi.c:704: warning: weak declaration of `arch_setup_msi_irqs' after first use results in unspecified behavior
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/pci/msi.c:724: warning: weak declaration of `arch_teardown_msi_irqs' after first use results in unspecified behavior
...

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: quirk: enable MSI Mapping on HT1000
Sebastien Dugue [Fri, 14 Dec 2007 00:09:25 +0000 (16:09 -0800)]
PCI: quirk: enable MSI Mapping on HT1000

Add a quirk to enable the MSI mapping capability on HyperTransport bridges.

Wire Broadcom's HT1000 to use the quirk.

Signed-off-by: Sebastien Dugue <sebastien.dugue@bull.net>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andy Currid <acurrid@nvidia.com>
Cc: Peer Chen <pchen@nvidia.com>
Cc: Prakash Punnoor <prakash@punnoor.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Michael Chan <mchan@broadcom.com>
Cc: Greg KH <greg@kroah.com>
Cc: Andy Currid <acurrid@nvidia.com>
Cc: Peer Chen <pchen@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Fix warning in setup-res.c on 32-bit platforms with 64-bit resources
Benjamin Herrenschmidt [Mon, 10 Dec 2007 06:32:16 +0000 (17:32 +1100)]
PCI: Fix warning in setup-res.c on 32-bit platforms with 64-bit resources

This adds appropriate casts to avoid a warning and print the correct
values in pr_debug.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Fix bus resource assignment on 32 bits with 64b resources
Benjamin Herrenschmidt [Mon, 10 Dec 2007 06:32:15 +0000 (17:32 +1100)]
PCI: Fix bus resource assignment on 32 bits with 64b resources

The current pci_assign_unassigned_resources() code doesn't work properly
on 32 bits platforms with 64 bits resources. The main reason is the use
of unsigned long in various places instead of resource_size_t.

This is a pre-requisite for making powerpc use the generic code instead of
its own half-useful implementation.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI Hotplug: PCIeHP: Fix some whitespace damage
Rolf Eike Beer [Tue, 6 Nov 2007 12:20:17 +0000 (13:20 +0100)]
PCI Hotplug: PCIeHP: Fix some whitespace damage

PCIeHP: Fix some whitespace damage

Signed-off-by: Rolf Eike Beer <eike-hotplug@sf-tec.de>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI Hotplug: pciehp: use generic function to find ext capability
Kenji Kaneshige [Fri, 9 Nov 2007 08:28:11 +0000 (17:28 +0900)]
PCI Hotplug: pciehp: use generic function to find ext capability

Remove duplicated code to find an extend capability in PCIEHP driver.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI Hotplug: pciehp: remove needless hp_slot calculation
Kenji Kaneshige [Fri, 9 Nov 2007 08:29:42 +0000 (17:29 +0900)]
PCI Hotplug: pciehp: remove needless hp_slot calculation

Remove needless hp_slot calculation. This has no functional changes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI Hotplug: pciehp: remove needless members from struct controller
Kenji Kaneshige [Fri, 9 Nov 2007 08:30:29 +0000 (17:30 +0900)]
PCI Hotplug: pciehp: remove needless members from struct controller

Remove needless members from struct controller. This has no functional
changes.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI Hotplug: acpiphp: remove unneeded acpi_get_name function call
MUNEDA Takahiro [Fri, 9 Nov 2007 10:06:20 +0000 (19:06 +0900)]
PCI Hotplug: acpiphp: remove unneeded acpi_get_name function call

acpi_get_name() is called before and after dbg(). The latter is
useless and should be removed.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI Hotplug: acpiphp: fix trivial typos
MUNEDA Takahiro [Fri, 9 Nov 2007 10:07:02 +0000 (19:07 +0900)]
PCI Hotplug: acpiphp: fix trivial typos

fix trivial typos.

Signed-off-by: MUNEDA Takahiro <muneda.takahiro@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCIe: fix double initialization bug
Mark Lord [Wed, 21 Nov 2007 23:07:55 +0000 (15:07 -0800)]
PCIe: fix double initialization bug

Earlier patches to split out the hardware init for PCIe hotplug resulted in
some one-time initializations being redone on every resume cycle.  Eg.
irq/polling initialization.

This patch splits the hardware init into two parts, and separates the
one-time initializations from those so that they only ever get done once,
as intended.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCIE: Make use of the previously split out pcie_init_enable_events() function
Mark Lord [Wed, 28 Nov 2007 23:12:00 +0000 (15:12 -0800)]
PCIE: Make use of the previously split out pcie_init_enable_events() function

Make use of the previously split out pcie_init_enable_events() function
to reinitialize the hotplug hardware on resume from suspend, but only
when pciehp_force==1.  Otherwise behaviour is unmodified.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: more fixes for PCIe Hotplug so that it works with ExpressCard slots on Dell...
Mark Lord [Wed, 28 Nov 2007 23:11:46 +0000 (15:11 -0800)]
PCI: more fixes for PCIe Hotplug so that it works with ExpressCard slots on Dell notebooks (and others?) in conjunction with modparam of pciehp_force=1

Split out the hotplug hardware initialization code from pcie_init()
into pcie_init_enable_events(), without changing any functionality.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCIE: fix PCIe Hotplug so that it works with ExpressCard slots on Dell notebooks...
Mark Lord [Wed, 28 Nov 2007 23:11:28 +0000 (15:11 -0800)]
PCIE: fix PCIe Hotplug so that it works with ExpressCard slots on Dell notebooks (and others?) in conjunction with modparam of pciehp_force=1.

Fix pciehp_probe() to deal with ExpressCard cards
that were inserted prior to the driver being loaded.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Add missing "space" in printk messages
Joe Perches [Tue, 20 Nov 2007 01:48:29 +0000 (17:48 -0800)]
PCI: Add missing "space" in printk messages

Signed-off-by: Joe Perches <joe@perches.com>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: export pci_restore_msi_state()
Linas Vepstas [Wed, 7 Nov 2007 21:43:59 +0000 (15:43 -0600)]
PCI: export pci_restore_msi_state()

PCI error recovery usually involves the PCI adapter being reset.
If the device is using MSI, the reset will cause the MSI state
to be lost; the device driver needs to restore the MSI state.

The pci_restore_msi_state() routine is currently protected
by CONFIG_PM; remove this, and also export the symbol, so
that it can be used in a modle.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agopci hotplug: fix rpaphp directory naming
Linas Vepstas [Mon, 26 Nov 2007 07:51:37 +0000 (23:51 -0800)]
pci hotplug: fix rpaphp directory naming

Fix presentation of the slot number in the /sys/bus/pci/slots
directory to match that used in the majority of other drivers.

> Greg said:
> How is anyone supposed to write sane managability tools in the
> presence
> of such anarchy?
>
> > ~ # cat /sys/bus/pci/slots/0000:00:02.2/phy_location
> > U787A.001.DNZ00Z5-P1-C2
>
> Right.  This should look like:
>
> # cat /sys/bus/pci/slots/U787A.001.DNZ00Z5-P1-C2/address
> 0000:00:02

This patch implements exactly what you describe. Boot tested.
I assume you really mean it -- if so, then please review and
ack the patch !?

I have absolutely no clue if this breaks any existing IBM tools.
I'm pretty sure it doesn't ... but attention Mike Strosaker! does it?

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: <strosake@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Unhide the SMBus on the HP xw4100
Jean Delvare [Wed, 21 Nov 2007 17:29:06 +0000 (18:29 +0100)]
PCI: Unhide the SMBus on the HP xw4100

Unhide the SMBus on the HP xw4100. This gives access to a hardware
monitoring chip (ADT7463) and to the memory module SPD EEPROMs. I
checked that ACPI wasn't accessing the SMBus, so it should be safe.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: More Sanity checks for DMAR
Fenghua Yu [Wed, 21 Nov 2007 23:07:14 +0000 (15:07 -0800)]
PCI: More Sanity checks for DMAR

Add and changes a few sanity checks in dmar.c.

1.  The haw field in ACPI DMAR table in VT-d spec doesn't describe the
   range of haw.  But since DMA page size is 4KB in DMA remapping, haw
   should be at least 4KB.  The current VT-d code in dmar.c returns failure
   when haw==0.  This sanity check is not accurate and execution can pass
   when haw is less than one page size 4KB.  This patch changes the haw
   sanity check to validate if haw is less than 4KB.

2. Add dmar_rmrr_units verification.

3. Add parse_dmar_table() verification.

[akpm@linux-foundation.org: coding-style fixes]

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Acked-by: mark gross <mgross@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: drivers/pci/quirks.c: coding-style cleanup
Andrew Morton [Wed, 21 Nov 2007 23:07:13 +0000 (15:07 -0800)]
PCI: drivers/pci/quirks.c: coding-style cleanup

Remove lots of space-before-) instances.  Perhaps these were a workaround for
problems in some long-dead cpp version.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: remove additional pci_scan_child_bus() prototype
Adrian Bunk [Wed, 21 Nov 2007 23:07:12 +0000 (15:07 -0800)]
PCI: remove additional pci_scan_child_bus() prototype

There's already a prototype for pci_scan_child_bus() at the correct place in
pci.h, so there's no reason for an additional one.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: always export pci_scan_single_device
Adrian Bunk [Wed, 21 Nov 2007 23:07:11 +0000 (15:07 -0800)]
PCI: always export pci_scan_single_device

This patch fixes the following build error with CONFIG_HOTPLUG=n:

  MODPOST 2137 modules
ERROR: "pci_scan_single_device" [drivers/edac/i82875p_edac.ko] undefined!

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Doug Thompson <norsk5@yahoo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: remove unneeded lock_kernel() in drivers/pci/syscall.c.
Diego Woitasen [Wed, 21 Nov 2007 23:07:08 +0000 (15:07 -0800)]
PCI: remove unneeded lock_kernel() in drivers/pci/syscall.c.

sys_pciconfig_{read,write}() are protected against PCI removal with the
reference count in struct pci_dev.  The concurrency of
pci_user_{read,write}_config_* functions are already protected by pci_lock
in drivers/pci/access.c.

Signed-off-by: Diego Woitasen <diego@woitasen.com.ar>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: get rid of pci_dev::{vendor,device}_compatible fields
Lennert Buytenhek [Wed, 21 Nov 2007 23:07:07 +0000 (15:07 -0800)]
PCI: get rid of pci_dev::{vendor,device}_compatible fields

The vendor_compatible and device_compatible fields in struct pci_dev aren't
used anywhere, and are somewhat pointless.  Assuming that these are
historical artifacts, remove them.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: Mem Policy: fix mempolicy usage in pci driver
Lee Schermerhorn [Wed, 21 Nov 2007 23:07:05 +0000 (15:07 -0800)]
PCI: Mem Policy: fix mempolicy usage in pci driver

In an attempt to ensure memory allocation from the local node, the pci
driver temporarily replaces the current task's memory policy with the
system default policy.  Trying to be a good citizen, the driver then call's
mpol_get() on the new policy.  When it's finished probing, it undoes the
'_get by calling mpol_free() [on the system default policy] and then
restores the current task's saved mempolicy.

A couple of issues here:

1) it's never necessary to set a task's mempolicy to the
   system default policy in order to get system default
   allocation behavior.  Simply set the current task's
   mempolicy to NULL and allocations will fall back to
   system default policy.

2) we should never [need to] call mpol_free() on the system
   default policy.  [I plan on trapping this with a VM_BUG_ON()
   in a subsequent patch.]

This patch removes the calls to mpol_get() and mpol_free()
and uses NULL for the temporary task mempolicy to effect
default allocation behavior.

Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com>
Acked-by: Christoph Lameter <clameter@sgi.com>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: VIA CX700 quirk to disable PCI Bus Parking
Tim Yamin [Thu, 1 Nov 2007 23:14:54 +0000 (23:14 +0000)]
PCI: VIA CX700 quirk to disable PCI Bus Parking

PCI Bus Parking and PCI Master read caching on the VIA CX700 is buggy and
can lead to problems such as USB2.0 packet loss if a VT6212L controller
is on the PCI bus. It's disabled by default, but some BIOSes turn these
features on and this patch reverts the configuration to the safe defaults.

Signed-off-by: Tim Yamin <tim.yamin@zonbu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: quirk_vialatency: Omit reading pci revision ID
Auke Kok [Mon, 29 Oct 2007 21:55:02 +0000 (14:55 -0700)]
PCI: quirk_vialatency: Omit reading pci revision ID

Don't read the revision ID unnecessary since the PCI subsystem
fills this field in already.

Updated to fix a thinko bug in a previously sent patch.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: hotplug: Link fakephp last
Alex Chiang [Fri, 12 Oct 2007 23:20:33 +0000 (16:20 -0700)]
PCI: hotplug: Link fakephp last

Currently, fakephp will claim all devices; we really only want it
to claim those not in slots.

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: hotplug: pci_hotplug_core whitespace fix
Alex Chiang [Fri, 12 Oct 2007 23:20:32 +0000 (16:20 -0700)]
PCI: hotplug: pci_hotplug_core whitespace fix

Remove superfluous space.

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: hotplug: acpiphp: Remove unused variable from acpiphp
Alex Chiang [Fri, 12 Oct 2007 23:20:31 +0000 (16:20 -0700)]
PCI: hotplug: acpiphp: Remove unused variable from acpiphp

Remove unused variable from acpiphp.

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: hotplug: remove Experimental
Kristen Carlson Accardi [Fri, 12 Oct 2007 23:20:30 +0000 (16:20 -0700)]
PCI: hotplug: remove Experimental

Remove EXPERIMENTAL from PCI Hot Plug.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: hotplug: Switch to pci_get_bus_and_slot
Joonwoo Park [Fri, 12 Oct 2007 23:20:29 +0000 (16:20 -0700)]
PCI: hotplug: Switch to pci_get_bus_and_slot

Thank you so much for your check & advise.
This time, I've tried on ibmphp_core.c, is it OK?

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agopcie: utilize pcie transaction pending bit
Shaohua Li [Wed, 24 Oct 2007 02:45:08 +0000 (10:45 +0800)]
pcie: utilize pcie transaction pending bit

PCIE has a mechanism to wait for Non-Posted request to complete. I think
pci_disable_device is a good place to do this.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agopcie port driver: correctly detect native PME feature
Shaohua Li [Wed, 24 Oct 2007 02:43:23 +0000 (10:43 +0800)]
pcie port driver: correctly detect native PME feature

Native PME is capability of root port or root complex event collector.
It's not determined by PCI PME capability.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: drivers/pci/: remove unused exports
Adrian Bunk [Sat, 27 Oct 2007 01:06:33 +0000 (03:06 +0200)]
PCI: drivers/pci/: remove unused exports

This patch removes the following unused exports:
- remove the following unused EXPORT_SYMBOL's:
 - pci-acpi.c: pci_osc_support_set
 - proc.c: pci_proc_detach_bus
- remove the following unused EXPORT_SYMBOL_GPL's:
  - bus.c: pci_walk_bus
  - probe.c: pci_create_bus
  - setup-res.c: pci_claim_resource

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: drivers/pci/rom.c: #if 0 two functions
Adrian Bunk [Sat, 27 Oct 2007 01:06:25 +0000 (03:06 +0200)]
PCI: drivers/pci/rom.c: #if 0 two functions

This patch #if 0's the following unused global functions:
- rom.c: pci_map_rom_copy()
- rom.c: pci_remove_rom()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoPCI: make pci_restore_bars() static
Adrian Bunk [Sat, 27 Oct 2007 01:06:22 +0000 (03:06 +0200)]
PCI: make pci_restore_bars() static

This patch makes the needlessly global pci_restore_bars() static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agox86: fix bootup crash in native_read_tsc()
Ingo Molnar [Fri, 1 Feb 2008 22:45:18 +0000 (23:45 +0100)]
x86: fix bootup crash in native_read_tsc()

fix bootup crash in native_read_tsc() that was reported on an Athlon-XP
and bisected. The correct feature boundary for X86_FEATURE_MFENCE_RDTSC
is not XMM but XMM2.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Fri, 1 Feb 2008 22:58:02 +0000 (09:58 +1100)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (100 commits)
  ide: move hwif_register() call out of ide_probe_port()
  ide: factor out code for tuning devices from ide_probe_port()
  ide: move handling of I/O resources out of ide_probe_port()
  ide: make probe_hwif() return an error value
  ide: use ide_remove_port_from_hwgroup in init_irq()
  ide: prepare init_irq() for using ide_remove_port_from_hwgroup()
  ide: factor out code removing port from hwgroup from ide_unregister()
  ide: I/O resources are released too early in ide_unregister()
  ide: cleanup ide_system_bus_speed()
  ide: remove needless zeroing of hwgroup fields from init_irq()
  ide: remove unused ide_hwgroup_t fields
  ide_platform: remove struct hwif_prop
  ide: remove hwif->present manipulations from hwif_init()
  ide: move wait_hwif_ready() documentation in the right place
  ide: fix handling of busy I/O resources in probe_hwif()
  <linux/hdsmart.h> is not used by kernel code
  ide: don't include <linux/hdsmart.h>
  ide-floppy: cleanup header
  ide: update/add my Copyrights
  ide: delete filenames/versions from comments
  ...

16 years agoUSB: fix codingstyle issues in drivers/usb/core/*.c
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
USB: fix codingstyle issues in drivers/usb/core/*.c

Fixes a number of coding style issues in the remaining .c files in
drivers/usb/core/

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix codingstyle issues in drivers/usb/core/message.c
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
USB: fix codingstyle issues in drivers/usb/core/message.c

Fixes a number of coding style issues in the message.c file.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix codingstyle issues in drivers/usb/core/hcd-pci.c
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
USB: fix codingstyle issues in drivers/usb/core/hcd-pci.c

Fixes a number of coding style issues in the hcd-pci.c file.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix codingstyle issues in drivers/usb/core/devio.c
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
USB: fix codingstyle issues in drivers/usb/core/devio.c

Fixes a number of coding style issues in the devio.c file.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix codingstyle issues in drivers/usb/core/devices.c
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
USB: fix codingstyle issues in drivers/usb/core/devices.c

Fixes a number of coding style issues in the devices.c file.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix codingstyle issues in drivers/usb/core/*.h
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
USB: fix codingstyle issues in drivers/usb/core/*.h

Fixes a number of coding style issues in the USB internal header files.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix codingstyle issues in include/linux/usb/
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:21:33 +0000 (15:21 -0800)]
USB: fix codingstyle issues in include/linux/usb/

Fixes a number of coding style issues in the USB public header files.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix codingstyle issues in include/linux/usb.h
Greg Kroah-Hartman [Wed, 30 Jan 2008 23:20:32 +0000 (15:20 -0800)]
USB: fix codingstyle issues in include/linux/usb.h

No logical code changes were made, but checkpatch.pl is much happier now.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: mark USB drivers as being GPL only
Greg Kroah-Hartman [Fri, 25 Jan 2008 17:12:21 +0000 (11:12 -0600)]
USB: mark USB drivers as being GPL only

Over two years ago, the Linux USB developers stated that they believed
there was no way to create a USB kernel driver that was not under the
GPL.  This patch moves the USB apis to enforce that decision.

There are no known closed source USB drivers in the wild, so this patch
should cause no problems.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: use a real vendor and product id for root hubs
Greg Kroah-Hartman [Mon, 28 Jan 2008 17:50:12 +0000 (09:50 -0800)]
USB: use a real vendor and product id for root hubs

Turns out that a company is out there using the vendor id of 0x0000 in
the wild, so use a real vendor/product id for the root hubs.

Now that the Linux Foundation has a real vendor id, we use that, and the
first product id:
0x1d6b is the vendor id of the Linux Foundation
0x0001 is the product id for Linux 1.1 root hubs
0x0002 is the product id for Linux 2.0 root hubs

The usb.ids file has already been updated with these values.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: mount options: fix usbfs
Miklos Szeredi [Thu, 24 Jan 2008 19:34:07 +0000 (20:34 +0100)]
USB: mount options: fix usbfs

Add a .show_options super operation to usbfs.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: Fix usb_serial_driver structure for Kobil cardreader driver.
Stefan Bader [Fri, 25 Jan 2008 13:09:41 +0000 (08:09 -0500)]
USB: Fix usb_serial_driver structure for Kobil cardreader driver.

The device setup did miss to initialize the num_interrupt_out field, thus
failing to successfully complete the probe function.

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Cc: stable <stable@kernel.org>
Cc: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agousb: ehci should use u16 for isochronous intervals
David Brownell [Thu, 24 Jan 2008 20:30:34 +0000 (12:30 -0800)]
usb: ehci should use u16 for isochronous intervals

While most isochronous endpoints have short polling intervals, the
EHCI driver won't necessarily handle larger ones correctly.

This patch switches to use a "u16" to represent those periods, not
a u8, since it can always work:  the largest expressible period
is 2^15 units ... not the previous too-short limit of 128 frames
(full or low speeds) or microframes (high speed, 32 frames).

This bug is essentially theoretical, since the few ISO endpoints
I've seen which don't use one transfer per frame are high speed
ones using more than that (including high bandwidth, 24 KB/msec).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agousb: ehci, remove false clear-reset path
David Brownell [Thu, 24 Jan 2008 20:39:43 +0000 (12:39 -0800)]
usb: ehci, remove false clear-reset path

Some of the "EHCI ports reset forever" problems may be explained by
code paths which wrongly flagged resets as complete.  This removes
two such paths; the ehci_hub_status_data() path should be the only one
to have an effect, since it was already properly flagged on the other
path.  (Issue noted by Minhyoung Kim <a9a9@lge.com>.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: Use menuconfig objects
Denis Cheng [Thu, 24 Jan 2008 08:36:31 +0000 (16:36 +0800)]
USB: Use menuconfig objects

commit 04d06ad0f1fdb499af84ae3d7969e2136a462f38 have added menuconfig support
for the whole USB Kconfig, but there are still menuconfig need for usb/serial,
usb/atm, and usb/gadget, so that the user can disable all the options in that
menu at once instead of having to disable each option separately.

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agousb: ohci-sm501 driver
Magnus Damm [Wed, 23 Jan 2008 06:58:46 +0000 (15:58 +0900)]
usb: ohci-sm501 driver

usb: ohci-sm501 driver V2

This patch adds sm501 ohci support. It's all very straightforward with the
exception of dma_declare_coherent_memory() and HCD_LOCAL_MEM. Together they
are used to ensure that usb data is allocated using dma_alloc_coherent(),
and that only valid dma memory is used to allocate from. This driver is
a platform device, and the mfd driver sm501.c is already creating one
usb host controller instance per sm501.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agousb: dma bounce buffer support
Magnus Damm [Wed, 23 Jan 2008 06:58:35 +0000 (15:58 +0900)]
usb: dma bounce buffer support

usb: dma bounce buffer support V4

This patch adds dma bounce buffer support to the usb core. These buffers
can be enabled with the HCD_LOCAL_MEM flag, and they make sure that all data
passed to the host controller is allocated using dma_alloc_coherent().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: last abuses of intfdata in close for usb-serial drivers
Oliver Neukum [Wed, 23 Jan 2008 11:28:45 +0000 (12:28 +0100)]
USB: last abuses of intfdata in close for usb-serial drivers

these drivers abused intfdata in close() as flags for binding.
That races with reprobing of those devices. This patch fixes that by using
the flag and the locks introduced with the patch against mos7720.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: kl5kusb105 don't flush to logically disconnected devices
Oliver Neukum [Tue, 22 Jan 2008 11:47:15 +0000 (12:47 +0100)]
USB: kl5kusb105 don't flush to logically disconnected devices

If disconnect() is called for a logical disconnect, no more IO must be
done after disconnect() returns, or the old and new drivers may conflict.
This patch avoids this by using the flag and lock introduced by the earlier
patch for the mos7720 driver.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: oti6858: cleanup
Alan Cox [Sat, 19 Jan 2008 16:02:37 +0000 (16:02 +0000)]
USB: oti6858: cleanup

- Rename the copied buffer functions from pl2303 to oti6858 to avodi
  confusion
- Initialise speeds properly
- Use modern baud rate handling
- Remove GSERIAL/SSERIAL ioctl hacks that reference termios unlocked

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: more serial drivers writing after disconnect
Oliver Neukum [Tue, 22 Jan 2008 12:56:18 +0000 (13:56 +0100)]
USB: more serial drivers writing after disconnect

this covers the rest of the obvious cases by using the flags
and locks to guard against disconnect which were introduced
in the earlier patch against mos7720.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: make sure usb serial drivers don't flush to logically disconnected devices
Oliver Neukum [Mon, 21 Jan 2008 16:44:10 +0000 (17:44 +0100)]
USB: make sure usb serial drivers don't flush to logically disconnected devices

If disconnect() is called for a logical disconnect, no more IO must be
done after disconnect() returns, or the old and new drivers may conflict.
This patch avoids this by using the flag and lock introduced by the earlier
patch for the mos7720 driver.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: fix memleak in ark3116 serial driver
Oliver Neukum [Tue, 22 Jan 2008 13:24:56 +0000 (14:24 +0100)]
USB: fix memleak in ark3116 serial driver

in an error case memory already allocated must be freed again.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: stop abuse of intfdata in cypress_m8
Oliver Neukum [Tue, 22 Jan 2008 14:54:54 +0000 (15:54 +0100)]
USB: stop abuse of intfdata in cypress_m8

this driver uses usb_get_intfdata() == NULL as a test for disconnect().
You must not do that as this races with probe(). By the time you test
your erstwhile interface may already be somebody else's interface.
This fixes the close() method of cypress_m8 to use the recently introduced
flag and use locking against disconnect() where required in close().

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: constify function pointer tables
Jan Engelhardt [Tue, 22 Jan 2008 19:51:11 +0000 (20:51 +0100)]
USB: constify function pointer tables

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: stop io performed by mos7720 upon close()
Oliver Neukum [Wed, 16 Jan 2008 16:18:52 +0000 (17:18 +0100)]
USB: stop io performed by mos7720 upon close()

This fixes a problem where the mos7720 driver will make io to a device from
which it has been logically disconnected. It does so by introducing a flag by
which the generic usb serial code can signal the subdrivers their
disconnection and appropriate locking.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: add support for SuperH OHCI
Yoshihiro Shimoda [Fri, 11 Jan 2008 13:56:15 +0000 (22:56 +0900)]
USB: add support for SuperH OHCI

add support for SuperH OHCI.

supported CPU are:
 - SH7720
 - SH7721
 - SH7763

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: ftdi_sio: remove very old changelog entries from the file.
Greg Kroah-Hartman [Tue, 9 Apr 2002 19:14:34 +0000 (12:14 -0700)]
USB: ftdi_sio: remove very old changelog entries from the file.

People keep trying to add entries to this section of the driver for
things.  That's what the Changelog is supposed to be for, not the .c
file.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: usbserial: provide ezusb functions for an external module.
Paul Chavent [Sat, 12 Jan 2008 14:23:17 +0000 (15:23 +0100)]
USB: usbserial: provide ezusb functions for an external module.

When building an external module, the ezusb_* functions are not defined
if we haven't loaded any built'in module that use them (whiteheat,
keyspan, ...).

This patch allow to build those functions even if we only have selected
the usbserial generic driver.

Signed-off-by: Paul Chavent <paul.chavent@fnac.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: EHCI: add a short delay to the bus_suspend routine
Alan Stern [Thu, 10 Jan 2008 16:14:53 +0000 (11:14 -0500)]
USB: EHCI: add a short delay to the bus_suspend routine

This patch (as1031) adds a short delay to the bus-suspend routine in
ehci-hcd.  Without it some devices disconnect when they should
suspend.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
16 years agoUSB: EHCI: move del_timer_sync calls outside spinlocked region
Alan Stern [Thu, 10 Jan 2008 21:43:15 +0000 (16:43 -0500)]
USB: EHCI: move del_timer_sync calls outside spinlocked region

This patch (as1030b) moves a del_timer_sync() call outside the scope of a
spinlock, where it could cause a deadlock, and adds a new
del_timer_sync() call for the new IAA watchdog timer (it was omitted
by mistake).

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>