From 9d4be168c9d2ff834108fff25f3edcbae3308bad Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 14 Apr 2013 18:37:44 +0000 Subject: [PATCH] kernel: Ship DTB files on ARM. Remove patch for SMSC95xx to read the MAC address from the device tree. --- kernel/kernel.nm | 18 +++- ...reading-mac-address-from-device-tree.patch | 92 ------------------- 2 files changed, 17 insertions(+), 93 deletions(-) delete mode 100644 kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch diff --git a/kernel/kernel.nm b/kernel/kernel.nm index ab2e1df1b..5a1099bdb 100644 --- a/kernel/kernel.nm +++ b/kernel/kernel.nm @@ -5,7 +5,7 @@ name = kernel version = 3.8.6 -release = 1 +release = 2 thisapp = linux-%{version} maintainer = Arne Fitzenreiter @@ -219,6 +219,21 @@ build make ARCH=%{kernel_arch} CC="gcc -fno-PIE" %{kernel_target} modules \ %{kernel_build_flags} %{PARALLELISMFLAGS} + # Compile Flattened Device Tree database + case "${DISTRO_ARCH}" in + arm*) + make ARCH=%{kernel_arch} dtbs + + mkdir -pv %{BUILDROOT}/boot/dtb-${fullversion} + for file in arch/arm/boot/dts/*.dtb; do + [ -e "${file}" ] || continue + + install -m 644 ${file} %{BUILDROOT}/boot/dtb-${fullversion} || exit 1 + rm -f ${file} + done + ;; + esac + # Install the results. mkdir -pv %{BUILDROOT}/boot %{BUILDROOT}/usr/lib/modules/${fullversion} install -m 755 %{kernel_image} %{BUILDROOT}/boot/vmlinuz-${fullversion} @@ -387,6 +402,7 @@ packages files /boot/System.map-%{kernel_release} + /boot/dtb-%{kernel_release} /boot/vmlinuz-%{kernel_release} /boot/initramfs-%{kernel_release}.img /etc/ld.so.conf.d/kernel-%{kernel_release}.conf diff --git a/kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch b/kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch deleted file mode 100644 index a36c68369..000000000 --- a/kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 0b608345e114681f66ca0a3cf9d9434728da62ce Mon Sep 17 00:00:00 2001 -From: Ken Cox -Date: Thu, 23 Jun 2011 10:36:43 -0500 -Subject: [PATCH] Support reading mac address from device tree. - -If CONFIG_OF is enabled, we will try to read the mac address from the device tree. This enables us the ability to have a "static" mac address on arm boards such as the pandaboard and beagleboard which generate random mac addresses. ---- - drivers/net/usb/smsc75xx.c | 17 +++++++++++++++++ - drivers/net/usb/smsc95xx.c | 18 +++++++++++++++++- - 2 files changed, 34 insertions(+), 1 deletions(-) - -diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c -index 753ee6e..ac0a200 100644 ---- a/drivers/net/usb/smsc75xx.c -+++ b/drivers/net/usb/smsc75xx.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include "smsc75xx.h" - - #define SMSC_CHIPNAME "smsc75xx" -@@ -658,6 +659,22 @@ static int smsc75xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) - - static void smsc75xx_init_mac_address(struct usbnet *dev) - { -+ void *address; -+#ifdef CONFIG_OF -+ struct device_node *np; -+ -+ /* try the device tree */ -+ np = of_find_node_by_name(NULL, "smsc75xx"); -+ if (np) { -+ address = of_get_property(np, "local-mac-address", NULL); -+ if (address) { -+ memcpy(dev->net->dev_addr, address, ETH_ALEN); -+ netif_dbg(dev, ifup, dev->net, "MAC address read from device tree\n"); -+ return; -+ } -+ } -+#endif -+ - /* try reading mac address from EEPROM */ - if (smsc75xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, - dev->net->dev_addr) == 0) { -diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index bc86f4b..c83942d 100644 ---- a/drivers/net/usb/smsc95xx.c -+++ b/drivers/net/usb/smsc95xx.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include "smsc95xx.h" - - #define SMSC_CHIPNAME "smsc95xx" -@@ -639,6 +640,22 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) - - static void smsc95xx_init_mac_address(struct usbnet *dev) - { -+ void *address; -+#ifdef CONFIG_OF -+ struct device_node *np; -+ -+ /* try the device tree */ -+ np = of_find_node_by_name(NULL, "smsc95xx"); -+ if (np) { -+ address = of_get_property(np, "local-mac-address", NULL); -+ if (address) { -+ memcpy(dev->net->dev_addr, address, ETH_ALEN); -+ netif_dbg(dev, ifup, dev->net, "MAC address read from device tree\n"); -+ return; -+ } -+ } -+#endif -+ - /* try reading mac address from EEPROM */ - if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, - dev->net->dev_addr) == 0) { -@@ -648,7 +665,6 @@ static void smsc95xx_init_mac_address(struct usbnet *dev) - return; - } - } -- - /* no eeprom, or eeprom values are invalid. generate random MAC */ - random_ether_addr(dev->net->dev_addr); - netif_dbg(dev, ifup, dev->net, "MAC address set to random_ether_addr\n"); --- -1.7.2.3 - -- 2.39.2