diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2007-03-27 01:53:30 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-05-02 22:02:35 -0400 |
commit | 96bde06a2df1b363206d3cdef53134b84ff37813 (patch) | |
tree | 4d3cc2c8c73a0534bc65e56ff1dec39eaa823b4c /drivers/pci/setup-bus.c | |
parent | 6ba186361ed2cda7e174856a3ab8a8e3237b3c3d (diff) |
pci: do not mark exported functions as __devinit
Functions marked __devinit will be removed after kernel init. But being
exported they are potentially called by a module much later.
So the safer choice seems to be to keep the function even in the non
CONFIG_HOTPLUG case.
This silence the follwoing section mismatch warnings:
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_device from __ksymtab_gpl between '__ksymtab_pci_bus_add_device' (at offset 0x20) and '__ksymtab_pci_walk_bus'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_create_bus from __ksymtab_gpl between '__ksymtab_pci_create_bus' (at offset 0x40) and '__ksymtab_pci_stop_bus_device'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_max_busnr from __ksymtab_gpl between '__ksymtab_pci_bus_max_busnr' (at offset 0xc0) and '__ksymtab_pci_assign_resource_fixed'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_claim_resource from __ksymtab_gpl between '__ksymtab_pci_claim_resource' (at offset 0xe0) and '__ksymtab_pcie_port_bus_type'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_devices from __ksymtab between '__ksymtab_pci_bus_add_devices' (at offset 0x70) and '__ksymtab_pci_bus_alloc_resource'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_scan_bus_parented from __ksymtab between '__ksymtab_pci_scan_bus_parented' (at offset 0x90) and '__ksymtab_pci_root_buses'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_assign_resources from __ksymtab between '__ksymtab_pci_bus_assign_resources' (at offset 0x4d0) and '__ksymtab_pci_bus_size_bridges'
WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_size_bridges from __ksymtab between '__ksymtab_pci_bus_size_bridges' (at offset 0x4e0) and '__ksymtab_pci_setup_cardbus'
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/setup-bus.c')
-rw-r--r-- | drivers/pci/setup-bus.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 3554f3948814..5ec297d7a5b4 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c | |||
@@ -36,8 +36,7 @@ | |||
36 | 36 | ||
37 | #define ROUND_UP(x, a) (((x) + (a) - 1) & ~((a) - 1)) | 37 | #define ROUND_UP(x, a) (((x) + (a) - 1) & ~((a) - 1)) |
38 | 38 | ||
39 | static void __devinit | 39 | static void pbus_assign_resources_sorted(struct pci_bus *bus) |
40 | pbus_assign_resources_sorted(struct pci_bus *bus) | ||
41 | { | 40 | { |
42 | struct pci_dev *dev; | 41 | struct pci_dev *dev; |
43 | struct resource *res; | 42 | struct resource *res; |
@@ -220,8 +219,7 @@ pci_setup_bridge(struct pci_bus *bus) | |||
220 | /* Check whether the bridge supports optional I/O and | 219 | /* Check whether the bridge supports optional I/O and |
221 | prefetchable memory ranges. If not, the respective | 220 | prefetchable memory ranges. If not, the respective |
222 | base/limit registers must be read-only and read as 0. */ | 221 | base/limit registers must be read-only and read as 0. */ |
223 | static void __devinit | 222 | static void pci_bridge_check_ranges(struct pci_bus *bus) |
224 | pci_bridge_check_ranges(struct pci_bus *bus) | ||
225 | { | 223 | { |
226 | u16 io; | 224 | u16 io; |
227 | u32 pmem; | 225 | u32 pmem; |
@@ -259,8 +257,7 @@ pci_bridge_check_ranges(struct pci_bus *bus) | |||
259 | bus resource of a given type. Note: we intentionally skip | 257 | bus resource of a given type. Note: we intentionally skip |
260 | the bus resources which have already been assigned (that is, | 258 | the bus resources which have already been assigned (that is, |
261 | have non-NULL parent resource). */ | 259 | have non-NULL parent resource). */ |
262 | static struct resource * __devinit | 260 | static struct resource *find_free_bus_resource(struct pci_bus *bus, unsigned long type) |
263 | find_free_bus_resource(struct pci_bus *bus, unsigned long type) | ||
264 | { | 261 | { |
265 | int i; | 262 | int i; |
266 | struct resource *r; | 263 | struct resource *r; |
@@ -281,8 +278,7 @@ find_free_bus_resource(struct pci_bus *bus, unsigned long type) | |||
281 | since these windows have 4K granularity and the IO ranges | 278 | since these windows have 4K granularity and the IO ranges |
282 | of non-bridge PCI devices are limited to 256 bytes. | 279 | of non-bridge PCI devices are limited to 256 bytes. |
283 | We must be careful with the ISA aliasing though. */ | 280 | We must be careful with the ISA aliasing though. */ |
284 | static void __devinit | 281 | static void pbus_size_io(struct pci_bus *bus) |
285 | pbus_size_io(struct pci_bus *bus) | ||
286 | { | 282 | { |
287 | struct pci_dev *dev; | 283 | struct pci_dev *dev; |
288 | struct resource *b_res = find_free_bus_resource(bus, IORESOURCE_IO); | 284 | struct resource *b_res = find_free_bus_resource(bus, IORESOURCE_IO); |
@@ -326,8 +322,7 @@ pbus_size_io(struct pci_bus *bus) | |||
326 | 322 | ||
327 | /* Calculate the size of the bus and minimal alignment which | 323 | /* Calculate the size of the bus and minimal alignment which |
328 | guarantees that all child resources fit in this size. */ | 324 | guarantees that all child resources fit in this size. */ |
329 | static int __devinit | 325 | static int pbus_size_mem(struct pci_bus *bus, unsigned long mask, unsigned long type) |
330 | pbus_size_mem(struct pci_bus *bus, unsigned long mask, unsigned long type) | ||
331 | { | 326 | { |
332 | struct pci_dev *dev; | 327 | struct pci_dev *dev; |
333 | unsigned long min_align, align, size; | 328 | unsigned long min_align, align, size; |
@@ -447,8 +442,7 @@ pci_bus_size_cardbus(struct pci_bus *bus) | |||
447 | } | 442 | } |
448 | } | 443 | } |
449 | 444 | ||
450 | void __devinit | 445 | void pci_bus_size_bridges(struct pci_bus *bus) |
451 | pci_bus_size_bridges(struct pci_bus *bus) | ||
452 | { | 446 | { |
453 | struct pci_dev *dev; | 447 | struct pci_dev *dev; |
454 | unsigned long mask, prefmask; | 448 | unsigned long mask, prefmask; |
@@ -498,8 +492,7 @@ pci_bus_size_bridges(struct pci_bus *bus) | |||
498 | } | 492 | } |
499 | EXPORT_SYMBOL(pci_bus_size_bridges); | 493 | EXPORT_SYMBOL(pci_bus_size_bridges); |
500 | 494 | ||
501 | void __devinit | 495 | void pci_bus_assign_resources(struct pci_bus *bus) |
502 | pci_bus_assign_resources(struct pci_bus *bus) | ||
503 | { | 496 | { |
504 | struct pci_bus *b; | 497 | struct pci_bus *b; |
505 | struct pci_dev *dev; | 498 | struct pci_dev *dev; |