diff mbox

[OpenWrt-Devel,v3] bcm53xx: allow building single device images

Message ID 1443349841-22405-1-git-send-email-noltari@gmail.com
State Changes Requested
Delegated to: Rafał Miłecki
Headers show

Commit Message

Álvaro Fernández Rojas Sept. 27, 2015, 10:30 a.m. UTC
While keeping the default build profile, this allows users to generate only
their device image instead of every bcm53xx supported device image
This way we can also define the proper packages for each device (USB, WiFi...)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 v3: add kmod-usb3 for all devices except for Buffalo WZR-600DHP2
 v2: add profile for Linksys EA6300 v1
 
 target/linux/bcm53xx/Makefile                |  4 +--
 target/linux/bcm53xx/image/Makefile          |  3 +-
 target/linux/bcm53xx/profiles/100-Generic.mk |  5 ++--
 target/linux/bcm53xx/profiles/ASUS.mk        | 43 ++++++++++++++++++++++++++
 target/linux/bcm53xx/profiles/Buffalo.mk     | 45 ++++++++++++++++++++++++++++
 target/linux/bcm53xx/profiles/Linksys.mk     | 16 ++++++++++
 target/linux/bcm53xx/profiles/NETGEAR.mk     | 45 ++++++++++++++++++++++++++++
 target/linux/bcm53xx/profiles/SmartRG.mk     | 16 ++++++++++
 8 files changed, 171 insertions(+), 6 deletions(-)
 create mode 100644 target/linux/bcm53xx/profiles/ASUS.mk
 create mode 100644 target/linux/bcm53xx/profiles/Buffalo.mk
 create mode 100644 target/linux/bcm53xx/profiles/Linksys.mk
 create mode 100644 target/linux/bcm53xx/profiles/NETGEAR.mk
 create mode 100644 target/linux/bcm53xx/profiles/SmartRG.mk

Comments

Felix Fietkau Sept. 27, 2015, 10:50 a.m. UTC | #1
On 2015-09-27 12:30, Álvaro Fernández Rojas wrote:
> While keeping the default build profile, this allows users to generate only
> their device image instead of every bcm53xx supported device image
> This way we can also define the proper packages for each device (USB, WiFi...)
> 
> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
> ---
>  v3: add kmod-usb3 for all devices except for Buffalo WZR-600DHP2
>  v2: add profile for Linksys EA6300 v1
By the way, if a package is shared across almost all devices (e.g.
kmod-usb2), you can add it to DEFAULT_PACKAGES and then specify
"-kmod-usb2" for the profile that should not have it.

- Felix
diff mbox

Patch

diff --git a/target/linux/bcm53xx/Makefile b/target/linux/bcm53xx/Makefile
index 68cfa63..6b916ce 100644
--- a/target/linux/bcm53xx/Makefile
+++ b/target/linux/bcm53xx/Makefile
@@ -1,5 +1,5 @@ 
 #
-# Copyright (C) 2013 OpenWrt.org
+# Copyright (C) 2013-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -23,7 +23,7 @@  endef
 
 KERNELNAME:=zImage dtbs
 
-DEFAULT_PACKAGES += swconfig wpad-mini nvram otrx \
+DEFAULT_PACKAGES += swconfig nvram otrx \
 	kmod-gpio-button-hotplug \
 	kmod-leds-gpio kmod-ledtrig-default-on kmod-ledtrig-timer
 
diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile
index c9987dd..1d8ade5 100644
--- a/target/linux/bcm53xx/image/Makefile
+++ b/target/linux/bcm53xx/image/Makefile
@@ -1,5 +1,5 @@ 
 #
-# Copyright (C) 2013 OpenWrt.org
+# Copyright (C) 2013-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -66,6 +66,7 @@  define Device/Default
   # .dtb files are prefixed by SoC type, e.g. bcm4708- which is not included in device/image names
   # extract the full dtb name based on the device info
   DT := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(1).dtb)))
+  PROFILES = Generic $$(DEVICE_NAME)
   KERNEL := kernel-bin | append-dtb | lzma-d16
   FILESYSTEMS := squashfs
   KERNEL_NAME := zImage
diff --git a/target/linux/bcm53xx/profiles/100-Generic.mk b/target/linux/bcm53xx/profiles/100-Generic.mk
index d7e9005..fb6527f 100644
--- a/target/linux/bcm53xx/profiles/100-Generic.mk
+++ b/target/linux/bcm53xx/profiles/100-Generic.mk
@@ -1,5 +1,5 @@ 
 #
-# Copyright (C) 2013 OpenWrt.org
+# Copyright (C) 2013-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,7 +7,7 @@ 
 
 define Profile/Generic
   NAME:=Broadcom SoC, BCM43xx WiFi (b43, brcmfmac, default)
-  PACKAGES:=kmod-b43 kmod-brcmfmac
+  PACKAGES:=kmod-b43 kmod-brcmfmac wpad-mini
 endef
 
 define Profile/Generic/Description
@@ -16,4 +16,3 @@  define Profile/Generic/Description
 endef
 
 $(eval $(call Profile,Generic))
