mirror of https://gitee.com/openkylin/linux.git
PCI: Make pcibios_add_platform_entries() return errors
Currently pcibios_add_platform_entries() returns void, but could fail, so instead have it return an int and propagate errors up to pci_create_sysfs_dev_files(). Fixes: arch/powerpc/kernel/pci_64.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result arch/powerpc/kernel/pci_32.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
575e3348cb
commit
a2cd52ca90
|
@ -1047,10 +1047,10 @@ void pcibios_make_OF_bus_map(void)
|
|||
#endif /* CONFIG_PPC_OF */
|
||||
|
||||
/* Add sysfs properties */
|
||||
void pcibios_add_platform_entries(struct pci_dev *pdev)
|
||||
int pcibios_add_platform_entries(struct pci_dev *pdev)
|
||||
{
|
||||
#ifdef CONFIG_PPC_OF
|
||||
device_create_file(&pdev->dev, &dev_attr_devspec);
|
||||
return device_create_file(&pdev->dev, &dev_attr_devspec);
|
||||
#endif /* CONFIG_PPC_OF */
|
||||
}
|
||||
|
||||
|
|
|
@ -876,9 +876,9 @@ static ssize_t pci_show_devspec(struct device *dev,
|
|||
}
|
||||
static DEVICE_ATTR(devspec, S_IRUGO, pci_show_devspec, NULL);
|
||||
|
||||
void pcibios_add_platform_entries(struct pci_dev *pdev)
|
||||
int pcibios_add_platform_entries(struct pci_dev *pdev)
|
||||
{
|
||||
device_create_file(&pdev->dev, &dev_attr_devspec);
|
||||
return device_create_file(&pdev->dev, &dev_attr_devspec);
|
||||
}
|
||||
|
||||
#define ISA_SPACE_MASK 0x1
|
||||
|
|
|
@ -600,9 +600,9 @@ static struct bin_attribute pcie_config_attr = {
|
|||
.write = pci_write_config,
|
||||
};
|
||||
|
||||
void __attribute__ ((weak)) pcibios_add_platform_entries(struct pci_dev *dev)
|
||||
int __attribute__ ((weak)) pcibios_add_platform_entries(struct pci_dev *dev)
|
||||
{
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev)
|
||||
|
@ -645,10 +645,14 @@ int __must_check pci_create_sysfs_dev_files (struct pci_dev *pdev)
|
|||
}
|
||||
}
|
||||
/* add platform-specific attributes */
|
||||
pcibios_add_platform_entries(pdev);
|
||||
if (pcibios_add_platform_entries(pdev))
|
||||
goto err_rom_file;
|
||||
|
||||
return 0;
|
||||
|
||||
err_rom_file:
|
||||
if (pci_resource_len(pdev, PCI_ROM_RESOURCE))
|
||||
sysfs_remove_bin_file(&pdev->dev.kobj, rom_attr);
|
||||
err_rom:
|
||||
kfree(rom_attr);
|
||||
err_resource_files:
|
||||
|
|
|
@ -881,7 +881,7 @@ extern int pci_pci_problems;
|
|||
extern unsigned long pci_cardbus_io_size;
|
||||
extern unsigned long pci_cardbus_mem_size;
|
||||
|
||||
extern void pcibios_add_platform_entries(struct pci_dev *dev);
|
||||
extern int pcibios_add_platform_entries(struct pci_dev *dev);
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* LINUX_PCI_H */
|
||||
|
|
Loading…
Reference in New Issue