-Image/BuildKernel/Profile/BTHOMEHUBV3A=$(call Image/BuildKernel/Template,BTHOMEHUBV3A)
-Image/Build/Profile/BTHOMEHUBV3A=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV3A)
-
-Image/BuildKernel/Profile/DGN3500=$(call Image/BuildKernel/Template,DGN3500)
-Image/Build/Profile/DGN3500=$(call Image/BuildDGN3500/$(1),$(1),DGN3500)
-
-Image/BuildKernel/Profile/DGN3500B=$(call Image/BuildKernel/Template,DGN3500B)
-Image/Build/Profile/DGN3500B=$(call Image/BuildDGN3500B/$(1),$(1),DGN3500B)
+define Device/BTHOMEHUBV3A
+ $(Device/NAND)
+ DEVICE_TITLE := BT Home Hub 3A
+ DEVICE_PACKAGES := kmod-usb-dwc2 \
+ kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
+ kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
+ kmod-ltq-deu-ar9 \
+ ltq-adsl-app ppp-mod-pppoa \
+ kmod-ath9k kmod-owl-loader wpad-mini \
+ uboot-envtools
+endef
+TARGET_DEVICES += BTHOMEHUBV3A
+
+DGN3500_KERNEL_OFFSET_HEX=0x50000
+DGN3500_KERNEL_OFFSET_DEC=327680
+define Device/DGN3500
+ IMAGE_SIZE := 16000k
+ IMAGES := \
+ sysupgrade-NA.bin sysupgrade-WW.bin \
+ factory-NA.bin factory-WW.bin
+ IMAGE/sysupgrade-NA.bin := \
+ append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "NA" | \
+ pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade-WW.bin := \
+ append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "WW" | \
+ pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
+ IMAGE/factory-NA.bin := \
+ pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
+ dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "NA" | pad-rootfs | \
+ check-size 16320k | pad-to 16384k
+ IMAGE/factory-WW.bin := \
+ pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
+ dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "WW" | pad-rootfs | \
+ check-size 16320k | pad-to 16384k
+ DEVICE_TITLE := Netgear DGN3500
+ DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
+ kmod-ath9k kmod-owl-loader wpad-mini \
+ kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
+ kmod-ltq-adsl-ar9-fw-a kmod-ltq-atm-ar9 \
+ ltq-adsl-app ppp-mod-pppoa \
+ kmod-ltq-deu-ar9
+endef
+TARGET_DEVICES += DGN3500
+
+define Device/DGN3500B
+ IMAGE_SIZE := 16000k
+ IMAGES += factory.bin
+ IMAGE/sysupgrade.bin := \
+ append-kernel | append-rootfs | dgn3500-sercom-footer 0x0 "DE" | \
+ pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
+ IMAGE/factory.bin := \
+ pad-extra $(DGN3500_KERNEL_OFFSET_DEC) | append-kernel | append-rootfs | \
+ dgn3500-sercom-footer $(DGN3500_KERNEL_OFFSET_HEX) "DE" | pad-rootfs | \
+ check-size 16320k | pad-to 16384k
+ DEVICE_TITLE := Netgear DGN3500B
+ DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport \
+ kmod-ath9k kmod-owl-loader wpad-mini \
+ kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
+ kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \
+ ltq-adsl-app ppp-mod-pppoa \
+ kmod-ltq-deu-ar9
+endef
+TARGET_DEVICES += DGN3500B