diff options
Diffstat (limited to 'arch/sh/boards/dreamcast/setup.c')
-rw-r--r-- | arch/sh/boards/dreamcast/setup.c | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/arch/sh/boards/dreamcast/setup.c b/arch/sh/boards/dreamcast/setup.c index 0027b80a234..f13017eeeb2 100644 --- a/arch/sh/boards/dreamcast/setup.c +++ b/arch/sh/boards/dreamcast/setup.c | |||
@@ -22,41 +22,21 @@ | |||
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
23 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
24 | #include <linux/device.h> | 24 | #include <linux/device.h> |
25 | |||
26 | #include <asm/io.h> | 25 | #include <asm/io.h> |
27 | #include <asm/irq.h> | 26 | #include <asm/irq.h> |
27 | #include <asm/rtc.h> | ||
28 | #include <asm/machvec.h> | 28 | #include <asm/machvec.h> |
29 | #include <asm/machvec_init.h> | ||
30 | #include <asm/mach/sysasic.h> | 29 | #include <asm/mach/sysasic.h> |
31 | 30 | ||
32 | extern struct hw_interrupt_type systemasic_int; | 31 | extern struct hw_interrupt_type systemasic_int; |
33 | /* XXX: Move this into it's proper header. */ | ||
34 | extern void (*board_time_init)(void); | ||
35 | extern void aica_time_init(void); | 32 | extern void aica_time_init(void); |
36 | extern int gapspci_init(void); | 33 | extern int gapspci_init(void); |
37 | extern int systemasic_irq_demux(int); | 34 | extern int systemasic_irq_demux(int); |
38 | 35 | ||
39 | void *dreamcast_consistent_alloc(struct device *, size_t, dma_addr_t *, int); | 36 | void *dreamcast_consistent_alloc(struct device *, size_t, dma_addr_t *, gfp_t); |
40 | int dreamcast_consistent_free(struct device *, size_t, void *, dma_addr_t); | 37 | int dreamcast_consistent_free(struct device *, size_t, void *, dma_addr_t); |
41 | 38 | ||
42 | const char *get_system_type(void) | 39 | static void __init dreamcast_setup(char **cmdline_p) |
43 | { | ||
44 | return "Sega Dreamcast"; | ||
45 | } | ||
46 | |||
47 | struct sh_machine_vector mv_dreamcast __initmv = { | ||
48 | .mv_nr_irqs = NR_IRQS, | ||
49 | |||
50 | .mv_irq_demux = systemasic_irq_demux, | ||
51 | |||
52 | #ifdef CONFIG_PCI | ||
53 | .mv_consistent_alloc = dreamcast_consistent_alloc, | ||
54 | .mv_consistent_free = dreamcast_consistent_free, | ||
55 | #endif | ||
56 | }; | ||
57 | ALIAS_MV(dreamcast) | ||
58 | |||
59 | int __init platform_setup(void) | ||
60 | { | 40 | { |
61 | int i; | 41 | int i; |
62 | 42 | ||
@@ -78,6 +58,16 @@ int __init platform_setup(void) | |||
78 | if (gapspci_init() < 0) | 58 | if (gapspci_init() < 0) |
79 | printk(KERN_WARNING "GAPSPCI was not detected.\n"); | 59 | printk(KERN_WARNING "GAPSPCI was not detected.\n"); |
80 | #endif | 60 | #endif |
81 | |||
82 | return 0; | ||
83 | } | 61 | } |
62 | |||
63 | struct sh_machine_vector mv_dreamcast __initmv = { | ||
64 | .mv_name = "Sega Dreamcast", | ||
65 | .mv_setup = dreamcast_setup, | ||
66 | .mv_irq_demux = systemasic_irq_demux, | ||
67 | |||
68 | #ifdef CONFIG_PCI | ||
69 | .mv_consistent_alloc = dreamcast_consistent_alloc, | ||
70 | .mv_consistent_free = dreamcast_consistent_free, | ||
71 | #endif | ||
72 | }; | ||
73 | ALIAS_MV(dreamcast) | ||