Commit 4f5b04800a224aadb6cffcbbc3d3fa26e2367c7f
Committed by
Linus Torvalds
1 parent
fa2563e41c
Exists in
master
and in
4 other branches
drivers/gpio/gpio-generic.c: fix build errors
Building a kernel with hotplug disabled results in a link failure: `bgpio_remove' referenced in section `___ksymtab_gpl+bgpio_remove' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o This is because of bgpio_remove() is exported. It is illegal to export symbols which are discarded either at link time or as part of an init/exit section. Fix this by dropping the __devexit attributation from bgpio_remove(). Also drop the __devinit attributation from bgpio_init(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 2 changed files with 10 additions and 20 deletions Side-by-side Diff
drivers/gpio/gpio-generic.c
... | ... | @@ -351,7 +351,7 @@ |
351 | 351 | return 0; |
352 | 352 | } |
353 | 353 | |
354 | -int __devexit bgpio_remove(struct bgpio_chip *bgc) | |
354 | +int bgpio_remove(struct bgpio_chip *bgc) | |
355 | 355 | { |
356 | 356 | int err = gpiochip_remove(&bgc->gc); |
357 | 357 | |
... | ... | @@ -361,15 +361,10 @@ |
361 | 361 | } |
362 | 362 | EXPORT_SYMBOL_GPL(bgpio_remove); |
363 | 363 | |
364 | -int __devinit bgpio_init(struct bgpio_chip *bgc, | |
365 | - struct device *dev, | |
366 | - unsigned long sz, | |
367 | - void __iomem *dat, | |
368 | - void __iomem *set, | |
369 | - void __iomem *clr, | |
370 | - void __iomem *dirout, | |
371 | - void __iomem *dirin, | |
372 | - bool big_endian) | |
364 | +int bgpio_init(struct bgpio_chip *bgc, struct device *dev, | |
365 | + unsigned long sz, void __iomem *dat, void __iomem *set, | |
366 | + void __iomem *clr, void __iomem *dirout, void __iomem *dirin, | |
367 | + bool big_endian) | |
373 | 368 | { |
374 | 369 | int ret; |
375 | 370 |
include/linux/basic_mmio_gpio.h
... | ... | @@ -63,16 +63,11 @@ |
63 | 63 | return container_of(gc, struct bgpio_chip, gc); |
64 | 64 | } |
65 | 65 | |
66 | -int __devexit bgpio_remove(struct bgpio_chip *bgc); | |
67 | -int __devinit bgpio_init(struct bgpio_chip *bgc, | |
68 | - struct device *dev, | |
69 | - unsigned long sz, | |
70 | - void __iomem *dat, | |
71 | - void __iomem *set, | |
72 | - void __iomem *clr, | |
73 | - void __iomem *dirout, | |
74 | - void __iomem *dirin, | |
75 | - bool big_endian); | |
66 | +int bgpio_remove(struct bgpio_chip *bgc); | |
67 | +int bgpio_init(struct bgpio_chip *bgc, struct device *dev, | |
68 | + unsigned long sz, void __iomem *dat, void __iomem *set, | |
69 | + void __iomem *clr, void __iomem *dirout, void __iomem *dirin, | |
70 | + bool big_endian); | |
76 | 71 | |
77 | 72 | #endif /* __BASIC_MMIO_GPIO_H */ |