diff options
-rw-r--r-- | Documentation/DocBook/media/v4l/driver.xml | 6 | ||||
-rw-r--r-- | Documentation/PCI/pci-iov-howto.txt | 6 | ||||
-rw-r--r-- | Documentation/PCI/pci.txt | 20 | ||||
-rw-r--r-- | Documentation/acpi/enumeration.txt | 2 | ||||
-rw-r--r-- | Documentation/i2c/instantiating-devices | 2 | ||||
-rw-r--r-- | Documentation/rpmsg.txt | 4 | ||||
-rw-r--r-- | Documentation/spi/spi-summary | 4 | ||||
-rw-r--r-- | Documentation/video4linux/v4l2-framework.txt | 3 | ||||
-rw-r--r-- | Documentation/zh_CN/video4linux/v4l2-framework.txt | 3 |
9 files changed, 14 insertions, 36 deletions
diff --git a/Documentation/DocBook/media/v4l/driver.xml b/Documentation/DocBook/media/v4l/driver.xml index eacafe312cd2..7c6638bacedb 100644 --- a/Documentation/DocBook/media/v4l/driver.xml +++ b/Documentation/DocBook/media/v4l/driver.xml | |||
@@ -116,7 +116,7 @@ my_suspend (struct pci_dev * pci_dev, | |||
116 | return 0; /* a negative value on error, 0 on success. */ | 116 | return 0; /* a negative value on error, 0 on success. */ |
117 | } | 117 | } |
118 | 118 | ||
119 | static void __devexit | 119 | static void |
120 | my_remove (struct pci_dev * pci_dev) | 120 | my_remove (struct pci_dev * pci_dev) |
121 | { | 121 | { |
122 | my_device *my = pci_get_drvdata (pci_dev); | 122 | my_device *my = pci_get_drvdata (pci_dev); |
@@ -124,7 +124,7 @@ my_remove (struct pci_dev * pci_dev) | |||
124 | /* Describe me. */ | 124 | /* Describe me. */ |
125 | } | 125 | } |
126 | 126 | ||
127 | static int __devinit | 127 | static int |
128 | my_probe (struct pci_dev * pci_dev, | 128 | my_probe (struct pci_dev * pci_dev, |
129 | const struct pci_device_id * pci_id) | 129 | const struct pci_device_id * pci_id) |
130 | { | 130 | { |
@@ -157,7 +157,7 @@ my_pci_driver = { | |||
157 | .id_table = my_pci_device_ids, | 157 | .id_table = my_pci_device_ids, |
158 | 158 | ||
159 | .probe = my_probe, | 159 | .probe = my_probe, |
160 | .remove = __devexit_p (my_remove), | 160 | .remove = my_remove, |
161 | 161 | ||
162 | /* Power management functions. */ | 162 | /* Power management functions. */ |
163 | .suspend = my_suspend, | 163 | .suspend = my_suspend, |
diff --git a/Documentation/PCI/pci-iov-howto.txt b/Documentation/PCI/pci-iov-howto.txt index cfaca7e69893..86551cc72e03 100644 --- a/Documentation/PCI/pci-iov-howto.txt +++ b/Documentation/PCI/pci-iov-howto.txt | |||
@@ -76,7 +76,7 @@ To notify SR-IOV core of Virtual Function Migration: | |||
76 | 76 | ||
77 | Following piece of code illustrates the usage of the SR-IOV API. | 77 | Following piece of code illustrates the usage of the SR-IOV API. |
78 | 78 | ||
79 | static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *id) | 79 | static int dev_probe(struct pci_dev *dev, const struct pci_device_id *id) |
80 | { | 80 | { |
81 | pci_enable_sriov(dev, NR_VIRTFN); | 81 | pci_enable_sriov(dev, NR_VIRTFN); |
82 | 82 | ||
@@ -85,7 +85,7 @@ static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id * | |||
85 | return 0; | 85 | return 0; |
86 | } | 86 | } |
87 | 87 | ||
88 | static void __devexit dev_remove(struct pci_dev *dev) | 88 | static void dev_remove(struct pci_dev *dev) |
89 | { | 89 | { |
90 | pci_disable_sriov(dev); | 90 | pci_disable_sriov(dev); |
91 | 91 | ||
@@ -131,7 +131,7 @@ static struct pci_driver dev_driver = { | |||
131 | .name = "SR-IOV Physical Function driver", | 131 | .name = "SR-IOV Physical Function driver", |
132 | .id_table = dev_id_table, | 132 | .id_table = dev_id_table, |
133 | .probe = dev_probe, | 133 | .probe = dev_probe, |
134 | .remove = __devexit_p(dev_remove), | 134 | .remove = dev_remove, |
135 | .suspend = dev_suspend, | 135 | .suspend = dev_suspend, |
136 | .resume = dev_resume, | 136 | .resume = dev_resume, |
137 | .shutdown = dev_shutdown, | 137 | .shutdown = dev_shutdown, |
diff --git a/Documentation/PCI/pci.txt b/Documentation/PCI/pci.txt index aa09e5476bba..bccf602a87f5 100644 --- a/Documentation/PCI/pci.txt +++ b/Documentation/PCI/pci.txt | |||
@@ -183,12 +183,6 @@ Please mark the initialization and cleanup functions where appropriate | |||
183 | initializes. | 183 | initializes. |
184 | __exit Exit code. Ignored for non-modular drivers. | 184 | __exit Exit code. Ignored for non-modular drivers. |
185 | 185 | ||
186 | |||
187 | __devinit Device initialization code. | ||
188 | Identical to __init if the kernel is not compiled | ||
189 | with CONFIG_HOTPLUG, normal function otherwise. | ||
190 | __devexit The same for __exit. | ||
191 | |||
192 | Tips on when/where to use the above attributes: | 186 | Tips on when/where to use the above attributes: |
193 | o The module_init()/module_exit() functions (and all | 187 | o The module_init()/module_exit() functions (and all |
194 | initialization functions called _only_ from these) | 188 | initialization functions called _only_ from these) |
@@ -196,20 +190,6 @@ Tips on when/where to use the above attributes: | |||
196 | 190 | ||
197 | o Do not mark the struct pci_driver. | 191 | o Do not mark the struct pci_driver. |
198 | 192 | ||
199 | o The ID table array should be marked __devinitconst; this is done | ||
200 | automatically if the table is declared with DEFINE_PCI_DEVICE_TABLE(). | ||
201 | |||
202 | o The probe() and remove() functions should be marked __devinit | ||
203 | and __devexit respectively. All initialization functions | ||
204 | exclusively called by the probe() routine, can be marked __devinit. | ||
205 | Ditto for remove() and __devexit. | ||
206 | |||
207 | o If mydriver_remove() is marked with __devexit(), then all address | ||
208 | references to mydriver_remove must use __devexit_p(mydriver_remove) | ||
209 | (in the struct pci_driver declaration for example). | ||
210 | __devexit_p() will generate the function name _or_ NULL if the | ||
211 | function will be discarded. For an example, see drivers/net/tg3.c. | ||
212 | |||
213 | o Do NOT mark a function if you are not sure which mark to use. | 193 | o Do NOT mark a function if you are not sure which mark to use. |
214 | Better to not mark the function than mark the function wrong. | 194 | Better to not mark the function than mark the function wrong. |
215 | 195 | ||
diff --git a/Documentation/acpi/enumeration.txt b/Documentation/acpi/enumeration.txt index 4f27785ca0c8..54469bc81b1c 100644 --- a/Documentation/acpi/enumeration.txt +++ b/Documentation/acpi/enumeration.txt | |||
@@ -185,7 +185,7 @@ input driver: | |||
185 | .acpi_match_table ACPI_PTR(mpu3050_acpi_match), | 185 | .acpi_match_table ACPI_PTR(mpu3050_acpi_match), |
186 | }, | 186 | }, |
187 | .probe = mpu3050_probe, | 187 | .probe = mpu3050_probe, |
188 | .remove = __devexit_p(mpu3050_remove), | 188 | .remove = mpu3050_remove, |
189 | .id_table = mpu3050_ids, | 189 | .id_table = mpu3050_ids, |
190 | }; | 190 | }; |
191 | 191 | ||
diff --git a/Documentation/i2c/instantiating-devices b/Documentation/i2c/instantiating-devices index abf63615ee05..22182660dda7 100644 --- a/Documentation/i2c/instantiating-devices +++ b/Documentation/i2c/instantiating-devices | |||
@@ -91,7 +91,7 @@ Example (from the nxp OHCI driver): | |||
91 | 91 | ||
92 | static const unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END }; | 92 | static const unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END }; |
93 | 93 | ||
94 | static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev) | 94 | static int usb_hcd_nxp_probe(struct platform_device *pdev) |
95 | { | 95 | { |
96 | (...) | 96 | (...) |
97 | struct i2c_adapter *i2c_adap; | 97 | struct i2c_adapter *i2c_adap; |
diff --git a/Documentation/rpmsg.txt b/Documentation/rpmsg.txt index 409d9f964c5b..f7edc3aa1e92 100644 --- a/Documentation/rpmsg.txt +++ b/Documentation/rpmsg.txt | |||
@@ -236,7 +236,7 @@ static int rpmsg_sample_probe(struct rpmsg_channel *rpdev) | |||
236 | return 0; | 236 | return 0; |
237 | } | 237 | } |
238 | 238 | ||
239 | static void __devexit rpmsg_sample_remove(struct rpmsg_channel *rpdev) | 239 | static void rpmsg_sample_remove(struct rpmsg_channel *rpdev) |
240 | { | 240 | { |
241 | dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n"); | 241 | dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n"); |
242 | } | 242 | } |
@@ -253,7 +253,7 @@ static struct rpmsg_driver rpmsg_sample_client = { | |||
253 | .id_table = rpmsg_driver_sample_id_table, | 253 | .id_table = rpmsg_driver_sample_id_table, |
254 | .probe = rpmsg_sample_probe, | 254 | .probe = rpmsg_sample_probe, |
255 | .callback = rpmsg_sample_cb, | 255 | .callback = rpmsg_sample_cb, |
256 | .remove = __devexit_p(rpmsg_sample_remove), | 256 | .remove = rpmsg_sample_remove, |
257 | }; | 257 | }; |
258 | 258 | ||
259 | static int __init init(void) | 259 | static int __init init(void) |
diff --git a/Documentation/spi/spi-summary b/Documentation/spi/spi-summary index 7312ec14dd89..2331eb214146 100644 --- a/Documentation/spi/spi-summary +++ b/Documentation/spi/spi-summary | |||
@@ -345,7 +345,7 @@ SPI protocol drivers somewhat resemble platform device drivers: | |||
345 | }, | 345 | }, |
346 | 346 | ||
347 | .probe = CHIP_probe, | 347 | .probe = CHIP_probe, |
348 | .remove = __devexit_p(CHIP_remove), | 348 | .remove = CHIP_remove, |
349 | .suspend = CHIP_suspend, | 349 | .suspend = CHIP_suspend, |
350 | .resume = CHIP_resume, | 350 | .resume = CHIP_resume, |
351 | }; | 351 | }; |
@@ -355,7 +355,7 @@ device whose board_info gave a modalias of "CHIP". Your probe() code | |||
355 | might look like this unless you're creating a device which is managing | 355 | might look like this unless you're creating a device which is managing |
356 | a bus (appearing under /sys/class/spi_master). | 356 | a bus (appearing under /sys/class/spi_master). |
357 | 357 | ||
358 | static int __devinit CHIP_probe(struct spi_device *spi) | 358 | static int CHIP_probe(struct spi_device *spi) |
359 | { | 359 | { |
360 | struct CHIP *chip; | 360 | struct CHIP *chip; |
361 | struct CHIP_platform_data *pdata; | 361 | struct CHIP_platform_data *pdata; |
diff --git a/Documentation/video4linux/v4l2-framework.txt b/Documentation/video4linux/v4l2-framework.txt index 32bfe926e8d7..b89567ad04b7 100644 --- a/Documentation/video4linux/v4l2-framework.txt +++ b/Documentation/video4linux/v4l2-framework.txt | |||
@@ -174,8 +174,7 @@ The recommended approach is as follows: | |||
174 | 174 | ||
175 | static atomic_t drv_instance = ATOMIC_INIT(0); | 175 | static atomic_t drv_instance = ATOMIC_INIT(0); |
176 | 176 | ||
177 | static int __devinit drv_probe(struct pci_dev *pdev, | 177 | static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) |
178 | const struct pci_device_id *pci_id) | ||
179 | { | 178 | { |
180 | ... | 179 | ... |
181 | state->instance = atomic_inc_return(&drv_instance) - 1; | 180 | state->instance = atomic_inc_return(&drv_instance) - 1; |
diff --git a/Documentation/zh_CN/video4linux/v4l2-framework.txt b/Documentation/zh_CN/video4linux/v4l2-framework.txt index 3e74f13af426..44c1d934c4e3 100644 --- a/Documentation/zh_CN/video4linux/v4l2-framework.txt +++ b/Documentation/zh_CN/video4linux/v4l2-framework.txt | |||
@@ -182,8 +182,7 @@ int iterate(void *p) | |||
182 | 182 | ||
183 | static atomic_t drv_instance = ATOMIC_INIT(0); | 183 | static atomic_t drv_instance = ATOMIC_INIT(0); |
184 | 184 | ||
185 | static int __devinit drv_probe(struct pci_dev *pdev, | 185 | static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) |
186 | const struct pci_device_id *pci_id) | ||
187 | { | 186 | { |
188 | ... | 187 | ... |
189 | state->instance = atomic_inc_return(&drv_instance) - 1; | 188 | state->instance = atomic_inc_return(&drv_instance) - 1; |