move machine setup code

SVN-Revision: 13656
This commit is contained in:
Gabor Juhos 2008-12-15 16:11:42 +00:00
parent a5f66cd0e8
commit d49e66360c
4 changed files with 32 additions and 18 deletions

View file

@ -74,4 +74,12 @@ extern void ar71xx_add_device_gpio_buttons(int id,
unsigned nbuttons, unsigned nbuttons,
struct gpio_button *buttons) __init; struct gpio_button *buttons) __init;
#ifdef CONFIG_AR71XX_EARLY_SERIAL
static inline void ar71xx_add_device_uart(void) {}
#else
extern void ar71xx_add_device_uart(void) __init;
#endif
extern void ar71xx_add_device_wdt(void) __init;
#endif /* __ASM_MACH_AR71XX_PLATFORM_H */ #endif /* __ASM_MACH_AR71XX_PLATFORM_H */

View file

@ -18,7 +18,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/serial_8250.h> #include <linux/serial_8250.h>
#include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include <asm/mach-ar71xx/platform.h> #include <asm/mach-ar71xx/platform.h>
@ -138,9 +137,7 @@ void __init ar71xx_add_device_usb(void)
} }
} }
#ifdef CONFIG_AR71XX_EARLY_SERIAL #ifndef CONFIG_AR71XX_EARLY_SERIAL
static void __init ar71xx_add_device_uart(void) {};
#else
static struct resource ar71xx_uart_resources[] = { static struct resource ar71xx_uart_resources[] = {
{ {
.start = AR71XX_UART_BASE, .start = AR71XX_UART_BASE,
@ -172,7 +169,7 @@ static struct platform_device ar71xx_uart_device = {
}, },
}; };
static void __init ar71xx_add_device_uart(void) void __init ar71xx_add_device_uart(void)
{ {
ar71xx_uart_data[0].uartclk = ar71xx_ahb_freq; ar71xx_uart_data[0].uartclk = ar71xx_ahb_freq;
platform_device_register(&ar71xx_uart_device); platform_device_register(&ar71xx_uart_device);
@ -597,16 +594,3 @@ void __init ar71xx_parse_mac_addr(char *mac_str)
printk(KERN_DEBUG "ar71xx: failed to parse mac address " printk(KERN_DEBUG "ar71xx: failed to parse mac address "
"\"%s\"\n", mac_str); "\"%s\"\n", mac_str);
} }
static int __init ar71xx_machine_setup(void)
{
ar71xx_gpio_init();
ar71xx_add_device_uart();
ar71xx_add_device_wdt();
mips_machine_setup(ar71xx_mach_type);
return 0;
}
arch_initcall(ar71xx_machine_setup);

View file

@ -23,6 +23,7 @@
#include <asm/traps.h> #include <asm/traps.h>
#include <asm/time.h> /* for mips_hpt_frequency */ #include <asm/time.h> /* for mips_hpt_frequency */
#include <asm/reboot.h> /* for _machine_{restart,halt} */ #include <asm/reboot.h> /* for _machine_{restart,halt} */
#include <asm/mips_machine.h>
#include <asm/mach-ar71xx/ar71xx.h> #include <asm/mach-ar71xx/ar71xx.h>
#include <asm/mach-ar71xx/pci.h> #include <asm/mach-ar71xx/pci.h>
@ -270,3 +271,16 @@ void __init plat_time_init(void)
{ {
mips_hpt_frequency = ar71xx_cpu_freq / 2; mips_hpt_frequency = ar71xx_cpu_freq / 2;
} }
static int __init ar71xx_machine_setup(void)
{
ar71xx_gpio_init();
ar71xx_add_device_uart();
ar71xx_add_device_wdt();
mips_machine_setup(ar71xx_mach_type);
return 0;
}
arch_initcall(ar71xx_machine_setup);

View file

@ -74,4 +74,12 @@ extern void ar71xx_add_device_gpio_buttons(int id,
unsigned nbuttons, unsigned nbuttons,
struct gpio_button *buttons) __init; struct gpio_button *buttons) __init;
#ifdef CONFIG_AR71XX_EARLY_SERIAL
static inline void ar71xx_add_device_uart(void) {}
#else
extern void ar71xx_add_device_uart(void) __init;
#endif
extern void ar71xx_add_device_wdt(void) __init;
#endif /* __ASM_MACH_AR71XX_PLATFORM_H */ #endif /* __ASM_MACH_AR71XX_PLATFORM_H */