pci-driver.c File Reference

Go to the source code of this file.

Classes

struct  pci_dynid
struct  drv_dev_and_id

Defines

#define PCI_PM_OPS_PTR   NULL

Functions

static void pci_free_dynids (struct pci_driver *drv)
static int pci_create_newid_file (struct pci_driver *drv)
static void pci_remove_newid_file (struct pci_driver *drv)
struct pci_device_id * pci_match_id (const struct pci_device_id *ids, struct pci_dev *dev)
 pci_match_id - See if a pci device matches a given pci_id table : array of PCI device id structures to search in : the PCI device structure to match against.
static struct pci_device_id * pci_match_device (struct pci_driver *drv, struct pci_dev *dev)
 pci_match_device - Tell if a PCI device structure has a matching PCI device id structure : the PCI driver to match against : the PCI device structure to match against
static long local_pci_probe (void *_ddi)
static int pci_call_probe (struct pci_driver *drv, struct pci_dev *dev, const struct pci_device_id *id)
static int __pci_device_probe (struct pci_driver *drv, struct pci_dev *pci_dev)
 __pci_device_probe() : driver to call to check if it wants the PCI device : PCI device being probed
static int pci_device_probe (struct device *dev)
static int pci_device_remove (struct device *dev)
static void pci_device_shutdown (struct device *dev)
int __pci_register_driver (struct pci_driver *drv, struct module *owner, const char *mod_name)
 __pci_register_driver - register a new pci driver : the driver structure to register : owner module of drv : module name string
void pci_unregister_driver (struct pci_driver *drv)
 pci_unregister_driver - unregister a pci driver : the driver structure to unregister
struct pci_driver * pci_dev_driver (const struct pci_dev *dev)
 pci_dev_driver - get the pci_driver of a device : the device to query
static int pci_bus_match (struct device *dev, struct device_driver *drv)
 pci_bus_match - Tell if a PCI device structure has a matching PCI device id structure : the PCI device structure to match against : the device driver to search for matching PCI device id structures
struct pci_dev * pci_dev_get (struct pci_dev *dev)
 pci_dev_get - increments the reference count of the pci device structure : the device being referenced
void pci_dev_put (struct pci_dev *dev)
 pci_dev_put - release a use of the pci device structure : device that's been disconnected
int pci_uevent (struct device *dev, struct kobj_uevent_env *env)
static int __init pci_driver_init (void)
 postcore_initcall (pci_driver_init)
 EXPORT_SYMBOL (pci_match_id)
 EXPORT_SYMBOL (__pci_register_driver)
 EXPORT_SYMBOL (pci_unregister_driver)
 EXPORT_SYMBOL (pci_dev_driver)
 EXPORT_SYMBOL (pci_bus_type)
 EXPORT_SYMBOL (pci_dev_get)
 EXPORT_SYMBOL (pci_dev_put)

Variables

static struct pci_driver pci_compat_driver
struct bus_type pci_bus_type


Define Documentation

#define PCI_PM_OPS_PTR   NULL

Definition at line 837 of file pci-driver.c.


Function Documentation

static int __pci_device_probe ( struct pci_driver *  drv,
struct pci_dev *  pci_dev 
) [static]

__pci_device_probe() : driver to call to check if it wants the PCI device : PCI device being probed

returns 0 on success, else error. side-effect: pci_dev->driver is set to drv when drv claims pci_dev.

Definition at line 242 of file pci-driver.c.

int __pci_register_driver ( struct pci_driver *  drv,
struct module *  owner,
const char *  mod_name 
)

__pci_register_driver - register a new pci driver : the driver structure to register : owner module of drv : module name string

Adds the driver structure to the list of registered drivers. Returns a negative value on error, otherwise 0. If no error occurred, the driver remains registered even if no device was claimed during registration.

Definition at line 852 of file pci-driver.c.

EXPORT_SYMBOL ( pci_dev_put   ) 

EXPORT_SYMBOL ( pci_dev_get   ) 

EXPORT_SYMBOL ( pci_bus_type   ) 

EXPORT_SYMBOL ( pci_dev_driver   ) 

EXPORT_SYMBOL ( pci_unregister_driver   ) 

EXPORT_SYMBOL ( __pci_register_driver   ) 

EXPORT_SYMBOL ( pci_match_id   ) 

static long local_pci_probe ( void *  _ddi  )  [static]

Definition at line 199 of file pci-driver.c.

static int pci_bus_match ( struct device *  dev,
struct device_driver *  drv 
) [static]

