]> git.ipfire.org Git - people/ms/ipfire-3.x.git/commitdiff
kernel: Ship DTB files on ARM.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 14 Apr 2013 18:37:44 +0000 (18:37 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 14 Apr 2013 18:37:44 +0000 (18:37 +0000)
Remove patch for SMSC95xx to read the MAC address from
the device tree.

kernel/kernel.nm
kernel/patches/arm-smsc-support-reading-mac-address-from-device-tree.patch [deleted file]

index ab2e1df1b6f1efe7920ead30550b0a9e0ab43bce..5a1099bdb943929b14ee1caa3244a71781b2b5aa 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = kernel
 version    = 3.8.6
-release    = 1
+release    = 2
 thisapp    = linux-%{version}
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
@@ -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 (file)
index a36c683..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-From 0b608345e114681f66ca0a3cf9d9434728da62ce Mon Sep 17 00:00:00 2001
-From: Ken Cox <ken@coxcampers.net>
-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 <linux/crc32.h>
- #include <linux/usb/usbnet.h>
- #include <linux/slab.h>
-+#include <linux/of_device.h>
- #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 <linux/crc32.h>
- #include <linux/usb/usbnet.h>
- #include <linux/slab.h>
-+#include <linux/of_device.h>
- #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
-