[PATCH] ath79: add Zyxel EMG2926-Q10A

Alex Henrie alexhenrie24 at gmail.com
Sun Feb 20 17:19:40 PST 2022


On Sat, Feb 19, 2022 at 12:01 PM Petr Štetiar <ynezz at true.cz> wrote:
>
> Alex Henrie <alexhenrie24 at gmail.com> [2022-01-20 22:06:07]:
>
> Hi,
>
> it looks like you need just this two variables:
>
>  DEVICE_MODEL := EMG2926-Q10A
>  RAS_BOARD := AAVK-EMG2926Q10A
>
> so following copy&pasta seems a bit much against my DRY taste:
>
> > +define Device/zyxel_emg2926_q10a
> > +  SOC := qca9558
> > +  DEVICE_VENDOR := ZyXEL
> > +  DEVICE_MODEL := EMG2926-Q10A
> > +  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
> > +     ath10k-firmware-qca988x-ct
> > +  RAS_BOARD := AAVK-EMG2926Q10A
> > +  RAS_ROOTFS_SIZE := 29696k
> > +  RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
> > +  KERNEL_SIZE := 4096k
> > +  BLOCKSIZE := 128k
> > +  PAGESIZE := 2048
> > +  LOADER_TYPE := bin
> > +  KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none | \
> > +     zyxel-buildkerneljffs | check-size 4096k
> > +  IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
> > +  IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
> > +     sysupgrade-tar rootfs=$$$$@ | append-metadata
> > +  IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
> > +     pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
> > +  IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
> > +     zyxel-factory
> > +  UBINIZE_OPTS := -E 5
> > +endef
> > +TARGET_DEVICES += zyxel_emg2926_q10a
>
> so I would simply abstract the common bits into something like this:
>
>  define Device/zyxel_nand_common
>         SOC := qca9558
>         DEVICE_VENDOR := ZyXEL
>         DEVICE_MODEL := EMG2926-Q10A
>         DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
>                 ath10k-firmware-qca988x-ct
>         ...
>  end
>
> and then do:
>
>  define Device/zyxel_nbg6716
>    $(Device/zyxel_nand_common)
>    DEVICE_MODEL := NBG6716
>    RAS_BOARD := NBG6716
>  endef
>
>  define Device/zyxel_emg2926_q10a
>    $(Device/zyxel_nand_common)
>    DEVICE_MODEL := EMG2926-Q10A
>    RAS_BOARD := AAVK-EMG2926Q10A
>  endef

Thanks for showing me! I didn't know that I could do that. How about
we make Device/zyxel_emg2926_q10a inherit from Device/zyxel_nbg6716,
similar to how qca9558_zyxel_emg2926_q10a.dts inherits from
qca9558_zyxel_nbg6716.dts? I'll send a v2 shortly.

-Alex



More information about the openwrt-devel mailing list