linux/drivers
Roland Dreier 24a4e37706 [PATCH] PCI: add pci_find_next_capability()
Some devices have more than one capability of the same type.  For
example, the PCI header for the PathScale InfiniPath looks like:

	04:01.0 InfiniBand: Unknown device 1fc1:000d (rev 02)
		Subsystem: Unknown device 1fc1:000d
		Flags: bus master, fast devsel, latency 0, IRQ 193
		Memory at fea00000 (64-bit, non-prefetchable) [size=2M]
		Capabilities: [c0] HyperTransport: Slave or Primary Interface
		Capabilities: [f8] HyperTransport: Interrupt Discovery and Configuration

There are _two_ HyperTransport capabilities, and the PathScale driver
wants to look at both of them.

The current pci_find_capability() API doesn't work for this, since it
only allows us to get to the first capability of a given type.  The
patch below introduces a new pci_find_next_capability(), which can be
used in a loop like

	for (pos = pci_find_capability(pdev, <ID>);
	     pos;
	     pos = pci_find_next_capability(pdev, pos, <ID>)) {
		/* ... */
	}

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-11-10 16:09:14 -08:00
..
acorn [ARM] Turn ARM RiscPC PCF8583 i2c RTC driver into a proper module 2005-10-30 19:07:59 +00:00
acpi [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
atm [ATM]: [horizon] fix sparse warnings 2005-11-10 12:55:52 -08:00
base [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
block [PATCH] add a file_permission helper 2005-11-09 07:55:59 -08:00
bluetooth [Bluetooth]: Add endian annotations to the core 2005-11-08 09:57:21 -08:00
cdrom [PATCH] drivers/cdrom: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
char Fix AGP compile on non-x86 architectures 2005-11-09 14:56:00 -08:00
connector [PATCH] Process Events Connector 2005-11-07 07:53:35 -08:00
cpufreq [PATCH] cpu hotplug: fix locking in cpufreq drivers 2005-11-09 07:55:50 -08:00
crypto [PATCH] CONFIG_IA32 2005-10-30 17:37:10 -08:00
dio [PATCH] drivers/dio: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
eisa [PATCH] drivers/eisa: kmalloc + memset -> kzalloc conversion 2005-11-07 07:53:59 -08:00
fc4 [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
firmware [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
hwmon [PATCH] hwmon: Fix two w83627hf bugs 2005-11-07 21:46:37 -08:00
i2c [PATCH] i2c-viapro: Some adjustments 2005-11-07 21:46:38 -08:00
ide [PATCH] ide-floppy: software eject not working with LS-120 drive 2005-11-10 00:25:15 +01:00
ieee1394 [PATCH] ieee1394: fix-up schedule_timeout() usage 2005-11-07 07:53:57 -08:00
infiniband Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2005-11-10 13:27:06 -08:00
input [PATCH] Input: fix 'uniq' reporting in hotplug handler 2005-11-09 07:55:50 -08:00
isdn [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
macintosh macintosh: Always export pmu_[un]register_sleep_notifier if CONFIG_PM set 2005-11-08 12:14:50 +11:00
mca [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
md [PATCH] md: document sysfs usage of md, and make a couple of small refinements 2005-11-09 07:56:40 -08:00
media [PATCH] V4L: 926: Saa7134 alsa can only be autoloaded after saa7134 is active 2005-11-09 07:56:32 -08:00
message [PATCH] drivers/message/fusion/mptbase.c: make code static 2005-11-09 07:56:41 -08:00
mfd [PATCH] fix remaining missing includes 2005-11-07 07:53:41 -08:00
misc [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
mmc Merge master.kernel.org:/home/rmk/linux-2.6-mmc 2005-11-07 13:32:52 -08:00
mtd [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
net [BNX2]: simplify parameter checks in bnx2_{get,set}_eeprom 2005-11-10 12:58:24 -08:00
nubus
oprofile
parisc
parport [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
pci [PATCH] PCI: add pci_find_next_capability() 2005-11-10 16:09:14 -08:00
pcmcia [PCMCIA] i82365: release all resources if no devices are found 2005-11-10 11:42:16 +01:00
pnp [PATCH] drivers/pnp/: cleanups 2005-11-07 07:54:09 -08:00
rapidio [PATCH] rapidio: message interface updates 2005-11-07 07:53:47 -08:00
s390 [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
sbus [SPARC] sbus rtc: implement ->compat_ioctl 2005-11-09 12:07:18 -08:00
scsi [PATCH] ide: ide-scsi fails to call idescsi_check_condition for things like "Medium not present" 2005-11-09 23:18:22 +01:00
serial [SUNSU]: Do not mark sunsu_console_setup() __init 2005-11-07 14:10:21 -08:00
sh [PATCH] superhyway: multiple block support and VCR rework 2005-11-07 07:53:28 -08:00
sn
tc Add .gitignore files for Turbochannel 2005-11-07 18:05:37 +00:00
telephony [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
usb [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason 2005-11-09 07:55:57 -08:00
video [ARM] 3096/1: Add SharpSL Zaurus power and battery management core driver 2005-11-10 17:42:29 +00:00
w1 [PATCH] kfree cleanup: misc remaining drivers 2005-11-07 07:54:05 -08:00
zorro [PATCH] fix missing includes 2005-10-30 17:37:32 -08:00
Kconfig
Makefile [PATCH] RapidIO support: core base 2005-11-07 07:53:46 -08:00