[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