diff options
author | Henrik Kretzschmar <henne@nachtwindheim.de> | 2010-03-25 21:40:13 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-05-27 19:37:31 -0400 |
commit | 872c1b14e78661086ade8b501888850da2636eee (patch) | |
tree | 384a7cc1ec4f24668bee081e06f126c806ba3c9a | |
parent | f03cfcbc843ae6854c69dbc771762b83b3bea15f (diff) |
mfd: Section cleanup of 88pm860x driver
This patch fixes three section mismatches.
WARNING: drivers/mfd/88pm860x.o(.text+0x12): Section mismatch in
reference from the function pm860x_device_exit() to the function
.devexit.text:device_irq_exit()
The function pm860x_device_exit() references a function in an exit
section.
Often the function device_irq_exit() has valid usage outside the exit
section
and the fix is to remove the __devexit annotation of device_irq_exit.
WARNING: drivers/mfd/88pm860x.o(.text+0xb0): Section mismatch in
reference from the function pm860x_device_init() to the function
.devinit.text:device_8606_init()
The function pm860x_device_init() references
the function __devinit device_8606_init().
This is often because pm860x_device_init lacks a __devinit
annotation or the annotation of device_8606_init is wrong.
WARNING: drivers/mfd/88pm860x.o(.text+0xbe): Section mismatch in
reference from the function pm860x_device_init() to the function
.devinit.text:device_8607_init()
The function pm860x_device_init() references
the function __devinit device_8607_init().
This is often because pm860x_device_init lacks a __devinit
annotation or the annotation of device_8607_init is wrong.
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | drivers/mfd/88pm860x-core.c | 6 | ||||
-rw-r--r-- | include/linux/mfd/88pm860x.h | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index 405d2d5183c..2c65a2c5729 100644 --- a/drivers/mfd/88pm860x-core.c +++ b/drivers/mfd/88pm860x-core.c | |||
@@ -566,7 +566,7 @@ out: | |||
566 | return ret; | 566 | return ret; |
567 | } | 567 | } |
568 | 568 | ||
569 | static void __devexit device_irq_exit(struct pm860x_chip *chip) | 569 | static void device_irq_exit(struct pm860x_chip *chip) |
570 | { | 570 | { |
571 | if (chip->core_irq) | 571 | if (chip->core_irq) |
572 | free_irq(chip->core_irq, chip); | 572 | free_irq(chip->core_irq, chip); |
@@ -703,7 +703,7 @@ out: | |||
703 | return; | 703 | return; |
704 | } | 704 | } |
705 | 705 | ||
706 | int pm860x_device_init(struct pm860x_chip *chip, | 706 | int __devinit pm860x_device_init(struct pm860x_chip *chip, |
707 | struct pm860x_platform_data *pdata) | 707 | struct pm860x_platform_data *pdata) |
708 | { | 708 | { |
709 | chip->core_irq = 0; | 709 | chip->core_irq = 0; |
@@ -731,7 +731,7 @@ int pm860x_device_init(struct pm860x_chip *chip, | |||
731 | return 0; | 731 | return 0; |
732 | } | 732 | } |
733 | 733 | ||
734 | void pm860x_device_exit(struct pm860x_chip *chip) | 734 | void __devexit pm860x_device_exit(struct pm860x_chip *chip) |
735 | { | 735 | { |
736 | device_irq_exit(chip); | 736 | device_irq_exit(chip); |
737 | mfd_remove_devices(chip->dev); | 737 | mfd_remove_devices(chip->dev); |
diff --git a/include/linux/mfd/88pm860x.h b/include/linux/mfd/88pm860x.h index e3c4ff8c3e3..bfd23bef736 100644 --- a/include/linux/mfd/88pm860x.h +++ b/include/linux/mfd/88pm860x.h | |||
@@ -370,7 +370,7 @@ extern int pm860x_set_bits(struct i2c_client *, int, unsigned char, | |||
370 | unsigned char); | 370 | unsigned char); |
371 | 371 | ||
372 | extern int pm860x_device_init(struct pm860x_chip *chip, | 372 | extern int pm860x_device_init(struct pm860x_chip *chip, |
373 | struct pm860x_platform_data *pdata); | 373 | struct pm860x_platform_data *pdata) __devinit ; |
374 | extern void pm860x_device_exit(struct pm860x_chip *chip); | 374 | extern void pm860x_device_exit(struct pm860x_chip *chip) __devexit ; |
375 | 375 | ||
376 | #endif /* __LINUX_MFD_88PM860X_H */ | 376 | #endif /* __LINUX_MFD_88PM860X_H */ |