aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-10-23 22:31:34 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-23 22:31:34 -0400
commit3a2c5dad6c4d4551effba477f4f45fa5feb1293f (patch)
tree1e1f1ab67279c46c3e6aed1c4041880f58ec5dae
parent2242d5eff17cf91110a3c44747f9f2e1a938cbda (diff)
parenta491913ff22c2b69d937d14296db6fa34dbff068 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: remove unused resource assignment in pci_read_bridge_bases() PCI hotplug: shpchp: message refinement PCI hotplug: shpchp: replace printk with dev_printk PCI: add routines for debugging and handling lost interrupts PCI hotplug: pciehp: message refinement PCI: fix ARI code to be compatible with mixed ARI/non-ARI systems PCI hotplug: cpqphp: fix kernel NULL pointer dereference
-rw-r--r--drivers/pci/Makefile3
-rw-r--r--drivers/pci/hotplug/cpqphp_core.c2
-rw-r--r--drivers/pci/hotplug/pciehp.h2
-rw-r--r--drivers/pci/hotplug/pciehp_core.c38
-rw-r--r--drivers/pci/hotplug/pciehp_ctrl.c64
-rw-r--r--drivers/pci/hotplug/pciehp_hpc.c43
-rw-r--r--drivers/pci/hotplug/pciehp_pci.c19
-rw-r--r--drivers/pci/hotplug/shpchp.h22
-rw-r--r--drivers/pci/hotplug/shpchp_core.c48
-rw-r--r--drivers/pci/hotplug/shpchp_ctrl.c158
-rw-r--r--drivers/pci/hotplug/shpchp_hpc.c113
-rw-r--r--drivers/pci/hotplug/shpchp_pci.c36
-rw-r--r--drivers/pci/irq.c60
-rw-r--r--drivers/pci/pci.c21
-rw-r--r--drivers/pci/probe.c3
-rw-r--r--include/linux/pci.h7
16 files changed, 376 insertions, 263 deletions
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index 4b47f4ece5b7..af3bfe22847b 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -3,7 +3,8 @@
3# 3#
4 4
5obj-y += access.o bus.o probe.o remove.o pci.o quirks.o slot.o \ 5obj-y += access.o bus.o probe.o remove.o pci.o quirks.o slot.o \
6 pci-driver.o search.o pci-sysfs.o rom.o setup-res.o 6 pci-driver.o search.o pci-sysfs.o rom.o setup-res.o \
7 irq.o
7obj-$(CONFIG_PROC_FS) += proc.o 8obj-$(CONFIG_PROC_FS) += proc.o
8 9
9# Build PCI Express stuff if needed 10# Build PCI Express stuff if needed
diff --git a/drivers/pci/hotplug/cpqphp_core.c b/drivers/pci/hotplug/cpqphp_core.c
index 724d42c4adbc..8514c3a1746a 100644
--- a/drivers/pci/hotplug/cpqphp_core.c
+++ b/drivers/pci/hotplug/cpqphp_core.c
@@ -433,7 +433,7 @@ static int ctrl_slot_setup(struct controller *ctrl,
433 slot->number, ctrl->slot_device_offset, 433 slot->number, ctrl->slot_device_offset,
434 slot_number); 434 slot_number);
435 result = pci_hp_register(hotplug_slot, 435 result = pci_hp_register(hotplug_slot,
436 ctrl->pci_dev->subordinate, 436 ctrl->pci_dev->bus,
437 slot->device, 437 slot->device,
438 name); 438 name);
439 if (result) { 439 if (result) {
diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h
index a4817a841fae..b2801a7ee37f 100644
--- a/drivers/pci/hotplug/pciehp.h
+++ b/drivers/pci/hotplug/pciehp.h
@@ -188,7 +188,7 @@ static inline struct slot *pciehp_find_slot(struct controller *ctrl, u8 device)
188 return slot; 188 return slot;
189 } 189 }
190 190
191 ctrl_err(ctrl, "%s: slot (device=0x%x) not found\n", __func__, device); 191 ctrl_err(ctrl, "Slot (device=0x%02x) not found\n", device);
192 return NULL; 192 return NULL;
193} 193}
194 194
diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c
index 62be1b59c74b..4b23bc39b11e 100644
--- a/drivers/pci/hotplug/pciehp_core.c
+++ b/drivers/pci/hotplug/pciehp_core.c
@@ -184,7 +184,7 @@ static void release_slot(struct hotplug_slot *hotplug_slot)
184{ 184{
185 struct slot *slot = hotplug_slot->private; 185 struct slot *slot = hotplug_slot->private;
186 186
187 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 187 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
188 __func__, hotplug_slot_name(hotplug_slot)); 188 __func__, hotplug_slot_name(hotplug_slot));
189 189
190 kfree(hotplug_slot->info); 190 kfree(hotplug_slot->info);
@@ -216,9 +216,11 @@ static int init_slots(struct controller *ctrl)
216 slot->hotplug_slot = hotplug_slot; 216 slot->hotplug_slot = hotplug_slot;
217 snprintf(name, SLOT_NAME_SIZE, "%u", slot->number); 217 snprintf(name, SLOT_NAME_SIZE, "%u", slot->number);
218 218
219 ctrl_dbg(ctrl, "Registering bus=%x dev=%x hp_slot=%x sun=%x " 219 ctrl_dbg(ctrl, "Registering domain:bus:dev=%04x:%02x:%02x "
220 "slot_device_offset=%x\n", slot->bus, slot->device, 220 "hp_slot=%x sun=%x slot_device_offset=%x\n",
221 slot->hp_slot, slot->number, ctrl->slot_device_offset); 221 pci_domain_nr(ctrl->pci_dev->subordinate),
222 slot->bus, slot->device, slot->hp_slot, slot->number,
223 ctrl->slot_device_offset);
222 retval = pci_hp_register(hotplug_slot, 224 retval = pci_hp_register(hotplug_slot,
223 ctrl->pci_dev->subordinate, 225 ctrl->pci_dev->subordinate,
224 slot->device, 226 slot->device,
@@ -238,7 +240,7 @@ static int init_slots(struct controller *ctrl)
238 &hotplug_slot_attr_lock.attr); 240 &hotplug_slot_attr_lock.attr);
239 if (retval) { 241 if (retval) {
240 pci_hp_deregister(hotplug_slot); 242 pci_hp_deregister(hotplug_slot);
241 ctrl_err(ctrl, "cannot create additional sysfs " 243 ctrl_err(ctrl, "Cannot create additional sysfs "
242 "entries\n"); 244 "entries\n");
243 goto error_info; 245 goto error_info;
244 } 246 }
@@ -273,7 +275,7 @@ static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status)
273{ 275{
274 struct slot *slot = hotplug_slot->private; 276 struct slot *slot = hotplug_slot->private;
275 277
276 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 278 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
277 __func__, slot_name(slot)); 279 __func__, slot_name(slot));
278 280
279 hotplug_slot->info->attention_status = status; 281 hotplug_slot->info->attention_status = status;
@@ -289,7 +291,7 @@ static int enable_slot(struct hotplug_slot *hotplug_slot)
289{ 291{
290 struct slot *slot = hotplug_slot->private; 292 struct slot *slot = hotplug_slot->private;
291 293
292 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 294 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
293 __func__, slot_name(slot)); 295 __func__, slot_name(slot));
294 296
295 return pciehp_sysfs_enable_slot(slot); 297 return pciehp_sysfs_enable_slot(slot);
@@ -300,7 +302,7 @@ static int disable_slot(struct hotplug_slot *hotplug_slot)
300{ 302{
301 struct slot *slot = hotplug_slot->private; 303 struct slot *slot = hotplug_slot->private;
302 304
303 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 305 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
304 __func__, slot_name(slot)); 306 __func__, slot_name(slot));
305 307
306 return pciehp_sysfs_disable_slot(slot); 308 return pciehp_sysfs_disable_slot(slot);
@@ -311,7 +313,7 @@ static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value)
311 struct slot *slot = hotplug_slot->private; 313 struct slot *slot = hotplug_slot->private;
312 int retval; 314 int retval;
313 315
314 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 316 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
315 __func__, slot_name(slot)); 317 __func__, slot_name(slot));
316 318
317 retval = slot->hpc_ops->get_power_status(slot, value); 319 retval = slot->hpc_ops->get_power_status(slot, value);
@@ -326,7 +328,7 @@ static int get_attention_status(struct hotplug_slot *hotplug_slot, u8 *value)
326 struct slot *slot = hotplug_slot->private; 328 struct slot *slot = hotplug_slot->private;
327 int retval; 329 int retval;
328 330
329 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 331 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
330 __func__, slot_name(slot)); 332 __func__, slot_name(slot));
331 333
332 retval = slot->hpc_ops->get_attention_status(slot, value); 334 retval = slot->hpc_ops->get_attention_status(slot, value);
@@ -341,7 +343,7 @@ static int get_latch_status(struct hotplug_slot *hotplug_slot, u8 *value)
341 struct slot *slot = hotplug_slot->private; 343 struct slot *slot = hotplug_slot->private;
342 int retval; 344 int retval;
343 345
344 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 346 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
345 __func__, slot_name(slot)); 347 __func__, slot_name(slot));
346 348
347 retval = slot->hpc_ops->get_latch_status(slot, value); 349 retval = slot->hpc_ops->get_latch_status(slot, value);
@@ -356,7 +358,7 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value)
356 struct slot *slot = hotplug_slot->private; 358 struct slot *slot = hotplug_slot->private;
357 int retval; 359 int retval;
358 360
359 ctrl_dbg(slot->ctrl, "%s - physical_slot = %s\n", 361 ctrl_dbg(slot->ctrl, "%s: physical_slot = %s\n",
360 __func__, slot_name(slot)); 362 __func__, slot_name(slot));
361