Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
pci-driver.c File Reference
#include <linux/pci.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/mempolicy.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/sched.h>
#include <linux/cpu.h>
#include <linux/pm_runtime.h>
#include <linux/suspend.h>
#include "pci.h"

Go to the source code of this file.

Data Structures

struct  pci_dynid
struct  drv_dev_and_id


#define pci_drv_attrs   NULL
#define pci_pm_prepare   NULL
#define pci_pm_complete   NULL
#define pci_pm_suspend   NULL
#define pci_pm_suspend_noirq   NULL
#define pci_pm_resume   NULL
#define pci_pm_resume_noirq   NULL
#define pci_pm_freeze   NULL
#define pci_pm_freeze_noirq   NULL
#define pci_pm_thaw   NULL
#define pci_pm_thaw_noirq   NULL
#define pci_pm_poweroff   NULL
#define pci_pm_poweroff_noirq   NULL
#define pci_pm_restore   NULL
#define pci_pm_restore_noirq   NULL
#define pci_pm_runtime_suspend   NULL
#define pci_pm_runtime_resume   NULL
#define pci_pm_runtime_idle   NULL


int pci_add_dynid (struct pci_driver *drv, unsigned int vendor, unsigned int device, unsigned int subvendor, unsigned int subdevice, unsigned int class, unsigned int class_mask, unsigned long driver_data)
struct pci_device_idpci_match_id (const struct pci_device_id *ids, struct pci_dev *dev)
int __pci_register_driver (struct pci_driver *drv, struct module *owner, const char *mod_name)
void pci_unregister_driver (struct pci_driver *drv)
struct pci_driverpci_dev_driver (const struct pci_dev *dev)
struct pci_devpci_dev_get (struct pci_dev *dev)
void pci_dev_put (struct pci_dev *dev)
int pci_uevent (struct device *dev, struct kobj_uevent_env *env)
 postcore_initcall (pci_driver_init)
 EXPORT_SYMBOL_GPL (pci_add_dynid)
 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)


struct bus_type pci_bus_type

Macro Definition Documentation

#define pci_drv_attrs   NULL

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

#define pci_pm_complete   NULL

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

#define pci_pm_freeze   NULL

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

#define pci_pm_freeze_noirq   NULL

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


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

#define pci_pm_poweroff   NULL

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

#define pci_pm_poweroff_noirq   NULL

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

#define pci_pm_prepare   NULL

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

#define pci_pm_restore   NULL

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

#define pci_pm_restore_noirq   NULL

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

#define pci_pm_resume   NULL

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

#define pci_pm_resume_noirq   NULL

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

#define pci_pm_runtime_idle   NULL

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

#define pci_pm_runtime_resume   NULL

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

#define pci_pm_runtime_suspend   NULL

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

#define pci_pm_suspend   NULL

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

#define pci_pm_suspend_noirq   NULL

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

#define pci_pm_thaw   NULL

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

#define pci_pm_thaw_noirq   NULL

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

Function Documentation

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 1114 of file pci-driver.c.

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  )
EXPORT_SYMBOL_GPL ( pci_add_dynid  )
int pci_add_dynid ( struct pci_driver drv,
unsigned int  vendor,
unsigned int  device,
unsigned int  subvendor,
unsigned int  subdevice,
unsigned int  class,
unsigned int  class_mask,
unsigned long  driver_data 

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

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

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

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

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

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 1206 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 1220 of file pci-driver.c.

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.

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 210 of file pci-driver.c.

int pci_uevent ( struct device dev,
struct kobj_uevent_env env 

Definition at line 1227 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 1141 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,
.bus_attrs = pci_bus_attrs,
.drv_attrs = pci_drv_attrs,

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