diff options
author | Randy Dunlap <randy.dunlap@oracle.com> | 2006-12-06 23:38:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 11:39:40 -0500 |
commit | 4438982f56b7e2ecb7932612601ba0390972ce3b (patch) | |
tree | 97b25e80c551169cb6fc76a68cbb808b136f5e00 /drivers/parport | |
parent | 9711ef9945ce33b2b4ecb51a4db3f65f7d784876 (diff) |
[PATCH] parport: section mismatches with HOTPLUG=n
When CONFIG_HOTPLUG=n, parport_pc calls some __devinit == __init code that
could be discarded. These calls are made from parport_irq_probe(), which is
called from parport_pc_probe_port(), which is an exported symbol, so the calls
could (possibly) happen after init time.
WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x31d) and 'parport_pc_probe_port'
WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x346) and 'parport_pc_probe_port'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/parport')
-rw-r--r-- | drivers/parport/parport_pc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index 5749500f45f0..b61c17b3e298 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c | |||
@@ -1975,7 +1975,7 @@ static int __devinit parport_ECPPS2_supported(struct parport *pb){return 0;} | |||
1975 | /* --- IRQ detection -------------------------------------- */ | 1975 | /* --- IRQ detection -------------------------------------- */ |
1976 | 1976 | ||
1977 | /* Only if supports ECP mode */ | 1977 | /* Only if supports ECP mode */ |
1978 | static int __devinit programmable_irq_support(struct parport *pb) | 1978 | static int programmable_irq_support(struct parport *pb) |
1979 | { | 1979 | { |
1980 | int irq, intrLine; | 1980 | int irq, intrLine; |
1981 | unsigned char oecr = inb (ECONTROL (pb)); | 1981 | unsigned char oecr = inb (ECONTROL (pb)); |
@@ -1992,7 +1992,7 @@ static int __devinit programmable_irq_support(struct parport *pb) | |||
1992 | return irq; | 1992 | return irq; |
1993 | } | 1993 | } |
1994 | 1994 | ||
1995 | static int __devinit irq_probe_ECP(struct parport *pb) | 1995 | static int irq_probe_ECP(struct parport *pb) |
1996 | { | 1996 | { |
1997 | int i; | 1997 | int i; |
1998 | unsigned long irqs; | 1998 | unsigned long irqs; |
@@ -2020,7 +2020,7 @@ static int __devinit irq_probe_ECP(struct parport *pb) | |||
2020 | * This detection seems that only works in National Semiconductors | 2020 | * This detection seems that only works in National Semiconductors |
2021 | * This doesn't work in SMC, LGS, and Winbond | 2021 | * This doesn't work in SMC, LGS, and Winbond |
2022 | */ | 2022 | */ |
2023 | static int __devinit irq_probe_EPP(struct parport *pb) | 2023 | static int irq_probe_EPP(struct parport *pb) |
2024 | { | 2024 | { |
2025 | #ifndef ADVANCED_DETECT | 2025 | #ifndef ADVANCED_DETECT |
2026 | return PARPORT_IRQ_NONE; | 2026 | return PARPORT_IRQ_NONE; |
@@ -2059,7 +2059,7 @@ static int __devinit irq_probe_EPP(struct parport *pb) | |||
2059 | #endif /* Advanced detection */ | 2059 | #endif /* Advanced detection */ |
2060 | } | 2060 | } |
2061 | 2061 | ||
2062 | static int __devinit irq_probe_SPP(struct parport *pb) | 2062 | static int irq_probe_SPP(struct parport *pb) |
2063 | { | 2063 | { |
2064 | /* Don't even try to do this. */ | 2064 | /* Don't even try to do this. */ |
2065 | return PARPORT_IRQ_NONE; | 2065 | return PARPORT_IRQ_NONE; |