diff options
-rw-r--r-- | Documentation/pci.txt | 6 | ||||
-rw-r--r-- | include/linux/pci.h | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Documentation/pci.txt b/Documentation/pci.txt index 72b20c639596..bb7bd27d4682 100644 --- a/Documentation/pci.txt +++ b/Documentation/pci.txt | |||
@@ -123,7 +123,8 @@ initialization with a pointer to a structure describing the driver | |||
123 | 123 | ||
124 | 124 | ||
125 | The ID table is an array of struct pci_device_id entries ending with an | 125 | The ID table is an array of struct pci_device_id entries ending with an |
126 | all-zero entry. Each entry consists of: | 126 | all-zero entry; use of the macro DECLARE_PCI_DEVICE_TABLE is the preferred |
127 | method of declaring the table. Each entry consists of: | ||
127 | 128 | ||
128 | vendor,device Vendor and device ID to match (or PCI_ANY_ID) | 129 | vendor,device Vendor and device ID to match (or PCI_ANY_ID) |
129 | 130 | ||
@@ -191,7 +192,8 @@ Tips on when/where to use the above attributes: | |||
191 | 192 | ||
192 | o Do not mark the struct pci_driver. | 193 | o Do not mark the struct pci_driver. |
193 | 194 | ||
194 | o The ID table array should be marked __devinitdata. | 195 | o The ID table array should be marked __devinitconst; this is done |
196 | automatically if the table is declared with DECLARE_PCI_DEVICE_TABLE(). | ||
195 | 197 | ||
196 | o The probe() and remove() functions should be marked __devinit | 198 | o The probe() and remove() functions should be marked __devinit |
197 | and __devexit respectively. All initialization functions | 199 | and __devexit respectively. All initialization functions |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 87195b62de52..f3165e7ac431 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -389,6 +389,16 @@ struct pci_driver { | |||
389 | #define to_pci_driver(drv) container_of(drv, struct pci_driver, driver) | 389 | #define to_pci_driver(drv) container_of(drv, struct pci_driver, driver) |
390 | 390 | ||
391 | /** | 391 | /** |
392 | * DECLARE_PCI_DEVICE_TABLE - macro used to describe a pci device table | ||
393 | * @_table: device table name | ||
394 | * | ||
395 | * This macro is used to create a struct pci_device_id array (a device table) | ||
396 | * in a generic manner. | ||
397 | */ | ||
398 | #define DECLARE_PCI_DEVICE_TABLE(_table) \ | ||
399 | const struct pci_device_id _table[] __devinitconst | ||
400 | |||
401 | /** | ||
392 | * PCI_DEVICE - macro used to describe a specific pci device | 402 | * PCI_DEVICE - macro used to describe a specific pci device |
393 | * @vend: the 16 bit PCI Vendor ID | 403 | * @vend: the 16 bit PCI Vendor ID |
394 | * @dev: the 16 bit PCI Device ID | 404 | * @dev: the 16 bit PCI Device ID |