pci_bus_match - Tell if a PCI device structure has a matching PCI device id structure : the PCI device structure to match against : the device driver to search for matching PCI device id structures

Used by a driver to check whether a PCI device present in the system is in its list of supported devices. Returns the matching pci_device_id structure or NULL if there is no match.

Definition at line 930 of file pci-driver.c.

static int pci_call_probe ( struct pci_driver *  drv,
struct pci_dev *  dev,
const struct pci_device_id *  id 
) [static]

Definition at line 206 of file pci-driver.c.

static int pci_create_newid_file ( struct pci_driver *  drv  )  [inline, static]

Definition at line 134 of file pci-driver.c.

struct pci_driver* pci_dev_driver ( const struct pci_dev *  dev  )  [read]

pci_dev_driver - get the pci_driver of a device : the device to query

Returns the appropriate pci_driver structure or NULL if there is no registered driver for the device.

Definition at line 908 of file pci-driver.c.

struct pci_dev* pci_dev_get ( struct pci_dev *  dev  )  [read]

pci_dev_get - increments the reference count of the pci device structure : the device being referenced

Each live reference to a device should be refcounted.

Drivers for PCI devices should normally record such references in their probe() methods, when they bind to a device, and release them by calling pci_dev_put(), in their disconnect() methods.

A pointer to the device with the incremented reference counter is returned.

Definition at line 955 of file pci-driver.c.

void pci_dev_put ( struct pci_dev *  dev  ) 

pci_dev_put - release a use of the pci device structure : device that's been disconnected

Must be called when a user of a device is finished with it. When the last user of the device calls this function, the memory of the device is freed.

Definition at line 969 of file pci-driver.c.

static int pci_device_probe ( struct device *  dev  )  [static]

Definition at line 261 of file pci-driver.c.

static int pci_device_remove ( struct device *  dev  )  [static]

Definition at line 277 of file pci-driver.c.

static void pci_device_shutdown ( struct device *  dev  )  [static]

Definition at line 308 of file pci-driver.c.

static int __init pci_driver_init ( void   )  [static]

Definition at line 995 of file pci-driver.c.

static void pci_free_dynids ( struct pci_driver *  drv  )  [inline, static]

Definition at line 133 of file pci-driver.c.

static struct pci_device_id* pci_match_device ( struct pci_driver *  drv,
struct pci_dev *  dev 
) [static, read]

pci_match_device - Tell if a PCI device structure has a matching PCI device id structure : the PCI driver to match against : the PCI device structure to match against

Used by a driver to check whether a PCI device present in the system is in its list of supported devices. Returns the matching pci_device_id structure or NULL if there is no match.

Definition at line 175 of file pci-driver.c.

struct pci_device_id* pci_match_id ( const struct pci_device_id *  ids,
struct pci_dev *  dev 
) [read]

pci_match_id - See if a pci device matches a given pci_id table : array of PCI device id structures to search in : the PCI device structure to match against.

Used by a driver to check whether a PCI device present in the system is in its list of supported devices. Returns the matching pci_device_id structure or NULL if there is no match.

Deprecated, don't use this as it will not catch any dynamic ids that a driver might want to check for.

Definition at line 153 of file pci-driver.c.

static void pci_remove_newid_file ( struct pci_driver *  drv  )  [inline, static]

Definition at line 138 of file pci-driver.c.

int pci_uevent ( struct device *  dev,
struct kobj_uevent_env *  env 
)

Definition at line 976 of file pci-driver.c.

void pci_unregister_driver ( struct pci_driver *  drv  ) 

pci_unregister_driver - unregister a pci driver : the driver structure to unregister

Deletes the driver structure from the list of registered PCI drivers, gives it a chance to clean up by calling its remove() function for each device it was responsible for, and marks those devices as driverless.

Definition at line 889 of file pci-driver.c.

postcore_initcall ( pci_driver_init   ) 


Variable Documentation

struct bus_type pci_bus_type

Initial value:

 {
        .name           = "pci",
        .match          = pci_bus_match,
        .uevent         = pci_uevent,
        .probe          = pci_device_probe,
        .remove         = pci_device_remove,
        .shutdown       = pci_device_shutdown,

        .dev_attrs      = pci_dev_attrs,

        .pm             = PCI_PM_OPS_PTR,
}

Definition at line 982 of file pci-driver.c.

struct pci_driver pci_compat_driver [static]

Initial value:

 {
        .name = "compat"
}

Definition at line 896 of file pci-driver.c.


Generated on Wed Apr 11 06:39:15 2012 for DDE - The L4 Device Driver Environment by  doxygen 1.5.6