Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pci_create_slot(9) [suse 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)

Check Out this Related Man Page

strmod_add(2)							System Calls Manual						     strmod_add(2)

NAME
strmod_add - Adds STREAMS modules and drivers SYNOPSIS
#include <sys/stream.h> dev_t strmod_add ( dev_t devno, struct streamtab *streamtab, struct streamadm *streamadm); PARAMETERS
The device number (cdevsw slot) to use when adding a driver. If NODEV is supplied, the first available slot is used. This parameter is ignored for modules. A pointer to the streamtab structure that contains the entry points. The actual streamtab structure has to be allo- cated permanently in the driver's data space (as specified by System V Release 3.2). A pointer to the streamadm structure that contains the administration parameters for the STREAMS module or driver. The actual streamadm structure is needed only for the duration of the call. It does not have to be allocated permanently by the caller. DESCRIPTION
The strmod_add() interface is used to configure STREAMS modules and drivers into the kernel. Specifically, it allows STREAMS drivers to add entry points in character device switch tables. Modules are added to the STREAMS modules switch. When adding a driver only, strmod_add() takes a device number, which is used to determine the device switch slot for the entry points. A STREAMS driver can supply NODEV instead of a device number. In this case, strmod_add() finds the first available device switch slot and returns the number actually used. If a device switch slot is already in use or if there are no slots available, NODEV is returned. The streamtab parameter is a pointer to a traditional (System V Release 3.2) streamtab structure. The structure contains pointers to entry points for the module's read and write queue routines. The streamadm points to a streamadm structure. The streamadm structure provides additional information that is required under Tru64 UNIX. NOTES
The device number can be constructed from the major number through the makedev macro, which is defined in /usr/include/sys/types.h. RETURN VALUES
Upon successful completion, strmod_add() returns the device number associated with the device switch table. Otherwise, it returns NODEV. RELATED INFORMATION
Data Structures: streamadm(4) Routines: strmod_del(2) delim off strmod_add(2)
Man Page