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
..
2005-11-09 07:55:57 -08:00
2005-11-09 16:38:16 -08:00
2005-10-31 16:36:08 -02:00
2005-11-09 16:38:16 -08:00
2005-10-31 16:36:08 -02:00
2005-11-07 07:53:48 -08:00
2005-11-09 07:56:40 -08:00
2005-11-07 07:53:48 -08:00
2005-11-07 18:18:09 -08:00
2005-11-07 07:53:38 -08:00
2005-10-30 17:37:21 -08:00
2005-10-30 17:37:17 -08:00
2005-11-07 07:53:35 -08:00
2005-11-09 07:56:36 -08:00
2005-11-06 10:22:04 +01:00
2005-11-07 07:53:35 -08:00
2005-11-07 07:53:52 -08:00
2005-11-09 07:55:50 -08:00
2005-10-30 17:37:32 -08:00
2005-10-30 17:37:21 -08:00
2005-11-07 18:18:11 -08:00
2005-10-29 19:07:23 +01:00
2005-10-30 17:37:10 -08:00
2005-11-03 13:53:34 +11:00
2005-11-02 22:08:52 -02:00
2005-11-05 21:00:02 -05:00
2005-11-09 07:56:35 -08:00
2005-11-07 07:53:24 -08:00
2005-11-07 07:53:52 -08:00
2005-11-09 07:55:57 -08:00
2005-11-09 07:55:59 -08:00
2005-10-29 14:42:28 +10:00
2005-11-07 07:53:42 -08:00
2005-10-30 17:37:32 -08:00
2005-11-10 02:26:41 +01:00
2005-11-01 09:26:16 +01:00
2005-10-29 21:40:41 -07:00
2005-10-28 14:02:10 -07:00
2005-10-28 14:02:10 -07:00
2005-10-28 14:02:10 -07:00
2005-10-28 14:02:09 -07:00
2005-11-09 07:56:27 -08:00
2005-10-30 17:37:32 -08:00
2005-10-30 17:37:32 -08:00
2005-11-09 22:58:07 +01:00
2005-11-10 13:03:08 -08:00
2005-11-08 09:40:47 -08:00
2005-11-09 07:55:57 -08:00
2005-11-02 22:51:46 -05:00
2005-11-07 07:54:07 -08:00
2005-11-07 07:53:43 -08:00
2005-11-07 07:53:41 -08:00
2005-11-09 07:55:57 -08:00
2005-11-07 07:53:55 -08:00
2005-11-07 14:18:56 +01:00
2005-11-07 14:18:56 +01:00
2005-11-07 14:18:56 +01:00
2005-11-07 07:53:37 -08:00
2005-11-07 07:54:08 -08:00
2005-10-30 17:37:23 -08:00
2005-10-30 17:37:23 -08:00
2005-10-30 17:37:32 -08:00
2005-11-07 07:53:46 -08:00
2005-10-30 17:37:17 -08:00
2005-11-07 00:59:37 -05:00
2005-11-07 07:53:35 -08:00
2005-10-29 21:40:44 -07:00
2005-11-07 07:53:41 -08:00
2005-10-30 17:37:22 -08:00
2005-11-07 07:53:37 -08:00
2005-10-29 21:40:44 -07:00
2005-10-28 14:02:15 -07:00
2005-10-30 17:37:26 -08:00
2005-11-07 18:18:11 -08:00
2005-10-30 17:37:32 -08:00
2005-11-09 07:56:00 -08:00
2005-11-07 18:18:10 -08:00
2005-11-07 07:53:55 -08:00
2005-11-10 13:01:24 -08:00
2005-11-09 16:38:16 -08:00
2005-11-10 02:26:40 +01:00
2005-11-04 15:33:38 -05:00
2005-10-30 17:37:21 -08:00
2005-11-09 23:58:16 +01:00
2005-11-10 16:09:14 -08:00
2005-11-09 07:55:57 -08:00
2005-11-05 14:40:55 -05:00
2005-11-05 22:02:29 +01:00
2005-11-05 21:19:33 +00:00
2005-10-30 17:37:15 -08:00
2005-11-07 07:54:09 -08:00
2005-11-08 09:40:47 -08:00
2005-11-08 17:57:30 -08:00
2005-11-07 07:53:42 -08:00
2005-11-07 18:18:09 -08:00
2005-11-07 07:53:39 -08:00
2005-11-07 07:53:37 -08:00
2005-10-30 17:37:27 -08:00
2005-11-07 07:53:47 -08:00
2005-11-07 07:53:46 -08:00
2005-11-07 07:53:46 -08:00
2005-11-07 07:53:47 -08:00
2005-10-29 21:40:41 -07:00
2005-11-07 14:25:38 +01:00
2005-10-29 21:40:35 -07:00
2005-10-30 11:14:39 +11:00
2005-11-09 07:55:50 -08:00
2005-10-30 17:37:23 -08:00
2005-11-07 07:53:41 -08:00
2005-11-06 09:07:03 +00:00
2005-11-06 09:07:03 +00:00
2005-10-29 19:31:54 +01:00
2005-10-30 17:37:32 -08:00
2005-11-07 07:53:37 -08:00
2005-10-30 17:37:19 -08:00
2005-11-10 13:01:24 -08:00
2005-11-07 07:53:24 -08:00
2005-10-30 17:37:13 -08:00
2005-11-09 07:55:57 -08:00
2005-11-07 07:53:28 -08:00
2005-10-30 17:37:14 -08:00
2005-10-30 17:37:20 -08:00
2005-11-09 16:38:16 -08:00
2005-10-30 17:37:32 -08:00
2005-10-30 17:37:21 -08:00
2005-10-30 17:37:18 -08:00
2005-10-28 16:47:45 -07:00
2005-10-28 16:47:51 -07:00
2005-10-28 16:47:46 -07:00
2005-11-09 07:56:30 -08:00
2005-11-09 07:56:23 -08:00
2005-10-29 21:40:35 -07:00
2005-11-07 07:53:41 -08:00
2005-10-28 14:02:12 -07:00
2005-10-29 15:04:02 +10:00