-
diff --git a/target/linux/bcm53xx/profiles/ASUS.mk b/target/linux/bcm53xx/profiles/ASUS.mk
new file mode 100644
index 0000000..c513d0a
--- /dev/null
+++ b/target/linux/bcm53xx/profiles/ASUS.mk
@@ -0,0 +1,43 @@ 
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/asus-rt-ac56u
+  NAME:=ASUS RT-AC56U
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/asus-rt-ac56u/Description
+  Package set optimized for ASUS RT-AC56U.
+endef
+$(eval $(call Profile,asus-rt-ac56u))
+
+define Profile/asus-rt-ac68u
+  NAME:=ASUS RT-AC68U
+  PACKAGES:=kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/asus-rt-ac68u/Description
+  Package set optimized for ASUS RT-AC68U.
+endef
+$(eval $(call Profile,asus-rt-ac68u))
+
+define Profile/asus-rt-ac87u
+  NAME:=ASUS RT-AC87U
+  PACKAGES:=kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/asus-rt-ac87u/Description
+  Package set optimized for ASUS RT-AC87U.
+endef
+$(eval $(call Profile,asus-rt-ac87u))
+
+define Profile/asus-rt-n18u
+  NAME:=ASUS RT-N18U
+  PACKAGES:=kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/asus-rt-n18u/Description
+  Package set optimized for ASUS RT-N18U.
+endef
+$(eval $(call Profile,asus-rt-n18u))
diff --git a/target/linux/bcm53xx/profiles/Buffalo.mk b/target/linux/bcm53xx/profiles/Buffalo.mk
new file mode 100644
index 0000000..0ac367e
--- /dev/null
+++ b/target/linux/bcm53xx/profiles/Buffalo.mk
@@ -0,0 +1,45 @@ 
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/buffalo-wzr-600dhp2
+  NAME:=Buffalo WZR-600DHP2
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2
+endef
+define Profile/buffalo-wzr-600dhp2/Description
+  Package set optimized for Buffalo WZR-600DHP2.
+endef
+$(eval $(call Profile,buffalo-wzr-600dhp2))
+
+define Profile/buffalo-wzr-900dhp
+  NAME:=Buffalo WZR-900DHP
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/buffalo-wzr-900dhp/Description
+  Package set optimized for Buffalo WZR-900DHP.
+endef
+$(eval $(call Profile,buffalo-wzr-900dhp))
+
+define Profile/buffalo-wzr-1750dhp
+  NAME:=Buffalo WZR-1750DHP
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/buffalo-wzr-1750dhp/Description
+  Package set optimized for Buffalo WZR-1750DHP.
+endef
+$(eval $(call Profile,buffalo-wzr-1750dhp))
+
+define Profile/buffalo-wxr-1900dhp
+  NAME:=Buffalo WXR-1900DHP
+  PACKAGES:=kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/buffalo-wxr-1900dhp/Description
+  Package set optimized for Buffalo WXR-1900DHP.
+endef
+$(eval $(call Profile,buffalo-wxr-1900dhp))
diff --git a/target/linux/bcm53xx/profiles/Linksys.mk b/target/linux/bcm53xx/profiles/Linksys.mk
new file mode 100644
index 0000000..6efcace
--- /dev/null
+++ b/target/linux/bcm53xx/profiles/Linksys.mk
@@ -0,0 +1,16 @@ 
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/linksys-ea6300-v1
+  NAME:=Linksys EA6300 v1
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/linksys-ea6300-v1/Description
+  Package set optimized for Linksys EA6300 v1.
+endef
+$(eval $(call Profile,linksys-ea6300-v1))
diff --git a/target/linux/bcm53xx/profiles/NETGEAR.mk b/target/linux/bcm53xx/profiles/NETGEAR.mk
new file mode 100644
index 0000000..951aa69
--- /dev/null
+++ b/target/linux/bcm53xx/profiles/NETGEAR.mk
@@ -0,0 +1,45 @@ 
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/netgear-r6250
+  NAME:=NETGEAR R6250
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/netgear-r6250/Description
+  Package set optimized for NETGEAR R6250.
+endef
+$(eval $(call Profile,netgear-r6250))
+
+define Profile/netgear-r6300-v2
+  NAME:=NETGEAR R6300 v2
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/netgear-r6300-v2/Description
+  Package set optimized for NETGEAR R6300 v2.
+endef
+$(eval $(call Profile,netgear-r6300-v2))
+
+define Profile/netgear-r7000
+  NAME:=NETGEAR R7000
+  PACKAGES:=kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/netgear-r7000/Description
+  Package set optimized for NETGEAR R7000.
+endef
+$(eval $(call Profile,netgear-r7000))
+
+define Profile/netgear-r8000
+  NAME:=NETGEAR R8000
+  PACKAGES:=kmod-brcmfmac wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/netgear-r8000/Description
+  Package set optimized for NETGEAR R8000.
+endef
+$(eval $(call Profile,netgear-r8000))
diff --git a/target/linux/bcm53xx/profiles/SmartRG.mk b/target/linux/bcm53xx/profiles/SmartRG.mk
new file mode 100644
index 0000000..2f2066b
--- /dev/null
+++ b/target/linux/bcm53xx/profiles/SmartRG.mk
@@ -0,0 +1,16 @@ 
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/smartrg-sr400ac
+  NAME:=SmartRG SR400ac
+  PACKAGES:=kmod-b43 wpad-mini \
+	kmod-usb-ohci kmod-usb2 kmod-usb3
+endef
+define Profile/smartrg-sr400ac/Description
+  Package set optimized for SmartRG SR400ac.
+endef
+$(eval $(call Profile,smartrg-sr400ac))