ppc_md.udbg_putc = udbg_scc_putc; ppc_md.udbg_getc = udbg_scc_getc; ppc_md.udbg_getc_poll = udbg_scc_getc_poll; 
udbg_putc = udbg_scc_putc; udbg_getc = udbg_scc_getc; udbg_getc_poll = udbg_scc_getc_poll; 
void udbg_init_scc(struct device_node *np){	u32 *reg;	unsigned long addr;	int i, x;	if (np == NULL)		np = of_find_node_by_name(NULL, "escc");	if (np == NULL || np->parent == NULL)		return;	udbg_printf("found SCC...\n");	/* Get address within mac-io ASIC */	reg = (u32 *)get_property(np, "reg", NULL);	if (reg == NULL)		return;	addr = reg[0];	udbg_printf("local addr: %lx\n", addr);	/* Get address of mac-io PCI itself */	reg = (u32 *)get_property(np->parent, "assigned-addresses", NULL);	if (reg == NULL)		return;	addr += reg[2];	udbg_printf("final addr: %lx\n", addr);	/* Setup for 57600 8N1 */	addr += 0x20;	sccc = (volatile u8 * __iomem) ioremap(addr & PAGE_MASK, PAGE_SIZE) ;	sccc += addr & ~PAGE_MASK;	sccd = sccc + 0x10;	udbg_printf("ioremap result sccc: %p\n", sccc);	mb();	for (i = 20000; i != 0; --i)		x = in_8(sccc);	out_8(sccc, 0x09);		/* reset A or B side */	out_8(sccc, 0xc0);	for (i = 0; i < sizeof(scc_inittab); ++i)		out_8(sccc, scc_inittab[i]);	ppc_md.udbg_putc = udbg_scc_putc;	ppc_md.udbg_getc = udbg_scc_getc;	ppc_md.udbg_getc_poll = udbg_scc_getc_poll;	udbg_puts("Hello World !\n");}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c8f1c8be629ee34991fdba8bfe46a5c455393209/udbg_scc.c/buggy/arch/ppc64/kernel/udbg_scc.c