aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRandy Dunlap <randy.dunlap@oracle.com>2006-12-06 23:38:33 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 11:39:40 -0500
commit4438982f56b7e2ecb7932612601ba0390972ce3b (patch)
tree97b25e80c551169cb6fc76a68cbb808b136f5e00
parent9711ef9945ce33b2b4ecb51a4db3f65f7d784876 (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>
-rw-r--r--drivers/parport/parport_pc.c8
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 */
1978static int __devinit programmable_irq_support(struct parport *pb) 1978static 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
1995static int __devinit irq_probe_ECP(struct parport *pb) 1995static 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 */
2023static int __devinit irq_probe_EPP(struct parport *pb) 2023static 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
2062static int __devinit irq_probe_SPP(struct parport *pb) 2062static 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;