From ef0b9be95e18795c9eabdec012a73c70bca70ac5 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sun, 14 Jul 2013 12:59:00 +0000
Subject: [PATCH] brcm47xx: do not load the kernel modules needed for Ethernet
 manually

add the boot flag to make the kernel modules needed for Ethernet and
diag load on startup.

SVN-Revision: 37284
---
 package/kernel/broadcom-diag/Makefile                     | 5 +++++
 package/kernel/linux/modules/hwmon.mk                     | 2 +-
 package/kernel/linux/modules/netdevices.mk                | 4 ++--
 package/kernel/linux/modules/other.mk                     | 4 ++--
 .../base-files/lib/preinit/05_init_interfaces_brcm        | 8 --------
 .../brcm47xx/base-files/lib/preinit/05_reset_button_brcm  | 7 -------
 6 files changed, 10 insertions(+), 20 deletions(-)
 delete mode 100644 target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm

diff --git a/package/kernel/broadcom-diag/Makefile b/package/kernel/broadcom-diag/Makefile
index 61b35290fc..939b1cb5fc 100644
--- a/package/kernel/broadcom-diag/Makefile
+++ b/package/kernel/broadcom-diag/Makefile
@@ -18,6 +18,11 @@ define KernelPackage/diag
   DEPENDS:=@TARGET_brcm47xx
   TITLE:=Driver for router LEDs and Buttons
   FILES:=$(PKG_BUILD_DIR)/diag.ko
+  AUTOLOAD:=$(call AutoLoad,5,diag,1)
+endef
+
+define KernelPackage/diag/description
+ Kernel modules for Broadcom LED and Button driver
 endef
 
 define Build/Prepare
diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk
index 969e8fa3aa..3df70f47bf 100644
--- a/package/kernel/linux/modules/hwmon.mk
+++ b/package/kernel/linux/modules/hwmon.mk
@@ -15,7 +15,7 @@ define KernelPackage/hwmon-core
 	CONFIG_HWMON_DEBUG_CHIP=n
   FILES:= \
 	$(LINUX_DIR)/drivers/hwmon/hwmon.ko
-  AUTOLOAD:=$(call AutoLoad,40,hwmon)
+  AUTOLOAD:=$(call AutoLoad,17,hwmon,1)
 endef
 
 define KernelPackage/hwmon-core/description
diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk
index 3dec19e3c0..4ae2a28160 100644
--- a/package/kernel/linux/modules/netdevices.mk
+++ b/package/kernel/linux/modules/netdevices.mk
@@ -422,7 +422,7 @@ define KernelPackage/b44
   DEPENDS:=@PCI_SUPPORT +!TARGET_brcm47xx:kmod-ssb
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/b44.ko
-  AUTOLOAD:=$(call AutoLoad,50,b44)
+  AUTOLOAD:=$(call AutoLoad,19,b44,1)
 endef
 
 define KernelPackage/b44/description
@@ -476,7 +476,7 @@ define KernelPackage/tg3
   DEPENDS:=+!TARGET_brcm47xx:kmod-libphy +!LINUX_3_3:kmod-hwmon-core +(LINUX_3_8||LINUX_3_9||LINUX_3_10):kmod-ptp
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko
-  AUTOLOAD:=$(call AutoLoad,50,tg3)
+  AUTOLOAD:=$(call AutoLoad,19,tg3,1)
 endef
 
 define KernelPackage/tg3/description
diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk
index 94bf5dd6cf..03cfbc16f5 100644
--- a/package/kernel/linux/modules/other.mk
+++ b/package/kernel/linux/modules/other.mk
@@ -640,7 +640,7 @@ define KernelPackage/pps
   TITLE:=PPS support
   KCONFIG:=CONFIG_PPS
   FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
-  AUTOLOAD:=$(call AutoLoad,20,pps_core)
+  AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
 endef
 
 define KernelPacakge/pps/description
@@ -658,7 +658,7 @@ define KernelPackage/ptp
   DEPENDS:=+kmod-pps
   KCONFIG:=CONFIG_PTP_1588_CLOCK
   FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
-  AUTOLOAD:=$(call AutoLoad,25,ptp)
+  AUTOLOAD:=$(call AutoLoad,18,ptp,1)
 endef
 
 define KernelPacakge/ptp/description
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
index 04992dee16..ac18e0baf2 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
@@ -3,14 +3,6 @@
 set_preinit_iface() {
 	ifname=eth0
 
-	insmod diag
-	insmod hwmon
-	insmod pps_core
-	insmod ptp
-	insmod tg3
-	insmod b44
-	insmod bgmac
-
 	# hardware specific overrides
 	case "$(cat /proc/diag/model)" in
 		"Linksys WAP54G V1") ifname=eth1;;
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm
deleted file mode 100644
index 5aa7bc0b1d..0000000000
--- a/target/linux/brcm47xx/base-files/lib/preinit/05_reset_button_brcm
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-enable_reset_button() {
-	insmod diag
-}
-
-boot_hook_add preinit_main enable_reset_button
-- 
2.30.2