forked from mirrors/linux
		
	PCI: Export pci_dev_trylock() and pci_dev_unlock()
Other places in the kernel use this form, and so just provide a common path for it. Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Link: https://lore.kernel.org/r/20210623022824.308041-2-mcgrof@kernel.org Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
		
							parent
							
								
									0af5160edb
								
							
						
					
					
						commit
						e3a9b1212b
					
				
					 2 changed files with 7 additions and 2 deletions
				
			
		| 
						 | 
					@ -5028,7 +5028,7 @@ static void pci_dev_lock(struct pci_dev *dev)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Return 1 on successful lock, 0 on contention */
 | 
					/* Return 1 on successful lock, 0 on contention */
 | 
				
			||||||
static int pci_dev_trylock(struct pci_dev *dev)
 | 
					int pci_dev_trylock(struct pci_dev *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (pci_cfg_access_trylock(dev)) {
 | 
						if (pci_cfg_access_trylock(dev)) {
 | 
				
			||||||
		if (device_trylock(&dev->dev))
 | 
							if (device_trylock(&dev->dev))
 | 
				
			||||||
| 
						 | 
					@ -5038,12 +5038,14 @@ static int pci_dev_trylock(struct pci_dev *dev)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					EXPORT_SYMBOL_GPL(pci_dev_trylock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void pci_dev_unlock(struct pci_dev *dev)
 | 
					void pci_dev_unlock(struct pci_dev *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	device_unlock(&dev->dev);
 | 
						device_unlock(&dev->dev);
 | 
				
			||||||
	pci_cfg_access_unlock(dev);
 | 
						pci_cfg_access_unlock(dev);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					EXPORT_SYMBOL_GPL(pci_dev_unlock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void pci_dev_save_and_disable(struct pci_dev *dev)
 | 
					static void pci_dev_save_and_disable(struct pci_dev *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1621,6 +1621,9 @@ void pci_cfg_access_lock(struct pci_dev *dev);
 | 
				
			||||||
bool pci_cfg_access_trylock(struct pci_dev *dev);
 | 
					bool pci_cfg_access_trylock(struct pci_dev *dev);
 | 
				
			||||||
void pci_cfg_access_unlock(struct pci_dev *dev);
 | 
					void pci_cfg_access_unlock(struct pci_dev *dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int pci_dev_trylock(struct pci_dev *dev);
 | 
				
			||||||
 | 
					void pci_dev_unlock(struct pci_dev *dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * PCI domain support.  Sometimes called PCI segment (eg by ACPI),
 | 
					 * PCI domain support.  Sometimes called PCI segment (eg by ACPI),
 | 
				
			||||||
 * a PCI domain is defined to be a set of PCI buses which share
 | 
					 * a PCI domain is defined to be a set of PCI buses which share
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue