fix celleb link failure
PATCH 1/1 fix celleb link failure
txx9_serial_init calls early_serial_txx9_setup which is only available if CONFIG_SERIAL_TXX9_CONSOLE is define. From looking at scc_sio.c it seems like the whole file is only needed for CONFIG_SERIAL_TXX9_CONSOLE=y, so we should only build it for that case.
arch/powerpc/platforms/celleb/Makefile +1 -1
@@ -4,5 +4,5 @@ obj-y += interrupt.o iommu.o setup.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_PPC_UDBG_BEAT) += udbg_beat.o -obj-$(CONFIG_HAS_TXX9_SERIAL) += scc_sio.o +obj-$(CONFIG_SERIAL_TXX9_CONSOLE) += scc_sio.o obj-$(CONFIG_SPU_BASE) += spu_priv1.o
arch/powerpc/platforms/celleb/scc_sio.c +0 -2
@@ -65,9 +65,7 @@ static int txx9_serial_init(void) req.line = i; req.iotype =UPIO_MEM ; req.mapbase = res.start + txx9_scc_tab[i].offset; -#ifdef CONFIG_SERIAL_TXX9_CONSOLE req.membase =ioremap (req.mapbase,0x24 ); -#endif req.irq =irq_create_of_mapping (irq.controller, irq.specifier, irq.size); req.flags |=UPF_IOREMAP |UPF_BUGGY_UART /*HAVE_CTS_LINE*/ ;
Ishizaki Kou
NAKChristoph,
Quoted 4 lines
txx9_serial_initcallsearly_serial_txx9_setupwhich is only available ifCONFIG_SERIAL_TXX9_CONSOLEis define. From looking atscc_sio.cit seems like the whole file is only needed forCONFIG_SERIAL_TXX9_CONSOLE=y, so we should only build it for that
case.
Quoted 3 lines
Signed-off-by Christoph Hellwig <[email protected]>
NACK.
Thanks for pointing it out. But this fix is still wrong. early_serial_txx9_setup is availble if CONFIG_SERIAL_TXX9=y.
Quoted 3 lines
Index: linux-2.6.20/arch/powerpc/platforms/celleb/Makefile
===================================================================
---
linux-2.6.20.orig/arch/powerpc/platforms/celleb/Makefile 2007-05-
15 14:42:15.000000000 +0200
Quoted 1 line
+++
linux-2.6.20/arch/powerpc/platforms/celleb/Makefile 2007-05-15
14:42:31.000000000 +0200
Review obj-y += interrupt.o iommu.o
Quoted 1 line
(quoted diff) +0
-0@@ -4,5 +4,5 @@ obj-y += interrupt.o iommu.o
setup.o
arch/powerpc/platforms/celleb/Makefile obj-y += interrupt.o iommu.o setup.o · line 8
Quoted 6 lines
arch/powerpc/platforms/celleb/Makefile +1
-1obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_PPC_UDBG_BEAT) += udbg_beat.o -obj-$(CONFIG_HAS_TXX9_SERIAL) += scc_sio.o +obj-$(CONFIG_SERIAL_TXX9_CONSOLE) += scc_sio.o obj-$(CONFIG_SPU_BASE) += spu_priv1.o
So scc_sio.o is depend on CONFIG_SERIAL_TXX9.
Quoted 3 lines
Index:
linux-2.6.20/arch/powerpc/platforms/celleb/scc_sio.c
===================================================================
---
linux-2.6.20.orig/arch/powerpc/platforms/celleb/scc_sio.c 2007-05-
15 14:40:49.000000000 +0200
Quoted 1 line
+++
linux-2.6.20/arch/powerpc/platforms/celleb/scc_sio.c 2007-05-15
14:42:47.000000000 +0200
arch/powerpc/platforms/celleb/scc_sio.c static int txx9_serial_init(void) · line 71
Quoted 10 lines
arch/powerpc/platforms/celleb/scc_sio.c +0
-2@@ -65,9 +65,7 @@ static int txx9_serial_init(void) req.line = i; req.iotype =UPIO_MEM ; req.mapbase = res.start + txx9_scc_tab[i].offset; -#ifdef CONFIG_SERIAL_TXX9_CONSOLE req.membase =ioremap (req.mapbase,0x24 ); -#endif req.irq =irq_create_of_mapping (irq.controller, irq.specifier, irq.size); req.flags |=UPF_IOREMAP |UPF_BUGGY_UART
/*HAVE_CTS_LINE*/;
And we need these #ifdef and #endif.
Best regards,
Kou Ishizaki
Quoted 4 lines · Ishizaki Kou
NACK.
Thanks for pointing it out. But this fix is still wrong.
early_serial_txx9_setupis availble ifCONFIG_SERIAL_TXX9=y.
You're right. I've updated the patch to only build scc_sio.o only if CONFIG_SERIAL_TXX9 is set. This works because CONFIG_SERIAL_TXX9 can't be modular currently.
Quoted 9 lines
Review
Quoted 6 lines
(quoted diff) +0
-2-#ifdef CONFIG_SERIAL_TXX9_CONSOLE req.membase = ioremap(req.mapbase, 0x24); -#endif req.irq = irq_create_of_mapping(irq.controller, irq.specifier, irq.size); req.flags |= UPF_IOREMAP | UPF_BUGGY_UART/*HAVE_CTS_LINE*/;
And we need these #ifdef and #endif.
Ok, dropped.
arch/powerpc/platforms/celleb/Makefile +1 -1
@@ -4,5 +4,5 @@ obj-y += interrupt.o iommu.o setup.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_PPC_UDBG_BEAT) += udbg_beat.o -obj-$(CONFIG_HAS_TXX9_SERIAL) += scc_sio.o +obj-$(CONFIG_SERIAL_TXX9) += scc_sio.o obj-$(CONFIG_SPU_BASE) += spu_priv1.o
Ishizaki Kou
Acked-byQuoted 3 lines
Index: linux-2.6.20/arch/powerpc/platforms/celleb/Makefile
===================================================================
---
linux-2.6.20.orig/arch/powerpc/platforms/celleb/Makefile 2007-05-
16 11:36:28.000000000 +0200
Quoted 1 line
+++
linux-2.6.20/arch/powerpc/platforms/celleb/Makefile 2007-05-16
11:36:41.000000000 +0200
Review obj-y += interrupt.o iommu.o
Quoted 1 line
(quoted diff) +0
-0@@ -4,5 +4,5 @@ obj-y += interrupt.o iommu.o
setup.o
arch/powerpc/platforms/celleb/Makefile obj-y += interrupt.o iommu.o setup.o · line 8
Quoted 6 lines
arch/powerpc/platforms/celleb/Makefile +1
-1obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_PPC_UDBG_BEAT) += udbg_beat.o -obj-$(CONFIG_HAS_TXX9_SERIAL) += scc_sio.o +obj-$(CONFIG_SERIAL_TXX9) += scc_sio.o obj-$(CONFIG_SPU_BASE) += spu_priv1.o
Thanks.
Best regards,
Kou Ishizaki