diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2007-05-10 11:29:43 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2007-05-10 11:29:43 +0000 |
commit | 5b0da60e41815a82258e9a68a408da077db23f7f (patch) | |
tree | d5f4f73383a4badedfff52f32f63a975655907cb /target/linux/ixp4xx-2.6/patches/740-avila_loft_mac_platform.patch | |
parent | f44dfc12c77aa88c146e494396de321110aed222 (diff) | |
download | upstream-5b0da60e41815a82258e9a68a408da077db23f7f.tar.gz upstream-5b0da60e41815a82258e9a68a408da077db23f7f.tar.bz2 upstream-5b0da60e41815a82258e9a68a408da077db23f7f.zip |
fixup avila networking, add support for the loft
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7168 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ixp4xx-2.6/patches/740-avila_loft_mac_platform.patch')
-rw-r--r-- | target/linux/ixp4xx-2.6/patches/740-avila_loft_mac_platform.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/ixp4xx-2.6/patches/740-avila_loft_mac_platform.patch b/target/linux/ixp4xx-2.6/patches/740-avila_loft_mac_platform.patch new file mode 100644 index 0000000000..952a05506e --- /dev/null +++ b/target/linux/ixp4xx-2.6/patches/740-avila_loft_mac_platform.patch @@ -0,0 +1,50 @@ +Index: linux-2.6.19/arch/arm/mach-ixp4xx/avila-setup.c +=================================================================== +--- linux-2.6.19.orig/arch/arm/mach-ixp4xx/avila-setup.c 2007-01-23 03:12:36.000000000 -0800 ++++ linux-2.6.19/arch/arm/mach-ixp4xx/avila-setup.c 2007-01-23 03:12:47.000000000 -0800 +@@ -18,6 +18,10 @@ + #include <linux/tty.h> + #include <linux/serial_8250.h> + #include <linux/slab.h> ++#ifdef CONFIG_SENSORS_EEPROM ++#include <linux/i2c.h> ++#include <linux/eeprom.h> ++#endif + + #include <asm/types.h> + #include <asm/setup.h> +@@ -198,9 +202,34 @@ + &avila_npe_ucode, + }; + ++#ifdef CONFIG_SENSORS_EEPROM ++static int loft_eeprom_do(struct notifier_block *self, unsigned long event, void *t) ++{ ++ struct eeprom_data *data = t; ++ ++ char macs[12]; ++ ++ /* The MACs are the first 12 bytes in the eeprom at address 0x51 */ ++ if (event == EEPROM_REGISTER && data->client.addr == 0x51) { ++ data->attr->read(&data->client.dev.kobj, macs, 0, 12); ++ memcpy(&plat_mac0.hwaddr, macs, 6); ++ memcpy(&plat_mac1.hwaddr, macs + 6, 6); ++ } ++ ++ return NOTIFY_DONE; ++} ++ ++static struct notifier_block loft_eeprom_notifier = { ++ .notifier_call = loft_eeprom_do ++}; ++#endif ++ + static void __init avila_init(void) + { + ixp4xx_sys_init(); ++#ifdef CONFIG_SENSORS_EEPROM ++ register_eeprom_notifier(&loft_eeprom_notifier); ++#endif + + avila_flash_resource.start = IXP4XX_EXP_BUS_BASE(0); + avila_flash_resource.end = |