diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 16:40:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 16:40:57 -0400 |
commit | 21ba0f88ae56da82a3a15fe54d729208b64c4f4b (patch) | |
tree | 17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f /drivers/pci/pci-sysfs.c | |
parent | dc690d8ef842b464f1c429a376ca16cb8dbee6ae (diff) | |
parent | 36e235901f90fb83215be43cbd8f1ca14661ea40 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits)
PCI: Only build PCI syscalls on architectures that want them
PCI: limit pci_get_bus_and_slot to domain 0
PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure
PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge
PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3
PCI: hotplug: pciehp: wait for 1 second after power off slot
PCI: pci_set_power_state(): check for PM capabilities earlier
PCI: cpci_hotplug: Convert to use the kthread API
PCI: add pci_try_set_mwi
PCI: pcie: remove SPIN_LOCK_UNLOCKED
PCI: ROUND_UP macro cleanup in drivers/pci
PCI: remove pci_dac_dma_... APIs
PCI: pci-x-pci-express-read-control-interfaces cleanups
PCI: Fix typo in include/linux/pci.h
PCI: pci_ids, remove double or more empty lines
PCI: pci_ids, add atheros and 3com_2 vendors
PCI: pci_ids, reorder some entries
PCI: i386: traps, change VENDOR to DEVICE
PCI: ATM: lanai, change VENDOR to DEVICE
PCI: Change all drivers to use pci_device->revision
...
Diffstat (limited to 'drivers/pci/pci-sysfs.c')
-rw-r--r-- | drivers/pci/pci-sysfs.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index 6543cbe83be5..10dbdec80416 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c | |||
@@ -603,6 +603,11 @@ static struct bin_attribute pcie_config_attr = { | |||
603 | .write = pci_write_config, | 603 | .write = pci_write_config, |
604 | }; | 604 | }; |
605 | 605 | ||
606 | int __attribute__ ((weak)) pcibios_add_platform_entries(struct pci_dev *dev) | ||
607 | { | ||
608 | return 0; | ||
609 | } | ||
610 | |||
606 | int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev) | 611 | int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev) |
607 | { | 612 | { |
608 | struct bin_attribute *rom_attr = NULL; | 613 | struct bin_attribute *rom_attr = NULL; |
@@ -642,10 +647,14 @@ int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev) | |||
642 | } | 647 | } |
643 | } | 648 | } |
644 | /* add platform-specific attributes */ | 649 | /* add platform-specific attributes */ |
645 | pcibios_add_platform_entries(pdev); | 650 | if (pcibios_add_platform_entries(pdev)) |
651 | goto err_rom_file; | ||
646 | 652 | ||
647 | return 0; | 653 | return 0; |
648 | 654 | ||
655 | err_rom_file: | ||
656 | if (pci_resource_len(pdev, PCI_ROM_RESOURCE)) | ||
657 | sysfs_remove_bin_file(&pdev->dev.kobj, rom_attr); | ||
649 | err_rom: | 658 | err_rom: |
650 | kfree(rom_attr); | 659 | kfree(rom_attr); |
651 | err_resource_files: | 660 | err_resource_files: |