Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pci_get_domain_bus_and_slot(9) [centos man page]

PCI_GET_DOMAIN_BUS_A(9) 					Hardware Interfaces					   PCI_GET_DOMAIN_BUS_A(9)

NAME
pci_get_domain_bus_and_slot - locate PCI device for a given PCI domain (segment), bus, and slot SYNOPSIS
struct pci_dev * pci_get_domain_bus_and_slot(int domain, unsigned int bus, unsigned int devfn); ARGUMENTS
domain PCI domain/segment on which the PCI device resides. bus PCI bus on which desired PCI device resides devfn encodes number of PCI slot in which the desired PCI device resides and the logical device number within that slot in case of multi-function devices. DESCRIPTION
Given a PCI domain, bus, and slot/function number, the desired PCI device is located in the list of PCI devices. If the device is found, its reference count is increased and this function returns a pointer to its data structure. The caller must decrement the reference count by calling pci_dev_put. If no device is found, NULL is returned. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 PCI_GET_DOMAIN_BUS_A(9)

Check Out this Related Man Page

PCI_CREATE_SLOT(9)						Hardware Interfaces						PCI_CREATE_SLOT(9)

NAME
pci_create_slot - create or increment refcount for physical PCI slot SYNOPSIS
struct pci_slot * pci_create_slot(struct pci_bus * parent, int slot_nr, const char * name, struct hotplug_slot * hotplug); ARGUMENTS
parent struct pci_bus of parent bridge slot_nr PCI_SLOT(pci_dev->devfn) or -1 for placeholder name user visible string presented in /sys/bus/pci/slots/<name> hotplug set if caller is hotplug driver, NULL otherwise DESCRIPTION
PCI slots have first class attributes such as address, speed, width, and a struct pci_slot is used to manage them. This interface will either return a new struct pci_slot to the caller, or if the pci_slot already exists, its refcount will be incremented. Slots are uniquely identified by a pci_bus, slot_nr tuple. There are known platforms with broken firmware that assign the same name to multiple slots. Workaround these broken platforms by renaming the slots on behalf of the caller. If firmware assigns name N to MULTIPLE SLOTS
The first slot is assigned N The second slot is assigned N-1 The third slot is assigned N-2 etc. PLACEHOLDER SLOTS
In most cases, pci_bus, slot_nr will be sufficient to uniquely identify a slot. There is one notable exception - pSeries (rpaphp), where the slot_nr cannot be determined until a device is actually inserted into the slot. In this scenario, the caller may pass -1 for slot_nr. The following semantics are imposed when the caller passes slot_nr == -1. First, we no longer check for an existing struct pci_slot, as there may be many slots with slot_nr of -1. The other change in semantics is user-visible, which is the 'address' parameter presented in sysfs will CONSIST SOLELY OF A DDDD
bb tuple, where dddd is the PCI domain of the struct pci_bus and bb is the bus number. In other words, the devfn of the 'placeholder' slot will not be displayed. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 PCI_CREATE_SLOT(9)
Man Page