Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44b9ca47 authored by Sebastian Ott's avatar Sebastian Ott Committed by Martin Schwidefsky
Browse files

pci: add pcibios_release_device



Platforms may want to provide architecture-specific functionality when
a pci device is released. Add a pcibios_release_device() call that
architectures can override to do so.

Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 24d5dd02
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -1334,6 +1334,16 @@ int __weak pcibios_add_device (struct pci_dev *dev)
	return 0;
	return 0;
}
}


/**
 * pcibios_release_device - provide arch specific hooks when releasing device dev
 * @dev: the PCI device being released
 *
 * Permits the platform to provide architecture specific functionality when
 * devices are released. This is the default implementation. Architecture
 * implementations can override this.
 */
void __weak pcibios_release_device(struct pci_dev *dev) {}

/**
/**
 * pcibios_disable_device - disable arch specific PCI resources for device dev
 * pcibios_disable_device - disable arch specific PCI resources for device dev
 * @dev: the PCI device to disable
 * @dev: the PCI device to disable
+1 −0
Original line number Original line Diff line number Diff line
@@ -1132,6 +1132,7 @@ static void pci_release_dev(struct device *dev)
	pci_dev = to_pci_dev(dev);
	pci_dev = to_pci_dev(dev);
	pci_release_capabilities(pci_dev);
	pci_release_capabilities(pci_dev);
	pci_release_of_node(pci_dev);
	pci_release_of_node(pci_dev);
	pcibios_release_device(pci_dev);
	kfree(pci_dev);
	kfree(pci_dev);
}
}


+1 −0
Original line number Original line Diff line number Diff line
@@ -1643,6 +1643,7 @@ void pcibios_set_master(struct pci_dev *dev);
int pcibios_set_pcie_reset_state(struct pci_dev *dev,
int pcibios_set_pcie_reset_state(struct pci_dev *dev,
				 enum pcie_reset_state state);
				 enum pcie_reset_state state);
int pcibios_add_device(struct pci_dev *dev);
int pcibios_add_device(struct pci_dev *dev);
void pcibios_release_device(struct pci_dev *dev);


#ifdef CONFIG_PCI_MMCONFIG
#ifdef CONFIG_PCI_MMCONFIG
void __init pci_mmcfg_early_init(void);
void __init pci_mmcfg_early_init(void);