Skip to contentSkip to conversation

fix celleb link failure

PATCH NAK Christoph Hellwig 2 participants 4 messages May 15, 2007 – May 21, 2007 PowerPC

lore
Share & tools
lore
#0 lore raw

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
Index: linux-2.6.20/arch/powerpc/platforms/celleb/Makefile
===================================================================
@@ -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
Index: linux-2.6.20/arch/powerpc/platforms/celleb/scc_sio.c
===================================================================
@@ -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*/;
#1 lore raw

Christoph,

Quoted 4 lines

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.

Quoted 3 lines

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 -1
 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

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

#2 lore raw
Quoted 4 lines · Ishizaki Kou

NACK.

Thanks for pointing it out. But this fix is still wrong. early_serial_txx9_setup is availble if CONFIG_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
Index: linux-2.6.20/arch/powerpc/platforms/celleb/Makefile
===================================================================
@@ -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
Acked-by
#3 lore raw
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-
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 -1
 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

Thanks.

Best regards,
Kou Ishizaki