aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci-sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/pci-sysfs.c')
-rw-r--r--drivers/pci/pci-sysfs.c11
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
606int __attribute__ ((weak)) pcibios_add_platform_entries(struct pci_dev *dev)
607{
608 return 0;
609}
610
606int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev) 611int __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
655err_rom_file:
656 if (pci_resource_len(pdev, PCI_ROM_RESOURCE))
657 sysfs_remove_bin_file(&pdev->dev.kobj, rom_attr);
649err_rom: 658err_rom:
650 kfree(rom_attr); 659 kfree(rom_attr);
651err_resource_files: 660err_resource_files: