diff mbox

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

Message ID 1443343952-20732-1-git-send-email-noltari@gmail.com
State Superseded
Headers show

Commit Message

Álvaro Fernández Rojas Sept. 27, 2015, 8:52 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>
---
 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, 9:32 a.m. UTC | #1
On 2015-09-27 10:52, Á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>
> ---
>  v2: add profile for Linksys EA6300 v1
I don't like having the same package selection duplicated for every
single profile. How about moving those to DEFAULT_PACKAGES for the target?

- Felix
Álvaro Fernández Rojas Sept. 27, 2015, 9:42 a.m. UTC | #2
I suppose you are talking about usb packages.
Well, we can do that, but what if we add another device in the future 
which doesn't have any USB ports?

Regards,
Álvaro.

El 27/09/2015 a las 11:32, Felix Fietkau escribió:
> On 2015-09-27 10:52, Á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>
>> ---
>>   v2: add profile for Linksys EA6300 v1
> I don't like having the same package selection duplicated for every
> single profile. How about moving those to DEFAULT_PACKAGES for the target?
>
> - 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..51aa412
--- /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
+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
+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
+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
+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..704eefd
--- /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
+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
+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
+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..912cc0f
--- /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
+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..74edb3a
--- /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
+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
+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
+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
+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..2de26b2
--- /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
+endef
+define Profile/smartrg-sr400ac/Description
+  Package set optimized for SmartRG SR400ac.
+endef
+$(eval $(call Profile,smartrg-sr400ac))