Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e07c9d85726e57914608a4e66a5dbb35863cd8fb
Commit:     e07c9d85726e57914608a4e66a5dbb35863cd8fb
Parent:     ca26f7d3ed3c841e561613a9ea2f44ca899e27de
Author:     Tzachi Perelstein <[EMAIL PROTECTED]>
AuthorDate: Wed Oct 31 12:42:41 2007 +0200
Committer:  Russell King <[EMAIL PROTECTED]>
CommitDate: Sat Jan 26 15:03:51 2008 +0000

    [ARM] Orion: common platform setup for Gigabit Ethernet port
    
    The Orion Ethernet port is the same port used in the Discovery
    family (MV643XX). This patch include the common platform_device
    stuff according to the existing mv643xx_eth conventions.
    
    Signed-off-by: Tzachi Perelstein <[EMAIL PROTECTED]>
    Reviewed-by: Lennert Buytenhek <[EMAIL PROTECTED]>
    Acked-by: Russell King <[EMAIL PROTECTED]>
---
 arch/arm/mach-orion/common.c |   44 ++++++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-orion/common.h |    8 +++++++
 2 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-orion/common.c b/arch/arm/mach-orion/common.c
index ab1000e..12736fd 100644
--- a/arch/arm/mach-orion/common.c
+++ b/arch/arm/mach-orion/common.c
@@ -14,6 +14,7 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/serial_8250.h>
+#include <linux/mv643xx_eth.h>
 #include <asm/page.h>
 #include <asm/timex.h>
 #include <asm/mach/map.h>
@@ -169,6 +170,49 @@ static struct platform_device orion_ehci1 = {
 };
 
 /*****************************************************************************
+ * Gigabit Ethernet port
+ * (The Orion and Discovery (MV643xx) families use the same Ethernet driver)
+ ****************************************************************************/
+
+static struct resource orion_eth_shared_resources[] = {
+       {
+               .start  = ORION_ETH_REG_BASE,
+               .end    = ORION_ETH_REG_BASE + 0xffff,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device orion_eth_shared = {
+       .name           = MV643XX_ETH_SHARED_NAME,
+       .id             = 0,
+       .num_resources  = 1,
+       .resource       = orion_eth_shared_resources,
+};
+
+static struct resource orion_eth_resources[] = {
+       {
+               .name   = "eth irq",
+               .start  = IRQ_ORION_ETH_SUM,
+               .end    = IRQ_ORION_ETH_SUM,
+               .flags  = IORESOURCE_IRQ,
+       }
+};
+
+static struct platform_device orion_eth = {
+       .name           = MV643XX_ETH_NAME,
+       .id             = 0,
+       .num_resources  = 1,
+       .resource       = orion_eth_resources,
+};
+
+void __init orion_eth_init(struct mv643xx_eth_platform_data *eth_data)
+{
+       orion_eth.dev.platform_data = eth_data;
+       platform_device_register(&orion_eth_shared);
+       platform_device_register(&orion_eth);
+}
+
+/*****************************************************************************
  * General
  ****************************************************************************/
 
diff --git a/arch/arm/mach-orion/common.h b/arch/arm/mach-orion/common.h
index 2b452fa..06c10c0 100644
--- a/arch/arm/mach-orion/common.h
+++ b/arch/arm/mach-orion/common.h
@@ -67,4 +67,12 @@ void gpio_display(void);     /* debug */
  */
 extern struct sys_timer orion_timer;
 
+/*
+ * Pull in Orion Ethernet platform_data, used by machine-setup
+ */
+
+struct mv643xx_eth_platform_data;
+
+void __init orion_eth_init(struct mv643xx_eth_platform_data *eth_data);
+
 #endif /* __ARCH_ORION_COMMON_H__ */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to