|
From: Paul M. <le...@us...> - 2006-08-07 06:27:29
|
Update of /cvsroot/linuxsh/linux/arch/sh/boards/renesas/rts7751r2d In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv6166/arch/sh/boards/renesas/rts7751r2d Modified Files: Makefile setup.c Removed Files: mach.c Log Message: Some more machvec overhauling and setup code cleanup. Kill off get_system_type() and platform_setup(), we can do these both through the machvec. While we're add it, kill off more useless mach.c's and drop some legacy cruft from setup.c. Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/boards/renesas/rts7751r2d/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile 16 Oct 2005 16:31:08 -0000 1.2 +++ Makefile 7 Aug 2006 06:27:25 -0000 1.3 @@ -2,5 +2,5 @@ # Makefile for the RTS7751R2D specific parts of the kernel # -obj-y := mach.o setup.o io.o irq.o led.o - +obj-y := setup.o io.o irq.o +obj-$(CONFIG_HEARTBEAT) += led.o Index: setup.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/boards/renesas/rts7751r2d/setup.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- setup.c 18 Jul 2006 13:30:28 -0000 1.6 +++ setup.c 7 Aug 2006 06:27:25 -0000 1.7 @@ -13,9 +13,17 @@ #include <linux/serial_8250.h> #include <linux/pm.h> #include <asm/io.h> +#include <asm/machvec.h> #include <asm/mach/rts7751r2d.h> #include <asm/voyagergx.h> +extern void heartbeat_rts7751r2d(void); +extern void init_rts7751r2d_IRQ(void); +extern int rts7751r2d_irq_demux(int irq); + +extern void *voyagergx_consistent_alloc(struct device *, size_t, dma_addr_t *, gfp_t); +extern int voyagergx_consistent_free(struct device *, size_t, void *, dma_addr_t); + static struct plat_serial8250_port uart_platform_data[] = { { .membase = (void *)VOYAGER_UART_BASE, @@ -70,12 +78,6 @@ return platform_add_devices(rts7751r2d_devices, ARRAY_SIZE(rts7751r2d_devices)); } -__initcall(rts7751r2d_devices_setup); - -const char *get_system_type(void) -{ - return "RTS7751R2D"; -} static void rts7751r2d_power_off(void) { @@ -85,11 +87,56 @@ /* * Initialize the board */ -void __init platform_setup(void) +static void __init rts7751r2d_setup(char **cmdline_p) { - printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n"); + device_initcall(rts7751r2d_devices_setup); + ctrl_outw(0x0000, PA_OUTPORT); pm_power_off = rts7751r2d_power_off; voyagergx_serial_init(); + + printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n"); } + +/* + * The Machine Vector + */ +struct sh_machine_vector mv_rts7751r2d __initmv = { + .mv_name = "RTS7751R2D", + .mv_setup = rts7751r2d_setup, + .mv_nr_irqs = 72, + + .mv_inb = rts7751r2d_inb, + .mv_inw = rts7751r2d_inw, + .mv_inl = rts7751r2d_inl, + .mv_outb = rts7751r2d_outb, + .mv_outw = rts7751r2d_outw, + .mv_outl = rts7751r2d_outl, + + .mv_inb_p = rts7751r2d_inb_p, + .mv_inw_p = rts7751r2d_inw, + .mv_inl_p = rts7751r2d_inl, + .mv_outb_p = rts7751r2d_outb_p, + .mv_outw_p = rts7751r2d_outw, + .mv_outl_p = rts7751r2d_outl, + + .mv_insb = rts7751r2d_insb, + .mv_insw = rts7751r2d_insw, + .mv_insl = rts7751r2d_insl, + .mv_outsb = rts7751r2d_outsb, + .mv_outsw = rts7751r2d_outsw, + .mv_outsl = rts7751r2d_outsl, + + .mv_init_irq = init_rts7751r2d_IRQ, +#ifdef CONFIG_HEARTBEAT + .mv_heartbeat = heartbeat_rts7751r2d, +#endif + .mv_irq_demux = rts7751r2d_irq_demux, + +#ifdef CONFIG_USB_SM501 + .mv_consistent_alloc = voyagergx_consistent_alloc, + .mv_consistent_free = voyagergx_consistent_free, +#endif +}; +ALIAS_MV(rts7751r2d) --- mach.c DELETED --- |