summaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files/arch
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-12-08 10:15:00 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-12-08 10:15:00 +0000
commitbc4cb1b39fd395012ff2256ae64497de666b4664 (patch)
tree72c1e4669293fbe110c6ba601e8c25ec52c614bc /target/linux/ramips/files/arch
parenta3373ca948c4564d017793a9d324d300c7fb37a1 (diff)
ramips: ramips_esw: convert it to be a platform driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24331 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ramips/files/arch')
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h18
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c21
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h6
3 files changed, 43 insertions, 2 deletions
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h
new file mode 100644
index 000000000..fd1f6eb19
--- /dev/null
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h
@@ -0,0 +1,18 @@
+/*
+ * Ralink RT305x SoC platform device registration
+ *
+ * Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ */
+
+#ifndef _RT305X_ESW_PLATFORM_H
+#define _RT305X_ESW_PLATFORM_H
+
+struct rt305x_esw_platform_data
+{
+};
+
+#endif /* _RT305X_ESW_PLATFORM_H */
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c
index 4ee0d4f1b..46bf460d9 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.c
@@ -1,7 +1,7 @@
/*
* Ralink RT305x SoC platform device registration
*
- * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
+ * Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
@@ -130,10 +130,29 @@ static struct platform_device rt305x_eth_device = {
}
};
+static struct resource rt305x_esw_resources[] = {
+ {
+ .start = RT305X_SWITCH_BASE,
+ .end = RT305X_SWITCH_BASE + PAGE_SIZE - 1,
+ .flags = IORESOURCE_MEM,
+ },
+};
+
+struct rt305x_esw_platform_data rt305x_esw_data;
+static struct platform_device rt305x_esw_device = {
+ .name = "rt305x-esw",
+ .resource = rt305x_esw_resources,
+ .num_resources = ARRAY_SIZE(rt305x_esw_resources),
+ .dev = {
+ .platform_data = &rt305x_esw_data,
+ }
+};
+
void __init rt305x_register_ethernet(void)
{
ramips_eth_data.sys_freq = rt305x_sys_freq;
+ platform_device_register(&rt305x_esw_device);
platform_device_register(&rt305x_eth_device);
}
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h
index b731f8683..6a267116b 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/devices.h
@@ -1,7 +1,7 @@
/*
* Ralink RT305x SoC specific platform device definitions
*
- * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
+ * Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
@@ -11,8 +11,12 @@
#ifndef __RT305X_DEVICES_H
#define __RT305X_DEVICES_H
+#include <asm/mach-ralink/rt305x_esw_platform.h>
+
struct physmap_flash_data;
+extern struct rt305x_esw_platform_data rt305x_esw_data;
+
extern void rt305x_register_flash(unsigned int id,
struct physmap_flash_data *pdata) __init;
extern void rt305x_register_ethernet(void) __init;