[kernel] r10372 - dists/sid/linux-2.6/debian/patches/features/arm
Gordon Farquharson
gordon-guest at alioth.debian.org
Sat Feb 2 09:46:16 UTC 2008
Author: gordon-guest
Date: Sat Feb 2 09:46:12 2008
New Revision: 10372
Log:
arm/ixp4xx: Update Ethernet driver and support. The driver is now loaded by udev automatically.
Modified:
dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-drivers.patch
dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-headers.patch
dists/sid/linux-2.6/debian/patches/features/arm/nas100d-net-driver-support.patch
dists/sid/linux-2.6/debian/patches/features/arm/nslu2-net-driver-support.patch
Modified: dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-drivers.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-drivers.patch (original)
+++ dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-drivers.patch Sat Feb 2 09:46:12 2008
@@ -27,10 +27,10 @@
+obj-$(CONFIG_IXP4XX_ETH) += ixp4xx_eth.o
diff --git a/drivers/net/arm/ixp4xx_eth.c b/drivers/net/arm/ixp4xx_eth.c
new file mode 100644
-index 0000000..b654060
+index 0000000..0ee490b
--- /dev/null
+++ b/drivers/net/arm/ixp4xx_eth.c
-@@ -0,0 +1,1261 @@
+@@ -0,0 +1,1262 @@
+/*
+ * Intel IXP4xx Ethernet driver for Linux
+ *
@@ -1290,5 +1290,6 @@
+MODULE_AUTHOR("Krzysztof Halasa");
+MODULE_DESCRIPTION("Intel IXP4xx Ethernet driver");
+MODULE_LICENSE("GPL v2");
++MODULE_ALIAS("platform:ixp4xx_eth");
+module_init(eth_init_module);
+module_exit(eth_cleanup_module);
Modified: dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-headers.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-headers.patch (original)
+++ dists/sid/linux-2.6/debian/patches/features/arm/ixp4xx-net-headers.patch Sat Feb 2 09:46:12 2008
@@ -1,20 +1,10 @@
diff --git a/include/asm-arm/arch-ixp4xx/platform.h b/include/asm-arm/arch-ixp4xx/platform.h
-index 2a44d3d..695b9c4 100644
+index 2a44d3d..aee915f 100644
--- a/include/asm-arm/arch-ixp4xx/platform.h
+++ b/include/asm-arm/arch-ixp4xx/platform.h
-@@ -77,8 +77,7 @@ extern unsigned long ixp4xx_exp_bus_size;
+@@ -102,6 +102,27 @@ struct ixp4xx_pata_data {
- /*
- * The IXP4xx chips do not have an I2C unit, so GPIO lines are just
-- * used to
-- * Used as platform_data to provide GPIO pin information to the ixp42x
-+ * used as platform_data to provide GPIO pin information to the ixp42x
- * I2C driver.
- */
- struct ixp4xx_i2c_pins {
-@@ -86,6 +85,27 @@ struct ixp4xx_i2c_pins {
- unsigned long scl_pin;
- };
+ struct sys_timer;
+#define IXP4XX_ETH_NPEA 0x00
+#define IXP4XX_ETH_NPEB 0x10
@@ -38,7 +28,5 @@
+};
+
/*
- * This structure provide a means for the board setup code
- * to give information to th pata_ixp4xx driver. It is
-
-
+ * Frequency of clock used for primary clocksource
+ */
Modified: dists/sid/linux-2.6/debian/patches/features/arm/nas100d-net-driver-support.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/arm/nas100d-net-driver-support.patch (original)
+++ dists/sid/linux-2.6/debian/patches/features/arm/nas100d-net-driver-support.patch Sat Feb 2 09:46:12 2008
@@ -1,8 +1,16 @@
diff --git a/arch/arm/mach-ixp4xx/nas100d-setup.c b/arch/arm/mach-ixp4xx/nas100d-setup.c
-index 54d884f..39d7d90 100644
+index 54d884f..2cbcd41 100644
--- a/arch/arm/mach-ixp4xx/nas100d-setup.c
+++ b/arch/arm/mach-ixp4xx/nas100d-setup.c
-@@ -21,6 +21,7 @@
+@@ -12,6 +12,7 @@
+ *
+ */
+
++#include <linux/if_ether.h>
+ #include <linux/kernel.h>
+ #include <linux/serial.h>
+ #include <linux/serial_8250.h>
+@@ -21,6 +22,7 @@
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/flash.h>
@@ -10,7 +18,7 @@
static struct flash_platform_data nas100d_flash_data = {
.map_name = "cfi_probe",
-@@ -125,12 +126,30 @@ static struct platform_device nas100d_uart = {
+@@ -125,12 +127,30 @@ static struct platform_device nas100d_uart = {
.resource = nas100d_uart_resources,
};
@@ -41,47 +49,39 @@
};
static void nas100d_power_off(void)
-@@ -146,6 +165,9 @@ static void nas100d_power_off(void)
+@@ -146,6 +166,10 @@ static void nas100d_power_off(void)
static void __init nas100d_init(void)
{
++ DECLARE_MAC_BUF(mac_buf);
+ uint8_t __iomem *f;
+ int i;
+
ixp4xx_sys_init();
/* gpio 14 and 15 are _not_ clocks */
-@@ -165,6 +187,33 @@ static void __init nas100d_init(void)
+@@ -165,6 +189,24 @@ static void __init nas100d_init(void)
(void)platform_device_register(&nas100d_uart);
platform_add_devices(nas100d_devices, ARRAY_SIZE(nas100d_devices));
+
-+
+ /*
+ * Map in a portion of the flash and read the MAC address.
+ * Since it is stored in BE in the flash itself, we need to
+ * byteswap it if we're in LE mode.
+ */
-+ if ((f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x1000000))) {
++ f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x1000000);
++ if (f) {
++ for (i = 0; i < 6; i++)
+#ifdef __ARMEB__
-+ for (i = 0; i < 6; i++) {
+ nas100d_plat_eth[0].hwaddr[i] = readb(f + 0xFC0FD8 + i);
-+ }
+#else
-+ nas100d_plat_eth[0].hwaddr[0] = readb(f + 0xFC0FD8 + 3);
-+ nas100d_plat_eth[0].hwaddr[1] = readb(f + 0xFC0FD8 + 2);
-+ nas100d_plat_eth[0].hwaddr[2] = readb(f + 0xFC0FD8 + 1);
-+ nas100d_plat_eth[0].hwaddr[3] = readb(f + 0xFC0FD8 + 0);
-+ nas100d_plat_eth[0].hwaddr[4] = readb(f + 0xFC0FD8 + 7);
-+ nas100d_plat_eth[0].hwaddr[5] = readb(f + 0xFC0FD8 + 6);
++ nas100d_plat_eth[0].hwaddr[i] = readb(f + 0xFC0FD8 + (i^3));
+#endif
+ iounmap(f);
+ }
-+ printk(KERN_INFO "NAS100D: Using MAC address %.2x:%.2x:%.2x:%.2x:%.2x:%.2x for port 0\n",
-+ nas100d_plat_eth[0].hwaddr[0], nas100d_plat_eth[0].hwaddr[1],
-+ nas100d_plat_eth[0].hwaddr[2], nas100d_plat_eth[0].hwaddr[3],
-+ nas100d_plat_eth[0].hwaddr[4], nas100d_plat_eth[0].hwaddr[5]);
-+
++ printk(KERN_INFO "NAS100D: Using MAC address %s for port 0\n",
++ print_mac(mac_buf, nas100d_plat_eth[0].hwaddr));
}
MACHINE_START(NAS100D, "Iomega NAS 100d")
Modified: dists/sid/linux-2.6/debian/patches/features/arm/nslu2-net-driver-support.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/arm/nslu2-net-driver-support.patch (original)
+++ dists/sid/linux-2.6/debian/patches/features/arm/nslu2-net-driver-support.patch Sat Feb 2 09:46:12 2008
@@ -1,8 +1,16 @@
diff --git a/arch/arm/mach-ixp4xx/nslu2-setup.c b/arch/arm/mach-ixp4xx/nslu2-setup.c
-index 77277d2..f5e9cf7 100644
+index 77277d2..fcd4fa6 100644
--- a/arch/arm/mach-ixp4xx/nslu2-setup.c
+++ b/arch/arm/mach-ixp4xx/nslu2-setup.c
-@@ -24,6 +24,7 @@
+@@ -14,6 +14,7 @@
+ * Changed to conform to new style __init ixdp425 kas11 10/22/04
+ */
+
++#include <linux/if_ether.h>
+ #include <linux/kernel.h>
+ #include <linux/serial.h>
+ #include <linux/serial_8250.h>
+@@ -24,6 +25,7 @@
#include <asm/mach/arch.h>
#include <asm/mach/flash.h>
#include <asm/mach/time.h>
@@ -10,7 +18,7 @@
static struct flash_platform_data nslu2_flash_data = {
.map_name = "cfi_probe",
-@@ -140,6 +141,23 @@ static struct platform_device nslu2_uart = {
+@@ -140,6 +142,23 @@ static struct platform_device nslu2_uart = {
.resource = nslu2_uart_resources,
};
@@ -34,7 +42,7 @@
static struct platform_device *nslu2_devices[] __initdata = {
&nslu2_i2c_gpio,
&nslu2_flash,
-@@ -147,6 +165,7 @@ static struct platform_device *nslu2_devices[] __initdata = {
+@@ -147,6 +166,7 @@ static struct platform_device *nslu2_devices[] __initdata = {
#ifdef CONFIG_LEDS_IXP4XX
&nslu2_leds,
#endif
@@ -42,46 +50,39 @@
};
static void nslu2_power_off(void)
-@@ -175,6 +194,9 @@ static struct sys_timer nslu2_timer = {
+@@ -175,6 +195,10 @@ static struct sys_timer nslu2_timer = {
static void __init nslu2_init(void)
{
++ DECLARE_MAC_BUF(mac_buf);
+ uint8_t __iomem *f;
+ int i;
+
ixp4xx_sys_init();
nslu2_flash_resource.start = IXP4XX_EXP_BUS_BASE(0);
-@@ -191,6 +213,33 @@ static void __init nslu2_init(void)
+@@ -191,6 +215,25 @@ static void __init nslu2_init(void)
(void)platform_device_register(&nslu2_uart);
platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices));
+
-+
+ /*
+ * Map in a portion of the flash and read the MAC address.
+ * Since it is stored in BE in the flash itself, we need to
+ * byteswap it if we're in LE mode.
+ */
-+ if ((f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x40000))) {
++ f = ioremap(IXP4XX_EXP_BUS_BASE(0), 0x40000);
++ if (f) {
++ for (i = 0; i < 6; i++)
+#ifdef __ARMEB__
-+ for (i = 0; i < 6; i++) {
+ nslu2_plat_eth[0].hwaddr[i] = readb(f + 0x3FFB0 + i);
-+ }
+#else
-+ nslu2_plat_eth[0].hwaddr[0] = readb(f + 0x3FFB0 + 3);
-+ nslu2_plat_eth[0].hwaddr[1] = readb(f + 0x3FFB0 + 2);
-+ nslu2_plat_eth[0].hwaddr[2] = readb(f + 0x3FFB0 + 1);
-+ nslu2_plat_eth[0].hwaddr[3] = readb(f + 0x3FFB0 + 0);
-+ nslu2_plat_eth[0].hwaddr[4] = readb(f + 0x3FFB0 + 7);
-+ nslu2_plat_eth[0].hwaddr[5] = readb(f + 0x3FFB0 + 6);
++ nslu2_plat_eth[0].hwaddr[i] = readb(f + 0x3FFB0 + (i^3));
+#endif
+ iounmap(f);
+ }
-+ printk(KERN_INFO "NSLU2: Using MAC address %.2x:%.2x:%.2x:%.2x:%.2x:%.2x for port 0\n",
-+ nslu2_plat_eth[0].hwaddr[0], nslu2_plat_eth[0].hwaddr[1],
-+ nslu2_plat_eth[0].hwaddr[2], nslu2_plat_eth[0].hwaddr[3],
-+ nslu2_plat_eth[0].hwaddr[4], nslu2_plat_eth[0].hwaddr[5]);
++ printk(KERN_INFO "NSLU2: Using MAC address %s for port 0\n",
++ print_mac(mac_buf, nslu2_plat_eth[0].hwaddr));
+
}
More information about the Kernel-svn-changes
mailing list