From 0cba744ddeaa3fff52e725b3be75826a5ff5e6ae Mon Sep 17 00:00:00 2001 From: domenico Date: Tue, 24 Jun 2025 13:18:37 +0200 Subject: [PATCH] Initial commit --- .gitattributes | 1 + .github/FUNDING.yml | 1 + .github/labeler.yml | 103 + .github/pull_request_template | 8 + .github/workflows/Dockerfile.tools | 3 + .github/workflows/build.yml | 361 + .github/workflows/check-kernel-patches.yml | 131 + .github/workflows/formal.yml | 73 + .github/workflows/kernel.yml | 85 + .github/workflows/labeler.yml | 33 + .github/workflows/packages.yml | 43 + .github/workflows/scripts/ci_helpers.sh | 26 + .../workflows/scripts/show_build_failures.sh | 15 + .github/workflows/tools.yml | 226 + .gitignore | 34 + BSDmakefile | 6 + COPYING | 12 + Config.in | 40 + LICENSES/BSD-2-Clause | 32 + LICENSES/BSD-3-Clause | 36 + LICENSES/GPL-1.0 | 261 + LICENSES/GPL-2.0 | 355 + LICENSES/ISC | 24 + LICENSES/Linux-syscall-note | 25 + LICENSES/MIT | 30 + Makefile | 138 + README.md | 90 + config/Config-build.in | 390 + config/Config-devel.in | 143 + config/Config-images.in | 321 + config/Config-kernel.in | 1285 + config/check-uname.sh | 1 + feeds.conf.default | 4 + include/autotools.mk | 180 + include/bpf.mk | 85 + include/cmake.mk | 178 + include/debug.mk | 48 + include/depends.mk | 53 + include/device_table.txt | 5 + include/download.mk | 339 + include/feeds.mk | 53 + include/hardened-ld-pie.specs | 2 + include/hardening.mk | 61 + include/host-build.mk | 210 + include/image-commands.mk | 592 + include/image.mk | 787 + include/kernel-5.10 | 2 + include/kernel-build.mk | 184 + include/kernel-defaults.mk | 200 + include/kernel-version.mk | 42 + include/kernel.mk | 302 + include/logo.png | Bin 0 -> 81750 bytes include/logo.svg | 398 + include/meson.mk | 146 + include/netfilter.mk | 387 + include/nls.mk | 37 + include/package-bin.mk | 41 + include/package-defaults.mk | 162 + include/package-dumpinfo.mk | 57 + include/package-ipkg.mk | 276 + include/package-seccomp.mk | 12 + include/package.mk | 354 + include/prereq-build.mk | 212 + include/prereq.mk | 118 + include/quilt.mk | 181 + include/rootfs.mk | 101 + include/scan.awk | 19 + include/scan.mk | 120 + include/shell.sh | 15 + include/site/aarch64 | 30 + include/site/aarch64_be | 30 + include/site/arc | 30 + include/site/arm | 30 + include/site/armeb | 30 + include/site/darwin | 2 + include/site/i386 | 3 + include/site/i486 | 30 + include/site/i686 | 3 + include/site/linux | 78 + include/site/m68k | 28 + include/site/mips | 30 + include/site/mips64 | 30 + include/site/mips64el | 30 + include/site/mipsel | 30 + include/site/powerpc | 30 + include/site/powerpc64 | 26 + include/site/sparc | 30 + include/site/x86_64 | 30 + include/subdir.mk | 106 + include/target.mk | 359 + include/toolchain-build.mk | 23 + include/toplevel.mk | 269 + include/trusted-firmware-a.mk | 98 + include/u-boot.mk | 111 + include/uclibc++.mk | 2 + include/unpack.mk | 72 + include/verbose.mk | 63 + include/version.mk | 108 + package/Makefile | 114 + package/base-files/Makefile | 236 + package/base-files/files/bin/board_detect | 14 + package/base-files/files/bin/config_generate | 533 + package/base-files/files/bin/ipcalc.sh | 71 + package/base-files/files/etc/banner | 8 + package/base-files/files/etc/banner.failsafe | 15 + .../files/etc/board.d/99-default_network | 16 + package/base-files/files/etc/device_info | 4 + package/base-files/files/etc/diag.sh | 52 + package/base-files/files/etc/ethers | 6 + package/base-files/files/etc/fstab | 1 + package/base-files/files/etc/group | 11 + package/base-files/files/etc/hosts | 5 + .../files/etc/hotplug.d/net/00-sysctl | 9 + package/base-files/files/etc/init.d/boot | 55 + package/base-files/files/etc/init.d/done | 17 + .../base-files/files/etc/init.d/gpio_switch | 66 + package/base-files/files/etc/init.d/led | 141 + package/base-files/files/etc/init.d/sysctl | 44 + .../base-files/files/etc/init.d/sysfixtime | 34 + package/base-files/files/etc/init.d/system | 45 + package/base-files/files/etc/init.d/umount | 13 + package/base-files/files/etc/inittab | 3 + .../base-files/files/etc/iproute2/ematch_map | 8 + .../base-files/files/etc/iproute2/rt_protos | 18 + .../base-files/files/etc/iproute2/rt_tables | 12 + package/base-files/files/etc/openwrt_release | 7 + package/base-files/files/etc/openwrt_version | 1 + package/base-files/files/etc/os-release | 1 + package/base-files/files/etc/passwd | 5 + package/base-files/files/etc/preinit | 29 + package/base-files/files/etc/profile | 40 + package/base-files/files/etc/protocols | 57 + .../base-files/files/etc/rc.button/failsafe | 5 + package/base-files/files/etc/rc.button/power | 7 + package/base-files/files/etc/rc.button/reboot | 12 + package/base-files/files/etc/rc.button/reset | 31 + package/base-files/files/etc/rc.button/rfkill | 32 + package/base-files/files/etc/rc.common | 194 + package/base-files/files/etc/rc.local | 4 + package/base-files/files/etc/services | 173 + package/base-files/files/etc/shadow | 5 + package/base-files/files/etc/shells | 1 + package/base-files/files/etc/shinit | 12 + package/base-files/files/etc/sysctl.conf | 1 + .../files/etc/sysctl.d/10-default.conf | 27 + package/base-files/files/etc/sysupgrade.conf | 5 + .../files/etc/uci-defaults/10_migrate-shadow | 10 + .../etc/uci-defaults/12_network-generate-ula | 13 + .../files/etc/uci-defaults/13_fix-group-user | 9 + package/base-files/files/lib/functions.sh | 436 + .../base-files/files/lib/functions/caldata.sh | 184 + .../base-files/files/lib/functions/leds.sh | 94 + .../files/lib/functions/migrations.sh | 67 + .../base-files/files/lib/functions/network.sh | 311 + .../base-files/files/lib/functions/preinit.sh | 87 + .../base-files/files/lib/functions/service.sh | 103 + .../base-files/files/lib/functions/system.sh | 266 + .../files/lib/functions/uci-defaults.sh | 658 + .../files/lib/preinit/02_default_set_state | 5 + .../base-files/files/lib/preinit/02_sysinfo | 10 + .../files/lib/preinit/10_indicate_failsafe | 17 + .../files/lib/preinit/10_indicate_preinit | 166 + .../files/lib/preinit/30_failsafe_wait | 98 + .../files/lib/preinit/40_run_failsafe_hook | 16 + .../lib/preinit/50_indicate_regular_preinit | 9 + .../files/lib/preinit/70_initramfs_test | 12 + .../files/lib/preinit/80_mount_root | 35 + .../files/lib/preinit/99_10_failsafe_login | 14 + .../files/lib/preinit/99_10_run_init | 8 + .../base-files/files/lib/upgrade/common.sh | 288 + .../base-files/files/lib/upgrade/do_stage2 | 25 + package/base-files/files/lib/upgrade/emmc.sh | 67 + .../base-files/files/lib/upgrade/fwtool.sh | 93 + .../lib/upgrade/keep.d/base-files-essential | 11 + .../files/lib/upgrade/legacy-sdcard.sh | 91 + package/base-files/files/lib/upgrade/nand.sh | 360 + package/base-files/files/lib/upgrade/stage2 | 175 + package/base-files/files/rom/note | 3 + package/base-files/files/sbin/firstboot | 3 + package/base-files/files/sbin/hotplug-call | 18 + package/base-files/files/sbin/led.sh | 25 + package/base-files/files/sbin/pkg_check | 130 + package/base-files/files/sbin/sysupgrade | 384 + package/base-files/files/sbin/wifi | 254 + package/base-files/files/usr/lib/os-release | 18 + package/base-files/files/usr/libexec/login.sh | 5 + .../files/usr/libexec/validate_firmware_image | 66 + package/base-files/image-config.in | 277 + .../arm-trusted-firmware-bcm63xx/Makefile | 42 + .../arm-trusted-firmware-mediatek/Makefile | 100 + .../patches/100-increase-nor-bl3-size.patch | 11 + ...t7622-bl2_boot_snand-skip-bad-blocks.patch | 40 + .../boot/arm-trusted-firmware-mvebu/Makefile | 232 + .../patches-a3700-utils/001-version.patch | 14 + .../002-version_mv_ddr_fix.patch | 12 + .../001-version.patch | 12 + .../002-no-gold.patch | 13 + .../patches-mv-ddr-marvell/001-version.patch | 12 + ...-a3720-uart-fix-UART-clock-rate-valu.patch | 60 + ...-a3720-uart-fix-configuring-UART-clo.patch | 53 + ...rvell-uart-de-duplicate-PLAT_MARVELL.patch | 122 + ...-a3720-uart-fix-UART-parent-clock-ra.patch | 177 + .../patches/200-hostssl.patch | 20 + .../arm-trusted-firmware-rockchip/Makefile | 49 + .../boot/arm-trusted-firmware-sunxi/Makefile | 63 + .../boot/arm-trusted-firmware-tools/Makefile | 57 + .../patches/001-respect-LDFLAGS.patch | 11 + package/boot/at91bootstrap/Makefile | 203 + package/boot/at91bootstrap/at91bootstrap.mk | 88 + package/boot/fconfig/Makefile | 38 + package/boot/grub2/Makefile | 181 + package/boot/grub2/files/grub-early.cfg | 1 + .../grub2/patches/100-grub_setup_root.patch | 119 + package/boot/imx-bootlets/Makefile | 42 + .../patches/001-skip_sb_generation.patch | 18 + .../patches/002-set_elftosb_config.patch | 17 + .../patches/003-add-olinuxino.patch | 143 + package/boot/kexec-tools/Config.in | 14 + package/boot/kexec-tools/Makefile | 99 + package/boot/kexec-tools/files/kdump.config | 7 + package/boot/kexec-tools/files/kdump.defaults | 23 + package/boot/kexec-tools/files/kdump.init | 186 + ...magic-4-bytes-of-appended-DTB-in-zIm.patch | 52 + package/boot/kobs-ng/Makefile | 46 + .../boot/kobs-ng/patches/001-compile.patch | 24 + .../patches/002-add-init-size-param.patch | 45 + .../boot/kobs-ng/patches/003-raw-mode.patch | 45 + .../patches/004-fix-cal_nfc_geometry.patch | 27 + package/boot/mt7623n-preloader/Makefile | 69 + package/boot/tfa-layerscape/Makefile | 184 + .../patches/001-fiptool-hostbuild-fixes.patch | 95 + ...ix-create_pbl-and-byte_swap-host-bui.patch | 53 + package/boot/uboot-at91/Makefile | 182 + .../patches/001-fix-Wformat-security.patch | 45 + package/boot/uboot-bcm4908/Makefile | 56 + ...ow-to-complete-build-even-with-ad-ho.patch | 40 + ...00-configs-bcm94908-unset-CONFIG_SPL.patch | 50 + ...rt-for-ATF-when-compiling-U-Boot-wit.patch | 67 + package/boot/uboot-envtools/Makefile | 86 + package/boot/uboot-envtools/files/apm821xx | 27 + package/boot/uboot-envtools/files/ath79 | 152 + package/boot/uboot-envtools/files/cns3xxx | 26 + package/boot/uboot-envtools/files/fw_printsys | 2 + package/boot/uboot-envtools/files/fw_setsys | 2 + .../boot/uboot-envtools/files/imx_cortexa9 | 64 + package/boot/uboot-envtools/files/ipq40xx | 72 + package/boot/uboot-envtools/files/ipq806x | 61 + package/boot/uboot-envtools/files/kirkwood | 38 + package/boot/uboot-envtools/files/lantiq | 37 + package/boot/uboot-envtools/files/layerscape | 24 + .../boot/uboot-envtools/files/mediatek_mt7622 | 52 + .../boot/uboot-envtools/files/mediatek_mt7623 | 29 + package/boot/uboot-envtools/files/mpc85xx | 30 + package/boot/uboot-envtools/files/mvebu | 69 + package/boot/uboot-envtools/files/mxs | 27 + package/boot/uboot-envtools/files/oxnas | 27 + package/boot/uboot-envtools/files/pistachio | 26 + package/boot/uboot-envtools/files/qoriq | 19 + package/boot/uboot-envtools/files/ramips | 95 + package/boot/uboot-envtools/files/realtek | 51 + .../uboot-envtools/files/uboot-envtools.sh | 46 + .../uboot-envtools/patches/001-compile.patch | 16 + package/boot/uboot-fritz4040/Makefile | 77 + package/boot/uboot-imx/Makefile | 59 + ...efconfig-enable-some-useful-commands.patch | 37 + .../patches/110-mx6cuboxi-mmc-fallback.patch | 15 + ...1-mx6cuboxi_defconfig-force-mmc-boot.patch | 23 + package/boot/uboot-kirkwood/Makefile | 150 + .../patches/007-nsa310-uboot-generic.patch | 662 + .../patches/008-nsa325-uboot-generic.patch | 649 + .../patches/010-pogoplug_v4.patch | 1520 + .../uboot-kirkwood/patches/110-dockstar.patch | 57 + .../uboot-kirkwood/patches/120-iconnect.patch | 51 + .../uboot-kirkwood/patches/130-ib62x0.patch | 40 + .../patches/140-pogoplug_e02.patch | 48 + .../patches/150-goflexhome.patch | 35 + ...-kirkwood-add-CheckPoint-L-50-device.patch | 928 + .../uboot-kirkwood/patches/160-nsa310s.patch | 54 + .../patches/170-sheevaplug.patch | 39 + .../patches/200-openwrt-config.patch | 216 + .../patches/201-blackarmor-nas220.patch | 29 + ...xx-add-support-for-RGMII-TX-RX-delay.patch | 48 + ...-mv88e61xx-add-support-for-MV88E6171.patch | 62 + package/boot/uboot-lantiq/Makefile | 390 + package/boot/uboot-lantiq/README | 6 + ...der-calls-for-spi_claim_bus-and-spi_.patch | 170 + ...use-debug-for-warning-error-messages.patch | 49 + ...lloc-of-spi_flash-to-spi_flash_probe.patch | 110 + ...4-sf-add-slim-probe-funtions-for-SPL.patch | 80 + ...iom-of-address-bytes-completely-conf.patch | 134 + ...sf-add-support-for-4-byte-addressing.patch | 160 + .../0007-sf-add-support-for-EN25QH256.patch | 17 + ...yout-of-S25FL256S_256K-and-S25FL512S.patch | 21 + ...d-framework-for-ethernet-switch-driv.patch | 244 + ...d-driver-for-Lantiq-PSB697X-switch-f.patch | 161 + ...d-driver-for-Lantiq-ADM6996I-switch-.patch | 157 + ...tchlib-add-driver-for-Atheros-AR8216.patch | 157 + ...chlib-add-driver-for-REALTEK-RTL8306.patch | 375 + ...IPS-add-support-for-Lantiq-XWAY-SoCs.patch | 8707 +++ ...support-for-Lantiq-XWAY-ARX100-SoC-f.patch | 1229 + ...driver-for-Lantiq-XWAY-ARX100-switch.patch | 546 + ...dd-some-helper-tools-for-Lantiq-SoCs.patch | 477 + ...18-tools-lantiq-add-NAND-SPL-support.patch | 223 + ...-Makefile-add-Lantiq-NAND-SPL-images.patch | 46 + ...020-MIPS-lantiq-add-NAND-SPL-support.patch | 165 + ...021-MIPS-vrx200-add-NAND-SPL-support.patch | 30 + ...PS-lantiq-add-default-openwrt-config.patch | 51 + .../patches/0023-lzma-fixup.patch | 39 + ...pare-u-boot-lantiq-v2013.10-openwrt4.patch | 18 + .../patches/0025-arx100-cgu-fixes.patch | 148 + .../patches/0026-no_extern_inline.patch | 97 + .../patches/0027-no_weak_alias.patch | 26 + .../patches/0028-gcc-compat.patch | 852 + ...Use_packed_structures-for_networking.patch | 142 + .../patches/0030-lzma-force-8bit-reads.patch | 57 + ...q-fix-out-of-bounds-cache-invalidate.patch | 62 + ...0032-MIPS-lantiq-danube-fix-SPL-boot.patch | 34 + .../0033-MIPS-lantiq-reduce-stack-size.patch | 56 + ...IPS-add-board-support-for-Easy-50712.patch | 306 + ...IPS-add-board-support-for-Easy-80920.patch | 379 + ...board-support-for-Arcadyan-ARV4519PW.patch | 244 + ...board-support-for-Arcadyan-ARV7518PW.patch | 244 + ...-board-support-for-AudioCodes-MP-252.patch | 250 + ...-board-support-for-AVM-FritzBox-3370.patch | 356 + ...-add-board-support-for-Gigaset-SX76X.patch | 249 + ...board-support-for-ZyXEL-P-2812HNU-Fx.patch | 303 + ...board-support-for-Arcadyan-ARV752DPW.patch | 244 + ...ard-support-for-Arcadyan-ARV752DPW22.patch | 246 + ...board-support-for-Arcadyan-ARV7510PW.patch | 271 + ...ard-support-for-Arcadyan-ARV7510PW22.patch | 240 + ...ard-support-for-Arcadyan-VGV7510KW22.patch | 307 + ...ard-support-for-Arcadyan-ARV8539PW22.patch | 241 + ...d-board-support-for-Arcadyan-VGV7519.patch | 290 + ...ard-support-for-Arcadyan-ARV7506PW11.patch | 277 + ...add-board-support-for-BT-Home-Hub-5A.patch | 344 + .../patches/100-portability.patch | 18 + .../patches/101-fix-crypt-header-clash.patch | 172 + .../patches/200-fix-dtc-header-guard.patch | 19 + package/boot/uboot-layerscape/Makefile | 157 + .../files/fsl_ls1012a-frdm-uEnv.txt | 9 + .../files/fsl_ls1012a-frwy-sdboot-uEnv.txt | 9 + .../files/fsl_ls1012a-rdb-uEnv.txt | 8 + .../files/fsl_ls1021a-iot-sdboot-uEnv.txt | 9 + .../files/fsl_ls1021a-twr-sdboot-uEnv.txt | 9 + .../files/fsl_ls1021a-twr-uEnv.txt | 8 + .../files/fsl_ls1043a-rdb-sdboot-uEnv.txt | 10 + .../files/fsl_ls1043a-rdb-uEnv.txt | 9 + .../files/fsl_ls1046a-frwy-sdboot-uEnv.txt | 9 + .../files/fsl_ls1046a-frwy-uEnv.txt | 9 + .../files/fsl_ls1046a-rdb-sdboot-uEnv.txt | 10 + .../files/fsl_ls1046a-rdb-uEnv.txt | 9 + .../files/fsl_ls1088a-rdb-sdboot-uEnv.txt | 11 + .../files/fsl_ls1088a-rdb-uEnv.txt | 11 + .../files/fsl_ls2088a-rdb-uEnv.txt | 11 + .../files/fsl_lx2160a-rdb-sdboot-uEnv.txt | 10 + .../files/fsl_lx2160a-rdb-uEnv.txt | 10 + ...046ardb-force-PCI-device-enumeration.patch | 33 + ...043ardb-force-PCI-device-enumeration.patch | 34 + ...djust-LS1021A-IOT-config-for-OpenWrt.patch | 45 + ...7622-remove-default-pinctrl-of-uart0.patch | 45 + package/boot/uboot-mediatek/Makefile | 142 + ...-clk-Add-debugging-for-return-values.patch | 69 + ...atek-add-more-network-configurations.patch | 44 + ...d-increase-the-minimum-bus-frequency.patch | 28 + ...support-for-MediaTek-SPI-NAND-flash-.patch | 3696 + ...15-mtd-mtk-snand-add-support-for-SPL.patch | 174 + ...v-add-support-for-generic-MTD-device.patch | 409 + ...dd-support-for-booting-from-SPI-NAND.patch | 223 + ...board-mt7622-use-new-spi-nand-driver.patch | 76 + ...emove-unused-options-and-add-dm-comm.patch | 31 + ...22-enable-environment-for-mt7622_rfb.patch | 33 + ...t7622-force-high-speed-mode-for-uart.patch | 26 + .../patches/050-mt7622-enable-pstore.patch | 33 + ...bootm-fix-typo-imape_comp-image_comp.patch | 48 + ...-set-compression-if-it-can-t-be-read.patch | 71 + ...00-scripts-remove-dependency-on-swig.patch | 24 + .../patches/110-no-kwbimage.patch | 10 + .../patches/120-use-xz-instead-of-lzma.patch | 11 + .../patches/200-cmd-add-imsz-and-imszb.patch | 132 + ...d-ability-to-select-item-by-shortkey.patch | 192 + .../211-cmd-bootmenu-custom-title.patch | 32 + .../patches/220-cmd-env-readmem.patch | 116 + .../patches/230-cmd-add-pstore-check.patch | 78 + .../patches/260-add-missing-type-u64.patch | 10 + ...-of-FIT-configuration-in-chosen-node.patch | 58 + ...7622-generic-reset-button-ignore-env.patch | 51 + ...7623-generic-reset-button-ignore-env.patch | 43 + ...50-add-support-for-Winbond-W25Q512JV.patch | 11 + .../patches/400-update-bpir2-defconfig.patch | 246 + .../patches/401-update-u7623-defconfig.patch | 202 + ...-update-bananapi-bpi-r64-device-tree.patch | 71 + .../403-add-bananapi_bpi-r64-snand.patch | 33 + .../404-add-bananapi_bpi-r64_defconfigs.patch | 658 + .../405-dts-mt7623n-bpi-r2-fix-leds.patch | 25 + .../patches/410-add-linksys-e8450.patch | 405 + .../patches/412-add-ubnt-unifi-6-lr.patch | 440 + .../500-board-mt7623-fix-mmc-detect.patch | 21 + package/boot/uboot-mvebu/Makefile | 74 + ...nux.h-Fix-compilation-on-non-glibc-s.patch | 44 + ...ools-mkimage-fix-build-with-LibreSSL.patch | 28 + ...image-fix-build-with-recent-LibreSSL.patch | 27 + .../uboot-mvebu/patches/100-fix-build.patch | 20 + package/boot/uboot-mxs/Makefile | 46 + .../patches/001-add-i2se-duckbill.patch | 705 + package/boot/uboot-omap/Makefile | 54 + package/boot/uboot-omap/files/boot.scr.txt | 9 + package/boot/uboot-oxnas/Makefile | 36 + .../patches/010-capacity-is-unsigned.patch | 37 + .../020-socfpgaimage_portability.patch | 52 + .../uboot-oxnas/patches/150-spl-block.patch | 54 + .../uboot-oxnas/patches/200-icplus-phy.patch | 142 + .../patches/300-oxnas-target.patch | 101 + .../patches/400-gcc-5-compiler.patch | 87 + .../patches/410-gcc-6-compiler.patch | 306 + .../patches/420-gcc-7-compiler.patch | 287 + .../patches/800-fix-bootm-assertion.patch | 11 + .../src/arch/arm/cpu/arm1136/nas782x/Makefile | 13 + .../src/arch/arm/cpu/arm1136/nas782x/clock.c | 97 + .../src/arch/arm/cpu/arm1136/nas782x/pinmux.c | 43 + .../src/arch/arm/cpu/arm1136/nas782x/reset.c | 91 + .../src/arch/arm/cpu/arm1136/nas782x/timer.c | 129 + .../arch/arm/include/asm/arch-nas782x/clock.h | 84 + .../arch/arm/include/asm/arch-nas782x/cpu.h | 26 + .../arm/include/asm/arch-nas782x/hardware.h | 30 + .../arm/include/asm/arch-nas782x/pinmux.h | 46 + .../arch/arm/include/asm/arch-nas782x/spl.h | 6 + .../arm/include/asm/arch-nas782x/sysctl.h | 125 + .../arch/arm/include/asm/arch-nas782x/timer.h | 23 + .../boot/uboot-oxnas/src/board/ox820/Kconfig | 15 + .../uboot-oxnas/src/board/ox820/MAINTAINERS | 6 + .../boot/uboot-oxnas/src/board/ox820/Makefile | 15 + .../boot/uboot-oxnas/src/board/ox820/ddr.c | 477 + .../boot/uboot-oxnas/src/board/ox820/ddr.h | 148 + .../src/board/ox820/lowlevel_init.S | 20 + .../boot/uboot-oxnas/src/board/ox820/ox820.c | 374 + .../uboot-oxnas/src/board/ox820/spl_start.S | 21 + .../src/board/ox820/u-boot-spl.lds | 101 + .../boot/uboot-oxnas/src/common/env_ext4.c | 116 + .../uboot-oxnas/src/common/spl/spl_block.c | 236 + .../uboot-oxnas/src/configs/ox820_defconfig | 3 + .../src/drivers/block/plxsata_ide.c | 1170 + .../src/drivers/usb/host/ehci-oxnas.c | 105 + .../uboot-oxnas/src/include/configs/ox820.h | 384 + .../boot/uboot-oxnas/src/tools/mkox820crc.c | 126 + package/boot/uboot-ramips/Makefile | 34 + ...01-add-support-for-RAVPower-RP-WD009.patch | 290 + package/boot/uboot-rockchip/Makefile | 107 + ...01-scripts-remove-dependency-on-swig.patch | 24 + ...-spl-remove-dtoc-of-pdata-generation.patch | 28 + ...rock64pro-disable-CONFIG_USE_PREBOOT.patch | 27 + .../of-platdata/nanopi-r2s-rk3328/dt-decl.h | 23 + .../of-platdata/nanopi-r2s-rk3328/dt-plat.c | 155 + .../nanopi-r2s-rk3328/dt-structs-gen.h | 51 + package/boot/uboot-sunxi/Makefile | 400 + .../patches/002-add-olimex-a13-som.patch | 20 + .../003-add-theobroma-a31-pangolin.patch | 375 + .../patches/062-A20-improve-gmac-upload.patch | 12 + .../063-fix-lime2-revK-add-micrel-PHY.patch | 44 + ...1-sun6i-sync-PLL1-multdiv-with-Boot1.patch | 32 + .../093-sun6i-fix-PLL-LDO-voltselect.patch | 69 + .../100-sun6i-alternate-on-UART2.patch | 16 + .../101-sun6i-support-console-on-UART2.patch | 30 + ...2-sunxi-make_CONS_INDEX-configurable.patch | 23 + ...-environment-for-dtc-binary-location.patch | 35 + .../patches/210-sunxi-deactivate-binman.patch | 37 + .../230-disable-axp209-on-a13-olinuxino.diff | 19 + .../250-sun8i-h3-zeropi-add-device-tree.patch | 81 + .../251-sun8i-h3-zeropi-add-defconfig.patch | 24 + ...2-sunxi-h3-add-support-for-nanopi-r1.patch | 197 + ...nxi-h5-add-support-for-nanopi-r1s-h5.patch | 271 + .../patches/260-add-missing-type-u64.patch | 10 + package/boot/uboot-sunxi/uEnv-a64.txt | 7 + package/boot/uboot-sunxi/uEnv-default.txt | 6 + package/boot/uboot-sunxi/uEnv-h6.txt | 7 + package/boot/uboot-sunxi/uEnv-pangolin.txt | 6 + package/boot/uboot-tegra/Makefile | 64 + package/boot/uboot-zynq/Makefile | 63 + .../boot/uboot-zynq/files/uEnv-default.txt | 1 + ...10-fix_dtc_compilation_on_host_gcc10.patch | 48 + ...ad-mac-address-from-SPI-flash-memory.patch | 103 + package/devel/binutils/Makefile | 143 + package/devel/gdb/Makefile | 98 + .../001-gdb-pr14523-mips-signal-number.patch | 16 + .../devel/gdb/patches/110-shared_libgcc.patch | 76 + .../120-sigprocmask-invalid-call.patch | 38 + .../devel/gdb/patches/130-gdb-ctrl-c.patch | 35 + package/devel/gdb/patches/140-sgidefs.patch | 30 + package/devel/gdb/patches/150-mips64.patch | 32 + package/devel/perf/Makefile | 81 + package/devel/strace/Makefile | 85 + package/devel/strace/patches/010-m4.patch | 10 + package/devel/trace-cmd/Makefile | 63 + .../devel/trace-cmd/patches/100-musl.patch | 104 + .../patches/110-mac80211_tracepoint.patch | 24 + package/devel/valgrind/Makefile | 203 + package/devel/valgrind/files/default.supp | 42 + .../010-mips-Fix-new-syscall-numbers.patch | 131 + .../patches/100-fix_configure_check.patch | 11 + .../patches/130-fix_arm_arch_detection.patch | 17 + .../patches/130-mips_fix_soft_float.patch | 68 + package/firmware/ath10k-ct-firmware/Makefile | 636 + package/firmware/b43legacy-firmware/Makefile | 72 + package/firmware/cypress-firmware/Makefile | 263 + package/firmware/cypress-nvram/Makefile | 108 + package/firmware/intel-microcode/Makefile | 51 + package/firmware/ipq-wifi/Makefile | 151 + .../ipq-wifi/board-8dev_habanero-dvk.qca4019 | Bin 0 -> 24324 bytes .../ipq-wifi/board-aruba_ap-303.qca4019 | Bin 0 -> 24316 bytes .../ipq-wifi/board-aruba_ap-365.qca4019 | Bin 0 -> 24316 bytes .../ipq-wifi/board-asus_rt-ac42u.qca4019 | Bin 0 -> 12168 bytes .../ipq-wifi/board-asus_rt-ac42u.qca9984 | Bin 0 -> 12168 bytes .../board-avm_fritzrepeater-1200.qca4019 | Bin 0 -> 24332 bytes .../board-buffalo_wtr-m2133hp.qca4019 | Bin 0 -> 24332 bytes .../board-buffalo_wtr-m2133hp.qca9984 | Bin 0 -> 12172 bytes .../ipq-wifi/board-cellc_rtl30vw.qca4019 | Bin 0 -> 24316 bytes .../board-devolo_magic-2-wifi-next.qca4019 | Bin 0 -> 24340 bytes .../ipq-wifi/board-dlink_dap2610.qca4019 | Bin 0 -> 24316 bytes .../ipq-wifi/board-edgecore_ecw5410.qca9984 | Bin 0 -> 24324 bytes .../ipq-wifi/board-edgecore_oap100.qca4019 | Bin 0 -> 24324 bytes .../ipq-wifi/board-engenius_eap2200.qca4019 | Bin 0 -> 24324 bytes .../ipq-wifi/board-engenius_eap2200.qca9888 | Bin 0 -> 12172 bytes .../ipq-wifi/board-engenius_emd1.qca4019 | Bin 0 -> 24316 bytes .../ipq-wifi/board-engenius_emr3500.qca4019 | Bin 0 -> 24324 bytes .../board-ezviz_cs-w3-wd1200g-eup.qca4019 | Bin 0 -> 24340 bytes .../ipq-wifi/board-glinet_gl-ap1300.qca4019 | Bin 0 -> 48596 bytes .../ipq-wifi/board-glinet_gl-b2200.qca4019 | Bin 0 -> 24308 bytes .../ipq-wifi/board-glinet_gl-b2200.qca9888 | Bin 0 -> 12164 bytes .../ipq-wifi/board-glinet_gl-s1300.qca4019 | Bin 0 -> 24276 bytes .../ipq-wifi/board-linksys_ea8300.qca4019 | Bin 0 -> 97236 bytes .../ipq-wifi/board-linksys_ea8300.qca9888 | Bin 0 -> 48628 bytes .../ipq-wifi/board-linksys_mr8300-v0.qca4019 | Bin 0 -> 97268 bytes .../ipq-wifi/board-linksys_mr8300-v0.qca9888 | Bin 0 -> 48644 bytes .../ipq-wifi/board-luma_wrtq-329acn.qca4019 | Bin 0 -> 24324 bytes .../board-mobipromo_cm520-79f.qca4019 | Bin 0 -> 24308 bytes .../ipq-wifi/board-nec_wg2600hp3.qca9984 | Bin 0 -> 24332 bytes .../ipq-wifi/board-p2w_r619ac.qca4019 | Bin 0 -> 24308 bytes .../ipq-wifi/board-plasmacloud_pa1200.qca4019 | Bin 0 -> 24324 bytes .../ipq-wifi/board-plasmacloud_pa2200.qca4019 | Bin 0 -> 24324 bytes .../ipq-wifi/board-plasmacloud_pa2200.qca9888 | Bin 0 -> 12172 bytes .../ipq-wifi/board-qxwlan_e2600ac-c1.qca4019 | Bin 0 -> 24324 bytes .../ipq-wifi/board-qxwlan_e2600ac-c2.qca4019 | Bin 0 -> 36476 bytes .../ipq-wifi/board-qxwlan_e2600ac.qca4019 | Bin 0 -> 36464 bytes .../ipq-wifi/board-teltonika_rutx.qca4019 | Bin 0 -> 24276 bytes .../ipq-wifi/board-zte_mf286d.qca4019 | Bin 0 -> 24308 bytes .../ipq-wifi/board-zte_mf289f.qca4019 | Bin 0 -> 24308 bytes .../ipq-wifi/board-zte_mf289f.qca9984 | Bin 0 -> 12204 bytes .../lantiq/dsl-vrx200-firmware-xdsl/Makefile | 131 + .../firmware/layerscape/fman-ucode/Makefile | 41 + .../firmware/layerscape/ls-ddr-phy/Makefile | 52 + package/firmware/layerscape/ls-dpl/Makefile | 51 + package/firmware/layerscape/ls-mc/Makefile | 43 + package/firmware/layerscape/ls-rcw/Makefile | 69 + .../0002-fix_rcw_for_ls1012a-frdm.patch | 13 + .../layerscape/ppfe-firmware/Makefile | 52 + package/firmware/linux-firmware/Makefile | 37 + package/firmware/linux-firmware/amd.mk | 29 + package/firmware/linux-firmware/broadcom.mk | 120 + package/firmware/linux-firmware/cis.mk | 10 + package/firmware/linux-firmware/edgeport.mk | 12 + package/firmware/linux-firmware/intel.mk | 193 + package/firmware/linux-firmware/marvell.mk | 72 + package/firmware/linux-firmware/mediatek.mk | 52 + package/firmware/linux-firmware/misc.mk | 9 + package/firmware/linux-firmware/qca.mk | 47 + package/firmware/linux-firmware/qca_ath10k.mk | 149 + package/firmware/linux-firmware/realtek.mk | 110 + package/firmware/linux-firmware/rsi.mk | 6 + package/firmware/linux-firmware/ti.mk | 39 + package/firmware/prism54-firmware/Makefile | 111 + package/firmware/wireless-regdb/Makefile | 32 + .../patches/500-world-regd-5GHz.patch | 16 + package/kernel/acx-mac80211/Makefile | 253 + .../acx-mac80211/patches/100-compat.patch | 16 + .../patches/200-initial-macaddr.patch | 29 + .../acx-mac80211/patches/300-api_sync.patch | 112 + package/kernel/ath10k-ct/Makefile | 122 + ...calibration-data-via-nvmem-subsystem.patch | 162 + ...rolling-support-for-various-chipsets.patch | 598 + ...02-ath10k-use-tpt-trigger-by-default.patch | 53 + ...0k-ct-Fix-spectral-scan-NULL-pointer.patch | 32 + ...0-0010-ath10k-limit-htt-rx-ring-size.patch | 14 + ...60-0011-ath10k-limit-pci-buffer-size.patch | 50 + package/kernel/bcm27xx-gpu-fw/Makefile | 185 + package/kernel/bcm63xx-cfe/Makefile | 43 + package/kernel/bpf-headers/Makefile | 114 + package/kernel/bpf-headers/files/stdarg.h | 19 + .../src/include/generated/bounds.h | 14 + package/kernel/broadcom-wl/Makefile | 184 + .../etc/hotplug.d/net/00-broadcom-wifi-detect | 5 + .../files/etc/hotplug.d/net/20-broadcom_wds | 61 + .../broadcom-wl/files/etc/init.d/wlunbind | 29 + .../broadcom-wl/files/lib/wifi/broadcom.sh | 480 + .../patches/003-compat-2.6.35.patch | 39 + .../patches/004-remove-pcmcia.patch | 22 + .../patches/005-fix-mem-leak-on-unload.patch | 31 + .../patches/006-generic-dma-api.patch | 88 + .../patches/007-use-glue-driver.patch | 188 + .../patches/008-fix_virtual_interfaces.patch | 132 + .../patches/009-fix_compile_3_2.patch | 27 + .../010-remove_irqf_samble_random.patch | 11 + .../patches/011-fix_compile_3_4.patch | 12 + .../broadcom-wl/patches/012-compat-3.10.patch | 47 + .../patches/013-interface-name.patch | 11 + .../patches/014-fix-band-reporting.patch | 41 + .../015-support-probe-of-wds-interfaces.patch | 11 + .../broadcom-wl/patches/020-musl-fixes.patch | 75 + .../patches/030-remove_devinit_devexit.patch | 74 + .../patches/040-remove_last_rx_usage.patch | 10 + .../patches/100-fix_nvram_two_devices.patch | 32 + .../patches/110-add_number_to_dev_name.patch | 11 + .../patches/120-fixup-mac-addresses.patch | 93 + .../patches/200-add_bcm_a8xx_support.patch | 12 + .../patches/910-fallback-sprom.patch | 78 + .../patches/912-pci-bus-nvram-hack.patch | 11 + .../913-avoid-dbe-on-ifs_ctl-readw-hack.patch | 12 + .../914-eliminate-date-time-error.patch | 21 + .../patches/915-fix-wl_timer-for-4_15.patch | 55 + .../patches/916-fix-compilation-for-5_4.patch | 18 + .../917-fix-compilation-for-5_10.patch | 42 + package/kernel/broadcom-wl/src/glue/Makefile | 17 + package/kernel/broadcom-wl/src/glue/wl_glue.c | 315 + package/kernel/broadcom-wl/src/glue/wl_glue.h | 22 + package/kernel/broadcom-wl/src/wlc.c | 1181 + package/kernel/button-hotplug/Makefile | 50 + package/kernel/button-hotplug/src/Kconfig | 2 + package/kernel/button-hotplug/src/Makefile | 1 + .../button-hotplug/src/button-hotplug.c | 344 + package/kernel/cryptodev-linux/Makefile | 58 + ...-dtc-Update-to-version-with-overlays.patch | 642 + package/kernel/gpio-button-hotplug/Makefile | 45 + .../kernel/gpio-button-hotplug/src/Makefile | 1 + .../src/gpio-button-hotplug.c | 731 + package/kernel/gpio-nct5104d/Makefile | 51 + package/kernel/gpio-nct5104d/src/Kconfig | 5 + package/kernel/gpio-nct5104d/src/Makefile | 1 + .../kernel/gpio-nct5104d/src/gpio-nct5104d.c | 440 + package/kernel/hwmon-gsc/Makefile | 29 + package/kernel/hwmon-gsc/src/Makefile | 1 + package/kernel/hwmon-gsc/src/gsc.c | 308 + package/kernel/ksmbd/Makefile | 73 + .../ksmbd/patches/01-keep_kmod_metadata.patch | 11 + package/kernel/lantiq/ltq-adsl-fw/Makefile | 57 + package/kernel/lantiq/ltq-adsl-mei/Makefile | 44 + .../kernel/lantiq/ltq-adsl-mei/src/Makefile | 13 + .../lantiq/ltq-adsl-mei/src/drv_mei_cpe.c | 2838 + .../ltq-adsl-mei/src/ifxmips_mei_interface.h | 722 + package/kernel/lantiq/ltq-adsl/Config.in | 5 + package/kernel/lantiq/ltq-adsl/Makefile | 95 + .../patches/020-not-leak-cflags.patch | 32 + .../ltq-adsl/patches/100-dsl_compat.patch | 1057 + .../patches/110-fix_status_polling_loop.patch | 11 + .../ltq-adsl/patches/120-platform.patch | 71 + .../ltq-adsl/patches/130-linux3.8.patch | 137 + .../ltq-adsl/patches/140-linux_3.18.patch | 30 + .../ltq-adsl/patches/150-linux_5.9.patch | 14 + .../patches/200-fix-elapsed-time.patch | 122 + package/kernel/lantiq/ltq-atm/Makefile | 50 + package/kernel/lantiq/ltq-atm/src/Makefile | 23 + .../ltq-atm/src/ifxmips_atm_amazon_se.c | 334 + .../lantiq/ltq-atm/src/ifxmips_atm_ar9.c | 245 + .../lantiq/ltq-atm/src/ifxmips_atm_core.h | 247 + .../lantiq/ltq-atm/src/ifxmips_atm_danube.c | 232 + .../ltq-atm/src/ifxmips_atm_fw_amazon_se.h | 457 + .../lantiq/ltq-atm/src/ifxmips_atm_fw_ar9.h | 439 + .../ltq-atm/src/ifxmips_atm_fw_ar9_retx.h | 611 + .../ltq-atm/src/ifxmips_atm_fw_danube.h | 442 + .../ltq-atm/src/ifxmips_atm_fw_danube_retx.h | 612 + .../src/ifxmips_atm_fw_regs_amazon_se.h | 57 + .../ltq-atm/src/ifxmips_atm_fw_regs_ar9.h | 172 + .../ltq-atm/src/ifxmips_atm_fw_regs_common.h | 549 + .../ltq-atm/src/ifxmips_atm_fw_regs_danube.h | 51 + .../ltq-atm/src/ifxmips_atm_fw_regs_vr9.h | 72 + .../lantiq/ltq-atm/src/ifxmips_atm_fw_vr9.h | 427 + .../ltq-atm/src/ifxmips_atm_ppe_amazon_se.h | 121 + .../lantiq/ltq-atm/src/ifxmips_atm_ppe_ar9.h | 188 + .../ltq-atm/src/ifxmips_atm_ppe_common.h | 368 + .../ltq-atm/src/ifxmips_atm_ppe_danube.h | 129 + .../lantiq/ltq-atm/src/ifxmips_atm_ppe_vr9.h | 192 + .../lantiq/ltq-atm/src/ifxmips_atm_vr9.c | 215 + package/kernel/lantiq/ltq-atm/src/ltq_atm.c | 1895 + package/kernel/lantiq/ltq-deu/Makefile | 44 + package/kernel/lantiq/ltq-deu/src/Makefile | 24 + .../kernel/lantiq/ltq-deu/src/ifxmips_aes.c | 1979 + .../kernel/lantiq/ltq-deu/src/ifxmips_arc4.c | 387 + .../lantiq/ltq-deu/src/ifxmips_async_aes.c | 1133 + .../lantiq/ltq-deu/src/ifxmips_async_des.c | 940 + .../kernel/lantiq/ltq-deu/src/ifxmips_des.c | 772 + .../kernel/lantiq/ltq-deu/src/ifxmips_deu.c | 207 + .../kernel/lantiq/ltq-deu/src/ifxmips_deu.h | 236 + .../lantiq/ltq-deu/src/ifxmips_deu_ar9.c | 135 + .../lantiq/ltq-deu/src/ifxmips_deu_ar9.h | 307 + .../lantiq/ltq-deu/src/ifxmips_deu_danube.c | 168 + .../lantiq/ltq-deu/src/ifxmips_deu_danube.h | 258 + .../lantiq/ltq-deu/src/ifxmips_deu_dma.c | 42 + .../lantiq/ltq-deu/src/ifxmips_deu_dma.h | 70 + .../lantiq/ltq-deu/src/ifxmips_deu_vr9.c | 144 + .../lantiq/ltq-deu/src/ifxmips_deu_vr9.h | 324 + .../kernel/lantiq/ltq-deu/src/ifxmips_md5.c | 276 + .../lantiq/ltq-deu/src/ifxmips_md5_hmac.c | 428 + .../kernel/lantiq/ltq-deu/src/ifxmips_sha1.c | 283 + .../lantiq/ltq-deu/src/ifxmips_sha1_hmac.c | 448 + .../lantiq/ltq-deu/src/ifxmips_tcrypt.h | 92 + package/kernel/lantiq/ltq-deu/src/internal.h | 141 + package/kernel/lantiq/ltq-ifxos/Makefile | 56 + .../ltq-ifxos/patches/001-warnings.patch | 10 + .../ltq-ifxos/patches/002-fix-compile.patch | 22 + .../lantiq/ltq-ifxos/patches/020-no-O3.patch | 19 + .../lantiq/ltq-ifxos/patches/100-compat.patch | 24 + package/kernel/lantiq/ltq-ptm/Makefile | 54 + package/kernel/lantiq/ltq-ptm/src/Makefile | 23 + .../lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c | 1597 + .../lantiq/ltq-ptm/src/ifxmips_ptm_adsl.h | 137 + .../ltq-ptm/src/ifxmips_ptm_amazon_se.c | 324 + .../lantiq/ltq-ptm/src/ifxmips_ptm_ar9.c | 378 + .../lantiq/ltq-ptm/src/ifxmips_ptm_common.h | 102 + .../lantiq/ltq-ptm/src/ifxmips_ptm_danube.c | 319 + .../ltq-ptm/src/ifxmips_ptm_fw_amazon_se.h | 493 + .../lantiq/ltq-ptm/src/ifxmips_ptm_fw_ar9.h | 473 + .../ltq-ptm/src/ifxmips_ptm_fw_danube.h | 489 + .../ltq-ptm/src/ifxmips_ptm_fw_regs_adsl.h | 284 + .../src/ifxmips_ptm_fw_regs_amazon_se.h | 48 + .../ltq-ptm/src/ifxmips_ptm_fw_regs_ar9.h | 48 + .../ltq-ptm/src/ifxmips_ptm_fw_regs_danube.h | 48 + .../ltq-ptm/src/ifxmips_ptm_fw_regs_vdsl.h | 289 + .../ltq-ptm/src/ifxmips_ptm_fw_regs_vr9.h | 91 + .../lantiq/ltq-ptm/src/ifxmips_ptm_fw_vr9.h | 478 + .../ltq-ptm/src/ifxmips_ptm_ppe_amazon_se.h | 186 + .../lantiq/ltq-ptm/src/ifxmips_ptm_ppe_ar9.h | 213 + .../ltq-ptm/src/ifxmips_ptm_ppe_common.h | 317 + .../ltq-ptm/src/ifxmips_ptm_ppe_danube.h | 135 + .../lantiq/ltq-ptm/src/ifxmips_ptm_ppe_vr9.h | 205 + .../lantiq/ltq-ptm/src/ifxmips_ptm_test.c | 943 + .../lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c | 1138 + .../lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.h | 126 + .../lantiq/ltq-ptm/src/ifxmips_ptm_vr9.c | 328 + package/kernel/lantiq/ltq-tapi/Config.in | 88 + package/kernel/lantiq/ltq-tapi/Makefile | 71 + .../ltq-tapi/patches/000-portability.patch | 82 + .../ltq-tapi/patches/010-fix-compile.patch | 22 + .../patches/020-not-leak-cflags.patch | 27 + .../lantiq/ltq-tapi/patches/100-ifxmips.patch | 96 + .../ltq-tapi/patches/200-linux-37.patch | 108 + .../ltq-tapi/patches/300-linux-310.patch | 11 + .../ltq-tapi/patches/400-linux-415.patch | 48 + .../ltq-tapi/patches/500-linux-509.patch | 50 + package/kernel/lantiq/ltq-vdsl-fw/Makefile | 42 + .../lantiq/ltq-vdsl-fw/src/LzmaDecode.c | 584 + .../lantiq/ltq-vdsl-fw/src/LzmaDecode.h | 113 + .../kernel/lantiq/ltq-vdsl-fw/src/LzmaTypes.h | 45 + .../lantiq/ltq-vdsl-fw/src/LzmaWrapper.c | 206 + .../lantiq/ltq-vdsl-fw/src/LzmaWrapper.h | 36 + .../kernel/lantiq/ltq-vdsl-fw/src/Makefile | 13 + .../lantiq/ltq-vdsl-fw/src/vdsl_fw_install.sh | 48 + .../lantiq/ltq-vdsl-fw/src/w921v_fw_cutter.c | 165 + package/kernel/lantiq/ltq-vdsl-mei/Makefile | 99 + .../patches/001-fix-compile.patch | 44 + .../ltq-vdsl-mei/patches/010-warnings.patch | 26 + .../patches/020-not-leak-cflags.patch | 21 + .../patches/030-no-static-linking.patch | 47 + .../ltq-vdsl-mei/patches/100-compat.patch | 421 + .../patches/101_no-date-time.patch | 13 + ...eset-g_tx_link_rate-on-showtime-exit.patch | 12 + .../patches/200-interrupt-lock.patch | 45 + package/kernel/lantiq/ltq-vdsl/Makefile | 76 + .../ltq-vdsl/patches/001-fix-compile.patch | 12 + .../patches/020-not-leak-cflags.patch | 32 + .../lantiq/ltq-vdsl/patches/100-compat.patch | 129 + .../ltq-vdsl/patches/110-semaphore-lock.patch | 107 + .../patches/200-fix-elapsed-time.patch | 122 + package/kernel/lantiq/ltq-vectoring/Makefile | 61 + .../patches/001-fix-compile.patch | 95 + .../ltq-vectoring/patches/100-cleanup.patch | 73 + .../ltq-vectoring/patches/200-compat.patch | 120 + package/kernel/lantiq/ltq-vmmc/Config.in | 96 + package/kernel/lantiq/ltq-vmmc/Makefile | 183 + .../kernel/lantiq/ltq-vmmc/files/vmmc.init | 13 + .../ltq-vmmc/patches/000-portability.patch | 287 + .../patches/020-not-leak-cflags.patch | 19 + .../lantiq/ltq-vmmc/patches/100-target.patch | 738 + .../lantiq/ltq-vmmc/patches/200-compat.patch | 56 + .../lantiq/ltq-vmmc/patches/400-falcon.patch | 901 + .../lantiq/ltq-vmmc/patches/500-ar9_vr9.patch | 333 + package/kernel/linux/Makefile | 68 + .../kernel/linux/files/hotplug-sched-teql.sh | 23 + .../linux/files/sysctl-br-netfilter.conf | 7 + .../linux/files/sysctl-nf-conntrack.conf | 8 + .../kernel/linux/files/sysctl-tcp-bbr.conf | 4 + package/kernel/linux/modules/001-depends.mk | 14 + package/kernel/linux/modules/block.mk | 597 + package/kernel/linux/modules/can.mk | 308 + package/kernel/linux/modules/crypto.mk | 1006 + package/kernel/linux/modules/firewire.mk | 76 + package/kernel/linux/modules/fs.mk | 619 + package/kernel/linux/modules/gpio-cascade.mk | 20 + package/kernel/linux/modules/hwmon.mk | 620 + package/kernel/linux/modules/i2c.mk | 290 + package/kernel/linux/modules/iio.mk | 561 + package/kernel/linux/modules/input.mk | 229 + package/kernel/linux/modules/leds.mk | 212 + package/kernel/linux/modules/lib.mk | 285 + package/kernel/linux/modules/multiplexer.mk | 34 + package/kernel/linux/modules/netdevices.mk | 1384 + package/kernel/linux/modules/netfilter.mk | 1258 + package/kernel/linux/modules/netsupport.mk | 1438 + package/kernel/linux/modules/nls.mk | 339 + package/kernel/linux/modules/other.mk | 1275 + package/kernel/linux/modules/pcmcia.mk | 113 + package/kernel/linux/modules/sound.mk | 536 + package/kernel/linux/modules/spi.mk | 75 + package/kernel/linux/modules/usb.mk | 1835 + package/kernel/linux/modules/video.mk | 1030 + package/kernel/linux/modules/virt.mk | 74 + package/kernel/linux/modules/w1.mk | 176 + package/kernel/linux/modules/wireless.mk | 24 + package/kernel/linux/modules/wpan.mk | 152 + package/kernel/mac80211/Makefile | 566 + package/kernel/mac80211/ath.mk | 331 + package/kernel/mac80211/broadcom.mk | 510 + .../files/lib/netifd/wireless/mac80211.sh | 1220 + .../mac80211/files/lib/wifi/mac80211.sh | 190 + .../kernel/mac80211/files/mac80211.hotplug | 5 + package/kernel/mac80211/intel.mk | 200 + package/kernel/mac80211/marvell.mk | 90 + .../patches/ath/070-ath_common_config.patch | 10 + .../patches/ath/400-ath_move_debug_code.patch | 31 + .../patches/ath/402-ath_regd_optional.patch | 92 + .../patches/ath/403-world_regd_fixup.patch | 84 + .../patches/ath/404-regd_no_assoc_hints.patch | 19 + .../patches/ath/405-ath_regd_us.patch | 26 + .../ath/406-ath_relax_default_regd.patch | 51 + ...add_platform_eeprom_support_to_ath5k.patch | 56 + ...-802.11-encapsulation-offloading-sup.patch | 379 + .../ath10k/080-ath10k_thermal_config.patch | 47 + ...us-and-device-specific-API-1-BDF-sel.patch | 65 + ...calibration-data-via-nvmem-subsystem.patch | 162 + ...21-ath10k_init_devices_synchronously.patch | 33 + .../930-ath10k_add_tpt_led_trigger.patch | 37 + ...rolling-support-for-various-chipsets.patch | 609 + ...75-ath10k-use-tpt-trigger-by-default.patch | 53 + ...-power-reduction-for-US-regulatory-d.patch | 101 + ...h10k-Try-to-get-mac-address-from-dts.patch | 37 + .../ath10k/990-ath10k-small-buffers.patch | 64 + .../201-ath5k-WAR-for-AR71xx-PCI-bug.patch | 38 + .../ath5k/411-ath5k_allow_adhoc_and_ap.patch | 46 + .../ath5k/420-ath5k_disable_fast_cc.patch | 18 + .../ath5k/430-add_ath5k_platform.patch | 33 + .../patches/ath5k/432-ath5k_add_pciids.patch | 11 + .../ath5k/440-ath5k_channel_bw_debugfs.patch | 142 + ...-ieee80211-freq-limit-property-to-li.patch | 28 + ...w-reset-AHB-WMAC-interface-on-AR91xx.patch | 25 + ..._hw-issue-external-reset-for-QCA955x.patch | 129 + ...h9k-force-rx_clear-when-disabling-rx.patch | 35 + ...erpret-requested-txpower-in-EIRP-dom.patch | 36 + ...power-reduction-for-US-regulatory-do.patch | 24 + .../ath9k/401-ath9k_blink_default.patch | 11 + .../ath9k/410-ath9k_allow_adhoc_and_ap.patch | 10 + ...abled-MFP-capability-unconditionally.patch | 34 + .../ath9k/500-ath9k_eeprom_debugfs.patch | 65 + .../patches/ath9k/501-ath9k_ahb_init.patch | 34 + .../510-ath9k_intr_mitigation_tweak.patch | 18 + .../ath9k/511-ath9k_reduce_rxbuf.patch | 11 + .../ath9k/512-ath9k_channelbw_debugfs.patch | 125 + .../patches/ath9k/513-ath9k_add_pci_ids.patch | 30 + .../patches/ath9k/530-ath9k_extra_leds.patch | 267 + .../ath9k/531-ath9k_extra_platform_leds.patch | 76 + .../ath9k/540-ath9k_reduce_ani_interval.patch | 11 + .../ath9k/542-ath9k_debugfs_diag.patch | 139 + .../ath9k/543-ath9k_entropy_from_adc.patch | 186 + ...544-ath9k-ar933x-usb-hang-workaround.patch | 79 + .../ath9k/545-ath9k_ani_ws_detect.patch | 155 + .../ath9k/547-ath9k_led_defstate_fix.patch | 29 + .../ath9k/548-ath9k_enable_gpio_chip.patch | 251 + .../ath9k/549-ath9k_enable_gpio_buttons.patch | 143 + .../ath9k/551-ath9k_ubnt_uap_plus_hsr.patch | 403 + .../patches/ath9k/552-ath9k-ahb_of.patch | 331 + .../ath9k/553-ath9k_of_gpio_mask.patch | 25 + ...calibration-data-via-nvmem-subsystem.patch | 154 + ...-fetch-pci-init-values-through-nvmem.patch | 181 + .../patches/brcm/040-brcmutil_option.patch | 10 + .../810-b43-gpio-mask-module-option.patch | 37 + .../patches/brcm/811-b43_no_pio.patch | 86 + .../brcm/812-b43-add-antenna-control.patch | 131 + .../813-b43-reduce-number-of-RX-slots.patch | 11 + .../814-b43-only-use-gpio-0-1-for-led.patch | 17 + ...815-b43-always-take-overlapping-devs.patch | 11 + ...-remove-extra-regulation-restriction.patch | 27 + ...-register-wiphy-s-during-module_init.patch | 64 + ...und-bug-with-some-inconsistent-BSSes.patch | 49 + ...62-brcmfmac-Disable-power-management.patch | 27 + ...-in-driver-tables-with-country-codes.patch | 60 + ...e-internal-roaming-engine-by-default.patch | 23 + .../mac80211/patches/brcm/998-survey.patch | 148 + .../patches/build/000-fix_kconfig.patch | 14 + .../patches/build/001-fix_build.patch | 169 + .../patches/build/002-change_allconfig.patch | 64 + .../build/003-remove_bogus_modparams.patch | 34 + .../build/012-kernel_build_check.patch | 11 + .../patches/build/015-ipw200-mtu.patch | 34 + .../patches/build/050-lib80211_option.patch | 34 + .../patches/build/060-no_local_ssb_bcma.patch | 335 + ...700-mwl8k-missing-pci-id-for-WNR854T.patch | 10 + .../801-libertas-configure-sysfs-links.patch | 21 + .../802-libertas-set-wireless-macaddr.patch | 11 + ...940-mwl8k_init_devices_synchronously.patch | 20 + ...define-RF5592-in-init_eeprom-routine.patch | 52 + ...02-rt2x00-add-throughput-LED-trigger.patch | 76 + ...dd-support-for-external-PA-on-MT7620.patch | 125 + ...ove-up-and-reuse-busy-wait-functions.patch | 178 + ...-RF-self-TXDC-calibration-for-MT7620.patch | 106 + ...-rt2x00-add-r-calibration-for-MT7620.patch | 203 + ...00-add-RXDCOC-calibration-for-MT7620.patch | 117 + ...2x00-add-RXIQ-calibration-for-MT7620.patch | 434 + ...0-add-TX-LOFT-calibration-for-MT7620.patch | 982 + ...x00-move-helper-functions-up-in-file.patch | 94 + ...HT20-HT40-bandwidth-switch-on-MT7620.patch | 56 + .../patches/rt2x00/100-rt2x00_options.patch | 47 + ...to-build-rt2800soc-module-for-RT3883.patch | 30 + ...1-rt2x00-introduce-rt2x00_platform_h.patch | 32 + .../602-rt2x00-introduce-rt2x00eeprom.patch | 296 + .../603-rt2x00-of_load_eeprom_filename.patch | 31 + ...om-on-SoC-from-a-mtd-device-defines-.patch | 113 + ...isabling_bands_through_platform_data.patch | 47 + ...07-rt2x00-add_platform_data_mac_addr.patch | 25 + ...00-allow_disabling_bands_through_dts.patch | 19 + ...c-loadable-via-OF-on-rt288x-305x-SoC.patch | 33 + ...0-rt2x00-change-led-polarity-from-OF.patch | 40 + .../611-rt2x00-add-AP+STA-support.patch | 11 + ...t-support-for-external-LNA-on-MT7620.patch | 161 + ...duce-accessors-for-CHIP_VER-register.patch | 139 + ...-differentiate-based-on-SoC-CHIP_VER.patch | 408 + .../110-mac80211_keep_keys_on_stop_ap.patch | 12 + .../120-cfg80211_allow_perm_addr_change.patch | 43 + .../subsys/150-disable_addr_notifier.patch | 67 + .../mac80211/patches/subsys/210-ap_scan.patch | 11 + ...domize-BA-session-dialog-token-alloc.patch | 38 + ...-the-fwd_skb-dev-for-mesh-forwarding.patch | 62 + ...rse-boottime-for-airtime-fairness-co.patch | 60 + ...211_hwsim-make-6-GHz-channels-usable.patch | 74 + ...d-support-for-.ndo_fill_forward_path.patch | 178 + ...-minstrel_ht-fix-MINSTREL_FRAC-macro.patch | 21 + ...l_ht-reduce-fluctuations-in-rate-pro.patch | 30 + ...l_ht-rework-rate-downgrade-code-and-.patch | 151 + ...211-split-beacon-retrieval-functions.patch | 262 + ...11-MBSSID-and-EMA-support-in-AP-mode.patch | 493 + ...nt-APIs-for-dedicated-radar-detectio.patch | 378 + ...ffchan_cac_event-to-a-dedicated-work.patch | 183 + ...sible-NULL-pointer-dereference-in-cf.patch | 99 + ...e-offchan_cac_abort_wk-in-cfg80211_r.patch | 136 + ...ontinuous-radar-monitoring-on-offcha.patch | 220 + ...introduce-set_radar_offchan-callback.patch | 67 + ...offchannel_chain-structs-to-backgrou.patch | 532 + ...MBSSID-support-in-interface-handling.patch | 144 + ...11-MBSSID-beacon-handling-in-AP-mode.patch | 326 + .../325-mac80211-MBSSID-channel-switch.patch | 52 + ...bssid_indicator-in-ieee80211_assign_.patch | 25 + ...wake-queues-on-a-vif-that-is-being-s.patch | 38 + ...airtime-fairness-back-to-deficit-rou.patch | 1249 + ...a-airtime-deficit-field-s32-instead-.patch | 52 + ...r-aql_tx_pending-when-checking-airti.patch | 48 + ...cently-active-tx-queues-in-schedulin.patch | 118 + ...er-PHY-AQL-limit-to-improve-fairness.patch | 131 + ...ugfs-file-to-display-per-phy-AQL-pen.patch | 58 + ...cumulate-airtime-deficit-for-active-.patch | 36 + ...crease-quantum-for-airtime-scheduler.patch | 53 + ...-multicast-packets-from-AQL-pending-.patch | 30 + ...-not-abuse-fq.lock-in-ieee80211_do_s.patch | 46 + ...dlock-Don-t-start-TX-while-holding-f.patch | 40 + ...vif-queues-are-operational-after-sta.patch | 47 + ...x-decap-offload-for-stations-on-AP_V.patch | 37 + ...x-ieee80211_data_to_8023_exthdr-hand.patch | 99 + ...-not-drop-packets-smaller-than-the-L.patch | 25 + ...x-mesh-airtime-link-metric-estimatin.patch | 36 + ...orrectly-mark-FTM-frames-non-buffera.patch | 134 + ...mac80211-flush-queues-on-STA-removal.patch | 36 + ...i-mvm-support-flush-on-AP-interfaces.patch | 34 + ...0-wifi-mac80211-add-flush_sta-method.patch | 91 + ...ifi-mvm-support-new-flush_sta-method.patch | 53 + ...x-invalid-drv_sta_pre_rcu_remove-cal.patch | 25 + .../patches/subsys/400-allow-ibss-mixed.patch | 29 + .../500-mac80211_configure_antenna_gain.patch | 162 + ...the-dst-buffer-to-of_get_mac_address.patch | 29 + .../subsys/999-mac80211-NSS-support.patch | 291 + package/kernel/mac80211/ralink.mk | 172 + package/kernel/mac80211/realtek.mk | 224 + .../mac80211/scripts/import-backports.sh | 109 + package/kernel/mt76/Makefile | 515 + .../patches/100-aggregation-definitions.patch | 13 + .../kernel/mt76/patches/110-api_update.patch | 11 + ...ifi-mt76-ignore-key-disable-commands.patch | 301 + package/kernel/mt7621-qtn-rgmii/Makefile | 45 + package/kernel/mt7621-qtn-rgmii/src/Makefile | 1 + .../mt7621-qtn-rgmii/src/mt7621-qtn-rgmii.c | 48 + package/kernel/mwlwifi/Makefile | 104 + ...compile-with-mac80211-backports-5_3+.patch | 35 + package/kernel/nat46/Makefile | 35 + package/kernel/rtc-rv5c386a/Makefile | 32 + package/kernel/rtc-rv5c386a/src/Makefile | 18 + package/kernel/rtc-rv5c386a/src/rtc.c | 610 + package/kernel/rtl8812au-ct/Makefile | 54 + .../patches/001-use-kernel-byteorder.patch | 15 + .../patches/002-vendor_command_policy.patch | 156 + .../patches/003-wireless-5.8.patch | 30 + package/kernel/trelay/Makefile | 48 + package/kernel/trelay/files/trelay.config | 4 + package/kernel/trelay/files/trelay.hotplug | 5 + package/kernel/trelay/files/trelay.init | 32 + package/kernel/trelay/src/Makefile | 1 + package/kernel/trelay/src/trelay.c | 294 + package/libs/argp-standalone/Makefile | 61 + .../patches/001-throw-in-funcdef.patch | 79 + .../patches/002-no_optimize.patch | 11 + ...900-fix-segfault-in_canon_doc_option.patch | 14 + package/libs/elfutils/Makefile | 116 + .../patches/003-libintl-compatibility.patch | 23 + .../patches/005-build_only_libs.patch | 11 + .../006-Fix-build-on-aarch64-musl.patch | 55 + .../elfutils/patches/100-musl-compat.patch | 29 + .../libs/elfutils/patches/101-no-fts.patch | 83 + package/libs/gettext-full/Makefile | 102 + .../patches/000-relocatable.patch | 30 + .../gettext-full/patches/001-autotools.patch | 24 + .../patches/001-no_examples_and_tests.patch | 22 + .../libs/gettext-full/patches/010-m4.patch | 382 + .../patches/150-disable_libxml_iconv.patch | 22 + package/libs/gmp/Makefile | 70 + package/libs/jansson/Makefile | 50 + package/libs/libaudit/Makefile | 109 + ...tue-functions-for-strndupa-rawmemchr.patch | 133 + .../libaudit/patches/0002-fix-gcc-10.patch | 26 + package/libs/libbsd/Makefile | 45 + package/libs/libcap/Makefile | 116 + .../libcap/patches/300-disable-tests.patch | 10 + package/libs/libevent2/Makefile | 163 + package/libs/libiconv-full/Makefile | 90 + package/libs/libiconv/COPYING | 504 + package/libs/libiconv/COPYRIGHT | 20 + package/libs/libiconv/Makefile | 79 + package/libs/libiconv/src/LICENSE | 6 + package/libs/libiconv/src/iconv.c | 449 + package/libs/libiconv/src/include/charmaps.h | 80 + .../src/include/charmaps/iso-8859-10.h | 24 + .../src/include/charmaps/iso-8859-13.h | 24 + .../src/include/charmaps/iso-8859-14.h | 25 + .../src/include/charmaps/iso-8859-16.h | 24 + .../src/include/charmaps/iso-8859-2.h | 24 + .../src/include/charmaps/iso-8859-3.h | 24 + .../src/include/charmaps/iso-8859-4.h | 24 + .../src/include/charmaps/iso-8859-5.h | 24 + .../src/include/charmaps/iso-8859-6.h | 24 + .../src/include/charmaps/iso-8859-7.h | 24 + .../src/include/charmaps/iso-8859-8.h | 24 + .../src/include/charmaps/iso-8859-9.h | 24 + .../libiconv/src/include/charmaps/koi8-r.h | 24 + .../src/include/charmaps/windows-1250.h | 24 + .../src/include/charmaps/windows-1251.h | 24 + .../src/include/charmaps/windows-1252.h | 25 + .../src/include/charmaps/windows-1253.h | 24 + .../src/include/charmaps/windows-1254.h | 24 + .../src/include/charmaps/windows-1255.h | 24 + .../src/include/charmaps/windows-1256.h | 24 + .../src/include/charmaps/windows-1257.h | 24 + .../src/include/charmaps/windows-1258.h | 24 + .../src/include/charmaps/windows-874.h | 24 + package/libs/libiconv/src/include/iconv.h | 36 + package/libs/libiconv/src/m4/iconv.m4 | 214 + package/libs/libjson-c/Makefile | 56 + .../patches/001-dont-build-docs.patch | 11 + .../libs/libjson-c/patches/010-clang.patch | 11 + package/libs/libmnl/Makefile | 78 + .../libs/libmnl/patches/001-fix_build.patch | 11 + package/libs/libnetfilter-conntrack/Makefile | 74 + ...-fix-build-with-kernel-5_15-and-musl.patch | 49 + package/libs/libnfnetlink/Makefile | 72 + package/libs/libnftnl/Makefile | 75 + package/libs/libnl-tiny/Makefile | 49 + package/libs/libnl/Makefile | 128 + ...ivate-field-in-libnl-pkg-config-file.patch | 25 + package/libs/libpcap/Config.in | 17 + package/libs/libpcap/Makefile | 104 + .../libs/libpcap/patches/100-no-openssl.patch | 10 + .../libpcap/patches/102-skip-manpages.patch | 69 + .../patches/201-space_optimization.patch | 26 + package/libs/libselinux/Makefile | 158 + package/libs/libsemanage/Makefile | 73 + package/libs/libsepol/Makefile | 84 + package/libs/libtool/Makefile | 54 + package/libs/libubox/Makefile | 113 + package/libs/libunwind/Makefile | 62 + ...ce-exec_prefix-lib64-libdir-on-ppc64.patch | 29 + .../002-fix-building-getcontext_S.patch | 17 + ...03-fix-missing-ef_reg-defs-with-musl.patch | 45 + .../libs/libunwind/patches/004-ppc-musl.patch | 383 + package/libs/libusb/Makefile | 62 + ...n-the-Changelog-and-clean-up-a-stray.patch | 29 + ...parsing-of-descriptors-for-multi-con.patch | 61 + package/libs/mbedtls/Makefile | 136 + .../mbedtls/patches/100-fix-compile.patch | 22 + .../mbedtls/patches/101-remove-test.patch | 15 + package/libs/mbedtls/patches/200-config.patch | 228 + package/libs/musl-fts/Makefile | 63 + package/libs/ncurses/Makefile | 191 + .../100-ncurses-5.6-20080112-urxvt.patch | 175 + .../101-ncurses-5.6-20080628-kbs.patch | 52 + .../patches/102-ncurses-5.9-gcc-5.patch | 44 + .../patches/103-ncurses-ar-determinism.patch | 22 + .../patches/200-fix_missing_include.patch | 14 + .../libs/ncurses/patches/900-terminfo.patch | 20 + package/libs/nettle/Config.in | 9 + package/libs/nettle/Makefile | 93 + .../libs/nettle/patches/100-portability.patch | 34 + package/libs/openssl/Config.in | 296 + package/libs/openssl/Makefile | 403 + package/libs/openssl/engine.mk | 46 + package/libs/openssl/files/afalg.cnf | 3 + package/libs/openssl/files/devcrypto.cnf | 31 + package/libs/openssl/files/openssl.init | 31 + package/libs/openssl/files/padlock.cnf | 3 + ...m-ppc-xlate.pl-add-linux64v2-flavour.patch | 55 + .../patches/100-Configure-afalg-support.patch | 23 + .../openssl/patches/110-openwrt_targets.patch | 64 + .../120-strip-cflags-from-binary.patch | 21 + .../patches/130-dont-build-tests-fuzz.patch | 29 + .../patches/140-allow-prefer-chacha20.patch | 78 + .../150-openssl.cnf-add-engines-conf.patch | 29 + ...esource-use-verifying-policy-constra.patch | 214 + ...AG_INVALID_POLICY-is-checked-even-in.patch | 48 + ...o-save-ioctl-if-EVP_MD_.FLAG_ONESHOT.patch | 58 + ..._devcrypto-add-configuration-options.patch | 566 + ...ypto-add-command-to-dump-driver-info.patch | 273 + ...o-make-the-dev-crypto-engine-dynamic.patch | 2718 + ...default-to-not-use-digests-in-engine.patch | 41 + ...to-ignore-error-when-closing-session.patch | 24 + package/libs/pcre/Config.in | 11 + package/libs/pcre/Makefile | 129 + package/libs/popt/Makefile | 57 + package/libs/readline/Makefile | 72 + .../readline/patches/001-curses-link.patch | 16 + package/libs/sysfsutils/Makefile | 86 + package/libs/sysfsutils/files/local.conf | 1 + package/libs/sysfsutils/files/sysfs.conf | 22 + package/libs/sysfsutils/files/sysfsutils | 48 + .../patches/200-mnt_path_check.patch | 55 + package/libs/toolchain/Makefile | 737 + .../toolchain/glibc-files/etc/nsswitch.conf | 13 + package/libs/uclient/Makefile | 51 + package/libs/ustream-ssl/Makefile | 72 + package/libs/wolfssl/Config.in | 100 + package/libs/wolfssl/Makefile | 169 + .../patches/100-disable-hardening-check.patch | 11 + package/libs/zlib/Config.in | 11 + package/libs/zlib/Makefile | 98 + .../001-neon-implementation-of-adler32.patch | 253 + ...m-specific-optimisations-for-inflate.patch | 1909 + ...m-specific-optimisations-for-inflate.patch | 501 + ...rcefiles-in-patch-002-to-buildsystem.patch | 100 + .../005-relative-pkg-config-paths.patch | 14 + .../zlib/patches/006-fix-CVE-2022-37434.patch | 32 + ...x-compressor-crash-on-certain-inputs.patch | 343 + ...ll-dereference-in-fix-CVE-2022-37434.patch | 29 + package/network/config/firewall/Makefile | 64 + .../config/firewall/files/firewall.config | 206 + .../config/firewall/files/firewall.hotplug | 11 + .../config/firewall/files/firewall.init | 61 + .../config/firewall/files/firewall.user | 7 + package/network/config/firewall4/Makefile | 50 + package/network/config/gre/Makefile | 44 + package/network/config/gre/files/gre.sh | 296 + package/network/config/ipip/Makefile | 40 + package/network/config/ipip/files/ipip.sh | 94 + package/network/config/ltq-adsl-app/Makefile | 91 + .../config/ltq-adsl-app/files/10_atm.sh | 29 + .../config/ltq-adsl-app/files/10_ptm.sh | 29 + .../config/ltq-adsl-app/files/dsl_control | 65 + .../patches/001-stupid_breakage_fix.patch | 65 + .../patches/010-eglibc_compile_fix.patch | 23 + .../100-add-more-script-notifications.patch | 42 + .../ltq-adsl-app/patches/300-ubus.patch | 50 + package/network/config/ltq-vdsl-app/Makefile | 82 + .../config/ltq-vdsl-app/files/10_atm.sh | 14 + .../config/ltq-vdsl-app/files/10_ptm.sh | 14 + .../config/ltq-vdsl-app/files/dsl_control | 322 + .../config/ltq-vdsl-app/files/dsl_cpe_pipe.sh | 18 + .../ltq-vdsl-app/patches/100-compat.patch | 11 + .../ltq-vdsl-app/patches/101-musl.patch | 10 + .../ltq-vdsl-app/patches/200-autoboot.patch | 86 + .../ltq-vdsl-app/patches/201-sigterm.patch | 19 + .../ltq-vdsl-app/patches/300-ubus.patch | 50 + .../ltq-vdsl-app/src/src/dsl_cpe_ubus.c | 883 + package/network/config/netifd/Makefile | 50 + .../files/etc/hotplug.d/iface/00-netstate | 6 + .../etc/hotplug.d/net/20-smp-packet-steering | 67 + .../config/netifd/files/etc/init.d/network | 144 + .../etc/uci-defaults/14_migrate-dhcp-release | 23 + .../config/netifd/files/etc/udhcpc.user | 1 + .../netifd/files/lib/netifd/dhcp.script | 120 + .../netifd/files/lib/netifd/proto/dhcp.sh | 88 + .../config/netifd/files/lib/network/config.sh | 76 + .../config/netifd/files/sbin/devstatus | 12 + .../network/config/netifd/files/sbin/ifdown | 1 + .../network/config/netifd/files/sbin/ifstatus | 13 + package/network/config/netifd/files/sbin/ifup | 77 + .../files/usr/share/udhcpc/default.script | 57 + package/network/config/qos-scripts/Makefile | 53 + .../config/qos-scripts/files/etc/config/qos | 68 + .../files/etc/hotplug.d/iface/10-qos | 2 + .../config/qos-scripts/files/etc/init.d/qos | 28 + .../qos-scripts/files/usr/bin/qos-start | 4 + .../config/qos-scripts/files/usr/bin/qos-stat | 68 + .../config/qos-scripts/files/usr/bin/qos-stop | 7 + .../qos-scripts/files/usr/lib/qos/generate.sh | 543 + .../qos-scripts/files/usr/lib/qos/tcrules.awk | 106 + package/network/config/qosify/Makefile | 70 + .../config/qosify/files/qosify-defaults.conf | 17 + .../network/config/qosify/files/qosify-status | 70 + .../network/config/qosify/files/qosify.conf | 48 + .../config/qosify/files/qosify.hotplug | 2 + .../network/config/qosify/files/qosify.init | 171 + package/network/config/soloscli/Makefile | 45 + .../files/etc/hotplug.d/atm/15-solos-init | 26 + .../soloscli/files/etc/uci-defaults/solos | 13 + .../config/soloscli/files/solos-log-stats | 19 + .../soloscli/patches/001-no-driver.patch | 11 + .../config/soloscli/patches/002-cflags.patch | 12 + package/network/config/swconfig/Makefile | 57 + .../network/config/swconfig/files/switch.sh | 15 + package/network/config/swconfig/src/Makefile | 16 + package/network/config/swconfig/src/cli.c | 387 + package/network/config/swconfig/src/swlib.c | 924 + package/network/config/swconfig/src/swlib.h | 269 + package/network/config/swconfig/src/uci.c | 246 + package/network/config/vti/Makefile | 44 + package/network/config/vti/files/vti.sh | 154 + package/network/config/vxlan/Makefile | 33 + package/network/config/vxlan/files/vxlan.sh | 195 + package/network/config/xfrm/Makefile | 38 + package/network/config/xfrm/files/xfrm.sh | 72 + package/network/ipv6/464xlat/Makefile | 43 + package/network/ipv6/464xlat/files/464xlat.sh | 118 + package/network/ipv6/464xlat/src/464xlatcfg.c | 154 + package/network/ipv6/464xlat/src/Makefile | 8 + package/network/ipv6/6in4/Makefile | 42 + package/network/ipv6/6in4/files/6in4.sh | 163 + package/network/ipv6/6rd/Makefile | 48 + package/network/ipv6/6rd/files/6rd.sh | 106 + package/network/ipv6/6rd/src/6rdcalc.c | 126 + package/network/ipv6/6rd/src/Makefile | 7 + package/network/ipv6/6to4/Makefile | 42 + package/network/ipv6/6to4/files/6to4.sh | 98 + package/network/ipv6/ds-lite/Makefile | 42 + package/network/ipv6/ds-lite/files/dslite.sh | 110 + package/network/ipv6/map/Makefile | 40 + package/network/ipv6/map/files/map.sh | 245 + package/network/ipv6/map/src/CMakeLists.txt | 29 + package/network/ipv6/map/src/mapcalc.c | 418 + package/network/ipv6/odhcp6c/Makefile | 60 + .../network/ipv6/odhcp6c/files/dhcpv6.script | 244 + package/network/ipv6/odhcp6c/files/dhcpv6.sh | 137 + .../network/ipv6/odhcp6c/files/odhcp6c.user | 1 + package/network/ipv6/thc-ipv6/Makefile | 61 + .../patches/000-cflags_override.patch | 12 + .../ipv6/thc-ipv6/patches/100-no-ssl.patch | 9 + package/network/services/dnsmasq/Makefile | 199 + .../50-dnsmasq-migrate-resolv-conf-auto.sh | 8 + .../services/dnsmasq/files/dhcp-script.sh | 53 + .../network/services/dnsmasq/files/dhcp.conf | 33 + .../dnsmasq/files/dhcpbogushostname.conf | 8 + .../services/dnsmasq/files/dnsmasq.conf | 37 + .../services/dnsmasq/files/dnsmasq.init | 1297 + .../services/dnsmasq/files/dnsmasq_acl.json | 15 + .../services/dnsmasq/files/dnsmasqsec.hotplug | 12 + .../services/dnsmasq/files/rfc6761.conf | 11 + ...rite-after-free-error-in-DHCPv6-code.patch | 179 + ...00-remove-old-runtime-kernel-support.patch | 165 + .../dnsmasq/patches/200-ubus_dns.patch | 282 + package/network/services/dropbear/Config.in | 121 + package/network/services/dropbear/Makefile | 217 + .../services/dropbear/files/dropbear.config | 5 + .../services/dropbear/files/dropbear.failsafe | 8 + .../services/dropbear/files/dropbear.init | 282 + ...01-fix-MAX_UNAUTH_CLIENTS-regression.patch | 134 + .../dropbear/patches/100-pubkey_path.patch | 106 + .../dropbear/patches/110-change_user.patch | 18 + .../patches/130-ssh_ignore_x_args.patch | 13 + .../dropbear/patches/140-disable_assert.patch | 15 + .../dropbear/patches/160-lto-jobserver.patch | 33 + .../600-allow-blank-root-password.patch | 11 + .../patches/900-configure-hardening.patch | 56 + .../patches/901-bundled-libs-cflags.patch | 48 + ...nkey-fix-use-of-rsa-sha2-256-pubkeys.patch | 38 + package/network/services/ead/Makefile | 52 + package/network/services/ead/src/Makefile | 33 + package/network/services/ead/src/aes.c | 1061 + package/network/services/ead/src/ead-client.c | 433 + package/network/services/ead/src/ead-crypt.c | 179 + package/network/services/ead/src/ead-crypt.h | 21 + package/network/services/ead/src/ead-pcap.h | 71 + package/network/services/ead/src/ead.c | 974 + package/network/services/ead/src/ead.h | 139 + package/network/services/ead/src/filter.c | 25 + package/network/services/ead/src/libbridge.h | 60 + .../network/services/ead/src/libbridge_init.c | 127 + .../services/ead/src/libbridge_private.h | 35 + package/network/services/ead/src/list.h | 602 + package/network/services/ead/src/passwd | 3 + package/network/services/ead/src/pfc.c | 54 + .../network/services/ead/src/pw_encrypt_md5.c | 646 + package/network/services/ead/src/sha1.c | 104 + .../services/ead/src/tinysrp/Makefile.am | 28 + .../services/ead/src/tinysrp/Makefile.in | 477 + .../network/services/ead/src/tinysrp/Notes | 110 + .../services/ead/src/tinysrp/acconfig.h | 9 + .../services/ead/src/tinysrp/acinclude.m4 | 27 + .../services/ead/src/tinysrp/aclocal.m4 | 157 + package/network/services/ead/src/tinysrp/bn.h | 471 + .../network/services/ead/src/tinysrp/bn_add.c | 305 + .../network/services/ead/src/tinysrp/bn_asm.c | 382 + .../network/services/ead/src/tinysrp/bn_ctx.c | 142 + .../network/services/ead/src/tinysrp/bn_div.c | 378 + .../network/services/ead/src/tinysrp/bn_exp.c | 395 + .../network/services/ead/src/tinysrp/bn_lcl.h | 419 + .../network/services/ead/src/tinysrp/bn_lib.c | 576 + .../network/services/ead/src/tinysrp/bn_mul.c | 172 + .../services/ead/src/tinysrp/bn_prime.h | 325 + .../services/ead/src/tinysrp/bn_shift.c | 139 + .../network/services/ead/src/tinysrp/bn_sqr.c | 160 + .../services/ead/src/tinysrp/bn_word.c | 130 + .../services/ead/src/tinysrp/clitest.c | 110 + .../services/ead/src/tinysrp/config.h.in | 79 + .../services/ead/src/tinysrp/configure | 2421 + .../services/ead/src/tinysrp/configure.in | 52 + .../services/ead/src/tinysrp/install-sh | 250 + .../network/services/ead/src/tinysrp/missing | 134 + .../services/ead/src/tinysrp/mkinstalldirs | 39 + .../services/ead/src/tinysrp/srvtest.c | 111 + .../services/ead/src/tinysrp/stamp-h.in | 1 + .../services/ead/src/tinysrp/t_client.c | 285 + .../services/ead/src/tinysrp/t_client.h | 148 + .../network/services/ead/src/tinysrp/t_conf.c | 1080 + .../network/services/ead/src/tinysrp/t_conv.c | 226 + .../services/ead/src/tinysrp/t_defines.h | 169 + .../services/ead/src/tinysrp/t_getconf.c | 118 + .../services/ead/src/tinysrp/t_getpass.c | 191 + .../network/services/ead/src/tinysrp/t_math.c | 177 + .../network/services/ead/src/tinysrp/t_misc.c | 338 + .../network/services/ead/src/tinysrp/t_pw.c | 264 + .../network/services/ead/src/tinysrp/t_pwd.h | 310 + .../network/services/ead/src/tinysrp/t_read.c | 81 + .../network/services/ead/src/tinysrp/t_read.h | 55 + .../services/ead/src/tinysrp/t_server.c | 259 + .../services/ead/src/tinysrp/t_server.h | 138 + .../network/services/ead/src/tinysrp/t_sha.c | 166 + .../network/services/ead/src/tinysrp/t_sha.h | 26 + .../services/ead/src/tinysrp/t_truerand.c | 151 + .../network/services/ead/src/tinysrp/tconf.c | 157 + .../services/ead/src/tinysrp/tinysrp.c | 235 + .../services/ead/src/tinysrp/tinysrp.h | 18 + .../network/services/ead/src/tinysrp/tpasswd | 2 + .../services/ead/src/tinysrp/tphrase.c | 354 + package/network/services/hostapd/Config.in | 89 + package/network/services/hostapd/Makefile | 717 + .../services/hostapd/files/dhcp-get-server.sh | 2 + .../hostapd/files/hostapd-basic.config | 404 + .../hostapd/files/hostapd-full.config | 404 + .../hostapd/files/hostapd-mini.config | 404 + .../network/services/hostapd/files/hostapd.sh | 1572 + .../services/hostapd/files/multicall.c | 28 + .../hostapd/files/wpa_supplicant-basic.config | 625 + .../hostapd/files/wpa_supplicant-full.config | 625 + .../hostapd/files/wpa_supplicant-mini.config | 625 + .../hostapd/files/wpa_supplicant-p2p.config | 625 + .../network/services/hostapd/files/wpad.init | 41 + .../network/services/hostapd/files/wpad.json | 22 + .../services/hostapd/files/wpad_acl.json | 10 + .../services/hostapd/files/wps-hotplug.sh | 69 + .../001-wolfssl-init-RNG-with-ECC-key.patch | 43 + ...hannels-to-be-selected-if-dfs-is-ena.patch | 106 + ...erministic-channel-on-channel-switch.patch | 81 + ...ix-sta-add-after-previous-connection.patch | 26 + ...use-of-uninitialized-stack-variables.patch | 25 + ...-dl_list_del-before-freeing-ipv6-add.patch | 19 + ...ewrite-neigh-code-to-not-depend-on-l.patch | 275 + ...ssing-authentication-frames-in-block.patch | 34 + .../hostapd/patches/050-build_fix.patch | 20 + .../hostapd/patches/100-daemonize_fix.patch | 97 + .../hostapd/patches/200-multicall.patch | 355 + .../services/hostapd/patches/300-noscan.patch | 58 + .../hostapd/patches/301-mesh-noscan.patch | 71 + .../patches/310-rescan_immediately.patch | 11 + .../hostapd/patches/320-optional_rfkill.patch | 61 + .../patches/330-nl80211_fix_set_freq.patch | 11 + .../patches/340-reload_freq_change.patch | 75 + .../341-mesh-ctrl-iface-channel-switch.patch | 39 + .../patches/350-nl80211_del_beacon_bss.patch | 54 + .../patches/360-ctrl_iface_reload.patch | 106 + .../hostapd/patches/370-ap_sta_support.patch | 393 + .../patches/380-disable_ctrl_iface_mib.patch | 193 + .../381-hostapd_cli_UNKNOWN-COMMAND.patch | 11 + .../patches/390-wpa_ie_cap_workaround.patch | 56 + .../400-wps_single_auth_enc_type.patch | 23 + .../patches/410-limit_debug_messages.patch | 210 + .../patches/420-indicate-features.patch | 62 + .../patches/430-hostapd_cli_ifdef.patch | 56 + .../hostapd/patches/431-wpa_cli_ifdef.patch | 18 + .../hostapd/patches/432-missing-typedef.patch | 10 + .../hostapd/patches/450-scan_wait.patch | 73 + ...dd-new-config-params-to-be-used-with.patch | 189 + ...-use-new-parameters-during-ibss-join.patch | 59 + .../patches/463-add-mcast_rate-to-11s.patch | 68 + .../patches/464-fix-mesh-obss-check.patch | 19 + .../patches/470-survey_data_fallback.patch | 25 + .../patches/500-lto-jobserver-support.patch | 59 + .../patches/590-rrm-wnm-statistics.patch | 92 + .../599-wpa_supplicant-fix-warnings.patch | 19 + .../hostapd/patches/600-ubus_support.patch | 565 + .../610-hostapd_cli_ujail_permission.patch | 33 + .../hostapd/patches/700-wifi-reload.patch | 220 + .../hostapd/patches/710-vlan_no_bridge.patch | 41 + .../patches/711-wds_bridge_force.patch | 22 + .../patches/720-iface_max_num_sta.patch | 82 + .../hostapd/patches/730-ft_iface.patch | 38 + .../hostapd/patches/740-snoop_iface.patch | 66 + ...750-qos_map_set_without_interworking.patch | 112 + .../751-qos_map_ignore_when_unsupported.patch | 12 + .../services/hostapd/src/src/ap/ubus.c | 2089 + .../services/hostapd/src/src/ap/ubus.h | 145 + .../hostapd/src/src/utils/build_features.h | 61 + .../hostapd/src/wpa_supplicant/ubus.c | 430 + .../hostapd/src/wpa_supplicant/ubus.h | 66 + package/network/services/ipset-dns/Makefile | 59 + .../services/ipset-dns/files/ipset-dns.config | 16 + .../services/ipset-dns/files/ipset-dns.init | 57 + package/network/services/lldpd/Config.in | 58 + package/network/services/lldpd/Makefile | 116 + .../network/services/lldpd/files/lldpd.config | 20 + .../network/services/lldpd/files/lldpd.init | 130 + package/network/services/odhcpd/Makefile | 108 + .../services/odhcpd/files/odhcpd-update | 6 + .../services/odhcpd/files/odhcpd.defaults | 52 + .../network/services/odhcpd/files/odhcpd.init | 22 + package/network/services/omcproxy/Makefile | 46 + .../services/omcproxy/files/omcproxy.config | 9 + .../services/omcproxy/files/omcproxy.init | 166 + package/network/services/ppp/Makefile | 313 + .../services/ppp/files/etc/ppp/chap-secrets | 1 + .../network/services/ppp/files/etc/ppp/filter | 23 + .../services/ppp/files/etc/ppp/options | 8 + .../services/ppp/files/etc/ppp/options.pptp | 7 + .../services/ppp/files/etc/ppp/radius.conf | 8 + .../ppp/files/etc/ppp/radius/dictionary | 253 + .../ppp/files/etc/ppp/radius/dictionary.asnet | 3 + .../files/etc/ppp/radius/dictionary.microsoft | 80 + .../services/ppp/files/etc/ppp/radius/servers | 2 + .../services/ppp/files/lib/netifd/ppp-down | 13 + .../services/ppp/files/lib/netifd/ppp-up | 20 + .../services/ppp/files/lib/netifd/ppp6-up | 32 + package/network/services/ppp/files/ppp.sh | 338 + .../010-use_target_for_configure.patch | 24 + .../ppp/patches/105-debian_demand.patch | 170 + .../120-debian_ipv6_updown_option.patch | 95 + .../ppp/patches/133-fix_sha1_include.patch | 11 + .../services/ppp/patches/200-makefile.patch | 56 + .../ppp/patches/201-mppe_mppc_1.1.patch | 1518 + .../services/ppp/patches/203-opt_flags.patch | 38 + .../ppp/patches/204-radius_config.patch | 72 + .../patches/205-no_exponential_timeout.patch | 29 + .../ppp/patches/207-lcp_mtu_max.patch | 25 + .../ppp/patches/208-fix_status_code.patch | 24 + .../300-filter-pcap-includes-lib.patch | 20 + .../ppp/patches/310-precompile_filter.patch | 194 + ...multilink_support_custom_iface_names.patch | 147 + .../330-retain_foreign_default_routes.patch | 22 + .../340-populate_default_gateway.patch | 34 + .../patches/400-simplify_kernel_checks.patch | 154 + .../ppp/patches/401-no_record_file.patch | 39 + .../services/ppp/patches/403-no_wtmp.patch | 25 + .../404-remove_obsolete_protocol_names.patch | 151 + .../ppp/patches/405-no_multilink_option.patch | 28 + .../ppp/patches/500-add-pptp-plugin.patch | 3066 + .../ppp/patches/510-pptp_compile_fix.patch | 11 + .../ppp/patches/511-pptp_cflags.patch | 11 + ...openssl-for-the-DES-instead-of-the-l.patch | 89 + .../ppp/patches/610-pppd_compile_fix.patch | 12 + package/network/services/ppp/utils/pfc.c | 51 + package/network/services/relayd/Makefile | 42 + .../network/services/relayd/files/relay.init | 109 + package/network/services/uhttpd/Makefile | 138 + .../services/uhttpd/files/ubus.default | 17 + .../services/uhttpd/files/uhttpd.config | 151 + .../network/services/uhttpd/files/uhttpd.init | 230 + package/network/services/umdns/Makefile | 47 + .../network/services/umdns/files/umdns.config | 3 + .../network/services/umdns/files/umdns.init | 52 + .../network/services/umdns/files/umdns.json | 57 + package/network/services/ustp/Makefile | 41 + .../network/services/ustp/files/ustpd.init | 14 + .../network/utils/adb-enablemodem/Makefile | 26 + .../adb-enablemodem/files/adb-enablemodem | 64 + package/network/utils/arptables/Makefile | 43 + package/network/utils/bpftools/Makefile | 149 + .../utils/bpftools/patches/001-cflags.patch | 10 + .../utils/bpftools/patches/002-includes.patch | 26 + package/network/utils/comgt/Makefile | 106 + package/network/utils/comgt/files/3g.chat | 12 + package/network/utils/comgt/files/3g.sh | 118 + package/network/utils/comgt/files/3g.usb | 35 + .../utils/comgt/files/directip-stop.gcom | 16 + .../network/utils/comgt/files/directip.gcom | 55 + package/network/utils/comgt/files/directip.sh | 114 + package/network/utils/comgt/files/evdo.chat | 17 + .../utils/comgt/files/getcardinfo.gcom | 14 + .../network/utils/comgt/files/getcarrier.gcom | 20 + .../network/utils/comgt/files/getcnum.gcom | 20 + .../network/utils/comgt/files/getimsi.gcom | 17 + .../utils/comgt/files/getstrength.gcom | 14 + package/network/utils/comgt/files/ncm.json | 128 + package/network/utils/comgt/files/ncm.sh | 285 + .../network/utils/comgt/files/runcommand.gcom | 31 + .../network/utils/comgt/files/setmode.gcom | 26 + package/network/utils/comgt/files/setpin.gcom | 56 + package/network/utils/comgt/files/ussd.gcom | 21 + .../utils/comgt/patches/001-compile_fix.patch | 23 + .../utils/comgt/patches/002-termios.patch | 105 + .../utils/comgt/patches/003-no_XCASE.patch | 20 + .../utils/comgt/patches/004-check_tty.patch | 68 + package/network/utils/ebtables/Makefile | 79 + .../utils/ebtables/patches/100-musl_fix.patch | 10 + .../patches/200-fix-extension-init.patch | 260 + package/network/utils/ethtool/Makefile | 67 + package/network/utils/iproute2/Makefile | 281 + .../iproute2/patches/100-configure.patch | 12 + .../iproute2/patches/110-darwin_fixes.patch | 59 + .../patches/115-add-config-xtlibdir.patch | 12 + .../120-no_arpd_ifstat_rtacct_lnstat.patch | 20 + .../130-no_netem_tipc_dcb_man_vdpa.patch | 11 + .../patches/140-allow_pfifo_fast.patch | 9 + .../patches/140-keep_libmnl_optional.patch | 11 + .../patches/145-keep_libelf_optional.patch | 11 + .../patches/150-keep_libcap_optional.patch | 11 + .../iproute2/patches/160-libnetlink-pic.patch | 11 + .../utils/iproute2/patches/170-ip_tiny.patch | 110 + .../patches/175-reduce-dynamic-syms.patch | 45 + .../patches/180-drop_FAILED_POLICY.patch | 41 + .../patches/190-fix-nls-rpath-link.patch | 20 + .../patches/195-build_variant_ip_tc.patch | 22 + .../patches/200-drop_libbsd_dependency.patch | 19 + .../patches/300-selinux-configurable.patch | 11 + .../iproute2/patches/400-add-nss-qdisc.patch | 2093 + .../iproute2/patches/500-add-nssmirred.patch | 243 + package/network/utils/ipset/Makefile | 74 + .../0001-lib-ipset-fix-printf-warning.patch | 11 + ...2-Fix-IPv6-sets-nftables-translation.patch | 82 + package/network/utils/iptables/Makefile | 785 + ...l-init_extensions6-for-static-builds.patch | 68 + ...002-xtables-Call-init_extensions_a_b.patch | 107 + .../010-add-set-dscpmark-support.patch | 452 + .../patches/101-remove-check-already.patch | 28 + .../102-iptables-disable-modprobe.patch | 18 + .../iptables/patches/103-optional-xml.patch | 13 + .../patches/200-configurable_builtin.patch | 79 + .../iptables/patches/600-shared-libext.patch | 102 + .../700-disable-legacy-revisions.patch | 95 + .../patches/800-flowoffload_target.patch | 95 + package/network/utils/iw/Makefile | 73 + .../utils/iw/patches/001-nl80211_h_sync.patch | 137 + ...ow-specifying-CFLAGS-LIBS-externally.patch | 68 + .../utils/iw/patches/120-antenna_gain.patch | 33 + .../iw/patches/130-survey-bss-rx-time.patch | 12 + .../utils/iw/patches/200-reduce_size.patch | 366 + package/network/utils/iwcap/Makefile | 46 + package/network/utils/iwcap/src/iwcap.c | 583 + package/network/utils/iwinfo/Makefile | 119 + .../network/utils/layerscape/restool/Makefile | 39 + .../restool/patches/remove-manpage.patch | 18 + package/network/utils/linux-atm/Makefile | 197 + .../network/utils/linux-atm/files/atm.hotplug | 1 + .../network/utils/linux-atm/files/br2684-up | 3 + .../network/utils/linux-atm/files/br2684ctl | 84 + .../utils/linux-atm/files/br2684ctl_wrap | 5 + .../linux-atm/patches/000-debian_16.patch | 270 + .../linux-atm/patches/200-no_libfl.patch | 179 + .../linux-atm/patches/300-objcopy_path.patch | 40 + .../patches/400-portability_fixes.patch | 70 + .../patches/500-br2684ctl_script.patch | 63 + .../patches/501-br2684ctl_itfname.patch | 74 + .../510-remove-LINUX_NETDEVICE-hack.patch | 52 + .../patches/600-fix-format-errors.patch | 11 + .../linux-atm/patches/700-musl-include.patch | 30 + .../patches/800-include_sockios.patch | 21 + package/network/utils/ltq-dsl-base/Makefile | 34 + .../files/etc/hotplug.d/dsl/led_dsl.sh | 32 + .../files/etc/hotplug.d/dsl/pppoa.sh | 37 + .../ltq-dsl-base/files/sbin/dsl_notify.sh | 6 + package/network/utils/nftables/Makefile | 85 + ...-t-use-non-POSIX-formats-in-strptime.patch | 44 + ...001-examples-compile-with-make-check.patch | 29 + package/network/utils/resolveip/Makefile | 41 + .../network/utils/resolveip/src/resolveip.c | 98 + package/network/utils/rssileds/Makefile | 47 + package/network/utils/rssileds/files/rssi | 3 + .../utils/rssileds/files/rssileds.init | 75 + package/network/utils/rssileds/src/rssileds.c | 290 + package/network/utils/tcpdump/Makefile | 68 + .../patches/001-remove_pcap_debug.patch | 100 + .../tcpdump/patches/100-tcpdump_mini.patch | 857 + .../tcpdump/patches/101-CVE-2020-8037.patch | 47 + .../tcpdump/patches/102-CVE-2018-16301.patch | 101 + package/network/utils/umbim/Makefile | 45 + .../umbim/files/lib/netifd/proto/mbim.sh | 213 + package/network/utils/uqmi/Makefile | 48 + .../utils/uqmi/files/lib/netifd/proto/qmi.sh | 477 + .../network/utils/wireguard-tools/Makefile | 65 + .../utils/wireguard-tools/files/wireguard.sh | 217 + .../wireguard-tools/files/wireguard_watchdog | 68 + package/network/utils/wireless-tools/Makefile | 94 + .../wireless-tools/patches/001-debian.patch | 35 + ...-fix-iwconfig-power-argument-parsing.patch | 13 + .../patches/003-we_essential_def.patch | 359 + .../patches/004-increase_iwlist_buffer.patch | 46 + package/network/utils/wpan-tools/Makefile | 33 + ...h-fix-compatibility-with-libnl-3.3.0.patch | 44 + package/network/utils/wwan/Makefile | 45 + .../network/utils/wwan/files/data/0421-03a7 | 6 + .../network/utils/wwan/files/data/0421-060d | 6 + .../network/utils/wwan/files/data/0421-060e | 6 + .../network/utils/wwan/files/data/0421-0612 | 6 + .../network/utils/wwan/files/data/0421-0619 | 6 + .../network/utils/wwan/files/data/0421-061e | 6 + .../network/utils/wwan/files/data/0421-0623 | 6 + .../network/utils/wwan/files/data/0421-0629 | 6 + .../network/utils/wwan/files/data/0421-062d | 6 + .../network/utils/wwan/files/data/0421-062f | 6 + .../network/utils/wwan/files/data/0421-0638 | 6 + .../network/utils/wwan/files/data/05c6-0016 | 6 + .../network/utils/wwan/files/data/05c6-0023 | 5 + .../network/utils/wwan/files/data/05c6-00a0 | 6 + .../network/utils/wwan/files/data/05c6-6000 | 5 + .../network/utils/wwan/files/data/05c6-9000 | 5 + .../network/utils/wwan/files/data/07d1-3e01 | 5 + .../network/utils/wwan/files/data/07d1-3e02 | 5 + .../network/utils/wwan/files/data/07d1-7e11 | 6 + .../network/utils/wwan/files/data/0af0-4005 | 4 + .../network/utils/wwan/files/data/0af0-6901 | 5 + .../network/utils/wwan/files/data/0af0-7201 | 5 + .../network/utils/wwan/files/data/0af0-8120 | 4 + .../network/utils/wwan/files/data/0af0-9200 | 5 + .../network/utils/wwan/files/data/0b3c-c000 | 4 + .../network/utils/wwan/files/data/0b3c-c001 | 4 + .../network/utils/wwan/files/data/0b3c-c002 | 4 + .../network/utils/wwan/files/data/0b3c-c003 | 5 + .../network/utils/wwan/files/data/0b3c-c004 | 4 + .../network/utils/wwan/files/data/0b3c-c005 | 4 + .../network/utils/wwan/files/data/0b3c-c00a | 4 + .../network/utils/wwan/files/data/0b3c-c00b | 4 + .../network/utils/wwan/files/data/0bdb-1900 | 6 + .../network/utils/wwan/files/data/0bdb-1902 | 6 + .../network/utils/wwan/files/data/0bdb-190a | 6 + .../network/utils/wwan/files/data/0bdb-190d | 6 + .../network/utils/wwan/files/data/0bdb-1910 | 6 + .../network/utils/wwan/files/data/0c88-17da | 5 + .../network/utils/wwan/files/data/0c88-180a | 5 + .../network/utils/wwan/files/data/0f3d-68a2 | 4 + .../network/utils/wwan/files/data/0f3d-68aa | 5 + .../network/utils/wwan/files/data/1004-6124 | 6 + .../network/utils/wwan/files/data/1004-6141 | 6 + .../network/utils/wwan/files/data/1004-6157 | 6 + .../network/utils/wwan/files/data/1004-618f | 5 + .../network/utils/wwan/files/data/106c-3711 | 6 + .../network/utils/wwan/files/data/106c-3714 | 6 + .../network/utils/wwan/files/data/106c-3715 | 6 + .../network/utils/wwan/files/data/106c-3716 | 6 + .../network/utils/wwan/files/data/106c-3717 | 6 + .../network/utils/wwan/files/data/106c-3718 | 4 + .../network/utils/wwan/files/data/106c-3721 | 4 + .../network/utils/wwan/files/data/1199-0017 | 5 + .../network/utils/wwan/files/data/1199-0018 | 5 + .../network/utils/wwan/files/data/1199-0019 | 5 + .../network/utils/wwan/files/data/1199-0020 | 5 + .../network/utils/wwan/files/data/1199-0021 | 5 + .../network/utils/wwan/files/data/1199-0022 | 5 + .../network/utils/wwan/files/data/1199-0023 | 5 + .../network/utils/wwan/files/data/1199-0024 | 5 + .../network/utils/wwan/files/data/1199-0025 | 5 + .../network/utils/wwan/files/data/1199-0026 | 5 + .../network/utils/wwan/files/data/1199-0027 | 5 + .../network/utils/wwan/files/data/1199-0028 | 5 + .../network/utils/wwan/files/data/1199-0112 | 5 + .../network/utils/wwan/files/data/1199-0120 | 5 + .../network/utils/wwan/files/data/1199-0218 | 5 + .../network/utils/wwan/files/data/1199-0220 | 5 + .../network/utils/wwan/files/data/1199-0224 | 5 + .../network/utils/wwan/files/data/1199-0301 | 5 + .../network/utils/wwan/files/data/1199-6802 | 5 + .../network/utils/wwan/files/data/1199-6803 | 5 + .../network/utils/wwan/files/data/1199-6804 | 5 + .../network/utils/wwan/files/data/1199-6805 | 5 + .../network/utils/wwan/files/data/1199-6808 | 5 + .../network/utils/wwan/files/data/1199-6809 | 5 + .../network/utils/wwan/files/data/1199-6813 | 5 + .../network/utils/wwan/files/data/1199-6815 | 5 + .../network/utils/wwan/files/data/1199-6816 | 5 + .../network/utils/wwan/files/data/1199-6820 | 5 + .../network/utils/wwan/files/data/1199-6821 | 5 + .../network/utils/wwan/files/data/1199-6822 | 5 + .../network/utils/wwan/files/data/1199-6833 | 5 + .../network/utils/wwan/files/data/1199-6834 | 5 + .../network/utils/wwan/files/data/1199-6835 | 5 + .../network/utils/wwan/files/data/1199-6838 | 5 + .../network/utils/wwan/files/data/1199-6839 | 5 + .../network/utils/wwan/files/data/1199-683a | 5 + .../network/utils/wwan/files/data/1199-683b | 5 + .../network/utils/wwan/files/data/1199-6850 | 5 + .../network/utils/wwan/files/data/1199-6851 | 5 + .../network/utils/wwan/files/data/1199-6852 | 5 + .../network/utils/wwan/files/data/1199-6853 | 5 + .../network/utils/wwan/files/data/1199-6855 | 5 + .../network/utils/wwan/files/data/1199-6856 | 5 + .../network/utils/wwan/files/data/1199-6859 | 5 + .../network/utils/wwan/files/data/1199-685a | 5 + .../network/utils/wwan/files/data/1199-6880 | 5 + .../network/utils/wwan/files/data/1199-6890 | 5 + .../network/utils/wwan/files/data/1199-6891 | 5 + .../network/utils/wwan/files/data/1199-6892 | 5 + .../network/utils/wwan/files/data/1199-6893 | 5 + .../network/utils/wwan/files/data/1199-68a2 | 4 + .../network/utils/wwan/files/data/1199-68aa | 5 + .../network/utils/wwan/files/data/1199-68c0 | 4 + .../network/utils/wwan/files/data/12d1-1035 | 5 + .../network/utils/wwan/files/data/12d1-1404 | 4 + .../network/utils/wwan/files/data/12d1-1406 | 5 + .../network/utils/wwan/files/data/12d1-140b | 5 + .../network/utils/wwan/files/data/12d1-140c | 4 + .../network/utils/wwan/files/data/12d1-1412 | 5 + .../network/utils/wwan/files/data/12d1-141b | 5 + .../network/utils/wwan/files/data/12d1-1433 | 5 + .../network/utils/wwan/files/data/12d1-1436 | 5 + .../network/utils/wwan/files/data/12d1-1444 | 5 + .../network/utils/wwan/files/data/12d1-144e | 5 + .../network/utils/wwan/files/data/12d1-1464 | 5 + .../network/utils/wwan/files/data/12d1-1465 | 5 + .../network/utils/wwan/files/data/12d1-1491 | 5 + .../network/utils/wwan/files/data/12d1-14a5 | 5 + .../network/utils/wwan/files/data/12d1-14a8 | 5 + .../network/utils/wwan/files/data/12d1-14ac | 4 + .../network/utils/wwan/files/data/12d1-14ae | 5 + .../network/utils/wwan/files/data/12d1-14c6 | 4 + .../network/utils/wwan/files/data/12d1-14c8 | 4 + .../network/utils/wwan/files/data/12d1-14c9 | 4 + .../network/utils/wwan/files/data/12d1-14ca | 4 + .../network/utils/wwan/files/data/12d1-14cb | 5 + .../network/utils/wwan/files/data/12d1-14cc | 4 + .../network/utils/wwan/files/data/12d1-14cf | 5 + .../network/utils/wwan/files/data/12d1-14d2 | 4 + .../network/utils/wwan/files/data/12d1-1506 | 5 + .../network/utils/wwan/files/data/12d1-150a | 4 + .../network/utils/wwan/files/data/12d1-150c | 4 + .../network/utils/wwan/files/data/12d1-150f | 4 + .../network/utils/wwan/files/data/12d1-151b | 4 + .../network/utils/wwan/files/data/12d1-151d | 5 + .../network/utils/wwan/files/data/12d1-156c | 5 + .../network/utils/wwan/files/data/12d1-1576 | 4 + .../network/utils/wwan/files/data/12d1-1577 | 4 + .../network/utils/wwan/files/data/12d1-1578 | 4 + .../network/utils/wwan/files/data/12d1-1589 | 4 + .../network/utils/wwan/files/data/12d1-1c05 | 5 + .../network/utils/wwan/files/data/12d1-1c07 | 5 + .../network/utils/wwan/files/data/12d1-1c08 | 5 + .../network/utils/wwan/files/data/12d1-1c10 | 5 + .../network/utils/wwan/files/data/12d1-1c12 | 5 + .../network/utils/wwan/files/data/12d1-1c1e | 4 + .../network/utils/wwan/files/data/12d1-1c1f | 4 + .../network/utils/wwan/files/data/12d1-1c23 | 5 + .../network/utils/wwan/files/data/12d1-1f16 | 4 + .../network/utils/wwan/files/data/1410-1400 | 5 + .../network/utils/wwan/files/data/1410-1410 | 5 + .../network/utils/wwan/files/data/1410-1420 | 5 + .../network/utils/wwan/files/data/1410-1430 | 5 + .../network/utils/wwan/files/data/1410-1450 | 5 + .../network/utils/wwan/files/data/1410-2100 | 5 + .../network/utils/wwan/files/data/1410-2110 | 5 + .../network/utils/wwan/files/data/1410-2120 | 5 + .../network/utils/wwan/files/data/1410-2130 | 5 + .../network/utils/wwan/files/data/1410-2400 | 5 + .../network/utils/wwan/files/data/1410-2410 | 5 + .../network/utils/wwan/files/data/1410-2420 | 5 + .../network/utils/wwan/files/data/1410-4100 | 5 + .../network/utils/wwan/files/data/1410-4400 | 5 + .../network/utils/wwan/files/data/1410-6000 | 5 + .../network/utils/wwan/files/data/1410-6001 | 5 + .../network/utils/wwan/files/data/1410-6002 | 5 + .../network/utils/wwan/files/data/1410-6010 | 5 + .../network/utils/wwan/files/data/1410-7001 | 5 + .../network/utils/wwan/files/data/1410-7003 | 5 + .../network/utils/wwan/files/data/1410-7030 | 5 + .../network/utils/wwan/files/data/1410-7031 | 6 + .../network/utils/wwan/files/data/1410-7041 | 5 + .../network/utils/wwan/files/data/1410-7042 | 5 + .../network/utils/wwan/files/data/1410-9011 | 4 + .../network/utils/wwan/files/data/1410-b001 | 4 + .../network/utils/wwan/files/data/1529-3100 | 6 + .../network/utils/wwan/files/data/16d5-6202 | 5 + .../network/utils/wwan/files/data/16d5-6501 | 5 + .../network/utils/wwan/files/data/16d5-6502 | 5 + .../network/utils/wwan/files/data/16d5-6603 | 6 + .../network/utils/wwan/files/data/16d5-900d | 6 + .../network/utils/wwan/files/data/16d8-5141 | 6 + .../network/utils/wwan/files/data/16d8-5533 | 6 + .../network/utils/wwan/files/data/16d8-5543 | 6 + .../network/utils/wwan/files/data/16d8-5553 | 6 + .../network/utils/wwan/files/data/16d8-6002 | 5 + .../network/utils/wwan/files/data/16d8-6006 | 5 + .../network/utils/wwan/files/data/16d8-6007 | 4 + .../network/utils/wwan/files/data/16d8-6008 | 4 + .../network/utils/wwan/files/data/16d8-6522 | 6 + .../network/utils/wwan/files/data/16d8-6523 | 6 + .../network/utils/wwan/files/data/16d8-6532 | 6 + .../network/utils/wwan/files/data/16d8-6533 | 6 + .../network/utils/wwan/files/data/16d8-6543 | 6 + .../network/utils/wwan/files/data/16d8-680a | 6 + .../network/utils/wwan/files/data/19d2-0001 | 5 + .../network/utils/wwan/files/data/19d2-0002 | 4 + .../network/utils/wwan/files/data/19d2-0015 | 5 + .../network/utils/wwan/files/data/19d2-0016 | 5 + .../network/utils/wwan/files/data/19d2-0017 | 4 + .../network/utils/wwan/files/data/19d2-0018 | 5 + .../network/utils/wwan/files/data/19d2-0019 | 4 + .../network/utils/wwan/files/data/19d2-0022 | 5 + .../network/utils/wwan/files/data/19d2-0024 | 5 + .../network/utils/wwan/files/data/19d2-0025 | 4 + .../network/utils/wwan/files/data/19d2-0031 | 4 + .../network/utils/wwan/files/data/19d2-0033 | 5 + .../network/utils/wwan/files/data/19d2-0037 | 5 + .../network/utils/wwan/files/data/19d2-0039 | 5 + .../network/utils/wwan/files/data/19d2-0042 | 4 + .../network/utils/wwan/files/data/19d2-0052 | 4 + .../network/utils/wwan/files/data/19d2-0055 | 4 + .../network/utils/wwan/files/data/19d2-0057 | 5 + .../network/utils/wwan/files/data/19d2-0063 | 4 + .../network/utils/wwan/files/data/19d2-0064 | 5 + .../network/utils/wwan/files/data/19d2-0066 | 5 + .../network/utils/wwan/files/data/19d2-0073 | 5 + .../network/utils/wwan/files/data/19d2-0079 | 5 + .../network/utils/wwan/files/data/19d2-0082 | 5 + .../network/utils/wwan/files/data/19d2-0086 | 5 + .../network/utils/wwan/files/data/19d2-0091 | 5 + .../network/utils/wwan/files/data/19d2-0094 | 5 + .../network/utils/wwan/files/data/19d2-0104 | 4 + .../network/utils/wwan/files/data/19d2-0108 | 5 + .../network/utils/wwan/files/data/19d2-0116 | 6 + .../network/utils/wwan/files/data/19d2-0117 | 5 + .../network/utils/wwan/files/data/19d2-0121 | 4 + .../network/utils/wwan/files/data/19d2-0124 | 4 + .../network/utils/wwan/files/data/19d2-0128 | 5 + .../network/utils/wwan/files/data/19d2-0142 | 6 + .../network/utils/wwan/files/data/19d2-0143 | 6 + .../network/utils/wwan/files/data/19d2-0152 | 5 + .../network/utils/wwan/files/data/19d2-0157 | 4 + .../network/utils/wwan/files/data/19d2-0167 | 4 + .../network/utils/wwan/files/data/19d2-0170 | 6 + .../network/utils/wwan/files/data/19d2-0199 | 4 + .../network/utils/wwan/files/data/19d2-0257 | 4 + .../network/utils/wwan/files/data/19d2-0265 | 4 + .../network/utils/wwan/files/data/19d2-0284 | 4 + .../network/utils/wwan/files/data/19d2-0326 | 4 + .../network/utils/wwan/files/data/19d2-1003 | 6 + .../network/utils/wwan/files/data/19d2-1008 | 4 + .../network/utils/wwan/files/data/19d2-1010 | 4 + .../network/utils/wwan/files/data/19d2-1015 | 6 + .../network/utils/wwan/files/data/19d2-1018 | 4 + .../network/utils/wwan/files/data/19d2-1172 | 6 + .../network/utils/wwan/files/data/19d2-1173 | 6 + .../network/utils/wwan/files/data/19d2-1176 | 4 + .../network/utils/wwan/files/data/19d2-1177 | 6 + .../network/utils/wwan/files/data/19d2-1181 | 6 + .../network/utils/wwan/files/data/19d2-1203 | 6 + .../network/utils/wwan/files/data/19d2-1208 | 6 + .../network/utils/wwan/files/data/19d2-1211 | 6 + .../network/utils/wwan/files/data/19d2-1212 | 6 + .../network/utils/wwan/files/data/19d2-1217 | 6 + .../network/utils/wwan/files/data/19d2-1218 | 6 + .../network/utils/wwan/files/data/19d2-1220 | 6 + .../network/utils/wwan/files/data/19d2-1222 | 6 + .../network/utils/wwan/files/data/19d2-1245 | 4 + .../network/utils/wwan/files/data/19d2-1252 | 4 + .../network/utils/wwan/files/data/19d2-1254 | 4 + .../network/utils/wwan/files/data/19d2-1256 | 4 + .../network/utils/wwan/files/data/19d2-1270 | 4 + .../network/utils/wwan/files/data/19d2-1401 | 4 + .../network/utils/wwan/files/data/19d2-1402 | 4 + .../network/utils/wwan/files/data/19d2-1426 | 4 + .../network/utils/wwan/files/data/19d2-1512 | 6 + .../network/utils/wwan/files/data/19d2-1515 | 6 + .../network/utils/wwan/files/data/19d2-1518 | 6 + .../network/utils/wwan/files/data/19d2-1519 | 6 + .../network/utils/wwan/files/data/19d2-1522 | 6 + .../network/utils/wwan/files/data/19d2-1525 | 6 + .../network/utils/wwan/files/data/19d2-1527 | 6 + .../network/utils/wwan/files/data/19d2-1537 | 6 + .../network/utils/wwan/files/data/19d2-1538 | 6 + .../network/utils/wwan/files/data/19d2-1544 | 6 + .../network/utils/wwan/files/data/19d2-2002 | 4 + .../network/utils/wwan/files/data/19d2-2003 | 5 + .../network/utils/wwan/files/data/19d2-ffdd | 5 + .../network/utils/wwan/files/data/19d2-ffe4 | 6 + .../network/utils/wwan/files/data/19d2-ffe9 | 5 + .../network/utils/wwan/files/data/19d2-fff1 | 5 + .../network/utils/wwan/files/data/19d2-fffb | 5 + .../network/utils/wwan/files/data/19d2-fffc | 5 + .../network/utils/wwan/files/data/19d2-fffd | 5 + .../network/utils/wwan/files/data/19d2-fffe | 5 + .../network/utils/wwan/files/data/19d2-ffff | 5 + .../network/utils/wwan/files/data/1a8d-1002 | 5 + .../network/utils/wwan/files/data/1a8d-1003 | 5 + .../network/utils/wwan/files/data/1a8d-1007 | 5 + .../network/utils/wwan/files/data/1a8d-1009 | 5 + .../network/utils/wwan/files/data/1a8d-100c | 5 + .../network/utils/wwan/files/data/1a8d-100d | 5 + .../network/utils/wwan/files/data/1a8d-2006 | 6 + .../network/utils/wwan/files/data/1bbb-0000 | 5 + .../network/utils/wwan/files/data/1bbb-0012 | 6 + .../network/utils/wwan/files/data/1bbb-0017 | 5 + .../network/utils/wwan/files/data/1bbb-0052 | 5 + .../network/utils/wwan/files/data/1bbb-00b7 | 5 + .../network/utils/wwan/files/data/1bbb-00ca | 6 + .../network/utils/wwan/files/data/1bbb-011e | 4 + .../network/utils/wwan/files/data/1bbb-0203 | 4 + .../network/utils/wwan/files/data/1c9e-6060 | 6 + .../network/utils/wwan/files/data/1c9e-6061 | 6 + .../network/utils/wwan/files/data/1c9e-9000 | 6 + .../network/utils/wwan/files/data/1c9e-9603 | 5 + .../network/utils/wwan/files/data/1c9e-9605 | 5 + .../network/utils/wwan/files/data/1c9e-9607 | 5 + .../network/utils/wwan/files/data/1c9e-9801 | 6 + .../network/utils/wwan/files/data/1c9e-9900 | 6 + .../network/utils/wwan/files/data/1e0e-9000 | 5 + .../network/utils/wwan/files/data/1e0e-9100 | 5 + .../network/utils/wwan/files/data/1e0e-9200 | 5 + .../network/utils/wwan/files/data/1e0e-ce16 | 5 + .../network/utils/wwan/files/data/1e0e-cefe | 6 + .../network/utils/wwan/files/data/1e2d-0053 | 6 + .../network/utils/wwan/files/data/1e2d-005b | 5 + .../network/utils/wwan/files/data/2001-7d00 | 6 + .../network/utils/wwan/files/data/2001-7d01 | 5 + .../network/utils/wwan/files/data/2001-7d02 | 5 + .../network/utils/wwan/files/data/2001-7d03 | 5 + .../network/utils/wwan/files/data/211f-6801 | 5 + .../network/utils/wwan/files/data/2357-0201 | 4 + .../network/utils/wwan/files/data/2357-0202 | 4 + .../network/utils/wwan/files/data/2357-0203 | 4 + .../network/utils/wwan/files/data/2357-9000 | 4 + .../network/utils/wwan/files/data/2c7c-0125 | 4 + .../network/utils/wwan/files/data/413c-8114 | 5 + .../network/utils/wwan/files/data/413c-8115 | 5 + .../network/utils/wwan/files/data/413c-8116 | 5 + .../network/utils/wwan/files/data/413c-8117 | 5 + .../network/utils/wwan/files/data/413c-8118 | 5 + .../network/utils/wwan/files/data/413c-8128 | 5 + .../network/utils/wwan/files/data/413c-8129 | 5 + .../network/utils/wwan/files/data/413c-8133 | 5 + .../network/utils/wwan/files/data/413c-8134 | 5 + .../network/utils/wwan/files/data/413c-8135 | 5 + .../network/utils/wwan/files/data/413c-8136 | 5 + .../network/utils/wwan/files/data/413c-8137 | 5 + .../network/utils/wwan/files/data/413c-8138 | 5 + .../network/utils/wwan/files/data/413c-8147 | 6 + .../network/utils/wwan/files/data/413c-8180 | 5 + .../network/utils/wwan/files/data/413c-8181 | 5 + .../network/utils/wwan/files/data/413c-8182 | 5 + .../network/utils/wwan/files/data/413c-8186 | 4 + .../network/utils/wwan/files/data/413c-8194 | 4 + .../network/utils/wwan/files/data/413c-8195 | 4 + .../network/utils/wwan/files/data/413c-8196 | 4 + .../network/utils/wwan/files/data/413c-819b | 5 + package/network/utils/wwan/files/wwan.sh | 146 + package/network/utils/wwan/files/wwan.usb | 23 + package/network/utils/wwan/files/wwan.usbmisc | 28 + package/qca/README.md | 11 + package/qca/nss-ifb/Makefile | 49 + package/qca/nss-ifb/README.md | 45 + package/qca/nss-ifb/src/Makefile | 3 + package/qca/nss-ifb/src/nss_ifb.c | 304 + package/qca/qca-nss-cfi/Makefile | 98 + .../patches/0001-compile-only-cryptoapi.patch | 30 + .../patches/0002-wip-support-5.4.patch | 78 + .../0003-Convert-ablkcipher-to-skcipher.patch | 707 + package/qca/qca-nss-clients/Makefile | 468 + .../qca/qca-nss-clients/files/qca-nss-ipsec | 92 + .../qca-nss-clients/files/qca-nss-mirred.init | 28 + .../qca-nss-clients/files/qca-nss-ovpn.init | 69 + .../100-kernel-5.4-support-qdisc.patch | 1145 + .../patches/101-kernel-5.4-support-gre.patch | 106 + .../102-kernel-5.4-support-ipsec.patch | 29 + .../patches/103-kernel-5.4-support-dtls.patch | 11 + .../patches/104-kernel-5.4-support-l2tp.patch | 64 + .../patches/200-qdisc-fix-compile-error.patch | 14 + .../202-vlanmgr-fix-compile-error.patch | 48 + package/qca/qca-nss-crypto/Makefile | 74 + .../patches/100-kernel-5.4-support.patch | 42 + .../patches/101-fix-ioremap-call.patch | 54 + .../200-fix-NULL-pointer-exception.patch | 57 + package/qca/qca-nss-drv/Makefile | 124 + .../files/nss-firmware/LICENSE.TXT | 45 + .../qca-nss-drv/files/nss-firmware/NOTICE.TXT | 217 + .../qca-nss-drv/files/nss-firmware/README.md | 10 + .../files/nss-firmware/qca-nss0-retail.bin | Bin 0 -> 536324 bytes .../files/nss-firmware/qca-nss1-retail.bin | Bin 0 -> 218224 bytes .../qca/qca-nss-drv/files/qca-nss-drv.conf | 6 + .../qca/qca-nss-drv/files/qca-nss-drv.debug | 26 + .../qca/qca-nss-drv/files/qca-nss-drv.hotplug | 70 + .../qca/qca-nss-drv/files/qca-nss-drv.init | 50 + .../qca/qca-nss-drv/files/qca-nss-drv.sysctl | 4 + .../patches/100-kernel-5.4-support.patch | 107 + ...ol-fab-scaling-from-package-Makefile.patch | 38 + .../patches/102-fix-ioremap-call.patch | 132 + .../200-fix-NULL-pointer-exception.patch | 11 + ...1-Fix-Kernel-Panic-dma-with-NULL-dev.patch | 82 + .../400-Exported-set-nexthop-function.patch | 54 + package/qca/qca-nss-ecm/Makefile | 270 + package/qca/qca-nss-ecm/files/ecm_dump.sh | 95 + package/qca/qca-nss-ecm/files/on-demand-down | 6 + .../qca-nss-ecm/files/qca-nss-ecm.defaults | 28 + .../qca-nss-ecm/files/qca-nss-ecm.firewall | 18 + .../qca/qca-nss-ecm/files/qca-nss-ecm.init | 118 + .../qca/qca-nss-ecm/files/qca-nss-ecm.sysctl | 2 + package/qca/qca-nss-ecm/files/qca-nss-ecm.uci | 2 + .../patches/001-Drop_SFE_from_ecm.patch | 12 + .../patches/100-kernel-5.4-support.patch | 1276 + .../101-Fix_Kern_Panic_on_UDP_CONNTRACK.patch | 60 + .../patches/200-resolve-high-load.patch | 44 + .../203-rework-nfct-notification.patch | 20 + ...heck-TCP_UDP-conntrack-state-earlier.patch | 236 + ...ix-NSS-stats-request-roll-over-issue.patch | 52 + ...01-Fix-for-ref-leak-during-multicast.patch | 112 + ...neighbour-solicitation-send-function.patch | 33 + ...e-leak-during-multicast_PPPoE-bridge.patch | 260 + ...-global-accelerated-count-under-lock.patch | 59 + ...x-IPv6-neighbor-solicitation-request.patch | 83 + ...tation-fix-with-zero-gateway-address.patch | 63 + ...-port-when-bridge-hairpin-is-enabled.patch | 875 + .../999-01-qca-nss-ecm-priv_flags.patch | 521 + package/qca/qca-nss-gmac/Makefile | 46 + .../patches/100-kernel-5.4-support.patch | 279 + .../patches/101-nss-gmac-test-ptr.patch | 11 + .../102-nss-gmac-fix-of_get_mac_address.patch | 22 + .../patches/103-fix-ioremap-call.patch | 40 + .../104-nss-gmac-fix-of_get_phy_mode.patch | 21 + .../patches/105-fix-nss-gmac-tx-timeout.patch | 22 + ...-work-around-interface-close-warning.patch | 15 + .../200-rework-nfct-notification.patch | 20 + package/system/ca-certificates/Makefile | 71 + ...fix-python3-cryptography-woes-in-cer.patch | 53 + package/system/fstools/Makefile | 142 + package/system/fstools/files/blockd.init | 22 + package/system/fstools/files/fstab.default | 2 + package/system/fstools/files/fstab.init | 22 + .../system/fstools/files/media-change.hotplug | 8 + package/system/fstools/files/mount.hotplug | 1 + package/system/fstools/files/snapshot | 113 + package/system/fwtool/Makefile | 48 + package/system/iucode-tool/Makefile | 62 + ...atibility-header-to-build-on-non-x86.patch | 31 + package/system/mtd/Makefile | 52 + package/system/mtd/src/Makefile | 30 + package/system/mtd/src/crc32.c | 95 + package/system/mtd/src/crc32.h | 26 + package/system/mtd/src/fis.c | 242 + package/system/mtd/src/fis.h | 16 + package/system/mtd/src/imagetag.c | 410 + package/system/mtd/src/jffs2.c | 366 + package/system/mtd/src/jffs2.h | 216 + package/system/mtd/src/linksys_bootcount.c | 187 + package/system/mtd/src/md5.c | 307 + package/system/mtd/src/md5.h | 65 + package/system/mtd/src/mtd.c | 1109 + package/system/mtd/src/mtd.h | 36 + package/system/mtd/src/seama.c | 188 + package/system/mtd/src/seama.h | 108 + .../system/mtd/src/tpl_ramips_recoveryflag.c | 94 + package/system/mtd/src/trx.c | 268 + package/system/mtd/src/wrg.c | 208 + package/system/mtd/src/wrgg.c | 189 + package/system/mtd/src/wrgg.h | 20 + package/system/openwrt-keyring/Makefile | 39 + package/system/opkg/Makefile | 97 + package/system/opkg/files/20_migrate-feeds | 9 + package/system/opkg/files/customfeeds.conf | 3 + package/system/opkg/files/opkg-key | 58 + package/system/opkg/files/opkg-smime.conf | 6 + package/system/opkg/files/opkg.conf | 4 + package/system/procd/Makefile | 157 + .../system/procd/files/hotplug-preinit.json | 18 + package/system/procd/files/hotplug.json | 87 + package/system/procd/files/procd.sh | 655 + package/system/procd/files/reload_config | 15 + package/system/procd/files/service | 30 + package/system/procd/files/uxc.init | 16 + package/system/refpolicy/Makefile | 80 + package/system/refpolicy/files/selinux-config | 7 + .../refpolicy/patches/100-no-docs.patch | 12 + package/system/rpcd/Makefile | 107 + .../rpcd/files/50-migrate-rpcd-ubus-sock.sh | 8 + package/system/rpcd/files/rpcd.config | 10 + package/system/rpcd/files/rpcd.init | 21 + package/system/selinux-policy/Makefile | 54 + .../selinux-policy/files/selinux-config | 2 + package/system/ubox/Makefile | 71 + package/system/ubox/files/log.init | 112 + package/system/ubus/Makefile | 83 + package/system/ucert/Makefile | 71 + package/system/uci/Makefile | 87 + package/system/uci/files/lib/config/uci.sh | 163 + package/system/urandom-seed/Makefile | 29 + .../files/etc/init.d/urandom_seed | 12 + .../files/lib/preinit/81_urandom_seed | 22 + .../urandom-seed/files/sbin/urandom_seed | 20 + package/system/urngd/Makefile | 46 + package/system/urngd/files/urngd.init | 17 + package/system/usign/Makefile | 47 + package/system/zram-swap/Makefile | 48 + package/system/zram-swap/files/zram.init | 190 + package/utils/adb/Makefile | 53 + .../adb/patches/001-create_Makefile.patch | 45 + .../adb/patches/003-fix-musl-build.patch | 10 + .../utils/adb/patches/010-openssl-1.1.patch | 28 + .../020-cherry-picked-superspeed-fix.patch | 39 + package/utils/bcm27xx-userland/Makefile | 97 + package/utils/bcm4908img/Makefile | 54 + package/utils/bcm4908img/src/Makefile | 7 + package/utils/bcm4908img/src/bcm4908img.c | 1022 + package/utils/bsdiff/Makefile | 79 + package/utils/bsdiff/patches/001-musl.patch | 84 + package/utils/busybox/Config-defaults.in | 3209 + package/utils/busybox/Config.in | 21 + package/utils/busybox/Makefile | 164 + package/utils/busybox/config/Config.in | 741 + .../utils/busybox/config/archival/Config.in | 450 + .../busybox/config/console-tools/Config.in | 144 + .../utils/busybox/config/coreutils/Config.in | 960 + .../busybox/config/debianutils/Config.in | 70 + .../utils/busybox/config/e2fsprogs/Config.in | 66 + .../config/e2fsprogs/old_e2fsprogs/Config.in | 69 + .../utils/busybox/config/editors/Config.in | 245 + .../utils/busybox/config/findutils/Config.in | 318 + package/utils/busybox/config/init/Config.in | 206 + .../busybox/config/klibc-utils/Config.in | 42 + package/utils/busybox/config/libbb/Config.in | 401 + .../utils/busybox/config/loginutils/Config.in | 330 + .../utils/busybox/config/mailutils/Config.in | 51 + .../utils/busybox/config/miscutils/Config.in | 812 + .../utils/busybox/config/modutils/Config.in | 239 + .../utils/busybox/config/networking/Config.in | 1263 + .../busybox/config/networking/udhcp/Config.in | 211 + .../utils/busybox/config/printutils/Config.in | 26 + package/utils/busybox/config/procps/Config.in | 277 + package/utils/busybox/config/runit/Config.in | 98 + .../utils/busybox/config/selinux/Config.in | 99 + package/utils/busybox/config/shell/Config.in | 603 + .../utils/busybox/config/sysklogd/Config.in | 171 + .../utils/busybox/config/util-linux/Config.in | 955 + .../config/util-linux/volume_id/Config.in | 203 + package/utils/busybox/convert_defaults.pl | 13 + package/utils/busybox/convert_menuconfig.pl | 76 + package/utils/busybox/files/cron | 41 + package/utils/busybox/files/ntpd-hotplug | 12 + package/utils/busybox/files/ntpd.capabilities | 22 + package/utils/busybox/files/ntpd_acl.json | 8 + package/utils/busybox/files/sysntpd | 130 + ...VE-2022-30065-awk-fix-use-after-free.patch | 42 + .../busybox/patches/120-lto-jobserver.patch | 27 + .../patches/200-udhcpc_reduce_msgs.patch | 18 + .../patches/201-udhcpc_changed_ifindex.patch | 15 + .../busybox/patches/210-add_netmsg_util.patch | 79 + .../busybox/patches/220-add_lock_util.patch | 158 + .../270-libbb_make_unicode_printable.patch | 20 + .../301-ip-link-fix-netlink-msg-size.patch | 11 + .../500-move-traceroute-applets-to-bin.patch | 13 + .../510-move-passwd-applet-to-bin.patch | 11 + ...520-loginutils-handle-crypt-failures.patch | 53 + ...-transaction-IDs-for-the-DNS-queries.patch | 42 + package/utils/busybox/selinux.config | 15 + package/utils/bzip2/Makefile | 110 + .../utils/bzip2/patches/020-no-utime.patch | 27 + .../utils/bzip2/patches/021-fix-LDFLAGS.patch | 11 + package/utils/checkpolicy/Makefile | 52 + package/utils/ct-bugcheck/Makefile | 52 + package/utils/ct-bugcheck/src/bugcheck.initd | 16 + package/utils/ct-bugcheck/src/bugcheck.sh | 115 + package/utils/ct-bugcheck/src/bugchecker.sh | 29 + package/utils/dtc/Makefile | 93 + ...t-for-printing-raw-bytes-with-fdtget.patch | 137 + package/utils/e2fsprogs/Makefile | 332 + package/utils/e2fsprogs/files/e2fsck.conf | 3 + package/utils/e2fsprogs/files/e2fsck.sh | 38 + .../e2fsprogs/patches/000-relocatable.patch | 40 + .../patches/001-com_err_version.patch | 13 + .../patches/002-fix-subst-host-build.patch | 10 + ...-sanity-check-to-extent-manipulation.patch | 50 + package/utils/f2fs-tools/Makefile | 153 + ...esize_f2fs-fix_wrong_ovp_calculation.patch | 46 + package/utils/fbtest/Makefile | 39 + package/utils/fbtest/src/Makefile | 14 + package/utils/fbtest/src/fbtest.c | 446 + package/utils/fritz-tools/Makefile | 60 + package/utils/fritz-tools/README.md | 50 + package/utils/fritz-tools/src/CMakeLists.txt | 16 + .../utils/fritz-tools/src/fritz_cal_extract.c | 259 + .../fritz-tools/src/fritz_tffs_nand_read.c | 572 + .../utils/fritz-tools/src/fritz_tffs_read.c | 379 + package/utils/jboot-tools/Makefile | 28 + package/utils/jboot-tools/README.md | 46 + package/utils/jboot-tools/src/CMakeLists.txt | 11 + .../utils/jboot-tools/src/jboot_config_read.c | 427 + package/utils/jsonfilter/Makefile | 32 + package/utils/lua/Makefile | 186 + .../001-include-version-number.patch | 57 + .../010-lua-5.1.3-lnum-full-260308.patch | 3748 + .../patches-host/011-lnum-use-double.patch | 11 + ...2-lnum-fix-ltle-relational-operators.patch | 22 + .../013-lnum-strtoul-parsing-fixes.patch | 48 + .../patches-host/015-lnum-ppc-compat.patch | 11 + .../030-archindependent-bytecode.patch | 111 + .../lua/patches-host/100-no_readline.patch | 49 + .../patches/001-include-version-number.patch | 57 + .../010-lua-5.1.3-lnum-full-260308.patch | 3737 + .../lua/patches/011-lnum-use-double.patch | 11 + ...2-lnum-fix-ltle-relational-operators.patch | 22 + .../013-lnum-strtoul-parsing-fixes.patch | 48 + .../lua/patches/015-lnum-ppc-compat.patch | 11 + .../utils/lua/patches/020-shared_liblua.patch | 140 + .../030-archindependent-bytecode.patch | 111 + .../patches/040-use-symbolic-functions.patch | 11 + .../utils/lua/patches/050-honor-cflags.patch | 11 + .../utils/lua/patches/100-no_readline.patch | 49 + package/utils/lua/patches/200-lua-path.patch | 15 + .../lua/patches/300-opcode_performance.patch | 363 + package/utils/lua5.3/Makefile | 151 + .../001-include-version-number.patch | 76 + .../lua5.3/patches-host/100-no_readline.patch | 54 + .../patches/001-include-version-number.patch | 76 + .../lua5.3/patches/020-shared_liblua.patch | 322 + .../lua5.3/patches/100-no_readline.patch | 54 + package/utils/mdadm/Makefile | 70 + package/utils/mdadm/files/mdadm.config | 18 + package/utils/mdadm/files/mdadm.init | 93 + .../mdadm/patches/100-cross_compile.patch | 11 + ...h-Undefine-dprintf-before-redefining.patch | 38 + ...missing-include-file-sys-sysmacros.h.patch | 29 + .../utils/mdadm/patches/200-reduce_size.patch | 25 + package/utils/mtd-utils/Makefile | 84 + .../mtd-utils/patches/100-fix_includes.patch | 10 + .../mtd-utils/patches/130-lzma_jffs2.patch | 5038 ++ package/utils/nvram/Makefile | 55 + package/utils/nvram/files/nvram-bcm47xx.init | 98 + package/utils/nvram/files/nvram-bcm53xx.init | 40 + package/utils/nvram/src/Makefile | 7 + package/utils/nvram/src/cli.c | 255 + package/utils/nvram/src/crc.c | 69 + package/utils/nvram/src/nvram.c | 547 + package/utils/nvram/src/nvram.h | 123 + package/utils/nvram/src/sdinitvals.h | 30 + package/utils/osafeloader/Makefile | 40 + package/utils/osafeloader/src/Makefile | 7 + package/utils/osafeloader/src/md5.c | 296 + package/utils/osafeloader/src/md5.h | 45 + package/utils/osafeloader/src/osafeloader.c | 263 + package/utils/oseama/Makefile | 40 + package/utils/oseama/src/Makefile | 7 + package/utils/oseama/src/md5.c | 296 + package/utils/oseama/src/md5.h | 45 + package/utils/oseama/src/oseama.c | 556 + package/utils/otrx/Makefile | 46 + package/utils/policycoreutils/Makefile | 146 + package/utils/px5g-mbedtls/Makefile | 69 + package/utils/px5g-mbedtls/px5g-mbedtls.c | 326 + package/utils/px5g-wolfssl/Makefile | 50 + package/utils/px5g-wolfssl/px5g-wolfssl.c | 372 + package/utils/ravpower-mcu/Makefile | 34 + package/utils/secilc/Makefile | 66 + package/utils/spidev_test/Makefile | 60 + package/utils/ucode/Makefile | 244 + package/utils/uencrypt/Makefile | 57 + package/utils/uencrypt/src/CMakeLists.txt | 20 + package/utils/uencrypt/src/uencrypt.c | 117 + package/utils/ugps/Makefile | 45 + package/utils/ugps/files/gps.config | 4 + package/utils/ugps/files/ugps.init | 36 + package/utils/usbmode/Makefile | 74 + package/utils/usbmode/data/12d1-1f16 | 2 + package/utils/usbmode/files/usbmode.hotplug | 1 + package/utils/usbmode/files/usbmode.init | 12 + package/utils/util-linux/Makefile | 903 + .../util-linux/patches/100-use_urandom.patch | 14 + package/utils/zyxel-bootconfig/Makefile | 38 + .../files/95_apply_bootconfig | 16 + package/utils/zyxel-bootconfig/src/Makefile | 7 + .../zyxel-bootconfig/src/zyxel-bootconfig.c | 331 + rules.mk | 455 + scripts/arm-magic.sh | 42 + scripts/brcmImage.pl | 162 + scripts/bundle-libraries.sh | 212 + scripts/cameo-imghdr.py | 86 + scripts/cameo-tag.py | 117 + scripts/cfe-bin-header.py | 72 + scripts/cfe-partition-tag.py | 191 + scripts/cfe-wfi-tag.py | 200 + scripts/check-toolchain-clean.sh | 14 + scripts/checkpatch.pl | 6872 ++ scripts/clean-package.sh | 25 + scripts/cleanfile | 177 + scripts/cleanpatch | 259 + scripts/combined-ext-image.sh | 78 + scripts/combined-image.sh | 34 + scripts/command_all.sh | 11 + scripts/config.guess | 1702 + scripts/config.rpath | 666 + scripts/config.sub | 1864 + scripts/config/Makefile | 154 + scripts/config/README | 26 + scripts/config/conf.c | 915 + scripts/config/confdata.c | 1162 + scripts/config/expr.c | 1303 + scripts/config/expr.h | 327 + scripts/config/images.c | 328 + scripts/config/images.h | 33 + scripts/config/internal.h | 9 + scripts/config/lexer.l | 521 + scripts/config/lexer.lex.c | 4201 ++ scripts/config/list.h | 132 + scripts/config/lkc.h | 158 + scripts/config/lkc_proto.h | 53 + scripts/config/lxdialog/checklist.c | 319 + scripts/config/lxdialog/dialog.h | 238 + scripts/config/lxdialog/inputbox.c | 289 + scripts/config/lxdialog/menubox.c | 424 + scripts/config/lxdialog/textbox.c | 395 + scripts/config/lxdialog/util.c | 700 + scripts/config/lxdialog/yesno.c | 101 + scripts/config/mconf-cfg.sh | 52 + scripts/config/mconf.c | 1050 + scripts/config/menu.c | 878 + scripts/config/nconf-cfg.sh | 50 + scripts/config/nconf.c | 1562 + scripts/config/nconf.gui.c | 614 + scripts/config/nconf.h | 83 + scripts/config/parser.tab.c | 2189 + scripts/config/parser.tab.h | 133 + scripts/config/parser.y | 718 + scripts/config/preprocess.c | 575 + scripts/config/qconf-cfg.sh | 24 + scripts/config/qconf.cc | 1916 + scripts/config/qconf.h | 275 + scripts/config/symbol.c | 1298 + scripts/config/util.c | 129 + scripts/const_structs.checkpatch | 68 + scripts/deptest.sh | 211 + scripts/diffconfig.sh | 17 + scripts/dl_cleanup.py | 281 + scripts/dl_github_archive.py | 428 + scripts/download.pl | 305 + scripts/dump-target-info.pl | 111 + scripts/env | 226 + scripts/ext-toolchain.sh | 618 + scripts/ext-tools.sh | 98 + scripts/feeds | 936 + scripts/fixup-makefile.pl | 135 + scripts/flashing/adam2flash-502T.pl | 342 + scripts/flashing/adam2flash-fritzbox.pl | 209 + scripts/flashing/adam2flash.pl | 174 + scripts/flashing/adsl2mue_flash.pl | 170 + scripts/flashing/eva_ramboot.py | 44 + scripts/flashing/flash.sh | 66 + scripts/flashing/jungo-image.py | 283 + scripts/functions.sh | 48 + scripts/gen-dependencies.sh | 33 + scripts/gen_image_generic.sh | 58 + scripts/get_source_date_epoch.sh | 35 + scripts/getver.sh | 59 + scripts/ipkg-build | 200 + scripts/ipkg-make-index.sh | 31 + scripts/ipkg-remove | 20 + scripts/json_add_image_info.py | 78 + scripts/json_overview_image_info.py | 70 + scripts/kconfig.pl | 189 + scripts/linksys-image.sh | 67 + scripts/make-ipkg-dir.sh | 21 + scripts/md5sum | 2 + scripts/metadata.pm | 318 + scripts/mkhash.c | 854 + scripts/mkits-qsdk-ipq-image.sh | 59 + scripts/mkits-zyxel-fit.sh | 38 + scripts/mkits.sh | 244 + scripts/netgear-encrypted-factory.py | 68 + scripts/om-fwupgradecfg-gen.sh | 93 + scripts/package-metadata.pl | 655 + scripts/pad_image | 100 + scripts/patch-kernel.sh | 54 + scripts/patch-specs.sh | 90 + scripts/portable_date.sh | 11 + scripts/qemustart | 342 + scripts/redboot-script.pl | 111 + scripts/relink-lib.sh | 14 + scripts/remote-gdb | 89 + scripts/rstrip.sh | 50 + scripts/sercomm-crypto.py | 86 + scripts/sercomm-partition-tag.py | 81 + scripts/sercomm-payload.py | 56 + scripts/sign_images.sh | 27 + scripts/size_compare.sh | 151 + scripts/slugimage.pl | 1217 + scripts/spelling.txt | 1517 + scripts/srecimage.pl | 57 + scripts/strip-kmod.sh | 55 + scripts/symlink-tree.sh | 51 + scripts/sysupgrade-tar.sh | 84 + scripts/target-metadata.pl | 464 + scripts/time.pl | 65 + scripts/timestamp.pl | 69 + scripts/ubinize-image.sh | 157 + scripts/xxdi.pl | 66 + target/Config.in | 232 + target/Makefile | 28 + target/imagebuilder/Config.in | 17 + target/imagebuilder/Makefile | 124 + target/imagebuilder/files/Makefile | 268 + target/imagebuilder/files/README.md | 11 + target/imagebuilder/files/repositories.conf | 4 + target/linux/Makefile | 11 + target/linux/apm821xx/Makefile | 25 + .../apm821xx/base-files/etc/board.d/01_leds | 50 + .../base-files/etc/board.d/02_network | 34 + target/linux/apm821xx/base-files/etc/diag.sh | 50 + .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 19 + .../base-files/etc/init.d/hwmon_fancontrol | 15 + target/linux/apm821xx/base-files/etc/inittab | 4 + .../etc/uci-defaults/04_led_migration | 56 + .../etc/uci-defaults/05_fix-compat-version | 12 + .../lib/preinit/05_set_iface_mac_apm821xx | 13 + .../lib/preinit/05_set_preinit_iface_apm821xx | 5 + .../base-files/lib/preinit/79_move_config | 18 + .../base-files/lib/upgrade/platform.sh | 47 + .../apm821xx/base-files/lib/upgrade/wdbook.sh | 94 + target/linux/apm821xx/config-5.10 | 245 + target/linux/apm821xx/dts/apm82181.dtsi | 466 + target/linux/apm821xx/dts/meraki-mr24.dts | 250 + target/linux/apm821xx/dts/meraki-mx60.dts | 212 + .../linux/apm821xx/dts/netgear-wndap620.dts | 47 + .../linux/apm821xx/dts/netgear-wndap660.dts | 96 + .../linux/apm821xx/dts/netgear-wndap6x0.dtsi | 224 + .../linux/apm821xx/dts/netgear-wndr4700.dts | 536 + target/linux/apm821xx/dts/wd-mybooklive.dts | 214 + target/linux/apm821xx/image/Makefile | 89 + target/linux/apm821xx/image/mbl_boot.scr | 6 + .../linux/apm821xx/image/mbl_gen_hdd_img.sh | 27 + target/linux/apm821xx/image/nand.mk | 127 + target/linux/apm821xx/image/sata.mk | 26 + target/linux/apm821xx/nand/config-default | 43 + .../apm821xx/nand/profiles/00-default.mk | 19 + target/linux/apm821xx/nand/target.mk | 9 + .../100-dwc2-disable-powerdown.patch | 29 + .../201-add-amcc-apollo3g-support.patch | 30 + .../300-fix-atheros-nics-on-apm82181.patch | 51 + .../301-fix-memory-map-wndr4700.patch | 14 + .../802-usb-xhci-force-msi-renesas-xhci.patch | 53 + ...03-hwmon-tc654-add-detection-routine.patch | 65 + ...mon-tc654-add-thermal_cooling-device.patch | 166 + ...per-force-gzip-as-mkimage-s-compress.patch | 29 + target/linux/apm821xx/sata/config-default | 53 + .../apm821xx/sata/profiles/00-default.mk | 15 + target/linux/apm821xx/sata/target.mk | 10 + target/linux/archs38/Makefile | 23 + .../archs38/base-files/etc/board.d/02_network | 18 + target/linux/archs38/config-5.10 | 280 + .../archs38/generic/profiles/00-default.mk | 13 + target/linux/archs38/generic/target.mk | 8 + target/linux/archs38/image/Config.in | 5 + target/linux/archs38/image/Makefile | 86 + .../archs38/image/gen_axs10x_sdcard_img.sh | 29 + target/linux/archs38/image/uEnv.txt | 7 + target/linux/archs38/image/uboot.env.txt | 29 + target/linux/armvirt/32/config-5.10 | 75 + target/linux/armvirt/32/target.mk | 10 + target/linux/armvirt/64/config-5.10 | 152 + target/linux/armvirt/64/target.mk | 9 + target/linux/armvirt/Makefile | 18 + target/linux/armvirt/README | 40 + .../armvirt/base-files/etc/board.d/00_model | 13 + target/linux/armvirt/base-files/etc/inittab | 5 + target/linux/armvirt/config-5.10 | 155 + target/linux/armvirt/image/Makefile | 32 + target/linux/at91/Makefile | 21 + .../at91/base-files/etc/board.d/02_network | 23 + .../linux/at91/base-files/etc/config/network | 20 + .../files/arch/arm/boot/dts/at91-q5xr5.dts | 193 + .../at91/files/arch/arm/boot/dts/lmu5000.dts | 124 + target/linux/at91/image/Config.in | 10 + target/linux/at91/image/Makefile | 79 + target/linux/at91/image/dfboot/Makefile | 35 + target/linux/at91/image/dfboot/src/Makefile | 94 + target/linux/at91/image/dfboot/src/_udivsi3.S | 77 + target/linux/at91/image/dfboot/src/_umodsi3.S | 88 + target/linux/at91/image/dfboot/src/asm_isr.S | 75 + .../linux/at91/image/dfboot/src/asm_mci_isr.S | 75 + target/linux/at91/image/dfboot/src/at45.c | 595 + target/linux/at91/image/dfboot/src/com.c | 368 + target/linux/at91/image/dfboot/src/com.h | 28 + target/linux/at91/image/dfboot/src/config.h | 17 + .../at91/image/dfboot/src/cstartup_ram.S | 144 + .../linux/at91/image/dfboot/src/dataflash.c | 208 + .../linux/at91/image/dfboot/src/dataflash.h | 181 + target/linux/at91/image/dfboot/src/div0.c | 28 + .../at91/image/dfboot/src/elf32-littlearm.lds | 19 + .../at91/image/dfboot/src/embedded_services.h | 500 + .../dfboot/src/include/AT91C_MCI_Device.h | 379 + .../image/dfboot/src/include/AT91RM9200.h | 2745 + .../image/dfboot/src/include/AT91RM9200.inc | 2437 + .../image/dfboot/src/include/AT91RM9200_inc.h | 2401 + .../linux/at91/image/dfboot/src/include/led.h | 49 + .../image/dfboot/src/include/lib_AT91RM9200.h | 2978 + target/linux/at91/image/dfboot/src/init.c | 165 + target/linux/at91/image/dfboot/src/jump.S | 4 + target/linux/at91/image/dfboot/src/led.c | 103 + target/linux/at91/image/dfboot/src/main.c | 811 + target/linux/at91/image/dfboot/src/main.h | 43 + .../linux/at91/image/dfboot/src/mci_device.c | 743 + target/linux/at91/image/dfboot/src/stdio.h | 18 + .../linux/at91/image/gen_at91_sdcard_img.sh | 29 + target/linux/at91/image/sam9x.mk | 216 + target/linux/at91/image/sama5.mk | 150 + target/linux/at91/image/sama7.mk | 57 + target/linux/at91/image/uboot-env.txt | 15 + target/linux/at91/modules.mk | 102 + .../101-ARM-at91-build-dtb-for-q5xr5.patch | 10 + ...s-clock-at91-add-sama7g5-pll-defines.patch | 65 + ...-allow-SYS-and-CPU-PLLs-to-be-export.patch | 41 + ...aster-add-5th-divisor-for-mck-master.patch | 42 + ...-add-5th-divisor-for-mck0-layout-and.patch | 36 + ...9x60-pll-allow-runtime-changes-for-p.patch | 510 + ...-remove-mck0-from-parent-list-of-oth.patch | 196 + ...5-decrease-lower-limit-for-MCK0-rate.patch | 30 + ...-do-not-allow-cpu-pll-to-go-higher-t.patch | 221 + ...91-clk-master-re-factor-master-clock.patch | 1230 + ...-clk-at91-sama7g5-register-cpu-clock.patch | 65 + ...91-Fix-the-declaration-of-the-clocks.patch | 181 + ...ial-typo-fixes-in-the-file-sama7g5.c.patch | 45 + ...-remove-all-kernel-doc-kernel-doc-wa.patch | 90 + ...serio-bits-as-platform-configuration.patch | 179 + ...capability-to-not-set-the-clock-rate.patch | 85 + ...-function-to-disable-all-macb-clocks.patch | 82 + ...-unprepare-clocks-in-case-of-failure.patch | 60 + ...dd-support-for-sama7g5-gem-interface.patch | 54 + ...d-support-for-sama7g5-emac-interface.patch | 39 + ...-ASoC-pcm5102a-Make-codec-selectable.patch | 28 + ...i2s-do-not-warn-if-muxclk-is-missing.patch | 30 + ...egulator-mcp16502-add-linear_min_sel.patch | 25 + ...02-adapt-for-get-set-on-other-regist.patch | 117 + ...-mcp16502-add-support-for-ramp-delay.patch | 141 + ...02-remove-void-documentation-of-stru.patch | 27 + ...alidate-selector-against-linear_min_.patch | 64 + ...re-do-not-continue-if-selector-match.patch | 26 + ...eturn-zero-for-selectors-lower-than-.patch | 64 + ...02-lpm-pin-can-be-optional-on-some-p.patch | 30 + ...4-add-support-for-fewer-lines-on-las.patch | 70 + ...ac-adapt-perid-for-mem2mem-operation.patch | 50 + ...ac-add-support-for-sama7g5-based-at_.patch | 280 + ...ac-add-AXI-priority-support-and-reco.patch | 113 + ...t-usage-of-MACB_CAPS_CLK_HW_CHG-flag.patch | 45 + ...0-SiP-types-added-to-soc-description.patch | 43 + .../137-drivers-soc-atmel-use-GENMASK.patch | 25 + ...l-fix-__initconst-should-be-placed-a.patch | 26 + ...l-add-per-soc-id-and-version-match-m.patch | 348 + ...rs-soc-atmel-add-support-for-sama7g5.patch | 87 + ...oc-atmel-add-spdx-license-identifier.patch | 49 + ...drivers-soc-atmel-fix-type-for-same7.patch | 28 + ...ers-timer-microchip-pit64b-Add-clock.patch | 173 + ...dc-Use-managed-DMA-buffer-allocation.patch | 135 + ...-sama5d2_shdwc-add-support-for-sama7.patch | 141 + ...-at91-pio4-add-support-for-slew-rate.patch | 121 + ...4-fix-Prefer-unsigned-int-to-bare-us.patch | 340 + ...ault-usrio-config-to-default-gem-con.patch | 58 + ...-prototypes-to-mutually-included-hea.patch | 108 + ...p-i2s-mcc-Add-compatible-for-SAMA7G5.patch | 46 + ...c-Add-multi-channel-support-for-I2S-.patch | 113 + ...s-mcc-Add-support-to-select-TDM-pins.patch | 108 + ...-ASoC-mchp-i2s-mcc-Add-FIFOs-support.patch | 187 + ...-at91-pio4-Fix-slew-rate-disablement.patch | 49 + ...-media-atmel-properly-get-pm_runtime.patch | 159 + ...l-isc-Remove-redundant-assignment-to.patch | 32 + ...l-isc-specialize-gamma-table-into-pr.patch | 187 + ...l-isc-specialize-driver-name-constan.patch | 70 + ...l-isc-add-checks-for-limiting-frame-.patch | 45 + ...l-isc-specialize-max-width-and-max-h.patch | 131 + ...a-atmel-atmel-isc-specialize-dma-cfg.patch | 60 + ...l-isc-extract-CSC-submodule-config-i.patch | 94 + ...l-isc-base-add-id-to-clock-debug-mes.patch | 28 + ...l-isc-create-register-offsets-struct.patch | 115 + ...l-isc-extract-CBC-submodule-config-i.patch | 80 + ...l-isc-add-CBC-to-the-reg-offsets-str.patch | 82 + ...l-isc-add-SUB422-and-SUB420-to-regis.patch | 80 + ...tmel-isc-add-RLP-to-register-offsets.patch | 74 + ...tmel-isc-add-HIS-to-register-offsets.patch | 99 + ...tmel-isc-add-DMA-to-register-offsets.patch | 110 + ...l-isc-add-support-for-version-regist.patch | 77 + ...l-isc-add-his_entry-to-register-offs.patch | 71 + ...l-isc-add-register-description-for-a.patch | 99 + ...l-isc-extend-pipeline-with-extra-mod.patch | 104 + ...l-isc-add-CC-initialization-function.patch | 83 + ...l-isc-create-product-specific-v4l2-c.patch | 86 + ...l-isc-create-callback-for-DPC-submod.patch | 75 + ...l-isc-create-callback-for-GAM-submod.patch | 75 + ...l-isc-create-callback-for-RLP-submod.patch | 95 + ...l-isc-move-the-formats-list-into-pro.patch | 440 + ...l-isc-create-an-adapt-pipeline-callb.patch | 89 + ...l-isc-regs-add-additional-fields-for.patch | 55 + ...l-isc-base-add-support-for-more-form.patch | 145 + ...l-isc-sama5d2-remove-duplicate-defin.patch | 26 + ...-atmel-isc-add-microchip-xisc-driver.patch | 810 + ...186-ASoC-atmel-fix-shadowed-variable.patch | 48 + ...el-i2s-remove-useless-initialization.patch | 36 + ...-atmel-i2s-Set-symmetric-sample-bits.patch | 26 + ...a5d4_wdt-add-support-for-sama7g5-wdt.patch | 46 + ...tmel-fix-build-when-ISC-m-and-XISC-y.patch | 135 + ...191-i2c-at91-remove-define-CONFIG_PM.patch | 76 + ...3x-add-support-for-96kHz-and-192kHz-.patch | 91 + ...el-atmel-sama5d2-isc-fix-YUYV-format.patch | 48 + ...ister-definition-for-sama7g5-s-maste.patch | 51 + .../195-ARM-at91-add-new-SoC-sama7g5.patch | 49 + ...bug-add-sama7g5-low-level-debug-uart.patch | 50 + ...-move-pm_bu-to-soc_pm-data-structure.patch | 87 + ...ove-the-setup-of-soc_pm.bu-suspended.patch | 55 + ...91-pm-document-at91_soc_pm-structure.patch | 31 + ...k-for-different-controllers-in-at91_.patch | 238 + ...1-ARM-at91-pm-do-not-initialize-pdev.patch | 25 + ...2-ARM-at91-pm-use-r7-instead-of-tmp1.patch | 60 + ...d-push-and-pop-on-stack-while-memory.patch | 467 + ...NFIG_SOC_SAM9X60-CONFIG_HAVE_AT91_SA.patch | 36 + ...91-pm-add-support-for-waiting-MCK1.4.patch | 150 + ...dd-sfrbu-registers-definitions-for-s.patch | 53 + ...-registers-definitions-for-sama7g5-s.patch | 99 + ...add-self-refresh-support-for-sama7g5.patch | 274 + ...support-for-MCK1.4-save-restore-for-.patch | 165 + ...support-for-2.5V-LDO-regulator-contr.patch | 79 + ...-at91-pm-wait-for-ddr-power-mode-off.patch | 28 + ...M-at91-pm-add-sama7g5-ddr-controller.patch | 40 + ...91-pm-add-sama7g5-ddr-phy-controller.patch | 94 + ...-ddr-phy-calibration-data-to-securam.patch | 151 + ...-add-backup-mode-support-for-SAMA7G5.patch | 52 + .../216-ARM-at91-pm-add-sama7g5-s-pmc.patch | 36 + ...t91-sama7-introduce-sama7-SoC-family.patch | 63 + ...M-at91-pm-add-pm-support-for-SAMA7G5.patch | 96 + .../219-ARM-at91-pm-add-sama7g5-shdwc.patch | 24 + ...-add-defconfig-for-sama7-family-of-S.patch | 233 + ...M-multi_v7_defconfig-add-sama7g5-SoC.patch | 33 + ...91-add-sama7g5-SoC-DT-and-sama7g5-ek.patch | 2154 + ...ot-panic-if-ram-controllers-are-not-.patch | 74 + ...dts-at91-sama7g5-add-ram-controllers.patch | 36 + ...RM-dts-at91-sama7g5-add-securam-node.patch | 34 + ...-ARM-dts-at91-sama7g5-add-shdwc-node.patch | 53 + .../227-ARM-dts-at91-sama7g5-add-chipid.patch | 28 + ...ch-backup-area-to-vbat-in-backup-mod.patch | 117 + ...a7g5ek-add-suspend-voltage-for-ddr3l.patch | 42 + ...roup-constants-and-addresses-loading.patch | 48 + ...oad-base-address-of-controllers-in-t.patch | 93 + ...a7g5ek-use-proper-slew-rate-settings.patch | 85 + ...a7g5ek-to-not-touch-slew-rate-for-SD.patch | 73 + ...at91-re-factor-clocks-suspend-resume.patch | 1342 + ...cute-suspend-resume-only-for-backup-.patch | 89 + ...ma7g5-add-securam-s-peripheral-clock.patch | 25 + ...ter-add-register-definition-for-sama.patch | 124 + ...ter-improve-readability-by-using-loc.patch | 40 + ...-sama7g5-to-the-list-of-available-pm.patch | 39 + ...-master-check-if-div-or-pres-is-zero.patch | 39 + ...master-mask-mckr-against-layout-mask.patch | 46 + ...-at91-clk-master-fix-prescaler-logic.patch | 29 + ...9x60-pll-add-notifier-for-div-part-o.patch | 312 + ...-clk-master-add-notifier-for-divider.patch | 519 + ...-remove-prescaler-part-of-master-clo.patch | 45 + ...a7g5-set-low-limit-for-mck0-at-32KHz.patch | 26 + ...core_get_rate_recalc-in-clk_rate_get.patch | 32 + .../99-scripts-fix-compilation-error.patch | 21 + target/linux/at91/sam9x/config-default | 317 + target/linux/at91/sam9x/target.mk | 7 + target/linux/at91/sama5/config-default | 488 + target/linux/at91/sama5/target.mk | 10 + target/linux/at91/sama7/config-default | 397 + target/linux/at91/sama7/target.mk | 9 + target/linux/ath25/Makefile | 23 + .../ath25/base-files/etc/board.d/01_leds | 12 + .../ath25/base-files/etc/board.d/02_network | 27 + .../lib/preinit/15_preinit_iface_atheros | 29 + .../ath25/base-files/lib/upgrade/platform.sh | 76 + target/linux/ath25/config-5.10 | 129 + .../ath25/files/drivers/net/phy/mvswitch.c | 446 + .../ath25/files/drivers/net/phy/mvswitch.h | 145 + target/linux/ath25/image/Makefile | 118 + .../ath25/patches-5.10/107-ar5312_gpio.patch | 212 + .../ath25/patches-5.10/108-ar2315_gpio.patch | 363 + .../patches-5.10/110-ar2313_ethernet.patch | 1735 + .../ath25/patches-5.10/120-spiflash.patch | 631 + .../ath25/patches-5.10/130-watchdog.patch | 277 + .../140-redboot_boardconfig.patch | 60 + .../141-redboot_partition_scan.patch | 44 + .../142-redboot_various_erase_size_fix.patch | 72 + .../ath25/patches-5.10/210-reset_button.patch | 71 + .../220-enet_micrel_workaround.patch | 111 + .../ath25/patches-5.10/330-board_leds.patch | 116 + .../patches-5.10/700-swconfig_mvswitch.patch | 23 + target/linux/ath25/profiles/00-default.mk | 13 + target/linux/ath79/Makefile | 19 + .../etc/hotplug.d/ieee80211/00-wifi-migration | 58 + target/linux/ath79/config-5.10 | 205 + .../ath79/dts/ar1022_iodata_wn-ag300dgr.dts | 211 + .../ath79/dts/ar1022_sitecom_wlr-7100.dts | 165 + target/linux/ath79/dts/ar7100.dtsi | 227 + .../dts/ar7100_mikrotik_routerboard-4xx.dtsi | 172 + .../ath79/dts/ar7161_adtran_bsap1800-v2.dts | 8 + .../ath79/dts/ar7161_adtran_bsap1840.dts | 8 + .../ath79/dts/ar7161_adtran_bsap1880.dtsi | 93 + .../linux/ath79/dts/ar7161_aruba_ap-105.dts | 194 + .../ath79/dts/ar7161_buffalo_wzr-600dhp.dts | 8 + .../dts/ar7161_buffalo_wzr-hp-ag300h.dts | 8 + .../dts/ar7161_buffalo_wzr-hp-ag300h.dtsi | 287 + .../ath79/dts/ar7161_dlink_dir-825-b1.dts | 244 + .../linux/ath79/dts/ar7161_jjplus_ja76pf2.dts | 171 + target/linux/ath79/dts/ar7161_meraki_mr16.dts | 182 + .../dts/ar7161_mikrotik_routerboard-493g.dts | 52 + .../ath79/dts/ar7161_netgear_wndap360.dts | 169 + .../linux/ath79/dts/ar7161_netgear_wndr.dtsi | 221 + .../ath79/dts/ar7161_netgear_wndr3700-v2.dts | 85 + .../ath79/dts/ar7161_netgear_wndr3700.dts | 104 + .../ath79/dts/ar7161_netgear_wndr3800.dts | 86 + .../ath79/dts/ar7161_netgear_wndr3800ch.dts | 86 + .../ath79/dts/ar7161_netgear_wndrmac-v1.dts | 85 + .../ath79/dts/ar7161_netgear_wndrmac-v2.dts | 86 + .../ath79/dts/ar7161_siemens_ws-ap3610.dts | 175 + .../ath79/dts/ar7161_trendnet_tew-673gru.dts | 180 + .../dts/ar7161_ubnt_routerstation-pro.dts | 30 + .../ath79/dts/ar7161_ubnt_routerstation.dts | 26 + .../ath79/dts/ar7161_ubnt_routerstation.dtsi | 127 + target/linux/ath79/dts/ar7240.dtsi | 90 + .../ath79/dts/ar7240_buffalo_whr-g301n.dts | 196 + .../ath79/dts/ar7240_dlink_dir-615-e4.dts | 159 + .../ath79/dts/ar7240_engenius_enh202-v1.dts | 106 + .../ath79/dts/ar7240_netgear_wnr1000-v2.dts | 215 + .../ath79/dts/ar7240_netgear_wnr612-v2.dts | 8 + .../ath79/dts/ar7240_netgear_wnr612-v2.dtsi | 148 + target/linux/ath79/dts/ar7240_on_n150r.dts | 8 + .../ath79/dts/ar7240_openmesh_om2p-v1.dts | 170 + target/linux/ath79/dts/ar7240_tplink.dtsi | 128 + .../linux/ath79/dts/ar7240_tplink_tl-wa.dtsi | 23 + .../ath79/dts/ar7240_tplink_tl-wa701nd-v1.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wa730re-v1.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wa801nd-v1.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wa830re-v1.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wa901nd-v1.dts | 8 + .../linux/ath79/dts/ar7240_tplink_tl-wr.dtsi | 46 + .../ath79/dts/ar7240_tplink_tl-wr740n-v1.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wr740n-v3.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wr741-v1.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wr743nd-v1.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wr841-v5.dts | 8 + .../ath79/dts/ar7240_tplink_tl-wr941-v4.dts | 8 + .../ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts | 21 + target/linux/ath79/dts/ar7241.dtsi | 98 + .../ath79/dts/ar7241_netgear_wnr2000-v3.dts | 220 + .../ath79/dts/ar7241_netgear_wnr2200-16m.dts | 69 + .../ath79/dts/ar7241_netgear_wnr2200-8m.dts | 69 + .../ath79/dts/ar7241_netgear_wnr2200.dtsi | 194 + target/linux/ath79/dts/ar7241_tplink.dtsi | 118 + .../ath79/dts/ar7241_tplink_tl-mr3220-v1.dts | 18 + .../ath79/dts/ar7241_tplink_tl-mr3420-v1.dts | 18 + .../ath79/dts/ar7241_tplink_tl-mr3x20.dtsi | 40 + .../ath79/dts/ar7241_tplink_tl-wr841-v7.dts | 18 + .../ath79/dts/ar7241_tplink_tl-wr842n-v1.dts | 165 + .../linux/ath79/dts/ar7241_ubnt_airrouter.dts | 39 + .../ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts | 14 + .../ath79/dts/ar7241_ubnt_nanobridge-m.dts | 14 + .../dts/ar7241_ubnt_nanostation-loco-m.dts | 14 + .../ath79/dts/ar7241_ubnt_nanostation-m.dts | 10 + .../ath79/dts/ar7241_ubnt_picostation-m.dts | 14 + .../ath79/dts/ar7241_ubnt_powerbridge-m.dts | 14 + .../linux/ath79/dts/ar7241_ubnt_rocket-m.dts | 22 + .../dts/ar7241_ubnt_unifi-ap-outdoor-plus.dts | 122 + target/linux/ath79/dts/ar7241_ubnt_unifi.dts | 100 + target/linux/ath79/dts/ar7241_ubnt_unifi.dtsi | 45 + target/linux/ath79/dts/ar7242.dtsi | 89 + .../linux/ath79/dts/ar7242_avm_fritz300e.dts | 163 + .../ath79/dts/ar7242_buffalo_bhr-4grv.dts | 30 + .../ath79/dts/ar7242_buffalo_wzr-bhr.dtsi | 158 + .../dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts | 243 + .../ath79/dts/ar7242_buffalo_wzr-hp-g450h.dts | 93 + .../ath79/dts/ar7242_engenius_eap350-v1.dts | 98 + .../ath79/dts/ar7242_engenius_ecb350-v1.dts | 98 + target/linux/ath79/dts/ar7242_meraki_mr12.dts | 179 + .../ath79/dts/ar7242_tplink_tl-wr2543-v1.dts | 187 + .../ath79/dts/ar7242_ubnt_edgeswitch-5xp.dts | 87 + .../ath79/dts/ar7242_ubnt_edgeswitch-8xp.dts | 201 + target/linux/ath79/dts/ar7242_ubnt_sw.dtsi | 146 + target/linux/ath79/dts/ar724x.dtsi | 165 + .../ath79/dts/ar724x_senao_loader-4k.dtsi | 84 + .../ath79/dts/ar724x_senao_loader-64k.dtsi | 84 + target/linux/ath79/dts/ar724x_ubnt_xm.dtsi | 105 + .../ath79/dts/ar724x_ubnt_xm_outdoor.dtsi | 33 + target/linux/ath79/dts/ar9132.dtsi | 195 + .../dts/ar9132_buffalo_wzr-hp-g300nh-rb.dts | 26 + .../dts/ar9132_buffalo_wzr-hp-g300nh-s.dts | 26 + .../dts/ar9132_buffalo_wzr-hp-g300nh.dtsi | 282 + .../ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts | 143 + .../dts/ar9132_tplink_tl-wr1043nd-v1.dts | 165 + .../ath79/dts/ar9132_tplink_tl-wr941-v2.dts | 171 + target/linux/ath79/dts/ar9330.dtsi | 218 + .../linux/ath79/dts/ar9330_dlink_dir-505.dts | 140 + .../ath79/dts/ar9330_glinet_gl-ar150.dts | 150 + .../ath79/dts/ar9330_openmesh_om2p-lc.dts | 8 + .../ath79/dts/ar9330_openmesh_om2p-v2.dts | 8 + .../linux/ath79/dts/ar9330_openmesh_om2p.dtsi | 162 + target/linux/ath79/dts/ar9330_pqi_air-pen.dts | 152 + .../linux/ath79/dts/ar9330_ziking_cpe46b.dts | 115 + target/linux/ath79/dts/ar9331.dtsi | 12 + .../ath79/dts/ar9331_8dev_carambola2.dts | 140 + .../ath79/dts/ar9331_alfa-network_ap121f.dts | 12 + .../ath79/dts/ar9331_alfa-network_ap121f.dtsi | 143 + .../ath79/dts/ar9331_alfa-network_ap121fe.dts | 12 + target/linux/ath79/dts/ar9331_arduino_yun.dts | 208 + .../dts/ar9331_embeddedwireless_dorin.dts | 120 + .../linux/ath79/dts/ar9331_etactica_eg200.dts | 130 + target/linux/ath79/dts/ar9331_glinet_6408.dts | 73 + target/linux/ath79/dts/ar9331_glinet_6416.dts | 73 + .../linux/ath79/dts/ar9331_glinet_64xx.dtsi | 71 + .../linux/ath79/dts/ar9331_glinet_gl-mifi.dts | 156 + .../ath79/dts/ar9331_glinet_gl-usb150.dts | 130 + .../ath79/dts/ar9331_hak5_lan-turtle.dts | 26 + .../ath79/dts/ar9331_hak5_lan-turtle.dtsi | 104 + .../ath79/dts/ar9331_hak5_packet-squirrel.dts | 64 + .../dts/ar9331_hak5_wifi-pineapple-nano.dts | 132 + target/linux/ath79/dts/ar9331_onion_omega.dts | 137 + .../linux/ath79/dts/ar9331_pisen_ts-d084.dts | 118 + .../linux/ath79/dts/ar9331_pisen_wmm003n.dts | 127 + .../ath79/dts/ar9331_teltonika_rut230-v1.dts | 206 + .../ath79/dts/ar9331_tplink_tl-mr10u.dts | 12 + .../ath79/dts/ar9331_tplink_tl-mr3020-v1.dts | 181 + .../ath79/dts/ar9331_tplink_tl-mr3040-v2.dts | 170 + .../ath79/dts/ar9331_tplink_tl-wr703n.dts | 12 + .../dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi | 126 + .../ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi | 71 + .../ath79/dts/ar9331_tplink_tl-wr710n-v1.dts | 8 + .../dts/ar9331_tplink_tl-wr710n-v2.1.dts | 8 + .../ath79/dts/ar9331_tplink_tl-wr710n.dtsi | 74 + .../ath79/dts/ar9331_tplink_tl-wr740n-v4.dts | 8 + .../ath79/dts/ar9331_tplink_tl-wr740n-v5.dts | 8 + .../ath79/dts/ar9331_tplink_tl-wr741nd-v4.dts | 8 + .../dts/ar9331_tplink_tl-wr741nd-v4.dtsi | 159 + target/linux/ath79/dts/ar9341.dtsi | 22 + .../ath79/dts/ar9341_engenius_eap300-v2.dts | 67 + .../dts/ar9341_engenius_ens202ext-v1.dts | 98 + .../ath79/dts/ar9341_openmesh_om2p-hs-v1.dts | 8 + .../ath79/dts/ar9341_openmesh_om2p-hs-v2.dts | 8 + .../ath79/dts/ar9341_openmesh_om2p-hs-v3.dts | 8 + .../ath79/dts/ar9341_openmesh_om2p-hs.dtsi | 172 + target/linux/ath79/dts/ar9341_pcs_cr3000.dts | 162 + .../linux/ath79/dts/ar9341_pisen_wmb001n.dts | 226 + target/linux/ath79/dts/ar9341_tplink.dtsi | 93 + .../ath79/dts/ar9341_tplink_tl-mr3420-v2.dts | 125 + .../linux/ath79/dts/ar9341_tplink_tl-wa.dtsi | 87 + .../ath79/dts/ar9341_tplink_tl-wa850re-v1.dts | 78 + .../ath79/dts/ar9341_tplink_tl-wa860re-v1.dts | 71 + .../ath79/dts/ar9341_tplink_tl-wa901nd-v3.dts | 51 + .../ath79/dts/ar9341_tplink_tl-wr841-v8.dts | 93 + .../ath79/dts/ar9341_tplink_tl-wr842n-v2.dts | 128 + .../linux/ath79/dts/ar9342_iodata_etg3-r.dts | 134 + ...9342_mikrotik_routerboard-912uag-2hpnd.dts | 240 + .../linux/ath79/dts/ar9342_ruckus_zf7321.dts | 54 + .../ath79/dts/ar9342_ubnt_aircube-ac.dts | 124 + .../linux/ath79/dts/ar9342_ubnt_bullet-ac.dts | 38 + .../ath79/dts/ar9342_ubnt_bullet-m-xw.dts | 31 + .../linux/ath79/dts/ar9342_ubnt_lap-120.dts | 12 + .../dts/ar9342_ubnt_litebeam-ac-gen2.dts | 8 + .../dts/ar9342_ubnt_nanobeam-ac-gen2.dts | 38 + .../ath79/dts/ar9342_ubnt_nanobeam-ac.dts | 38 + .../ath79/dts/ar9342_ubnt_nanobeam-m5-xw.dts | 26 + .../dts/ar9342_ubnt_nanostation-ac-loco.dts | 8 + .../ath79/dts/ar9342_ubnt_nanostation-ac.dts | 38 + .../dts/ar9342_ubnt_nanostation-loco-m-xw.dts | 26 + .../dts/ar9342_ubnt_nanostation-m-xw.dts | 32 + .../dts/ar9342_ubnt_powerbeam-5ac-gen2.dts | 38 + .../ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts | 34 + .../ath79/dts/ar9342_ubnt_powerbeam-m5-xw.dts | 34 + target/linux/ath79/dts/ar9342_ubnt_wa.dtsi | 93 + .../linux/ath79/dts/ar9342_ubnt_wa_1port.dtsi | 32 + .../linux/ath79/dts/ar9342_ubnt_wa_2port.dtsi | 40 + target/linux/ath79/dts/ar9342_ubnt_xw.dtsi | 125 + target/linux/ath79/dts/ar9344.dtsi | 67 + .../ath79/dts/ar9344_aerohive_hiveap-121.dts | 242 + .../ath79/dts/ar9344_alfa-network_n5q.dts | 174 + .../dts/ar9344_araknis_an-300-ap-i-n.dts | 120 + .../linux/ath79/dts/ar9344_atheros_db120.dts | 250 + .../ath79/dts/ar9344_comfast_cf-e120a-v3.dts | 155 + .../ath79/dts/ar9344_compex_wpj344-16m.dts | 157 + .../ar9344_devolo_dlan-pro-1200plus-ac.dts | 8 + .../ath79/dts/ar9344_devolo_dlan_wifi.dtsi | 181 + .../ath79/dts/ar9344_devolo_magic-2-wifi.dts | 8 + .../ath79/dts/ar9344_dlink_dir-825-c1.dts | 76 + .../ath79/dts/ar9344_dlink_dir-835-a1.dts | 44 + .../linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi | 140 + .../dts/ar9344_embeddedwireless_balin.dts | 130 + .../ath79/dts/ar9344_engenius_eap600.dts | 58 + .../ath79/dts/ar9344_engenius_ecb600.dts | 53 + .../ath79/dts/ar9344_engenius_exx600.dtsi | 85 + .../ath79/dts/ar9344_enterasys_ws-ap3705i.dts | 224 + .../ath79/dts/ar9344_mercury_mw4530r-v1.dts | 8 + .../ar9344_mikrotik_routerboard-16m-nor.dtsi | 64 + .../ar9344_mikrotik_routerboard-lhg-5nd.dts | 91 + .../ar9344_mikrotik_routerboard-sxt-5n.dtsi | 185 + ...ar9344_mikrotik_routerboard-sxt-5nd-r2.dts | 8 + .../linux/ath79/dts/ar9344_netgear_r6100.dts | 231 + .../linux/ath79/dts/ar9344_netgear_wndr.dtsi | 279 + .../ath79/dts/ar9344_netgear_wndr3700-v4.dts | 10 + .../ath79/dts/ar9344_netgear_wndr4300.dts | 10 + .../ath79/dts/ar9344_netgear_wndr4300sw.dts | 10 + .../ath79/dts/ar9344_netgear_wndr4300tn.dts | 8 + .../ath79/dts/ar9344_netgear_wndr_usb.dtsi | 34 + .../ath79/dts/ar9344_netgear_wndr_wan.dtsi | 13 + .../linux/ath79/dts/ar9344_ocedo_raccoon.dts | 197 + .../ath79/dts/ar9344_openmesh_mr600-v1.dts | 46 + .../ath79/dts/ar9344_openmesh_mr600-v2.dts | 71 + .../ath79/dts/ar9344_openmesh_mr600.dtsi | 146 + .../ath79/dts/ar9344_openmesh_om5p-an.dts | 230 + .../linux/ath79/dts/ar9344_openmesh_om5p.dts | 177 + target/linux/ath79/dts/ar9344_pcs_cap324.dts | 174 + target/linux/ath79/dts/ar9344_pcs_cr5000.dts | 227 + target/linux/ath79/dts/ar9344_qihoo_c301.dts | 227 + .../ath79/dts/ar9344_qxwlan_e750a-v4-16m.dts | 61 + .../ath79/dts/ar9344_qxwlan_e750a-v4-8m.dts | 61 + .../ath79/dts/ar9344_qxwlan_e750g-v8-16m.dts | 59 + .../ath79/dts/ar9344_qxwlan_e750g-v8-8m.dts | 59 + .../linux/ath79/dts/ar9344_qxwlan_e750x.dtsi | 107 + .../linux/ath79/dts/ar9344_ruckus_zf7372.dts | 133 + .../linux/ath79/dts/ar9344_samsung_wam250.dts | 168 + .../dts/ar9344_teltonika_rut955-h7v3c0.dts | 194 + .../ath79/dts/ar9344_teltonika_rut955.dts | 190 + .../ath79/dts/ar9344_teltonika_rut9xx.dtsi | 184 + target/linux/ath79/dts/ar9344_tplink_cpe.dtsi | 128 + .../ath79/dts/ar9344_tplink_cpe210-v1.dts | 12 + .../ath79/dts/ar9344_tplink_cpe220-v2.dts | 12 + .../ath79/dts/ar9344_tplink_cpe510-v1.dts | 12 + .../ath79/dts/ar9344_tplink_cpe510-v2.dts | 8 + .../ath79/dts/ar9344_tplink_cpe510-v3.dts | 8 + .../ath79/dts/ar9344_tplink_cpe610-v1.dts | 33 + .../ath79/dts/ar9344_tplink_cpe610-v2.dts | 33 + .../ath79/dts/ar9344_tplink_cpe_1port.dtsi | 45 + .../ath79/dts/ar9344_tplink_cpe_2port.dtsi | 56 + .../ath79/dts/ar9344_tplink_tl-wdr3500-v1.dts | 102 + .../ath79/dts/ar9344_tplink_tl-wdr3600-v1.dts | 8 + .../dts/ar9344_tplink_tl-wdr4300-v1-il.dts | 8 + .../ath79/dts/ar9344_tplink_tl-wdr4300-v1.dts | 8 + .../ath79/dts/ar9344_tplink_tl-wdr4300.dtsi | 135 + .../ath79/dts/ar9344_tplink_tl-wdr4310-v1.dts | 8 + .../ath79/dts/ar9344_tplink_tl-wdrxxxx.dtsi | 119 + .../ath79/dts/ar9344_tplink_tl-wr841hp-v2.dts | 170 + .../ath79/dts/ar9344_tplink_wbs210-v1.dts | 12 + .../ath79/dts/ar9344_tplink_wbs210-v2.dts | 12 + .../ath79/dts/ar9344_tplink_wbs510-v1.dts | 12 + .../ath79/dts/ar9344_tplink_wbs510-v2.dts | 12 + .../ath79/dts/ar9344_ubnt_unifi-ap-pro.dts | 162 + .../linux/ath79/dts/ar9344_wd_mynet-n600.dts | 108 + .../linux/ath79/dts/ar9344_wd_mynet-n750.dts | 126 + .../linux/ath79/dts/ar9344_wd_mynet-nxxx.dtsi | 88 + .../ar9344_wd_mynet-wifi-rangeextender.dts | 163 + .../ath79/dts/ar9344_winchannel_wb2000.dts | 225 + .../ath79/dts/ar9344_zbtlink_zbt-wd323.dts | 168 + target/linux/ath79/dts/ar934x.dtsi | 290 + .../linux/ath79/dts/ar934x_ruckus_zf73xx.dtsi | 198 + .../linux/ath79/dts/ar934x_senao_loader.dtsi | 88 + target/linux/ath79/dts/ath79.dtsi | 93 + target/linux/ath79/dts/qca9531_8dev_lima.dts | 124 + .../ath79/dts/qca9531_alfa-network_n2q.dts | 122 + .../dts/qca9531_alfa-network_pi-wifi4.dts | 88 + .../ath79/dts/qca9531_alfa-network_r36a.dts | 83 + .../ath79/dts/qca9531_alfa-network_r36a.dtsi | 133 + .../dts/qca9531_alfa-network_tube-2hq.dts | 65 + .../ath79/dts/qca9531_comfast_cf-e130n-v2.dts | 146 + .../ath79/dts/qca9531_comfast_cf-e313ac.dts | 159 + .../ath79/dts/qca9531_comfast_cf-e314n-v2.dts | 165 + .../linux/ath79/dts/qca9531_comfast_cf-e5.dts | 157 + .../ath79/dts/qca9531_comfast_cf-e560ac.dts | 180 + .../ath79/dts/qca9531_comfast_cf-ew72.dts | 139 + .../dts/qca9531_comfast_cf-wr752ac-v1.dts | 138 + .../ath79/dts/qca9531_compex_wpj531-16m.dts | 152 + .../ath79/dts/qca9531_dlink_dch-g020-a1.dts | 164 + .../ath79/dts/qca9531_engenius_ews511ap.dts | 136 + .../dts/qca9531_glinet_gl-ar300m-lite.dts | 31 + .../dts/qca9531_glinet_gl-ar300m-nand.dts | 16 + .../dts/qca9531_glinet_gl-ar300m-nor.dts | 11 + .../ath79/dts/qca9531_glinet_gl-ar300m.dtsi | 191 + .../ath79/dts/qca9531_glinet_gl-ar300m16.dts | 15 + .../ath79/dts/qca9531_glinet_gl-ar750.dts | 156 + .../ath79/dts/qca9531_glinet_gl-e750.dts | 145 + .../ath79/dts/qca9531_glinet_gl-x300b.dts | 152 + .../ath79/dts/qca9531_glinet_gl-x750.dts | 145 + .../ath79/dts/qca9531_glinet_gl-xe300.dts | 172 + .../ath79/dts/qca9531_joyit_jt-or750i.dts | 138 + .../ath79/dts/qca9531_letv_lba-047-ch.dts | 158 + ...qca9531_mikrotik_routerboard-951ui-2nd.dts | 8 + .../ath79/dts/qca9531_qxwlan_e600g-v2-16m.dts | 32 + .../ath79/dts/qca9531_qxwlan_e600g-v2-8m.dts | 32 + .../linux/ath79/dts/qca9531_qxwlan_e600g.dtsi | 122 + .../dts/qca9531_qxwlan_e600gac-v2-16m.dts | 48 + .../dts/qca9531_qxwlan_e600gac-v2-8m.dts | 48 + target/linux/ath79/dts/qca9531_telco_t1.dts | 154 + .../dts/qca9531_tplink_archer-d50-v1.dts | 199 + .../ath79/dts/qca9531_tplink_tl-mr3420-v3.dts | 215 + .../ath79/dts/qca9531_tplink_tl-mr6400-v1.dts | 173 + .../ath79/dts/qca9531_tplink_tl-wr810n-v1.dts | 28 + .../dts/qca9531_tplink_tl-wr902ac-v1.dts | 199 + .../linux/ath79/dts/qca9531_wallys_dr531.dts | 168 + .../linux/ath79/dts/qca9531_yuncore_a770.dts | 132 + .../ath79/dts/qca9533_comfast_cf-e110n-v2.dts | 174 + .../ath79/dts/qca9533_dlink_dap-1330-a1.dts | 8 + .../ath79/dts/qca9533_dlink_dap-1365-a1.dts | 8 + .../ath79/dts/qca9533_dlink_dap-13xx.dtsi | 121 + .../ath79/dts/qca9533_dlink_dap-2230-a1.dts | 55 + .../ath79/dts/qca9533_dlink_dap-3320-a1.dts | 55 + .../dts/qca9533_mikrotik_routerboard-16m.dtsi | 84 + ...9533_mikrotik_routerboard-952ui-5ac2nd.dts | 18 + .../dts/qca9533_mikrotik_routerboard-95x.dtsi | 98 + .../qca9533_mikrotik_routerboard-lhg-2nd.dts | 8 + .../qca9533_mikrotik_routerboard-lhg-hb.dtsi | 88 + .../qca9533_mikrotik_routerboard-map-2nd.dts | 113 + .../qca9533_mikrotik_routerboard-mapl-2nd.dts | 68 + .../qca9533_mikrotik_routerboard-wap-2nd.dts | 58 + .../qca9533_mikrotik_routerboard-wapr-2nd.dts | 78 + .../ath79/dts/qca9533_openmesh_om2p-hs-v4.dts | 8 + .../ath79/dts/qca9533_openmesh_om2p-v4.dts | 8 + .../ath79/dts/qca9533_openmesh_om2p-v4.dtsi | 170 + .../ath79/dts/qca9533_plasmacloud_pa300.dts | 8 + .../ath79/dts/qca9533_plasmacloud_pa300.dtsi | 149 + .../ath79/dts/qca9533_plasmacloud_pa300e.dts | 8 + .../linux/ath79/dts/qca9533_qca_ap143-16m.dts | 77 + .../linux/ath79/dts/qca9533_qca_ap143-8m.dts | 77 + target/linux/ath79/dts/qca9533_qca_ap143.dtsi | 119 + .../ath79/dts/qca9533_tplink_cpe210-v2.dts | 8 + .../ath79/dts/qca9533_tplink_cpe210-v3.dts | 8 + .../ath79/dts/qca9533_tplink_cpe210.dtsi | 14 + .../ath79/dts/qca9533_tplink_cpe220-v3.dts | 31 + .../ath79/dts/qca9533_tplink_cpexxx.dtsi | 131 + .../dts/qca9533_tplink_tl-wa801nd-v3.dts | 8 + .../dts/qca9533_tplink_tl-wa801nd-v4.dts | 8 + .../ath79/dts/qca9533_tplink_tl-wa801nd.dtsi | 129 + .../dts/qca9533_tplink_tl-wa850re-v2.dts | 177 + .../ath79/dts/qca9533_tplink_tl-wr802n-v1.dts | 8 + .../ath79/dts/qca9533_tplink_tl-wr802n-v2.dts | 8 + .../ath79/dts/qca9533_tplink_tl-wr802n.dtsi | 101 + .../ath79/dts/qca9533_tplink_tl-wr810n-v2.dts | 8 + .../ath79/dts/qca9533_tplink_tl-wr841-v10.dts | 15 + .../ath79/dts/qca9533_tplink_tl-wr841-v11.dts | 8 + .../dts/qca9533_tplink_tl-wr841-v11.dtsi | 24 + .../ath79/dts/qca9533_tplink_tl-wr841-v12.dts | 8 + .../ath79/dts/qca9533_tplink_tl-wr841-v9.dts | 15 + .../ath79/dts/qca9533_tplink_tl-wr841.dtsi | 137 + .../dts/qca9533_tplink_tl-wr841hp-v3.dts | 159 + .../ath79/dts/qca9533_tplink_tl-wr842n-v3.dts | 177 + .../ath79/dts/qca9533_ubnt_aircube-isp.dts | 109 + .../linux/ath79/dts/qca9533_yuncore_a930.dts | 118 + target/linux/ath79/dts/qca953x.dtsi | 287 + .../ath79/dts/qca953x_dlink_dap-2xxx.dtsi | 52 + .../ath79/dts/qca953x_tplink_tl-wr810n.dtsi | 119 + .../linux/ath79/dts/qca9550_airtight_c-75.dts | 207 + .../ath79/dts/qca9556_avm_fritz-repeater.dtsi | 86 + .../ath79/dts/qca9556_avm_fritz1750e.dts | 112 + .../linux/ath79/dts/qca9556_avm_fritz450e.dts | 76 + .../linux/ath79/dts/qca9556_avm_fritzdvbc.dts | 111 + ...6_mikrotik_routerboard-wap-g-5hact2hnd.dts | 128 + .../linux/ath79/dts/qca9557_8dev_rambutan.dts | 141 + .../dts/qca9557_araknis_an-500-ap-i-ac.dts | 105 + .../ath79/dts/qca9557_buffalo_bhr-4grv2.dts | 152 + .../ath79/dts/qca9557_dlink_dap-2660-a1.dts | 88 + .../dts/qca9557_dongwon_dw02-412h-128m.dts | 12 + .../dts/qca9557_dongwon_dw02-412h-64m.dts | 12 + .../ath79/dts/qca9557_dongwon_dw02-412h.dtsi | 209 + .../ath79/dts/qca9557_engenius_eap1200h.dts | 106 + .../ath79/dts/qca9557_engenius_ecb1200.dts | 8 + .../dts/qca9557_engenius_enstationac-v1.dts | 122 + .../qca9557_extreme-networks_ws-ap3805i.dts | 199 + .../ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi | 189 + .../ath79/dts/qca9557_iodata_wn-ac1167dgr.dts | 24 + .../ath79/dts/qca9557_iodata_wn-ac1600dgr.dts | 24 + .../dts/qca9557_iodata_wn-ac1600dgr2.dts | 24 + .../linux/ath79/dts/qca9557_zyxel_nbg6616.dts | 123 + .../dts/qca9558_allnet_all-wap02860ac.dts | 106 + .../dts/qca9558_araknis_an-700-ap-i-ac.dts | 104 + .../ath79/dts/qca9558_belkin_f9j1108-v2.dts | 8 + .../ath79/dts/qca9558_belkin_f9k1115-v2.dts | 8 + .../ath79/dts/qca9558_belkin_f9x-v2.dtsi | 236 + .../dts/qca9558_comfast_cf-wr650ac-v1.dts | 83 + .../dts/qca9558_comfast_cf-wr650ac-v2.dts | 83 + .../ath79/dts/qca9558_comfast_cf-wr650ac.dtsi | 112 + .../ath79/dts/qca9558_compex_wpj558-16m.dts | 143 + .../ath79/dts/qca9558_devolo_dvl1200e.dts | 69 + .../ath79/dts/qca9558_devolo_dvl1200i.dts | 47 + .../ath79/dts/qca9558_devolo_dvl1750c.dts | 47 + .../ath79/dts/qca9558_devolo_dvl1750e.dts | 104 + .../ath79/dts/qca9558_devolo_dvl1750i.dts | 47 + .../ath79/dts/qca9558_devolo_dvl1750x.dts | 48 + .../ath79/dts/qca9558_devolo_dvl1xxx.dtsi | 130 + .../ath79/dts/qca9558_dlink_dap-2680-a1.dts | 88 + .../ath79/dts/qca9558_dlink_dap-2695-a1.dts | 115 + .../ath79/dts/qca9558_dlink_dap-3662-a1.dts | 102 + .../ath79/dts/qca9558_domywifi_dw33d.dts | 227 + .../ath79/dts/qca9558_engenius_ecb1750.dts | 8 + .../ath79/dts/qca9558_engenius_epg5000.dts | 168 + .../ath79/dts/qca9558_jjplus_jwap230.dts | 183 + .../qca9558_librerouter_librerouter-v1.dts | 217 + .../ath79/dts/qca9558_linksys_ea4500-v3.dts | 211 + ..._mikrotik_routerboard-921gs-5hpacd-15s.dts | 29 + ...58_mikrotik_routerboard-922uags-5hpacd.dts | 57 + .../dts/qca9558_mikrotik_routerboard-92x.dtsi | 176 + ...mikrotik_routerboard-962uigs-5hact2hnt.dts | 37 + .../dts/qca9558_mikrotik_routerboard-96x.dtsi | 197 + .../ath79/dts/qca9558_netgear_ex6400.dts | 8 + .../ath79/dts/qca9558_netgear_ex7300.dts | 8 + .../ath79/dts/qca9558_netgear_ex7300.dtsi | 228 + .../linux/ath79/dts/qca9558_ocedo_koala.dts | 165 + .../linux/ath79/dts/qca9558_ocedo_ursus.dts | 160 + .../linux/ath79/dts/qca9558_openmesh_a40.dts | 8 + .../linux/ath79/dts/qca9558_openmesh_a60.dts | 8 + .../linux/ath79/dts/qca9558_openmesh_a60.dtsi | 197 + .../linux/ath79/dts/qca9558_openmesh_mr.dtsi | 177 + .../ath79/dts/qca9558_openmesh_mr1750-v1.dts | 16 + .../ath79/dts/qca9558_openmesh_mr1750-v2.dts | 16 + .../ath79/dts/qca9558_openmesh_mr900-v1.dts | 26 + .../ath79/dts/qca9558_openmesh_mr900-v2.dts | 26 + .../ath79/dts/qca9558_openmesh_om5p-ac-v1.dts | 216 + .../ath79/dts/qca9558_openmesh_om5p-ac-v2.dts | 248 + .../ath79/dts/qca9558_qxwlan_e558-v2-16m.dts | 16 + .../ath79/dts/qca9558_qxwlan_e558-v2-8m.dts | 16 + .../linux/ath79/dts/qca9558_qxwlan_e558.dtsi | 179 + .../ath79/dts/qca9558_sitecom_wlr-8100.dts | 175 + target/linux/ath79/dts/qca9558_sophos_ap.dtsi | 179 + .../linux/ath79/dts/qca9558_sophos_ap100.dts | 21 + .../linux/ath79/dts/qca9558_sophos_ap100c.dts | 8 + .../linux/ath79/dts/qca9558_sophos_ap55.dts | 21 + .../linux/ath79/dts/qca9558_sophos_ap55c.dts | 8 + .../ath79/dts/qca9558_tplink_archer-c.dtsi | 173 + .../ath79/dts/qca9558_tplink_archer-c5-v1.dts | 77 + .../ath79/dts/qca9558_tplink_archer-c7-v1.dts | 83 + .../ath79/dts/qca9558_tplink_archer-c7-v2.dts | 100 + .../ath79/dts/qca9558_tplink_archer-d7-v1.dts | 97 + .../ath79/dts/qca9558_tplink_archer-d7.dtsi | 171 + .../dts/qca9558_tplink_archer-d7b-v1.dts | 91 + .../ath79/dts/qca9558_tplink_re350k-v1.dts | 188 + .../ath79/dts/qca9558_tplink_re355-v1.dts | 8 + .../ath79/dts/qca9558_tplink_re450-v1.dts | 8 + .../linux/ath79/dts/qca9558_tplink_rex5x.dtsi | 182 + .../dts/qca9558_tplink_tl-wdr4900-v2.dts | 236 + .../dts/qca9558_tplink_tl-wdr7500-v3.dts | 77 + .../dts/qca9558_tplink_tl-wr1043nd-v2.dts | 8 + .../dts/qca9558_tplink_tl-wr1043nd-v3.dts | 8 + .../ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi | 183 + .../dts/qca9558_tplink_tl-wr1045nd-v2.dts | 8 + .../dts/qca9558_tplink_tl-wr941n-v7-cn.dts | 129 + .../ath79/dts/qca9558_trendnet_tew-823dru.dts | 200 + .../ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts | 111 + .../dts/qca9558_ubnt_powerbeam-5ac-500.dts | 49 + .../dts/qca9558_ubnt_rocket-5ac-lite.dts | 49 + .../ath79/dts/qca9558_zyxel_emg2926_q10a.dts | 8 + .../linux/ath79/dts/qca9558_zyxel_nbg6716.dts | 168 + target/linux/ath79/dts/qca955x.dtsi | 357 + .../ath79/dts/qca955x_dlink_dap-2xxx.dtsi | 52 + .../ath79/dts/qca955x_engenius_ecb1xxx.dtsi | 133 + .../linux/ath79/dts/qca955x_senao_loader.dtsi | 91 + target/linux/ath79/dts/qca955x_ubnt_xc.dtsi | 56 + .../ath79/dts/qca955x_zyxel_nbg6x16.dtsi | 134 + .../linux/ath79/dts/qca9561_avm_fritz4020.dts | 159 + .../linux/ath79/dts/qca9561_nec_wf1200cr.dts | 166 + .../dts/qca9561_tplink_archer-c25-v1.dts | 203 + .../dts/qca9561_tplink_archer-c58-v1.dts | 86 + .../dts/qca9561_tplink_archer-c59-v1.dts | 110 + .../dts/qca9561_tplink_archer-c59-v2.dts | 116 + .../ath79/dts/qca9561_tplink_archer-c5x.dtsi | 142 + .../dts/qca9561_tplink_archer-c60-v1.dts | 98 + .../dts/qca9561_tplink_archer-c60-v2.dts | 104 + .../dts/qca9561_tplink_archer-c60-v3.dts | 99 + .../ath79/dts/qca9561_tplink_archer-c6x.dtsi | 81 + .../dts/qca9561_tplink_eap225-wall-v2.dts | 152 + .../ath79/dts/qca9561_xiaomi_mi-router-4q.dts | 155 + .../linux/ath79/dts/qca9563_asus_rp-ac66.dts | 159 + .../ath79/dts/qca9563_comfast_cf-e375ac.dts | 149 + .../linux/ath79/dts/qca9563_compex_wpj563.dts | 149 + .../ath79/dts/qca9563_dlink_dir-842-c.dtsi | 156 + .../ath79/dts/qca9563_dlink_dir-842-c1.dts | 8 + .../ath79/dts/qca9563_dlink_dir-842-c2.dts | 16 + .../ath79/dts/qca9563_dlink_dir-842-c3.dts | 8 + .../ath79/dts/qca9563_dlink_dir-859-a1.dts | 163 + .../dts/qca9563_elecom_wrc-1750ghbk2-i.dts | 72 + .../dts/qca9563_elecom_wrc-300ghbk2-i.dts | 62 + .../ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi | 114 + .../dts/qca9563_glinet_gl-ar750s-nor-nand.dts | 29 + .../dts/qca9563_glinet_gl-ar750s-nor.dts | 16 + .../ath79/dts/qca9563_glinet_gl-ar750s.dtsi | 188 + .../linux/ath79/dts/qca9563_nec_wg1200cr.dts | 167 + .../linux/ath79/dts/qca9563_nec_wg800hp.dts | 178 + .../linux/ath79/dts/qca9563_netgear_wndr.dtsi | 262 + .../ath79/dts/qca9563_netgear_wndr4300-v2.dts | 17 + .../ath79/dts/qca9563_netgear_wndr4500-v3.dts | 39 + .../linux/ath79/dts/qca9563_phicomm_k2t.dts | 132 + .../dts/qca9563_qxwlan_e1700ac-v2-16m.dts | 16 + .../dts/qca9563_qxwlan_e1700ac-v2-8m.dts | 16 + .../ath79/dts/qca9563_qxwlan_e1700ac.dtsi | 162 + .../ath79/dts/qca9563_rosinson_wr818.dts | 160 + .../ath79/dts/qca9563_tplink_archer-a7-v5.dts | 87 + .../ath79/dts/qca9563_tplink_archer-c2-v3.dts | 186 + .../dts/qca9563_tplink_archer-c6-v2-us.dts | 151 + .../ath79/dts/qca9563_tplink_archer-c6-v2.dts | 145 + .../ath79/dts/qca9563_tplink_archer-c7-v4.dts | 271 + .../ath79/dts/qca9563_tplink_archer-c7-v5.dts | 93 + .../dts/qca9563_tplink_archer-x6-v2.dtsi | 38 + .../dts/qca9563_tplink_archer-x7-v5.dtsi | 169 + .../ath79/dts/qca9563_tplink_cpe710-v1.dts | 152 + .../ath79/dts/qca9563_tplink_deco-m4r-v1.dts | 147 + .../dts/qca9563_tplink_eap225-outdoor-v1.dts | 30 + .../ath79/dts/qca9563_tplink_eap225-v1.dts | 51 + .../ath79/dts/qca9563_tplink_eap225-v3.dts | 30 + .../ath79/dts/qca9563_tplink_eap245-v1.dts | 44 + .../ath79/dts/qca9563_tplink_eap245-v3.dts | 169 + .../dts/qca9563_tplink_eap2x5-1port.dtsi | 143 + .../ath79/dts/qca9563_tplink_re450-v2.dts | 72 + .../ath79/dts/qca9563_tplink_re450-v3.dts | 78 + .../linux/ath79/dts/qca9563_tplink_re450.dtsi | 135 + .../ath79/dts/qca9563_tplink_re455-v1.dts | 78 + .../ath79/dts/qca9563_tplink_tl-wa1201-v2.dts | 161 + .../dts/qca9563_tplink_tl-wpa8630-v1.dts | 60 + .../ath79/dts/qca9563_tplink_tl-wpa8630.dtsi | 131 + .../dts/qca9563_tplink_tl-wpa8630p-v2-int.dts | 78 + .../qca9563_tplink_tl-wpa8630p-v2.0-eu.dts | 78 + .../qca9563_tplink_tl-wpa8630p-v2.1-eu.dts | 74 + .../dts/qca9563_tplink_tl-wr1043n-v5.dts | 98 + .../ath79/dts/qca9563_tplink_tl-wr1043n.dtsi | 111 + .../dts/qca9563_tplink_tl-wr1043nd-v4.dts | 127 + .../ath79/dts/qca9563_ubnt_unifiac-lite.dts | 8 + .../ath79/dts/qca9563_ubnt_unifiac-lite.dtsi | 30 + .../ath79/dts/qca9563_ubnt_unifiac-lr.dts | 8 + .../dts/qca9563_ubnt_unifiac-mesh-pro.dts | 8 + .../ath79/dts/qca9563_ubnt_unifiac-mesh.dts | 8 + .../ath79/dts/qca9563_ubnt_unifiac-pro.dts | 16 + .../ath79/dts/qca9563_ubnt_unifiac-pro.dtsi | 31 + .../linux/ath79/dts/qca9563_ubnt_unifiac.dtsi | 117 + .../ath79/dts/qca9563_xiaomi_aiot-ac2350.dts | 188 + .../linux/ath79/dts/qca9563_yuncore_a782.dts | 31 + .../ath79/dts/qca9563_yuncore_xd3200.dts | 32 + .../ath79/dts/qca9563_yuncore_xd4200.dts | 31 + .../ath79/dts/qca9563_yuncore_xd4200.dtsi | 118 + target/linux/ath79/dts/qca9563_zte_mf281.dts | 275 + target/linux/ath79/dts/qca9563_zte_mf286.dts | 130 + target/linux/ath79/dts/qca9563_zte_mf286.dtsi | 159 + target/linux/ath79/dts/qca9563_zte_mf286a.dts | 9 + .../linux/ath79/dts/qca9563_zte_mf286ar.dtsi | 134 + target/linux/ath79/dts/qca9563_zte_mf286r.dts | 9 + target/linux/ath79/dts/qca956x.dtsi | 326 + .../ath79/dts/qcn5502_netgear_ex7300-v2.dts | 255 + .../ath79/dts/qcn5502_tplink_archer-a9-v6.dts | 248 + .../ath79/dts/tp9343_tplink_tl-wa901nd-v4.dts | 8 + .../ath79/dts/tp9343_tplink_tl-wa901nd-v5.dts | 8 + .../ath79/dts/tp9343_tplink_tl-wa901nd.dtsi | 52 + .../ath79/dts/tp9343_tplink_tl-wr940n-v3.dts | 8 + .../ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi | 69 + .../ath79/dts/tp9343_tplink_tl-wr940n-v4.dts | 71 + .../ath79/dts/tp9343_tplink_tl-wr940n-v6.dts | 35 + .../ath79/dts/tp9343_tplink_tl-wr941hp-v1.dts | 167 + .../ath79/dts/tp9343_tplink_tl-wr941nd-v6.dts | 8 + .../ath79/dts/tp9343_tplink_tl-wr94x.dtsi | 21 + .../linux/ath79/dts/tp9343_tplink_tl-wx.dtsi | 78 + .../mips/include/asm/fw/myloader/myloader.h | 34 + .../ath79/files/drivers/gpio/gpio-latch.c | 205 + .../ath79/files/drivers/gpio/gpio-rb4xx.c | 172 + .../ath79/files/drivers/gpio/gpio-rb91x-key.c | 218 + .../ath79/files/drivers/mfd/rb4xx-cpld.c | 182 + .../files/drivers/mtd/nand/raw/ar934x_nand.c | 1498 + .../files/drivers/mtd/nand/raw/nand_rb4xx.c | 249 + .../files/drivers/mtd/nand/raw/rb91x_nand.c | 380 + .../drivers/mtd/parsers/parser_cybertan.c | 163 + .../net/ethernet/atheros/ag71xx/Kconfig | 25 + .../net/ethernet/atheros/ag71xx/Makefile | 13 + .../net/ethernet/atheros/ag71xx/ag71xx.h | 454 + .../ethernet/atheros/ag71xx/ag71xx_debugfs.c | 285 + .../ethernet/atheros/ag71xx/ag71xx_ethtool.c | 194 + .../net/ethernet/atheros/ag71xx/ag71xx_gmac.c | 135 + .../net/ethernet/atheros/ag71xx/ag71xx_main.c | 1827 + .../net/ethernet/atheros/ag71xx/ag71xx_mdio.c | 254 + .../net/ethernet/atheros/ag71xx/ag71xx_phy.c | 92 + .../ath79/files/include/mfd/rb4xx-cpld.h | 25 + .../generic/base-files/etc/board.d/01_leds | 480 + .../generic/base-files/etc/board.d/02_network | 753 + .../base-files/etc/board.d/03_gpio_switches | 102 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 187 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 293 + .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 69 + .../generic/base-files/etc/init.d/bootcount | 16 + .../etc/uci-defaults/04_led_migration | 73 + .../etc/uci-defaults/05_fix-compat-version | 14 + .../etc/uci-defaults/09_fix-checksum | 27 + .../generic/base-files/lib/functions/k2t.sh | 54 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 30 + .../lib/upgrade/dualboot_datachk.sh | 105 + .../lib/upgrade/failsafe_datachk.sh | 64 + .../base-files/lib/upgrade/openmesh.sh | 114 + .../base-files/lib/upgrade/platform.sh | 91 + .../base-files/lib/upgrade/redboot-fis.sh | 31 + target/linux/ath79/generic/config-default | 27 + target/linux/ath79/generic/target.mk | 7 + target/linux/ath79/image/Makefile | 103 + .../bin/pisen_wmb001n_factory-header.bin | Bin 0 -> 288 bytes target/linux/ath79/image/common-buffalo.mk | 34 + target/linux/ath79/image/common-mikrotik.mk | 23 + target/linux/ath79/image/common-netgear.mk | 39 + target/linux/ath79/image/common-senao.mk | 39 + target/linux/ath79/image/common-tp-link.mk | 95 + target/linux/ath79/image/common-ubnt.mk | 142 + target/linux/ath79/image/common-yuncore.mk | 12 + target/linux/ath79/image/generic-tp-link.mk | 900 + target/linux/ath79/image/generic-ubnt.mk | 282 + target/linux/ath79/image/generic.mk | 2716 + target/linux/ath79/image/lzma-loader/Makefile | 72 + .../ath79/image/lzma-loader/src/LzmaDecode.c | 584 + .../ath79/image/lzma-loader/src/LzmaDecode.h | 113 + .../ath79/image/lzma-loader/src/LzmaTypes.h | 45 + .../ath79/image/lzma-loader/src/Makefile | 113 + .../ath79/image/lzma-loader/src/ar71xx_regs.h | 725 + .../linux/ath79/image/lzma-loader/src/board.c | 56 + .../linux/ath79/image/lzma-loader/src/cache.c | 43 + .../linux/ath79/image/lzma-loader/src/cache.h | 17 + .../ath79/image/lzma-loader/src/cacheops.h | 85 + .../ath79/image/lzma-loader/src/config.h | 31 + .../ath79/image/lzma-loader/src/cp0regdef.h | 39 + .../linux/ath79/image/lzma-loader/src/head.S | 134 + .../ath79/image/lzma-loader/src/loader.c | 268 + .../ath79/image/lzma-loader/src/loader.lds | 34 + .../ath79/image/lzma-loader/src/loader2.lds | 10 + .../ath79/image/lzma-loader/src/lzma-data.lds | 8 + .../ath79/image/lzma-loader/src/printf.c | 350 + .../ath79/image/lzma-loader/src/printf.h | 18 + target/linux/ath79/image/mikrotik.mk | 139 + target/linux/ath79/image/nand.mk | 406 + target/linux/ath79/image/tiny-netgear.mk | 59 + target/linux/ath79/image/tiny-tp-link.mk | 524 + target/linux/ath79/image/tiny-ubnt.mk | 83 + target/linux/ath79/image/tiny.mk | 80 + .../mikrotik/base-files/etc/board.d/01_leds | 54 + .../base-files/etc/board.d/02_network | 91 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 53 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 33 + .../etc/uci-defaults/04_led_migration | 13 + .../base-files/lib/upgrade/platform.sh | 48 + target/linux/ath79/mikrotik/config-default | 39 + target/linux/ath79/mikrotik/target.mk | 11 + target/linux/ath79/modules.mk | 16 + .../ath79/nand/base-files/etc/board.d/01_leds | 36 + .../nand/base-files/etc/board.d/02_network | 108 + .../base-files/etc/board.d/03_gpio_switches | 20 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 43 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 34 + .../etc/hotplug.d/ieee80211/10-fix-wifi-mac | 24 + .../nand/base-files/etc/init.d/bootcount | 16 + .../etc/uci-defaults/04_led_migration | 13 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 15 + .../nand/base-files/lib/upgrade/glinet.sh | 90 + .../nand/base-files/lib/upgrade/platform.sh | 29 + target/linux/ath79/nand/config-default | 24 + target/linux/ath79/nand/target.mk | 10 + ...ds-add-reset-controller-based-driver.patch | 186 + .../0004-phy-add-ath79-usb-phys.patch | 333 + ...005-usb-add-more-OF-quirk-properties.patch | 24 + ...9-intc-add-irq-cascade-driver-for-QC.patch | 168 + ...ip-irq-ath79-cpu-drop-OF-init-helper.patch | 23 + ...ngs-PCI-qcom-ar7100-adds-binding-doc.patch | 57 + .../0018-MIPS-pci-ar71xx-convert-to-OF.patch | 202 + ...ngs-PCI-qcom-ar7240-adds-binding-doc.patch | 61 + .../0020-MIPS-pci-ar724x-convert-to-OF.patch | 205 + .../0032-MIPS-ath79-sanitize-symbols.patch | 93 + .../0033-spi-ath79-drop-pdata-support.patch | 70 + .../0034-MIPS-ath79-ath9k-exports.patch | 27 + ...-MIPS-ath79-remove-irq-code-from-pci.patch | 139 + .../patches-5.10/0037-missing-registers.patch | 21 + ...9-add-missing-QCA955x-GMAC-registers.patch | 90 + ...S-ath79-export-UART1-reference-clock.patch | 52 + .../004-register_gpio_driver_earlier.patch | 18 + .../0040-ath79-sgmii-config.patch | 9 + ...or-use-4-bit-locking-for-MX25L12805D.patch | 33 + ...ci-ar724x-add-QCA9550-reset-sequence.patch | 130 + ...or-support-mtd-name-from-device-tree.patch | 54 + ...-ar934x-fix-transfer-and-word-delays.patch | 27 + ...3-v5.17-spi-ar934x-fix-transfer-size.patch | 62 + .../404-mtd-cybertan-trx-parser.patch | 27 + .../408-mtd-redboot_partition_scan.patch | 44 + ...th79-Implement-the-spi_mem-interface.patch | 68 + ...ath79-set-number-of-chipselect-lines.patch | 26 + .../420-net-use-downstream-ag71xx.patch | 28 + ...425-at803x-allow-sgmii-aneg-override.patch | 16 + .../430-drivers-link-spi-before-mtd.patch | 12 + .../440-mtd-ar934x-nand-driver.patch | 25 + ...ath79-swizzle-pci-address-for-ar71xx.patch | 98 + .../900-mdio_bitbang_ignore_ta_value.patch | 32 + ...-prevent-rescheduling-during-command.patch | 61 + .../910-unaligned_access_hacks.patch | 869 + .../patches-5.10/920-mikrotik-rb4xx.patch | 76 + .../930-ar8216-make-reg-access-atomic.patch | 59 + .../patches-5.10/939-mikrotik-rb91x.patch | 68 + ...th79-add-support-for-booting-QCN550x.patch | 48 + .../ath79/tiny/base-files/etc/board.d/01_leds | 131 + .../tiny/base-files/etc/board.d/02_network | 160 + .../base-files/etc/board.d/05_compat-version | 20 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 59 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 25 + .../etc/uci-defaults/04_led_migration | 16 + .../lib/upgrade/failsafe_datachk.sh | 64 + .../tiny/base-files/lib/upgrade/platform.sh | 34 + target/linux/ath79/tiny/config-default | 12 + target/linux/ath79/tiny/target.mk | 8 + target/linux/bcm27xx/Makefile | 33 + .../bcm27xx/base-files/etc/board.d/02_network | 33 + target/linux/bcm27xx/base-files/etc/diag.sh | 42 + target/linux/bcm27xx/base-files/etc/inittab | 4 + .../lib/preinit/05_set_preinit_iface_brcm2708 | 21 + .../base-files/lib/preinit/79_move_config | 19 + .../base-files/lib/upgrade/keep.d/platform | 2 + .../base-files/lib/upgrade/platform.sh | 99 + target/linux/bcm27xx/bcm2708/config-5.10 | 365 + target/linux/bcm27xx/bcm2708/target.mk | 13 + target/linux/bcm27xx/bcm2709/config-5.10 | 461 + target/linux/bcm27xx/bcm2709/target.mk | 14 + target/linux/bcm27xx/bcm2710/config-5.10 | 447 + target/linux/bcm27xx/bcm2710/target.mk | 14 + target/linux/bcm27xx/bcm2711/config-5.10 | 461 + target/linux/bcm27xx/bcm2711/target.mk | 13 + target/linux/bcm27xx/image/Makefile | 170 + target/linux/bcm27xx/image/cmdline.txt | 1 + target/linux/bcm27xx/image/config.txt | 14 + target/linux/bcm27xx/image/distroconfig.txt | 16 + .../linux/bcm27xx/image/gen_rpi_sdcard_img.sh | 29 + target/linux/bcm27xx/modules.mk | 5 + target/linux/bcm27xx/modules/hwmon.mk | 33 + target/linux/bcm27xx/modules/i2c.mk | 18 + target/linux/bcm27xx/modules/other.mk | 55 + target/linux/bcm27xx/modules/sound.mk | 1019 + target/linux/bcm27xx/modules/spi.mk | 40 + target/linux/bcm27xx/modules/video.mk | 87 + ...vert-702b94bff3c50542a6e4ab9a4f4cef0.patch | 99 + ...23-properly-handle-oscillator-stop-b.patch | 56 + ...ing-bcm2835-audio-Drop-DT-dependency.patch | 96 + ...v-Fix-CS-polarity-if-GPIO-descriptor.patch | 32 + ...smsx95xx-fix-crimes-against-truesize.patch | 47 + ...ental-Enable-turbo_mode-and-packetsi.patch | 43 + ...ow-mac-address-to-be-set-in-smsc95xx.patch | 96 + ...e_resource-against-resources-without.patch | 28 + ...cm2836-Avoid-Invalid-trigger-warning.patch | 24 + ...0011-irqchip-bcm2835-Add-FIQ-support.patch | 127 + ...hip-irq-bcm2835-Add-2836-FIQ-support.patch | 99 + ...ompletely-disable-the-spidev-warning.patch | 24 + ...5-Load-driver-early-and-support-lega.patch | 101 + ...0015-firmware-Updated-mailbox-header.patch | 27 + ...rtc-Add-SPI-alias-for-pcf2123-driver.patch | 20 + ...835-Support-setting-reboot-partition.patch | 102 + ...-off-rather-than-busy-spinning-when-.patch | 23 + ...-Make-RASPBERRYPI_POWER-depend-on-PM.patch | 19 + ...cks-early-during-the-boot-process-so.patch | 45 + ...void-initialising-if-already-enabled.patch | 25 + ...Mark-used-PLLs-and-dividers-CRITICAL.patch | 28 + ...lk-bcm2835-Add-claim-clocks-property.patch | 120 + ...35-Read-max-core-clock-from-firmware.patch | 115 + ...Demote-deferral-errors-to-INFO-level.patch | 35 + .../950-0026-Update-vfpmodule.c.patch | 137 + ...0-0027-i2c-bcm2835-Add-debug-support.patch | 189 + ...-0028-mm-Remove-the-PFN-busy-warning.patch | 25 + ...bcm2836-Remove-regmap-and-syscon-use.patch | 112 + ...8xx-Enable-LEDs-and-auto-negotiation.patch | 48 + ...1-Don-t-use-DT-aliases-for-numbering.patch | 29 + ...0032-amba_pl011-Round-input-clock-up.patch | 86 + ...-Insert-mb-for-correct-FIFO-handling.patch | 27 + ...Add-cts-event-workaround-DT-property.patch | 50 + ...011-Make-TX-optimisation-conditional.patch | 85 + ...011-Avoid-rare-write-when-full-error.patch | 42 + ...Set-base-to-0-give-expected-gpio-num.patch | 22 + ...0039-Main-bcm2708-bcm2709-linux-port.patch | 150 + .../950-0040-Add-dwc_otg-driver.patch | 61618 ++++++++++++++++ .../950-0041-bcm2708-framebuffer-driver.patch | 3559 + ...lti-frame-buffer-support-from-the-Pi.patch | 828 + ...50-0043-fbdev-add-FBIOCOPYAREA-ioctl.patch | 337 + ...nsole-framebuffer-imageblit-function.patch | 209 + ...45-dmaengine-Add-support-for-BCM2708.patch | 640 + ...046-MMC-added-alternative-MMC-driver.patch | 1933 + ...dhost-driver-and-an-overlay-to-enabl.patch | 2481 + ...m-driver-for-querying-firmware-memor.patch | 488 + ...device-for-rootless-user-GPIO-access.patch | 299 + .../950-0050-Add-SMI-driver.patch | 1910 + ...950-0051-Add-Chris-Boot-s-i2c-driver.patch | 660 + ...0-0052-char-broadcom-Add-vcio-module.patch | 254 + ...irmware-bcm2835-Support-ARCH_BCM270x.patch | 97 + ...BCM2708-Add-core-Device-Tree-support.patch | 26485 +++++++ ...wr_led-and-the-required-input-trigge.patch | 169 + ...dded-Device-IDs-for-August-DVB-T-205.patch | 22 + ...o_user-and-__copy_from_user-performa.patch | 1586 + ...off-Allow-it-to-work-on-Raspberry-Pi.patch | 35 + ...d-Raspberry-Pi-Sense-HAT-core-driver.patch | 852 + ...all-the-downstream-rpi-sound-card-dr.patch | 15106 ++++ ...when-module-probes-before-i2c-module.patch | 46 + ...lay-add-backlight-driver-and-overlay.patch | 172 + ...bcm2835-virtgpio-Virtual-GPIO-driver.patch | 256 + ...064-OF-DT-Overlay-configfs-interface.patch | 427 + ...i_h5-Don-t-send-conf_req-when-ACTIVE.patch | 23 + ...und-Robin-dispatch-IRQs-between-CPUs.patch | 72 + ...ware-emulation-of-deprecated-instruc.patch | 28 + ...68-cache-export-clean-and-invalidate.patch | 53 + ...-AXI-performance-monitor-driver-2222.patch | 691 + ...m2835-Set-Serial-number-and-Revision.patch | 63 + ...Q-Fix-bad-mode-in-data-abort-handler.patch | 116 + ...FIQs-to-avoid-__irq_startup-warnings.patch | 36 + ...ware-Export-the-general-transaction-.patch | 32 + ...so-set-bus-numbers-from-reg-property.patch | 35 + ...ear-option-to-pps-gpio-via-dtoverlay.patch | 21 + ...78xx-Read-initial-EEE-status-from-DT.patch | 40 + ...fault-mouse-polling-interval-to-60Hz.patch | 32 + ...to-export-gpio-used-by-gpio-poweroff.patch | 57 + ...pberrypi-Notify-firmware-of-a-reboot.patch | 84 + ...bcm2835-Calc.-FIQ_START-at-boot-time.patch | 66 + ...fs-Use-of_overlay_fdt_apply-API-call.patch | 114 + ...Disable-TCP-Segmentation-Offload-TSO.patch | 56 + ...e-enabling-of-EEE-into-PHY-init-code.patch | 64 + .../950-0084-Add-rpi-poe-fan-driver.patch | 581 + ...SPI_DRV-should-select-DVB_CXD2880-wi.patch | 20 + ...i-Prevent-voltage-low-warnings-from-.patch | 75 + ...rypi-Add-backward-compatible-get_thr.patch | 79 + ...is7xx-Don-t-spin-if-no-data-received.patch | 23 + ...step_wise-add-support-for-hysteresis.patch | 94 + ...step_wise-avoid-throttling-at-hyster.patch | 22 + ...950-0091-Update-issue-templates-2736.patch | 47 + ...xx-Support-auto-downshift-to-100Mb-s.patch | 91 + ...rypi-Report-the-fw-variant-during-pr.patch | 101 + ...e-link-events-to-minimize-poll-storm.patch | 45 + ...xx-EEE-support-is-now-a-PHY-property.patch | 26 + ...ma-Add-support-for-per-channel-flags.patch | 48 + ...8-Add-backup-switchover-mode-support.patch | 50 + ...use-default-alignment-for-rx-buffers.patch | 23 + ...ov5647-Add-set_fmt-and-get_fmt-calls.patch | 47 + ...dia-ov5647-Add-support-for-PWDN-GPIO.patch | 92 + ...-support-for-non-continuous-clock-mo.patch | 79 + ...-tc358743-Increase-FIFO-level-to-374.patch | 31 + ...ix-connected-active-CSI-2-lane-repor.patch | 74 + ...-Add-support-for-972Mbit-s-link-freq.patch | 79 + ...743-Check-I2C-succeeded-during-probe.patch | 98 + ...180-Default-to-the-first-valid-input.patch | 45 + ...v7180-Add-YPrPb-support-for-ADV7282M.patch | 24 + ...Add-helper-defines-for-printing-FOUR.patch | 28 + ...-Document-BCM283x-CSI2-CCP2-receiver.patch | 103 + ...-Add-entry-for-BCM2835-Unicam-driver.patch | 28 + ...eturn-an-appropriate-colorspace-from.patch | 98 + ...chiq-Avoid-use-of-bool-in-structures.patch | 24 + ...chiq-Add-support-for-event-callbacks.patch | 356 + ...vices-Support-sending-data-to-MMAL-p.patch | 42 + ...2-Allow-exporting-of-a-struct-dmabuf.patch | 83 + ...iq-Fix-client_component-for-64-bit-k.patch | 35 + ...-bcm2835-Use-zd-when-printing-size_t.patch | 24 + ...-ov5647-Use-gpiod_set_value_cansleep.patch | 54 + ...iq-Add-in-the-Bayer-encoding-formats.patch | 51 + ...iq-Update-mmal_parameters.h-with-rec.patch | 56 + ...iq-Free-the-event-context-for-contro.patch | 28 + ...-vchiq-Fix-memory-leak-in-error-path.patch | 76 + ...ake-GPIO-an-output-for-strong-pullup.patch | 27 + ...24-arm-bcm2835-Fix-FIQ-early-ioremap.patch | 73 + ...arm-bcm2835-DMA-can-only-address-1GB.patch | 25 + ...rng-iproc-rng200-Add-BCM2838-support.patch | 153 + ...i-iproc-Fix-vmmc-regulators-on-iProc.patch | 46 + ...128-vchiq-Add-36-bit-address-support.patch | 202 + ...835-pcm.c-Support-multichannel-audio.patch | 46 + ...genet-constrain-max-DMA-burst-length.patch | 20 + ...Better-coalescing-parameter-defaults.patch | 43 + ...-link-energy-detect-powerdown-for-ex.patch | 31 + ...2835-enable-shared-interrupt-support.patch | 35 + ...clk-bcm2835-Don-t-wait-for-pllh-lock.patch | 38 + ...-bcm-bcm2835-pm-Add-support-for-2711.patch | 102 + ...support-for-setting-leaf-clock-rates.patch | 53 + ...w-reparenting-leaf-clocks-while-they.patch | 71 + ...-for-updating-interrupt-endpoint-int.patch | 104 + ...hci_fixup_endpoint-for-interval-adju.patch | 129 + ...fixup_endpoint-after-mangling-interv.patch | 23 + ...cm2835-Add-bcm2838-compatible-string.patch | 20 + ...50-0142-drm-v3d-Add-support-for-2711.patch | 20 + ...-flush-if-the-device-is-currently-of.patch | 52 + ...4-drm-v3d-Hook-up-the-runtime-PM-ops.patch | 34 + ...35-Set-clock-stretch-timeout-to-35ms.patch | 47 + ...bcm2835-Avoid-null-pointer-exception.patch | 29 + ...-drm-v3d-HACK-gut-runtime-pm-for-now.patch | 109 + ...m-v3d-Clock-V3D-down-when-not-in-use.patch | 161 + ...-chardev-for-mmap-ing-the-RPiVid-con.patch | 441 + ...ce-quirks-for-Freeway-Airmouse-T3-an.patch | 63 + ...152-Add-HDMI1-facility-to-the-driver.patch | 85 + ...t-Workaround-2-for-Pi4-Ethernet-fail.patch | 51 + ...ore-event-ring-segment-table-entries.patch | 60 + ...155-configs-arm64-bcm2711-Enable-V3D.patch | 28 + ...arch-arm-Add-model-string-to-cpuinfo.patch | 36 + ...Add-Revision-Serial-Model-to-cpuinfo.patch | 58 + ...s-Add-binding-for-the-Sony-IMX219-se.patch | 77 + ...0-0159-v4l2-Add-a-Greyworld-AWB-mode.patch | 34 + ...cm2835-camera-Add-greyworld-AWB-mode.patch | 37 + ...61-drm-v3d-Delete-pm_runtime-support.patch | 62 + ....dtbo-overlays-to-be-built-piecemeal.patch | 36 + ...oard-clk-and-pinctrl-to-bcm2711-comp.patch | 26 + ...-device-names-check-for-enable-state.patch | 139 + ...binding-for-the-Infineon-IRS1125-sen.patch | 66 + ...driver-for-the-Infineon-IRS1125-dept.patch | 1231 + ...-clear-MMU-control-bits-on-exception.patch | 34 + ...Suppress-all-but-the-first-MMU-error.patch | 39 + ...950-0169-drm-v3d-Plug-dma_fence-leak.patch | 28 + ...m-Register-vcsm-cma-as-a-platform-dr.patch | 40 + ...m-Register-bcm2835-codec-as-a-platfo.patch | 40 + ...-bcmgenet-The-second-IRQ-is-optional.patch | 24 + ...ow-ethernet-LED-mode-to-be-set-via-d.patch | 46 + ...nge-the-default-ethernet-LED-actions.patch | 33 + ...Handle-missing-clock-more-gracefully.patch | 27 + ...-clock-so-firmware-knows-we-are-usin.patch | 27 + ...Allow-cpufreq-driver-to-also-adjust-.patch | 25 + ...0-0178-clk-bcm2835-Disable-v3d-clock.patch | 58 + ...ma_mask-as-well-as-coherent_dma_mask.patch | 27 + ...m-Set-up-dma-ranges-on-child-devices.patch | 33 + ...e-the-old-dma-controller-for-OF-conf.patch | 51 + ...ckport-BCM2711-support-from-upstream.patch | 47 + ...lise-rpi-firmware-before-clk-bcm2835.patch | 47 + ...hiq_arm-Give-vchiq-children-DT-nodes.patch | 39 + ...trl-bcm2835-Remove-gpiochip-on-error.patch | 25 + ...2835-Accept-fewer-than-expected-IRQs.patch | 31 + ...s-char-vcio-Use-common-compat-header.patch | 23 + ...-bcm2708_fb-Use-common-compat-header.patch | 23 + ...f-overlay-Correct-symbol-path-fixups.patch | 37 + ...-Add-DT-docs-for-Brcmstb-PCIe-device.patch | 77 + ...ow-.dtbo-overlays-to-be-built-adjust.patch | 26 + ...t-Disable-skip_umac_reset-by-default.patch | 23 + ...uapi-hevc-Add-scaling-matrix-control.patch | 150 + ...-uapi-hevc-Add-segment-address-field.patch | 61 + ...uapi-Add-hevc-ctrls-for-WPP-decoding.patch | 40 + ...h-Add-a-format-for-column-YUV4-2-0-m.patch | 302 + ...s-media-Add-binding-for-the-Raspberr.patch | 106 + ...a-Add-Raspberry-Pi-V4L2-H265-decoder.patch | 4341 ++ ...-0201-mmc-sdhci-Silence-MMC-warnings.patch | 42 + ...k-Add-a-binding-for-the-RPi-Firmware.patch | 63 + ...lay-vc4-hdmi-Add-BCM2711-HDMI-contro.patch | 174 + ...the-pitch-is-only-valid-for-linear-f.patch | 39 + ...verlays-Fix-dtc-warnings-in-i2c-gpio.patch | 24 + ...ar-rpivid-Remove-legacy-name-support.patch | 53 + ...CS_HIGH-if-GPIO-descriptors-are-used.patch | 57 + ...ar-rpivid-Don-t-map-more-than-wanted.patch | 51 + ...icam-Driver-for-CCP2-CSI2-camera-int.patch | 2709 + ...core-Add-sensor-ancillary-data-V4L2-.patch | 85 + ...EDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch | 64 + ...icam-Add-support-for-mulitple-device.patch | 1084 + ...cm2835-unicam-Add-embedded-data-node.patch | 1170 + ...icam-Use-dummy-buffer-if-none-have-b.patch | 308 + ...icam-Disable-event-related-ioctls-on.patch | 31 + ...icam-Add-support-for-the-FRAME_SYNC-.patch | 55 + ...ertise-embedded-data-node-on-media-p.patch | 336 + ...icam-Re-fetch-mbus-code-from-subdev-.patch | 49 + ...core-Add-ISP-statistics-output-V4L2-.patch | 94 + ...trls-Add-CID-base-for-the-bcm2835-is.patch | 169 + ...q-Load-bcm2835_isp-driver-from-vchiq.patch | 39 + ...35-dma-Add-proper-40-bit-DMA-support.patch | 801 + ...Make-the-i2c-gpio-overlay-safe-again.patch | 32 + ...-Declare-that-the-driver-can-create-.patch | 27 + ...-return-codes-from-ov5647_write-ov56.patch | 74 + ...-basic-support-for-multiple-sensor-m.patch | 407 + ...-V4L2-controls-for-analogue-gain-exp.patch | 277 + ...ov5647-Add-extra-10-bit-sensor-modes.patch | 549 + ...nge-defaults-to-better-match-raw-cam.patch | 59 + ...-Add-support-for-g_selection-to-refl.patch | 206 + ...67-Fixup-error-path-to-release-mutex.patch | 29 + ...c-ov5647-Support-V4L2_CID_PIXEL_RATE.patch | 131 + ...7-Set-V4L2_SUBDEV_FL_HAS_EVENTS-flag.patch | 143 + ...5647-Add-support-for-V4L2_CID_VBLANK.patch | 205 + ...-Neither-analogue-gain-nor-exposure-.patch | 58 + ...5647-Use-member-names-in-mode-tables.patch | 111 + ...-Advertise-the-correct-exposure-rang.patch | 119 + ...icam-Add-support-for-VIDIOC_-S-G-_SE.patch | 82 + ...icam-Do-not-stop-streaming-in-unicam.patch | 28 + ...icam-Fix-reference-counting-in-unica.patch | 38 + ...i2c-tc358743-Fix-fallthrough-warning.patch | 20 + ...835-unicam-Fix-uninitialized-warning.patch | 21 + ...8_fb-Disable-FB-if-no-displays-found.patch | 34 + ...a-i2c-Add-IMX477-CMOS-sensor-binding.patch | 130 + ...835-unicam-Always-service-interrupts.patch | 51 + ...6is7xx-Fix-for-hardware-flow-control.patch | 70 + ...vices-mmal-vchiq-Update-parameters-l.patch | 28 + ...vices-bcm2835-camera-Request-headers.patch | 30 + ...icam-Retain-packing-information-on-G.patch | 48 + ...251-zswap-Defer-zswap-initialisation.patch | 125 + ...cm2835-Set-base-for-bcm2711-GPIO-to-.patch | 27 + ...chiq_arm-Clean-up-40-bit-DMA-support.patch | 174 + ...icam-change-minimum-number-of-vb2_qu.patch | 28 + ...ble-HDMI-audio-when-vc4-is-used-3640.patch | 33 + ...-t-prevent-IRQ-usage-of-output-GPIOs.patch | 50 + ...mstb-Add-DT-property-to-control-L1SS.patch | 79 + ...125-Using-i2c_transfer-for-ic2-reads.patch | 65 + ...s1125-Refactoring-and-debug-messages.patch | 123 + ...omic-access-to-imager-reconfiguratio.patch | 381 + ...5-Keep-HW-in-sync-after-imager-reset.patch | 181 + ...m2835-audio-Add-missing-MODULE_ALIAS.patch | 30 + ...move-the-downstream-version-of-bcm28.patch | 3175 + ...icam-Driver-for-CCP2-CSI2-camera-int.patch | 3150 + ...icam-Add-support-for-get_mbus_config.patch | 56 + ...icam-Avoid-gcc-warning-over-0-on-end.patch | 27 + ...-set-the-format-before-VIDIOC_SUBDEV.patch | 40 + ...mx290-Add-support-for-74.25MHz-clock.patch | 264 + ...-Correct-range-for-V4L2_CID_GAIN-to-.patch | 26 + ...-Convert-HMAX-setting-into-V4L2_CID_.patch | 159 + ...x290-Add-support-for-V4L2_CID_VBLANK.patch | 141 + ...0-Add-exposure-control-to-the-driver.patch | 93 + ...i2c-imx290-Add-H-and-V-flip-controls.patch | 83 + ...s-media-i2c-Add-mono-version-to-IMX2.patch | 36 + ...-Add-support-for-the-mono-sensor-var.patch | 185 + ...-Switch-set_hmax-to-use-imx290_write.patch | 43 + ...50-bcm2835aux-defer-if-clock-is-zero.patch | 28 + ...l-format-for-MIPI-packed-12bit-luma-.patch | 95 + ...l-format-for-MIPI-packed-14bit-luma-.patch | 104 + ...icam-Add-support-for-12bit-mono-pack.patch | 25 + ...icam-Add-support-for-14bit-mono-sour.patch | 29 + ...icam-Add-support-for-unpacked-14bit-.patch | 42 + ...83-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch | 54 + ...950-0284-media-i2c-add-ov9281-driver.patch | 1218 + ...-fix-mclk-issue-when-probe-multiple-.patch | 60 + ...-add-enum_frame_interval-function-fo.patch | 97 + ...-Fixup-for-recent-kernel-releases-an.patch | 681 + ...-i2c-ov9281-Read-chip-ID-via-2-reads.patch | 42 + ...-Explicitly-set-v-h-blank-on-mode-ch.patch | 46 + ...-Add-support-for-g_selection-to-repo.patch | 156 + ...-Set-the-colorspace-fields-in-the-fo.patch | 31 + ...icam-Reinstate-V4L2_CAP_READWRITE-in.patch | 28 + ...icam-Ensure-type-is-VIDEO_CAPTURE-in.patch | 36 + ...icam-Set-VPU-min-clock-freq-to-250Mh.patch | 127 + ...835-unicam-Update-documentation-with.patch | 38 + ...ov5647-Parse-and-register-properties.patch | 49 + ...950-0297-leds-Add-the-actpwr-trigger.patch | 235 + ...chiq_arm-children-inherit-DMA-config.patch | 36 + ...835-dma-Advertise-the-full-DMA-range.patch | 77 + ...v7-Force-misalignment-of-early-stmia.patch | 60 + ...icam-Select-MEDIA_CONTROLLER-and-VID.patch | 27 + ...ivid-Select-MEDIA_CONTROLLER-and-MED.patch | 32 + ...icam-Drop-WARN-on-uing-direct-cache-.patch | 34 + ...43-Only-allow-supported-pixel-fmts-i.patch | 30 + ...ov9281-Add-support-for-8-bit-readout.patch | 188 + ...835-mmc-uninitialized_var-is-no-more.patch | 20 + ...elist_table-is-now-productlist_table.patch | 20 + ...mplement-a-DMA-pool-for-small-bulk-t.patch | 122 + ...-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch | 23 + ...cec_available-flag-as-always-support.patch | 44 + .../950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch | 124 + ...-vc4-add-iec958-controls-to-vc4_hdmi.patch | 119 + ...move-setup-from-hw_params-to-prepare.patch | 58 + ...enable-HBR-MAI-format-on-HBR-streams.patch | 25 + ...t-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch | 24 + ...ort-for-DRM_FORMAT_P030-to-vc4-plane.patch | 163 + ...ort-for-YUV-color-encodings-and-rang.patch | 139 + ...0-0321-drm-vc4-Add-firmware-kms-mode.patch | 2363 + ...-as-an-acceptable-node-for-dma-range.patch | 27 + ...2c-Add-driver-for-Sony-IMX477-sensor.patch | 2266 + ...-Add-support-for-adaptive-frame-cont.patch | 182 + ...-Return-correct-result-on-sensor-id-.patch | 25 + ...imx477-Parse-and-register-properties.patch | 45 + ...835-unicam-Always-service-interrupts.patch | 51 + ...835-unicam-Fix-uninitialized-warning.patch | 21 + ...icam-Fixup-review-comments-from-Hans.patch | 244 + ...icam-Retain-packing-information-on-G.patch | 48 + ...icam-change-minimum-number-of-vb2_qu.patch | 28 + ...tft-Add-support-for-display-variants.patch | 205 + ...33-rpivid_h265-Fix-width-height-typo.patch | 21 + ...et-bcmgenet-Reset-RBUF-on-first-open.patch | 70 + ...com-char-drivers-back-to-build-files.patch | 30 + ...se-sched_frame-for-periodic-QHs-that.patch | 33 + ...camera-Replace-deprecated-V4L2_PIX_F.patch | 30 + ...04_services-Add-new-vc-sm-cma-driver.patch | 2926 + ...hiq-mmal-Add-support-for-14bit-Bayer.patch | 27 + ...l-vchiq-Add-monochrome-image-formats.patch | 29 + ...iq-Use-vc-sm-cma-to-support-zero-cop.patch | 162 + ...services-Add-a-V4L2-M2M-codec-driver.patch | 3070 + ...-reserve-channel-0-if-legacy-dma-dri.patch | 32 + ...isp-Add-bcm2835-isp-uapi-header-file.patch | 338 + ...vices-ISP-Add-a-more-complex-ISP-pro.patch | 2406 + ...gfs-node-that-dumps-the-current-disp.patch | 70 + .../950-0348-gpio-Add-gpio-fsm-driver.patch | 1182 + ...the-HDMI-registers-into-the-debugfs-.patch | 97 + ...-dts-bcm271x-Use-a53-pmu-drop-RPI364.patch | 67 + ...ion-to-disable-composite-to-vc4-kms-.patch | 36 + ...Correct-link-frequency-to-match-the-.patch | 25 + ...0-0353-dts-Add-CM4-to-arm64-dt-files.patch | 28 + ...-quirks-add-link-TRB-quirk-for-VL805.patch | 61 + ...dy-the-Raspberry-Pi-Makefile-entries.patch | 43 + ...35-audio-Add-disable-headphones-flag.patch | 34 + ...isable-headphone-audio-on-Zeroes-CM4.patch | 42 + ...s-Enable-headphone-audio-in-audremap.patch | 26 + ...pseudo_pallete-to-prevent-crash-on-f.patch | 30 + ...ARM-dts-Expand-PCIe-space-on-BCM2711.patch | 30 + ...nimise-header-and-fix-build-warnings.patch | 887 + ...50-0363-gpio-fsm-Fix-a-build-warning.patch | 22 + ...-0364-rpivid_h625-Fix-build-warnings.patch | 68 + ...-0365-bcm2708_fb-Fix-a-build-warning.patch | 22 + .../950-0366-PiFi-40-Devicetree-files.patch | 91 + ...-PiFi-40-driver-Makefile-and-Kconfig.patch | 332 + ...35-pcm-Fix-up-multichannel-pcm-audio.patch | 55 + ...-Ignore-params-after-the-partition-n.patch | 29 + ...rypi-Add-support-for-tryonce-reboot-.patch | 72 + ...it-out-the-BCM54213PE-from-the-BCM54.patch | 71 + ...roadcom-Add-bcm54213pe-configuration.patch | 34 + ...MAX31856-support-to-maxtherm-overlay.patch | 102 + ...0374-ARM-dts-Add-bcm2711-rpi-400.dts.patch | 657 + ...ecate-and-delete-the-sdtweak-overlay.patch | 112 + ...7xx-Remove-enable_headphones-setting.patch | 110 + ...dmi-Report-that-3d-stereo-is-allowed.patch | 20 + ...tb-Restore-initial-fundamental-reset.patch | 35 + ...nused-infoframe-packet-RAM-registers.patch | 45 + ...-Poll-the-device-if-no-interrupt-is-.patch | 98 + ...n-overlay-for-the-EDT-FT5406-touchsc.patch | 96 + ...rrypi-touchscreen-Use-independent-I2.patch | 58 + ...rrypi-ts-Insert-delay-before-polling.patch | 26 + ...upport-for-RaspberryPi-7-panel-over-.patch | 100 + .../950-0385-mcp251xfd-add-overlay.patch | 283 + ...v9281-Add-1280x720-and-640x480-modes.patch | 209 + ...ings-Add-compatible-for-BCM2711-DSI1.patch | 23 + ...e-compatible-string-for-BCM2711-DSI1.patch | 23 + ...-vc4-Correct-DSI-register-definition.patch | 34 + .../950-0390-Allo-boss2-driver.patch | 1185 + .../950-0391-Add-allo-boss2-overlay.patch | 98 + ...llo-Piano-Plus-dac-driver-for-5.4.y-.patch | 30 + ...icam-Correctly-handle-error-propagat.patch | 27 + ...icam-Return-early-from-stop_streamin.patch | 64 + ...icam-Clear-clock-state-when-stopping.patch | 25 + ...-PCI-brcmstb-Advertise-MSI-X-support.patch | 27 + ...dts-CM4-audio-pins-are-not-connected.patch | 21 + ...dd-PCF85063-and-PCF85063A-to-i2c-rtc.patch | 339 + ...ys-Fix-cut-and-paste-error-in-README.patch | 24 + ...codec-Ensure-OUTPUT-timestamps-are-a.patch | 53 + ...-Ack-pending-PHY-ints-when-resetting.patch | 32 + ...-overlays-mpu6050-Add-addr-parameter.patch | 36 + ...malize_zpos-conditional-on-using-fkm.patch | 29 + ...missing-addresses-to-ads1015-ads1115.patch | 41 + ...2c-imx477-Selection-compliance-fixes.patch | 80 + ...vices-codec-Add-support-for-CID-MPEG.patch | 64 + ...vices-codec-Clear-last-buf-dequeued-.patch | 37 + ...the-full-state-to-CRTC-atomic-enable.patch | 1183 + ...-the-full-state-to-CRTC-atomic_check.patch | 1027 + ...the-full-state-to-CRTC-atomic-begin-.patch | 1024 + ...n-the-HVS-atomic-hooks-to-the-new-AP.patch | 109 + ...ss-the-atomic-state-to-encoder-hooks.patch | 161 + ...hdmi-Create-a-custom-connector-state.patch | 88 + ...re-pixel-frequency-in-the-connector-.patch | 97 + ...-the-connector-state-pixel-rate-for-.patch | 102 + ...drm-vc4-hdmi-Enable-10-12-bpc-output.patch | 203 + ...18-drm-vc4-Fixup-fkms-for-API-change.patch | 50 + ...Rebuild-upstream-with-latest-ovmerge.patch | 291 + ...for-Seeed-Studio-CAN-BUS-FD-HAT-4034.patch | 217 + ...-0421-vc-sm-cma-fixed-kbuild-problem.patch | 30 + ...vices-codec-Fix-logical-precedence-i.patch | 36 + ...vices-Add-additional-unpacked-raw-fo.patch | 51 + ...codec-Add-the-unpacked-16bpp-raw-for.patch | 167 + ...codec-Log-the-number-of-excess-suppo.patch | 43 + ...isp-Add-the-unpacked-16bpp-raw-forma.patch | 174 + ...isp-Log-the-number-of-excess-support.patch | 29 + ...bcm2835-dma-Add-DMA_WIDE_SOURCE-and-.patch | 64 + ...ma-Move-WAIT_RESP-from-extra-to-info.patch | 25 + ...void-losing-CS-flags-after-interrupt.patch | 21 + ...DE_SOURCE-and-DMA_WIDE_DEST-for-hdmi.patch | 43 + ...-Bump-hdmi-audio-dma-panic-priority-.patch | 33 + ...2c-ov5647-Selection-compliance-fixes.patch | 88 + ...eed-Studio-CAN-BUS-FD-HAT-a-v2-postf.patch | 286 + ...rlay-for-Seeed-Studio-CAN-BUS-FD-HAT.patch | 192 + ...verlays-add-wm8960-soundcard-overlay.patch | 129 + ...dd-spi-override-to-merus-amp-overlay.patch | 44 + ...regulator-node-to-all-downstream-Pi-.patch | 328 + ...e-sensor-overlays-to-use-cam1_reg-wh.patch | 243 + ...an-fd-hat-clarify-how-to-identify-HA.patch | 45 + ...erlays-Make-the-i2c-gpio-overlay-saf.patch | 26 + ...verlays-Fix-dtc-warnings-in-i2c-gpio.patch | 28 + ...isp-Add-colour-denoise-configuration.patch | 56 + ...vices-ISP-Add-colour-denoise-control.patch | 75 + ...s-nvmem-Add-bindings-for-rmem-driver.patch | 75 + ...r-to-expose-reserved-memory-as-nvmem.patch | 164 + ...Add-reserved-memory-template-to-hold.patch | 60 + ...around-fix-for-zero-length-transfers.patch | 50 + ...nce-unavoidable-dtc-overlay-warnings.patch | 31 + ...overlays-to-support-Hifiberry-AMP100.patch | 132 + ...iberry-DAC-driver-for-Hifiberry-AMP1.patch | 238 + ...are-Pi400-and-CM4-have-no-audio-pins.patch | 41 + ...-Replace-V4L2_CID_GAIN-with-V4L2_CID.patch | 38 + ...-Fix-number-of-controls-in-v4l2_ctrl.patch | 28 + ...cm-Select-BRCMSTB_L2_IRQ-for-bcm2835.patch | 37 + ...ate-the-CEC-clock-divider-on-HSM-rat.patch | 31 + ...7-drm-vc4-hdmi-Introduce-a-CEC-clock.patch | 60 + ...c4-hdmi-Split-the-interrupt-handlers.patch | 141 + ...-Support-BCM2711-CEC-interrupt-setup.patch | 116 + ...-t-register-the-CEC-adapter-if-there.patch | 37 + ...ay-bcm2711-hdmi-Add-CEC-and-hotplug-.patch | 51 + ...711-Add-the-CEC-interrupt-controller.patch | 58 + ...bsc_intr-and-aon_intr-by-default-and.patch | 38 + ...464-bcm2711-Remove-old-GIC-interrupt.patch | 30 + ...camera-Fix-the-cherry-pick-of-AWB-Gr.patch | 28 + .../950-0466-Overlays-for-PiFi-Mini-amp.patch | 83 + ...-PiFi-Mini-to-rpi-simple-soundcard.c.patch | 144 + ...w-formats-with-different-colour-spac.patch | 712 + ...C-Pro-fix-for-the-PLL-when-changing-.patch | 56 + ...picture-line-bug-in-all-ov9281-modes.patch | 38 + ...d-hflip-and-vflip-controls-to-ov9281.patch | 112 + ...name-num-soft-gpios-to-avoid-warning.patch | 32 + ...ame-gpio-fsm-property-num-soft-gpios.patch | 38 + ...static-metadata-type-field-numbering.patch | 31 + ...metadata-property-to-the-VC5-HDMI-co.patch | 99 + ...ector-check-to-trigger-mode_change-w.patch | 67 + ...pivid-Fix-crash-when-CMA-alloc-fails.patch | 118 + ...r-dpi-without-DE-and-PCLK-for-VGA666.patch | 30 + ...n-overlay-for-the-VGA666-when-used-w.patch | 153 + ...he-default-DPI-format-to-being-18bpp.patch | 34 + ...how-state-info-in-sys-class-gpio-fsm.patch | 184 + ...io-fsm-Fix-shutdown-timeout-handling.patch | 26 + ...-demo-Ensure-all-LEDs-are-turned-off.patch | 26 + ...7-Remove-auto-frame-length-adjusting.patch | 142 + ...-Add-very-long-exposure-control-to-t.patch | 126 + ...-Fix-up-exposure-calcuations-and-ran.patch | 59 + ...-Handle-exposure-correctly-when-vbla.patch | 42 + .../950-0488-DAC-overlays-4154.patch | 153 + ...7-Fix-crop-height-for-2028x1080-mode.patch | 25 + ...mx477-Replace-existing-1012x760-mode.patch | 197 + ...-Remove-internal-v4l2_mbus_framefmt-.patch | 70 + ...477-Remove-unused-function-parameter.patch | 34 + ...erlays-i2c-rtc-Add-the-Dallas-DS1340.patch | 63 + ...overlays-Update-the-upstream-overlay.patch | 25 + ...-Always-request-for-user-confirmatio.patch | 45 + ...-Always-request-for-user-confirmatio.patch | 43 + ...icam-Fix-bug-in-buffer-swapping-logi.patch | 75 + ...iases-to-different-AES-implementatio.patch | 105 + ...prove-the-i2c-rtc-i2c_csi_dsi-option.patch | 50 + ...n-buffered-mode-run-jobs-if-either-p.patch | 33 + ...codec-Correct-logging-of-size_t-to-z.patch | 34 + ...codec-Add-support-for-pixel-aspect-r.patch | 82 + ...codec-Implement-additional-g_selecti.patch | 35 + ...aging-bcm2835-codec-Add-VC-1-support.patch | 29 + ...-hdmi-audio-axi-priority-to-avoid-lo.patch | 36 + ...0-0507-overlays-gpio-led-new-overlay.patch | 191 + ...-overlays-Add-pcie-32bit-dma-overlay.patch | 86 + ...2711-Add-aliases-for-additional-SPIs.patch | 55 + ...-fan-less-noisy-in-cool-environments.patch | 24 + ...-source-offsets-with-DRM_FORMAT_P030.patch | 71 + ...-raspberrypi-Also-support-HEVC-clock.patch | 20 + ...-clock-from-fixed-to-firmware-driver.patch | 37 + ...15-rpivid-Request-maximum-hevc-clock.patch | 51 + ...m2835-camera-Add-support-for-DMABUFs.patch | 37 + ...taging-fbtft-Add-minipitft13-variant.patch | 105 + ...518-overlays-Add-minipitft13-overlay.patch | 100 + ...0519-overlays-ghost-amp-Minor-tweaks.patch | 71 + ...ays-Add-README-entry-for-minipitft13.patch | 30 + ...s-update-bcm2711-rpi-cm4.dts-and-400.patch | 205 + ...ix-source-offsets-with-DRM_FORMAT_P0.patch | 30 + ...ix-clang-Wignored-attributes-warning.patch | 36 + ...ang-Wsometimes-uninitialized-warning.patch | 21 + ...ang-Wpointer-bool-conversion-warning.patch | 24 + ...50-0526-Update-Allo-Piano-Dac-Driver.patch | 277 + ...eate-a-helper-to-attach-the-hdr_outp.patch | 99 + ...r-Add-helper-to-compare-HDR-metadata.patch | 168 + ...950-0529-drm-vc4-Use-the-new-helpers.patch | 62 + ...d-a-helper-to-attach-the-colorspace-.patch | 66 + ...nal-the-proper-colorimetry-info-in-t.patch | 50 + ...-Fix-memory-leak-from-not-detaching-.patch | 77 + ...e-Support-2020-colourspace-for-yuv-p.patch | 105 + ...vice-quirks-for-A4Tech-FHD-1080p-web.patch | 45 + ...sb_autopm_get_interface-for-devices-.patch | 33 + ...rlays-ghost-amp-Add-DAC-mute-control.patch | 86 + ...37-clk-Introduce-a-clock-request-API.patch | 284 + ...Convert-to-the-new-clock-request-API.patch | 79 + ...Convert-to-the-new-clock-request-API.patch | 42 + ...m2835-unicam-Switch-to-new-clock-api.patch | 53 + ...-0541-rpivid-Switch-to-new-clock-api.patch | 54 + ...ovide-missing-documentation-for-some.patch | 72 + ...x-a-couple-of-spelling-errors-in-fw_.patch | 34 + ...153_ecm-support-ECM-mode-for-RTL8153.patch | 320 + ...45-net-usb-r8152-use-new-tasklet-API.patch | 41 + ...veral-functions-about-phy-patch-requ.patch | 198 + ...t-the-flow-of-power-cut-for-RTL8153B.patch | 134 + ...152-enable-U1-U2-for-USB_SPEED_SUPER.patch | 47 + ...f-the-pointer-of-the-function-exists.patch | 51 + ...r8152-replace-netif_err-with-dev_err.patch | 36 + ...rtl_set_eee_plus-and-r8153b_green_en.patch | 89 + ...ter-fram-gap-time-depending-on-speed.patch | 75 + ...just-rtl8152_check_firmware-function.patch | 152 + ...8152-add-help-function-to-change-mtu.patch | 157 + .../950-0555-r8152-support-new-chips.patch | 2886 + ...port-PHY-firmware-for-RTL8156-series.patch | 691 + ...rch-the-configuration-of-vendor-mode.patch | 79 + ...58-rpivid-Only-clk_request_done-once.patch | 26 + ...9-dwc_otg-fix-an-undeclared-variable.patch | 24 + ...563-drm-vc4-dsi-Add-support-for-DSI0.patch | 44 + ...i-Add-configuration-for-BCM2711-DSI1.patch | 53 + ...-fixup-modes-that-haven-t-been-reset.patch | 24 + ...070me05000-Use-gpiod_set_value_cansl.patch | 67 + ...verlays-for-JDI-LT070ME05000-1200x19.patch | 216 + ...quests-Ignore-if-the-pointer-is-null.patch | 22 + ...-drm-vc4-hvs-Make-the-HVS-bind-first.patch | 41 + ...-Properly-compute-the-BVB-clock-rate.patch | 55 + ...75-drm-vc4-hdmi-Enable-the-scrambler.patch | 142 + ...i-Handle-case-when-bvb-clock-is-null.patch | 45 + ...erlays-spi-rtc-Add-ds3232-and-ds3234.patch | 125 + ...address-for-BCM2711-in-the-devicetre.patch | 72 + ...vc4-Separate-VEC-compatible-variants.patch | 106 + ...eference-the-request-pointer-after-t.patch | 30 + ...codec-Fix-support-for-levels-4.1-and.patch | 36 + ...codec-Set-the-colourspace-appropriat.patch | 83 + ...cm2835-codec-Pass-corrupt-frame-flag.patch | 42 + ...camera-Add-support-for-H264-levels-4.patch | 58 + ...codec-Do-not-update-crop-from-S_FMT-.patch | 36 + ...ing-bcm2835-isp-Fix-compiler-warning.patch | 25 + ...low-multiple-gpio-shutdown-instances.patch | 42 + ...ADME-improve-the-gpio-poweroff-guide.patch | 30 + ...0-SQUASH-overlays-Fix-typo-in-README.patch | 21 + ...ff-Remember-the-old-poweroff-handler.patch | 53 + ...overlays-Add-ugreen-dabboard-overlay.patch | 101 + ...m2711-rpi-400-Limit-MDIO-clock-speed.patch | 23 + ...-bcm2835-Increase-the-CS-limit-to-24.patch | 38 + ...96-clk-Always-clamp-the-rounded-rate.patch | 28 + ...ss-the-drm_atomic_state-to-config_pv.patch | 46 + ...-crtc-Fix-vc4_get_crtc_encoder-logic.patch | 83 + ...kup-the-encoder-from-the-register-at.patch | 104 + ...mplify-the-connector-state-retrieval.patch | 52 + ...Rely-on-interrupts-to-handle-hotplug.patch | 78 + ...mi-Add-a-workqueue-to-set-scrambling.patch | 91 + ...vc4-drm-hdmi-Fix-missing-declaration.patch | 21 + ...erlays-merus-amp-remove-spi-override.patch | 27 + ...2c-ov5647-Correct-pixel-array-offset.patch | 25 + ...-ov5647-Correct-minimum-VBLANK-value.patch | 26 + ...-Fix-v4l2-compliance-failure-subscri.patch | 34 + ...ys-Add-pinctrl-names-to-i2c0-overlay.patch | 25 + ...e-__symbols__-i2c0-from-i2c0-overlay.patch | 31 + ...ove-the-need-to-have-num_entry_point.patch | 980 + ...-0611-media-rpivid-Convert-to-MPLANE.patch | 329 + ...-Add-an-enable-count-to-irq-claim-Qs.patch | 234 + ...dia-Add-media_request_-pin-unpin-API.patch | 94 + ...-a-Pass0-to-accumulate-slices-and-re.patch | 1049 + ...media-rpivid-Map-cmd-buffer-directly.patch | 160 + ...rove-values-returned-when-setting-ou.patch | 216 + ...rove-stream_on-off-conformance-clock.patch | 260 + ...rove-SPS-PPS-error-handling-validati.patch | 256 + ...ensirion-sgp30-to-i2c-sensor-overlay.patch | 54 + ...s-Remove-deleted-merus-amp-parameter.patch | 23 + ...bh1750-and-ccs811-to-i2c-sensor-4334.patch | 96 + ...622-Add-Raspberry-Pi-PoE-HAT-support.patch | 394 + ...23-overlays-Add-rpi-poe-plus-overlay.patch | 75 + ...nge-of-Broadcast-RGB-mode-needs-a-mo.patch | 62 + ...-ssd1331-spi-support-for-OLED-screen.patch | 129 + ...-clock-detection-problem-of-the-PRO-.patch | 38 + ...mpressed-frames-to-set-sizeimage-438.patch | 47 + ...-Fix-for-long-exposure-limit-calcula.patch | 26 + ...st-amp-Change-early-disable-sequence.patch | 43 + ...vc4-Make-vc4_crtc_get_encoder-public.patch | 45 + ...codec-Support-IEC958-encoded-PCM-for.patch | 53 + ...odec-Rework-to-support-more-controls.patch | 76 + ...ec958-split-status-creation-and-fill.patch | 209 + ...-ASoC-hdmi-codec-Add-iec958-controls.patch | 113 + ...5-ASoC-hdmi-codec-Add-a-prepare-hook.patch | 202 + ...950-0636-drm-vc4-Register-HDMI-codec.patch | 492 + ...-vc4-hdmi-Remove-redundant-variables.patch | 111 + ...1-Tune-DMA-parameters-for-HDMI-audio.patch | 35 + ...oup-Disable-cgroup-memory-by-default.patch | 85 + ...90-Support-60fps-in-2-lane-operation.patch | 309 + ...90-Fix-the-pixel-rate-at-148.5Mpix-s.patch | 49 + ...-Fix-clock-setup-register-assignment.patch | 49 + ...-encoder-to-vc4_crtc_config_pv-proto.patch | 43 + ...ork-the-encoder-retrieval-code-again.patch | 96 + ...0-0645-drm-vc4-crtc-Add-some-logging.patch | 38 + ...rage-the-load-tracker-on-the-BCM2711.patch | 121 + ...on-t-create-hvs_load_tracker-on-fkms.patch | 23 + ...-H265-aux-ent-reuse-of-the-same-slot.patch | 151 + ...-interface-in-mode6-for-18-bit-color.patch | 214 + ...-dpi18cpadhi-vc4-kms-dpi-at056tn53v1.patch | 163 + ...x-pixel-wrap-issue-with-DVP-teardown.patch | 62 + ...v9281-Remove-override-of-subdev-name.patch | 28 + ...-a-fixed-rate-for-the-HSM-clock-on-B.patch | 140 + ...Enable-the-scrambler-on-reconnection.patch | 54 + ...vices-isp-Set-the-YUV420-YVU420-form.patch | 39 + ...vicetree-Add-documentation-for-imx37.patch | 142 + ...erlays-Add-overlay-for-imx378-sensor.patch | 288 + ...-Extend-driver-to-support-imx378-sen.patch | 190 + ...-i2c-rtc-and-i2c-rtc-gpio-share-RTCs.patch | 918 + ...k-raspberrypi-Remove-unused-property.patch | 40 + ...play-vc4-Add-phandle-to-the-firmware.patch | 31 + ...rypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch | 25 + ...onflicting-framebuffers-before-calli.patch | 35 + ...y-the-firmware-when-DRM-is-in-charge.patch | 54 + ...dts-rpi-Add-the-firmware-node-to-vc4.patch | 40 + ...-the-device-on-error-in-pre_crtc_con.patch | 65 + ...it-the-CEC-disable-enable-functions-.patch | 109 + ...-missing-clk_disable_unprepare-on-er.patch | 28 + ...n-if-we-access-the-controller-while-.patch | 47 + ...ify-firmware-of-display-done-with-km.patch | 43 + ...g-Update-NetBSD-usb.h-header-licence.patch | 33 + ...p-devm-interrupt-handler-for-CEC-int.patch | 95 + ...p-devm-interrupt-handler-for-hotplug.patch | 111 + ...y-call-into-DRM-framework-if-registe.patch | 35 + ...icam-Forward-input-status-from-subde.patch | 53 + ...d-overlay-for-Chipdip-I2S-master-DAC.patch | 94 + ...duce-an-atomic_commit_setup-function.patch | 95 + ...-after-free-gotcha-with-private-obje.patch | 44 + ...mplify-a-bit-the-global-atomic_check.patch | 44 + ...-t-poll-for-the-infoframes-status-on.patch | 63 + ...n-the-HVS-atomic-hooks-to-the-new-AP.patch | 87 + ...ate-pointer-directly-in-atomic_check.patch | 136 + ...nnecessary-drm_plane_cleanup-wrapper.patch | 39 + ...c4-plane-Remove-redundant-assignment.patch | 26 + ...9-drm-automatic-legacy-gamma-support.patch | 458 + ...l-state-to-connectors-atomic-functio.patch | 371 + ...c4-replace-idr_init-by-idr_init_base.patch | 32 + ..._regs-Mark-some-data-sets-as-__maybe.patch | 59 + ...drm-vc4-remove-unneeded-variable-ret.patch | 35 + ...rlay-for-cap1106-capacitive-touch-se.patch | 94 + ...x-margin-calculations-for-the-right-.patch | 38 + ...cm2711-fold-in-the-correct-interrupt.patch | 33 + ...d-overlay-for-Si446x-Transceiver-SPI.patch | 100 + ...drm-vc4-Refactor-VEC-TV-mode-setting.patch | 167 + ...drm-vc4-Fix-definition-of-PAL-M-mode.patch | 77 + ...support-for-more-analog-TV-standards.patch | 148 + ...tting-the-TV-norm-via-module-paramet.patch | 144 + ...drm-vc4-Refactor-mode-checking-logic.patch | 85 + ...-Fix-typo-when-getting-firmware-node.patch | 21 + ...ts-bcm2711-Tidy-the-HDMI-I2C-aliases.patch | 110 + ...477-Fix-framerates-for-1332x990-mode.patch | 25 + ...0708-drm-uapi-Add-USB-connector-type.patch | 49 + ...-0709-drm-Add-GUD-USB-Display-driver.patch | 2676 + .../950-0710-drm-gud-fix-sizeof-use.patch | 38 + ...11-drm-gud-Remove-unneeded-semicolon.patch | 73 + ...2-drm-gud-cleanup-coding-style-a-bit.patch | 41 + ...m-gud-Free-buffers-on-device-removal.patch | 60 + ...Use-scatter-gather-USB-bulk-transfer.patch | 204 + ...715-drm-gud-Add-Raspberry-Pi-Pico-ID.patch | 31 + ...gud-Add-async_flush-module-parameter.patch | 55 + ...e-sure-the-controller-is-powered-up-.patch | 65 + ...ays-Set-CMA-to-512MB-on-Pi-4-for-vc4.patch | 151 + ...ARM-dts-Correct-CM4-PHY-MDIO-address.patch | 29 + ...ase-the-core-clock-based-on-HVS-load.patch | 249 + ...-the-core-clock-to-a-minimum-of-500M.patch | 40 + ...te-and-rename-chipdip-i2s-master-dac.patch | 148 + ...0723-ASoC-bcm-Add-chipdip-dac-driver.patch | 325 + ...50-0724-char-vc_mem-Delete-dead-code.patch | 24 + ...dd-Ablic-S35390A-to-i2c-rtc-and-gpio.patch | 73 + ...rientation-and-rotation-parameter-to.patch | 210 + ...mx290-Add-fwnode-properties-controls.patch | 48 + ...v9281-Add-fwnode-properties-controls.patch | 56 + ...v7251-Add-fwnode-properties-controls.patch | 48 + ...ys-Reduce-Pi-4-vc4-CMA-size-to-320MB.patch | 42 + ...Update-display-GPIO-declarations-for.patch | 24 + ...rlays-Add-midi-uart-2345-overlay.dts.patch | 234 + ...und-for-bogus-SET_DEQ_PENDING-endpoi.patch | 41 + ...-overlays-Add-TI-BQ32000-RTC-support.patch | 102 + ...36-ARM-dts-Adapt-to-upstream-changes.patch | 304 + ...-poe-plus-Improve-the-cooling-levels.patch | 29 + ...efiles-dt-Always-set-on-ARCH_BCM2835.patch | 35 + .../960-hwrng-iproc-set-quality-to-1000.patch | 25 + target/linux/bcm47xx/Makefile | 24 + .../bcm47xx/base-files/etc/board.d/01_network | 211 + target/linux/bcm47xx/base-files/etc/diag.sh | 33 + .../bcm47xx/base-files/etc/init.d/wmacfixup | 33 + .../etc/uci-defaults/03_network_migration | 28 + .../base-files/etc/uci-defaults/09_fix_crc | 5 + .../bcm47xx/base-files/lib/preinit/01_sysinfo | 14 + .../base-files/lib/upgrade/platform.sh | 248 + target/linux/bcm47xx/config-5.10 | 212 + .../generic/profiles/100-Broadcom-b43.mk | 17 + .../generic/profiles/101-Broadcom-wl.mk | 17 + .../generic/profiles/104-Broadcom-ath5k.mk | 16 + .../generic/profiles/105-Broadcom-none.mk | 15 + .../generic/profiles/200-Broadcom-b44-b43.mk | 17 + .../generic/profiles/201-Broadcom-b44-wl.mk | 17 + .../profiles/204-Broadcom-b44-ath5k.mk | 16 + .../generic/profiles/205-Broadcom-b44-none.mk | 15 + .../generic/profiles/210-Broadcom-tg3-b43.mk | 17 + .../generic/profiles/211-Broadcom-tg3-wl.mk | 17 + .../generic/profiles/215-Broadcom-tg3-none.mk | 15 + .../profiles/220-Broadcom-bgmac-b43.mk | 17 + .../generic/profiles/221-Broadcom-bgmac-wl.mk | 17 + .../profiles/225-Broadcom-bgmac-none.mk | 15 + .../profiles/226-Broadcom-bgmac-brcsmac.mk | 17 + .../bcm47xx/generic/profiles/PS-1208MFG.mk | 15 + target/linux/bcm47xx/generic/target.mk | 9 + target/linux/bcm47xx/image/Makefile | 221 + target/linux/bcm47xx/image/generic.mk | 73 + target/linux/bcm47xx/image/legacy.mk | 292 + .../linux/bcm47xx/image/lzma-loader/Makefile | 33 + .../image/lzma-loader/src/LzmaDecode.c | 663 + .../image/lzma-loader/src/LzmaDecode.h | 100 + .../bcm47xx/image/lzma-loader/src/Makefile | 78 + .../bcm47xx/image/lzma-loader/src/README | 55 + .../image/lzma-loader/src/decompress.c | 186 + .../image/lzma-loader/src/decompress.lds.in | 20 + .../bcm47xx/image/lzma-loader/src/head.S | 161 + .../image/lzma-loader/src/loader.lds.in | 17 + target/linux/bcm47xx/image/mips74k.mk | 497 + target/linux/bcm47xx/legacy/config-default | 8 + .../legacy/profiles/100-Broadcom-b43.mk | 17 + .../legacy/profiles/101-Broadcom-wl.mk | 17 + target/linux/bcm47xx/legacy/target.mk | 10 + target/linux/bcm47xx/mips74k/config-default | 20 + .../mips74k/profiles/100-Broadcom-b43.mk | 16 + .../mips74k/profiles/101-Broadcom-brcsmac.mk | 16 + .../mips74k/profiles/102-Broadcom-wl.mk | 16 + .../mips74k/profiles/103-Broadcom-none.mk | 15 + target/linux/bcm47xx/mips74k/target.mk | 9 + target/linux/bcm47xx/modules.mk | 21 + .../bcm47xx/patches-5.10/159-cpu_fixes.patch | 493 + .../patches-5.10/160-kmap_coherent.patch | 78 + .../209-b44-register-adm-switch.patch | 121 + .../patches-5.10/210-b44_phy_fix.patch | 54 + .../280-activate_ssb_support_in_usb.patch | 25 + .../patches-5.10/300-fork_cacheflush.patch | 21 + .../patches-5.10/310-no_highpage.patch | 74 + ...47XX-Devices-database-update-for-4.x.patch | 185 + .../400-mtd-bcm47xxpart-get-nvram.patch | 34 + .../patches-5.10/610-pci_ide_fix.patch | 41 + ...t-to-PHY-even-if-it-is-BGMAC_PHY_NOR.patch | 42 + .../patches-5.10/791-tg3-no-pci-sleep.patch | 17 + ...f-serial-flashes-with-smaller-blocks.patch | 73 + .../patches-5.10/820-wgt634u-nvram-fix.patch | 296 + .../830-huawei_e970_support.patch | 101 + .../patches-5.10/831-old_gpio_wdt.patch | 360 + ...rites-setting-CardBus-bridge-resourc.patch | 30 + .../patches-5.10/940-bcm47xx-yenta.patch | 46 + .../976-ssb_increase_pci_delay.patch | 11 + .../bcm47xx/patches-5.10/999-wl_exports.patch | 24 + target/linux/bcm4908/Makefile | 28 + .../bcm4908/base-files/etc/board.d/02_network | 25 + .../bcm4908/base-files/etc/init.d/fastnetwork | 46 + .../etc/uci-defaults/05_packet_steering | 3 + .../base-files/lib/functions/bcm4908.sh | 73 + .../base-files/lib/preinit/75_rootfs_prepare | 35 + .../base-files/lib/upgrade/platform.sh | 439 + target/linux/bcm4908/config-5.10 | 234 + .../drivers/net/ethernet/broadcom/unimac.h | 68 + target/linux/bcm4908/generic/target.mk | 1 + target/linux/bcm4908/image/Makefile | 138 + .../image/asus_gt-ac5300/rom/etc/image_ident | 2 + .../asus_gt-ac5300/rom/etc/image_version | 1 + target/linux/bcm4908/image/bootfs-bcm4908.its | 48 + target/linux/bcm4908/image/bootfs-bcm4912.its | 65 + target/linux/bcm4908/image/bootfs.itsi | 73 + .../image/netgear_r8000p/etc/image_ident | 4 + .../image/netgear_r8000p/etc/image_version | 1 + target/linux/bcm4908/image/pkgtb-bcm4908.its | 43 + target/linux/bcm4908/image/pkgtb-bcm4912.its | 43 + .../tplink_archer-c2300-v1/etc/image_version | 1 + .../image/tplink_archer-c2300-v1/nvram.nvm | Bin 0 -> 8691 bytes ...gs-arm-bcm-document-BCM4908-bindings.patch | 60 + ...om-add-BCM4908-and-Asus-GT-AC5300-ea.patch | 307 + ...add-config-for-Broadcom-BCM4908-SoCs.patch | 44 + ...-bcm-document-Netgear-R8000P-binding.patch | 28 + ...om-bcm4908-add-BCM4906-Netgear-R8000.patch | 104 + ...dcom-bcm4908-use-proper-NAND-binding.patch | 32 + ...om-bcm4908-describe-PCIe-reset-contr.patch | 41 + ...com-bcm4908-describe-internal-switch.patch | 184 + ...-broadcom-bcm4908-describe-PMB-block.patch | 50 + ...ts-broadcom-bcm4908-describe-USB-PHY.patch | 134 + ...om-bcm4908-describe-Ethernet-control.patch | 51 + ...om-bcm4908-describe-Netgear-R8000P-s.patch | 50 + ...om-bcm4908-add-remaining-Netgear-R80.patch | 81 + ...om-bcm4908-describe-firmware-partiti.patch | 55 + ...om-bcm4908-fix-switch-parent-node-na.patch | 30 + ...bcm-document-TP-Link-Archer-C2300-bi.patch | 27 + ...om-bcm4908-add-TP-Link-Archer-C2300-.patch | 212 + ...om-bcm4908-set-Asus-GT-AC5300-port-7.patch | 28 + ...broadcom-bcm4908-add-Ethernet-TX-irq.patch | 30 + ...oadcom-bcm4908-add-Ethernet-MAC-addr.patch | 82 + ...RM-dts-BCM5301X-Fix-NAND-nodes-names.patch | 25 + ...-broadcom-bcm4908-Fix-NAND-node-name.patch | 27 + ...om-bcm4908-Move-reboot-syscon-out-of.patch | 38 + ...broadcom-bcm4908-Fix-UART-clock-name.patch | 28 + ...bcm-document-Netgear-RAXE500-binding.patch | 27 + ...om-bcm4908-add-DT-for-Netgear-RAXE50.patch | 81 + ...adcom-bcm4908-use-proper-TWD-binding.patch | 47 + ...broadcom-bcm4908-add-pinctrl-binding.patch | 160 + ...-broadcom-bcm4908-add-watchdog-block.patch | 35 + ...4-dts-broadcom-bcm4908-add-I2C-block.patch | 34 + ...dd-DTS-files-for-bcmbca-SoC-BCM63158.patch | 199 + ...Add-DTS-files-for-bcmbca-SoC-BCM4912.patch | 191 + ...Add-DTS-files-for-bcmbca-SoC-BCM6858.patch | 184 + ...dd-DTS-files-for-bcmbca-SoC-BCM63146.patch | 174 + ...Add-DTS-files-for-bcmbca-SoC-BCM6856.patch | 167 + ...Add-DTS-files-for-bcmbca-SoC-BCM6813.patch | 192 + ...om-align-gpio-key-node-names-with-dt.patch | 79 + ...om-bcm4908-Fix-timer-node-for-BCM490.patch | 33 + ...om-bcm4908-Fix-cpu-node-for-smp-boot.patch | 28 + ...se-DTS-file-for-bcmbca-device-Asus-G.patch | 54 + ...bcmbca-add-arch-bcmbca-machine-entry.patch | 31 + ...adcom-bcm4908-add-remaining-LED-pins.patch | 115 + ...om-bcm4908-add-LEDs-controller-block.patch | 35 + ...dcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch | 81 + ...cmbca-update-BCM4908-board-dts-files.patch | 66 + ...ts-Move-BCM4908-dts-to-bcmbca-folder.patch | 2491 + ...64-dts-Add-BCM4908-generic-board-dts.patch | 62 + ...om-bcmbca-bcm4908-add-TWD-block-time.patch | 31 + ...roadcom-bcmbca-bcm6858-add-TWD-block.patch | 46 + ...Update-cache-properties-for-broadcom.patch | 134 + ...parsers-add-Broadcom-s-U-Boot-parser.patch | 137 + ...adcom-bcmbca-Add-spi-controller-node.patch | 367 + ...om-bcmbca-bcm4908-fix-NAND-interrupt.patch | 33 + ...com-bcmbca-bcm4908-fix-LED-nodenames.patch | 66 + ...om-bcmbca-bcm4908-fix-procmon-nodena.patch | 30 + ...om-bcmbca-bcm4908-add-on-SoC-USB-por.patch | 81 + ...om-bcmbca-bcm4908-add-Netgear-R8000P.patch | 38 + ...om-bcmbca-bcm4908-add-TP-Link-C2300-.patch | 41 + ...-support-BCM4908-s-integrated-switch.patch | 141 + ...-use-2-Gbps-IMP-port-link-on-BCM4908.patch | 33 + ...document-BCM4908-Ethernet-controller.patch | 65 + ...4908enet-add-BCM4908-controller-driv.patch | 847 + ...-net-rename-BCM4908-Ethernet-binding.patch | 128 + ...bcm4908-enet-include-ethernet-contro.patch | 32 + ...ame-BCM4908-driver-update-DT-binding.patch | 1614 + ...om-bcm4908_enet-drop-unneeded-memset.patch | 30 + ...4908_enet-drop-inline-from-C-functio.patch | 75 + ...roadcom-bcm4908_enet-fix-minor-typos.patch | 60 + ...bcm4908_enet-fix-received-skb-length.patch | 28 + ...4908_enet-fix-endianness-in-xmit-cod.patch | 28 + ...4908_enet-set-MTU-on-open-on-request.patch | 119 + ...4908_enet-fix-RX-path-possible-mem-l.patch | 30 + ...4908_enet-fix-NAPI-poll-returned-val.patch | 31 + ...4908_enet-enable-RX-after-processing.patch | 34 + ...4908_ENET-should-not-default-to-y-un.patch | 33 + ...oadcom-bcm4908_enet-read-MAC-from-OF.patch | 38 + ...bcm4908-enet-add-optional-TX-interru.patch | 50 + ...om-bcm4908_enet-support-TX-interrupt.patch | 300 + ...store-PHY-interface-mode-in-port-str.patch | 73 + ..._sf2-setup-BCM4908-internal-crossbar.patch | 152 + ...-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch | 25 + ...-add-function-finding-RGMII-register.patch | 161 + ...-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch | 56 + ...Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch | 46 + ...dsa-bcm_sf2-refactor-LED-regs-access.patch | 209 + ...4908_enet-reset-DMA-rings-sw-indexes.patch | 45 + ...4908enet-remove-redundant-variable-b.patch | 34 + ...4908_enet-handle-EPROBE_DEFER-when-g.patch | 55 + ...4908_enet-update-TX-stats-after-actu.patch | 65 + ...-broadcom-bcm4908_enet-use-build_skb.patch | 152 + ...4908_enet-report-queued-and-transmit.patch | 45 + ...al-bcm63xx-lower-driver-dependencies.patch | 31 + ...-BCM4908-MISC-PCIe-reset-controller-.patch | 40 + ...ower-document-Broadcom-s-PMB-binding.patch | 90 + ...bcm-add-PM-driver-for-Broadcom-s-PMB.patch | 409 + ...b-add-stubs-for-getting-platform-IDs.patch | 63 + ...ctrl-Add-binding-for-BCM4908-pinctrl.patch | 111 + ...rl-bcm-add-driver-for-BCM4908-pinmux.patch | 629 + ...usb-improve-getting-OF-matching-data.patch | 49 + ...-specify-init-function-format-at-str.patch | 50 + ...brcm-brcmstb-usb-phy-convert-to-the-.patch | 315 + ...brcm-brcmstb-usb-phy-add-BCM4908-bin.patch | 41 + ...-brcm-usb-support-PHY-on-the-BCM4908.patch | 48 + ...b-select-SOC_BRCMSTB-on-brcmstb-only.patch | 35 + ...brcm-brcmstb-usb-phy-add-power-domai.patch | 31 + ...c-brcmstb-allow-compiling-on-BCM4908.patch | 30 + ...y-phy-brcm-usb-fixup-BCM4908-support.patch | 147 + ...low-building-BCM7038_WDT-for-BCM4908.patch | 32 + ..._wdt-Support-BCM6345-compatible-stri.patch | 34 + ...om-bcmbca-bcm4908-limit-amount-of-GP.patch | 23 + ...wnand-brcmnand-disable-WP-on-BCM4908.patch | 34 + ...m_sf2-enable-GPHY-for-switch-probing.patch | 46 + ...sf2-keep-GPHY-enabled-on-the-BCM4908.patch | 30 + target/linux/bcm53xx/Makefile | 30 + .../bcm53xx/base-files/etc/board.d/01_leds | 15 + .../bcm53xx/base-files/etc/board.d/02_network | 79 + target/linux/bcm53xx/base-files/etc/diag.sh | 45 + .../bcm53xx/base-files/etc/init.d/fastnetwork | 44 + .../etc/uci-defaults/03_dsa_migrate | 23 + .../etc/uci-defaults/05_packet_steering | 3 + .../base-files/etc/uci-defaults/09_fix_crc | 5 + .../base-files/lib/upgrade/platform.sh | 405 + target/linux/bcm53xx/config-5.10 | 311 + .../arch/arm/boot/compressed/cache-v7-min.S | 81 + target/linux/bcm53xx/generic/target.mk | 1 + target/linux/bcm53xx/image/Makefile | 462 + target/linux/bcm53xx/modules.mk | 52 + ...-Linksys-EA9500-add-port-5-and-port-.patch | 47 + ...1X-Harmonize-EHCI-OHCI-DT-nodes-name.patch | 60 + ...CM5310X-Harmonize-xHCI-DT-nodes-name.patch | 29 + ...-Linksys-EA9500-add-fixed-partitions.patch | 71 + ...-Use-corretc-pinctrl-compatible-for-.patch | 49 + ...X-Linksys-EA9500-make-use-of-pinctrl.patch | 61 + ...01X-Move-CRU-devices-to-the-CRU-node.patch | 85 + ...-Disable-USB-3-PHY-on-devices-withou.patch | 94 + ...X-Enable-USB-3-PHY-on-Luxul-XWR-3150.patch | 30 + ...01X-Update-Ethernet-switch-node-name.patch | 32 + ...-Add-a-default-compatible-for-switch.patch | 82 + ...-Provide-defaults-ports-container-no.patch | 180 + ...NSP-Update-ethernet-switch-node-name.patch | 32 + ...-Ethernet-switch-SGMII-register-name.patch | 26 + ...a-SRAB-compatible-string-for-each-bo.patch | 77 + ...rovide-defaults-ports-container-node.patch | 99 + ...-Describe-NVMEM-NVRAM-on-Linksys-Lux.patch | 136 + ...M5301X-Fix-Linksys-EA9500-partitions.patch | 60 + ...CM5301X-Set-Linksys-EA9500-power-LED.patch | 27 + ...RM-dts-BCM5301X-Fix-NAND-nodes-names.patch | 77 + ...s-BCM5301X-Fix-pinmux-subnodes-names.patch | 52 + ...s-NSP-add-device-names-to-compatible.patch | 97 + ...RM-dts-NSP-enable-DMA-on-bcm988312hr.patch | 29 + ...dts-NSP-disable-qspi-node-by-default.patch | 113 + ...dts-NSP-add-MDIO-bus-controller-node.patch | 30 + ...P-Move-USB3-PHY-to-internal-MDIO-bus.patch | 85 + ...SP-Add-common-bindings-for-MX64-MX65.patch | 148 + ...ts-NSP-Add-Ax-stepping-modifications.patch | 90 + ...-Add-DT-files-for-Meraki-MX64-series.patch | 340 + ...-Add-DT-files-for-Meraki-MX65-series.patch | 386 + ...010-ARM-dts-BCM5301X-Fix-nodes-names.patch | 70 + ...RM-dts-BCM5301X-Fix-MDIO-mux-binding.patch | 28 + ...SP-Add-bcm958623hr-board-name-to-dts.patch | 27 + ...-ARM-dts-NSP-Fix-MDIO-mux-node-names.patch | 47 + ...s-NSP-Fix-MX64-MX65-eeprom-node-name.patch | 28 + ...M-dts-NSP-Fix-MX65-MDIO-mux-warnings.patch | 52 + ...-Specify-switch-ports-for-more-devic.patch | 290 + ...-Describe-on-SoC-BCM53125-rev-4-swit.patch | 44 + ...-BCM53573-Add-Tenda-AC9-switch-ports.patch | 59 + ...Specify-switch-ports-for-Meraki-MR32.patch | 57 + ...3016-MR32-get-mac-address-from-nvmem.patch | 41 + ...ts-BCM5301X-Add-DT-for-Asus-RT-AC88U.patch | 242 + ...-add-qca8k-falling-edge-PLL-properti.patch | 42 + ...-remove-unnecessary-address-size-cel.patch | 29 + ...-define-RTL8365MB-switch-on-Asus-RT-.patch | 104 + ...2-convert-to-Broadcom-iProc-I2C-Driv.patch | 104 + ...CM5301X-update-CRU-block-description.patch | 60 + ...-use-non-deprecated-USB-2.0-PHY-bind.patch | 54 + ...ts-NSP-Fixed-iProc-PCIe-MSI-sub-node.patch | 42 + ...08-ARM-dts-NSP-Rename-SATA-unit-name.patch | 25 + ...-correct-RX-delay-and-enable-flow-co.patch | 45 + ...CM5301X-define-RTL8365MB-switch-on-A.patch | 109 + ...-define-RTL8365MB-switch-on-Asus-RT-.patch | 103 + ...NSP-MX6X-get-mac-address-from-eeprom.patch | 40 + ...-NSP-MX6X-correct-LED-function-types.patch | 62 + ...-Add-Ethernet-MAC-address-to-Luxul-X.patch | 42 + ...301X-Update-pin-controller-node-name.patch | 32 + ...M5301X-Fix-DTC-warning-for-NAND-node.patch | 31 + ...-Remove-cell-properties-from-srab-po.patch | 40 + ...-Add-rgmii-to-port-5-of-Broadcom-swi.patch | 29 + ...-Retrieve-gmac1-MAC-address-from-NVR.patch | 43 + ...-Fix-compatible-strings-for-BCM53012.patch | 65 + ...-Disable-gmac0-and-enable-port-8-on-.patch | 39 + ...BCM5301X-Add-DT-for-WZR-1166DHP-DHP2.patch | 300 + ...CM5301X-Fix-DTC-warning-for-NAND-nod.patch | 32 + ...-align-gpio-key-node-names-with-dtsc.patch | 912 + ...roadcom-correct-gpio-keys-properties.patch | 108 + ...-Correct-description-of-TP-Link-part.patch | 99 + ...4-Add-devicetree-for-D-Link-DIR-890L.patch | 242 + ...-Add-devicetree-for-D-Link-DWL-8610A.patch | 165 + ...support-updated-DT-binding-with-PHY-.patch | 131 + ...-bindings-nvmem-add-Broadcom-s-NVRAM.patch | 56 + ...-new-driver-exposing-Broadcom-s-NVRA.patch | 124 + ...-parse-NVRAM-content-into-NVMEM-cell.patch | 146 + ...-find-Device-Tree-nodes-for-NVMEM-ce.patch | 38 + ...x-parse-firmware-MTD-partitions-only.patch | 43 + ...support-for-performing-fake-doorbell.patch | 137 + ...able-MMU-and-Dcache-during-decompres.patch | 101 + ...-Specify-switch-ports-for-remaining-.patch | 667 + ...RM-BCM5301X-Add-DT-for-Netgear-R7900.patch | 64 + ...-BCM5301X-Describe-partition-formats.patch | 25 + .../331-Meraki-MR32-Status-LEDs.patch | 28 + ...-mark-and-erase-all-remaining-blocks.patch | 59 + .../600-net-disable-GRO-by-default.patch | 36 + ...-frame-size-to-support-just-MTU-1500.patch | 33 + ...xx_nvram-support-init-from-IO-memory.patch | 61 + ...-provide-NVMEM-content-to-the-NVRAM-.patch | 31 + .../905-BCM53573-minor-hacks.patch | 80 + target/linux/bcm53xx/profiles/100-Generic.mk | 17 + target/linux/bcm63xx/Makefile | 26 + .../bcm63xx/base-files/etc/board.d/01_leds | 101 + .../bcm63xx/base-files/etc/board.d/02_network | 169 + .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 25 + .../etc/uci-defaults/04_led_migration | 21 + .../base-files/etc/uci-defaults/09_fix_crc | 45 + .../base-files/lib/upgrade/platform.sh | 87 + target/linux/bcm63xx/config-5.10 | 229 + .../bcm63xx/dts/bcm3368-netgear-cvg834g.dts | 65 + target/linux/bcm63xx/dts/bcm3368.dtsi | 135 + .../dts/bcm63167-sercomm-h500-s-lowi.dts | 13 + .../dts/bcm63167-sercomm-h500-s-vfes.dts | 13 + .../bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi | 194 + .../dts/bcm63168-comtrend-vr-3032u.dts | 183 + .../linux/bcm63xx/dts/bcm63168-sky-sr102.dts | 123 + .../bcm63xx/dts/bcm63169-comtrend-vg-8050.dts | 196 + .../dts/bcm6318-brcm-bcm96318ref-p300.dts | 87 + .../bcm63xx/dts/bcm6318-brcm-bcm96318ref.dts | 81 + .../bcm63xx/dts/bcm6318-comtrend-ar-5315u.dts | 173 + .../dts/bcm6318-d-link-dsl-275xb-d1.dts | 138 + .../bcm63xx/dts/bcm6318-sagem-fast-2704n.dts | 140 + target/linux/bcm63xx/dts/bcm6318.dtsi | 202 + .../dts/bcm63268-brcm-bcm963268bu-p300.dts | 57 + .../bcm63xx/dts/bcm63268-inteno-vg50.dts | 57 + target/linux/bcm63xx/dts/bcm63268.dtsi | 277 + .../dts/bcm63269-brcm-bcm963269bhr.dts | 64 + .../linux/bcm63xx/dts/bcm6328-adb-a4001n.dts | 106 + .../linux/bcm63xx/dts/bcm6328-adb-a4001n1.dts | 137 + .../bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts | 159 + .../bcm6328-adb-pdg-a4101n-a-000-1a1-ae.dts | 141 + .../bcm63xx/dts/bcm6328-brcm-bcm963281tan.dts | 73 + .../bcm63xx/dts/bcm6328-brcm-bcm96328avng.dts | 78 + .../bcm63xx/dts/bcm6328-comtrend-ar-5381u.dts | 109 + .../dts/bcm6328-comtrend-ar-5387un.dts | 118 + .../dts/bcm6328-d-link-dsl-274xb-f1.dts | 126 + .../dts/bcm6328-d-link-dsl-2750u-c1.dts | 146 + .../bcm63xx/dts/bcm6328-innacomm-w3400v6.dts | 118 + .../bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts | 117 + .../dts/bcm6328-sagem-fast-2704-v2.dts | 124 + .../dts/bcm6328-sercomm-ad1018-nor.dts | 175 + .../bcm63xx/dts/bcm6328-sercomm-ad1018.dts | 220 + ...6328-technicolor-tg582n-telecom-italia.dts | 153 + .../dts/bcm6328-technicolor-tg582n.dts | 166 + target/linux/bcm63xx/dts/bcm6328.dtsi | 221 + .../bcm63xx/dts/bcm6338-brcm-bcm96338gw.dts | 51 + .../bcm63xx/dts/bcm6338-brcm-bcm96338w.dts | 51 + .../bcm63xx/dts/bcm6338-d-link-dsl-2640u.dts | 64 + .../bcm63xx/dts/bcm6338-dynalink-rta1320.dts | 66 + target/linux/bcm63xx/dts/bcm6338.dtsi | 107 + .../bcm63xx/dts/bcm6345-brcm-bcm96345gw2.dts | 25 + .../bcm63xx/dts/bcm6345-dynalink-rta770bw.dts | 89 + .../bcm63xx/dts/bcm6345-dynalink-rta770w.dts | 89 + target/linux/bcm63xx/dts/bcm6345.dtsi | 96 + .../bcm63xx/dts/bcm6348-asmax-ar-1004g.dts | 88 + .../bcm63xx/dts/bcm6348-belkin-f5d7633.dts | 89 + .../dts/bcm6348-brcm-bcm96348gw-10.dts | 70 + .../dts/bcm6348-brcm-bcm96348gw-11.dts | 77 + .../bcm63xx/dts/bcm6348-brcm-bcm96348gw.dts | 77 + .../bcm63xx/dts/bcm6348-brcm-bcm96348r.dts | 56 + .../bcm63xx/dts/bcm6348-bt-voyager-2110.dts | 95 + .../dts/bcm6348-bt-voyager-2500v-bb.dts | 88 + .../bcm63xx/dts/bcm6348-comtrend-ct-5365.dts | 95 + .../dts/bcm6348-comtrend-ct-536plus.dts | 84 + .../dts/bcm6348-d-link-dsl-2640b-b.dts | 92 + .../dts/bcm6348-davolink-dv-201amr.dts | 49 + .../bcm63xx/dts/bcm6348-dynalink-rta1025w.dts | 49 + .../dts/bcm6348-inventel-livebox-1.dts | 89 + .../bcm63xx/dts/bcm6348-netgear-dg834g-v4.dts | 85 + .../dts/bcm6348-netgear-dg834gt-pn.dts | 89 + .../bcm63xx/dts/bcm6348-sagem-fast-2404.dts | 49 + .../bcm63xx/dts/bcm6348-sagem-fast-2604.dts | 85 + .../dts/bcm6348-t-com-speedport-w-500v.dts | 96 + .../bcm63xx/dts/bcm6348-tecom-gw6000.dts | 63 + .../bcm63xx/dts/bcm6348-tecom-gw6200.dts | 91 + .../dts/bcm6348-telsey-cpva502plus.dts | 77 + .../bcm63xx/dts/bcm6348-telsey-magic.dts | 89 + .../dts/bcm6348-tp-link-td-w8900gb.dts | 89 + .../dts/bcm6348-usrobotics-usr9108.dts | 62 + target/linux/bcm63xx/dts/bcm6348.dtsi | 160 + .../bcm63xx/dts/bcm6358-alcatel-rg100a.dts | 66 + .../bcm63xx/dts/bcm6358-brcm-bcm96358vw.dts | 51 + .../bcm63xx/dts/bcm6358-brcm-bcm96358vw2.dts | 47 + .../bcm63xx/dts/bcm6358-bt-home-hub-2-a.dts | 176 + .../bcm63xx/dts/bcm6358-comtrend-ct-6373.dts | 107 + .../bcm63xx/dts/bcm6358-d-link-dsl-2650u.dts | 66 + .../dts/bcm6358-d-link-dsl-274xb-c2.dts | 91 + .../dts/bcm6358-d-link-dva-g3810bn-tl.dts | 84 + .../dts/bcm6358-huawei-echolife-hg553.dts | 114 + .../dts/bcm6358-huawei-echolife-hg556a-a.dts | 43 + .../dts/bcm6358-huawei-echolife-hg556a-b.dts | 43 + .../dts/bcm6358-huawei-echolife-hg556a-c.dts | 37 + .../dts/bcm6358-huawei-echolife-hg556a.dtsi | 127 + .../bcm63xx/dts/bcm6358-pirelli-a226.dtsi | 93 + .../bcm63xx/dts/bcm6358-pirelli-a226g.dts | 33 + .../bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts | 33 + .../bcm63xx/dts/bcm6358-pirelli-a226m.dts | 33 + .../bcm63xx/dts/bcm6358-pirelli-agpf-s0.dts | 127 + .../dts/bcm6358-sfr-neufbox-4-foxconn-r1.dts | 31 + .../dts/bcm6358-sfr-neufbox-4-sercomm-r0.dts | 31 + .../bcm63xx/dts/bcm6358-sfr-neufbox-4.dtsi | 88 + .../dts/bcm6358-t-com-speedport-w-303v.dts | 102 + .../bcm63xx/dts/bcm6358-telsey-cpva642.dts | 118 + target/linux/bcm63xx/dts/bcm6358.dtsi | 205 + .../dts/bcm6359-huawei-echolife-hg520v.dts | 74 + .../dts/bcm6361-sfr-neufbox-6-sercomm-r0.dts | 98 + .../bcm63xx/dts/bcm6362-huawei-hg253s-v2.dts | 176 + .../dts/bcm6362-netgear-dgnd3700-v2.dts | 214 + .../bcm63xx/dts/bcm6362-sagem-fast-2504n.dts | 113 + target/linux/bcm63xx/dts/bcm6362.dtsi | 321 + .../bcm63xx/dts/bcm6368-actiontec-r1000h.dts | 113 + .../linux/bcm63xx/dts/bcm6368-adb-av4202n.dts | 112 + .../dts/bcm6368-brcm-bcm96368mvngr.dts | 56 + .../bcm63xx/dts/bcm6368-brcm-bcm96368mvwg.dts | 56 + .../bcm63xx/dts/bcm6368-comtrend-vr-3025u.dts | 97 + .../dts/bcm6368-comtrend-vr-3025un.dts | 97 + .../bcm63xx/dts/bcm6368-comtrend-vr-3026e.dts | 97 + .../dts/bcm6368-huawei-echolife-hg622.dts | 96 + .../dts/bcm6368-huawei-echolife-hg655b.dts | 126 + .../dts/bcm6368-netgear-dgnd3700-v1.dts | 216 + .../bcm63xx/dts/bcm6368-observa-vh4032n.dts | 123 + .../dts/bcm6368-zyxel-p870hw-51a-v2.dts | 103 + target/linux/bcm63xx/dts/bcm6368.dtsi | 343 + .../dts/bcm6369-comtrend-wap-5813n.dts | 162 + .../bcm63xx/dts/bcm6369-netgear-evg2000.dts | 129 + target/linux/bcm63xx/generic/target.mk | 7 + target/linux/bcm63xx/image/Makefile | 323 + .../linux/bcm63xx/image/README.images-bcm63xx | 127 + target/linux/bcm63xx/image/bcm63xx.mk | 1242 + target/linux/bcm63xx/image/bcm63xx_nand.mk | 204 + .../linux/bcm63xx/image/lzma-loader/Makefile | 75 + .../image/lzma-loader/src/LzmaDecode.c | 584 + .../image/lzma-loader/src/LzmaDecode.h | 113 + .../bcm63xx/image/lzma-loader/src/LzmaTypes.h | 45 + .../bcm63xx/image/lzma-loader/src/Makefile | 88 + .../bcm63xx/image/lzma-loader/src/board.c | 40 + .../bcm63xx/image/lzma-loader/src/cache.c | 46 + .../bcm63xx/image/lzma-loader/src/cache.h | 17 + .../bcm63xx/image/lzma-loader/src/cacheops.h | 85 + .../bcm63xx/image/lzma-loader/src/config.h | 19 + .../bcm63xx/image/lzma-loader/src/cp0regdef.h | 54 + .../bcm63xx/image/lzma-loader/src/head.S | 121 + .../bcm63xx/image/lzma-loader/src/loader.c | 172 + .../bcm63xx/image/lzma-loader/src/loader.lds | 34 + .../bcm63xx/image/lzma-loader/src/loader2.lds | 10 + .../image/lzma-loader/src/lzma-data.lds | 8 + .../bcm63xx/image/lzma-loader/src/printf.c | 350 + .../bcm63xx/image/lzma-loader/src/printf.h | 18 + target/linux/bcm63xx/modules.mk | 35 + ...2-bcm63xx_enet-batch-process-rx-path.patch | 55 + ...1-v5.12-bcm63xx_enet-add-BQL-support.patch | 68 + ...2-bcm63xx_enet-add-xmit_more-support.patch | 26 + ..._enet-alloc-rx-skb-with-NET_IP_ALIGN.patch | 45 + ...consolidate-rx-SKB-ring-cleanup-code.patch | 142 + ...12-bcm63xx_enet-convert-to-build_skb.patch | 347 + ...6-v5.12-bcm63xx_enet-improve-rx-loop.patch | 40 + ...-v5.12-bcm63xx_enet-fix-kernel-panic.patch | 58 + ...63XX-add-USB-host-clock-enable-delay.patch | 28 + ...cronix_nand_block_protection_support.patch | 18 + ...-USB-device-clock-enable-delay-to-cl.patch | 41 + ...e-code-touching-the-USB-private-regi.patch | 151 + ...-OHCI-EHCI-configuration-bits-to-com.patch | 169 + ...roduce-BCM63XX_OHCI-configuration-sy.patch | 62 + ...-support-for-the-on-chip-OHCI-contro.patch | 138 + ...ister-OHCI-controller-if-board-enabl.patch | 36 + ...roduce-BCM63XX_EHCI-configuration-sy.patch | 62 + ...-support-for-the-on-chip-EHCI-contro.patch | 136 + ...ister-EHCI-controller-if-board-enabl.patch | 36 + ...I-controller-does-not-support-overcu.patch | 24 + .../130-pinctrl-add-bcm63xx-base-code.patch | 226 + ...d-BCM6328-pincontroller-binding-docu.patch | 78 + ...-add-a-pincontrol-driver-for-BCM6328.patch | 495 + ...d-BCM6348-pincontroller-binding-docu.patch | 49 + ...-add-a-pincontrol-driver-for-BCM6348.patch | 410 + ...d-BCM6358-pincontroller-binding-docu.patch | 61 + ...-add-a-pincontrol-driver-for-BCM6358.patch | 436 + ...d-BCM6362-pincontroller-binding-docu.patch | 96 + ...-add-a-pincontrol-driver-for-BCM6362.patch | 733 + ...d-BCM6368-pincontroller-binding-docu.patch | 84 + ...-add-a-pincontrol-driver-for-BCM6368.patch | 620 + ...d-BCM63268-pincontroller-binding-doc.patch | 106 + ...add-a-pincontrol-driver-for-BCM63268.patch | 736 + ...tree-gpio-hogs-on-dual-role-gpio-pin.patch | 161 + ...ved-syscon_regmap_lookup_by_pdevname.patch | 68 + .../145-pinctrl-BCM6362-fix-gpio-mode.patch | 11 + ...low-limiting-ports-for-ehci-platform.patch | 66 + ...e-device-registration-code-into-its-.patch | 484 + ...s-a-mac-addresss-allocator-to-board-.patch | 100 + ...ort-for-bcm6345-style-periphery-irq-.patch | 455 + ...ort-for-bcm6345-style-external-inter.patch | 394 + ...22-MIPS-BCM63XX-switch-to-IRQ_DOMAIN.patch | 687 + ...e-up-BCM6358-s-external-interrupts-4.patch | 57 + ...m6345-periph-fix-block-uninitialized.patch | 20 + ...6345-external-fix-base-uninitialized.patch | 28 + ...-irqchip-bcm6345-report-eff-affinity.patch | 20 + ...irqchip-bcm6345-periph-clear-on-init.patch | 12 + ...BCM63XX-add-a-new-cpu-variant-helper.patch | 77 + ...MIPS-BCM63XX-define-variant-id-field.patch | 23 + ...MIPS-BCM63XX-detect-BCM6328-variants.patch | 68 + ...MIPS-BCM63XX-detect-BCM6362-variants.patch | 46 + ...MIPS-BCM63XX-detect-BCM6368-variants.patch | 48 + ...-BCM63XX-fix-PCIe-memory-window-size.patch | 20 + ...amically-set-the-pcie-memory-windows.patch | 70 + .../337-MIPS-BCM63XX-widen-cpuid-field.patch | 56 + ...MIPS-BCM63XX-increase-number-of-IRQs.patch | 39 + ...IPS-BCM63XX-add-support-for-BCM63268.patch | 741 + ...CM63XX-add-pcie-support-for-BCM63268.patch | 55 + ...MIPS-BCM63XX-add-support-for-BCM6318.patch | 699 + ...IPS-BCM63XX-split-PCIe-reset-signals.patch | 156 + ...BCM63XX-add-PCIe-support-for-BCM6318.patch | 333 + ...ect-flash-type-early-and-store-the-r.patch | 74 + ...ixup-mapped-SPI-flash-access-on-boot.patch | 84 + ...-MIPS-BCM63XX-USB-ENETSW-6318-clocks.patch | 44 + .../347-MIPS-BCM6318-USB-support.patch | 124 + ...-MIPS-BCM63XX-fix-BCM63268-USB-clock.patch | 71 + ...IPS-BCM63XX-add-BCM63268-USB-support.patch | 117 + ...63XX-support-settings-num-usbh-ports.patch | 108 + .../351-set-board-usbh-ports.patch | 10 + ...ow-building-support-for-more-than-on.patch | 95 + ...ow-board-implementations-to-force-fl.patch | 61 + ...e-fallback-sprom-support-into-its-ow.patch | 189 + ...63XX-use-platform-data-for-the-sprom.patch | 95 + ...BCM63XX-make-fallback-sprom-optional.patch | 140 + ...M63XX-allow-different-types-of-sprom.patch | 66 + ...S-BCM63XX-add-support-for-raw-sproms.patch | 581 + ...-raw-fallback-sproms-for-most-common.patch | 181 + ...o-register-a-fallback-sprom-for-bcma.patch | 128 + ...M63XX-add-BCMA-based-sprom-templates.patch | 303 + ...ow-board-files-to-provide-sprom-fixu.patch | 67 + ...ow-setting-a-pci-bus-device-for-fall.patch | 102 + ...CM63XX-fallback-sprom-override-devid.patch | 78 + ...-BCM63XX-add-support-for-loading-DTB.patch | 118 + ...-support-for-matching-the-board_info.patch | 95 + .../371_add_of_node_available_by_alias.patch | 37 + ...egister_pflash_when_available_in_dtb.patch | 21 + ...ister-interrupt-controllers-through-.patch | 45 + ...add-a-simple-GPIO-driver-for-bcm63xx.patch | 178 + ...PS-BCM63XX-switch-to-new-gpio-driver.patch | 215 + ...-register-lookup-for-ephy-reset-gpio.patch | 129 + ...not-register-gpio-controller-if-pres.patch | 35 + ...vide-a-gpio-lookup-for-the-pcmcia-re.patch | 59 + ...bcm63xx_pmcia-use-the-new-named-gpio.patch | 59 + ...d-BCM6318-pincontroller-binding-docu.patch | 96 + ...-add-a-pincontrol-driver-for-BCM6318.patch | 609 + .../383-bcm63xx_select_pinctrl.patch | 65 + ...X-add-clkdev-lookups-for-device-tree.patch | 105 + ...63XX-do-not-register-SPI-controllers.patch | 172 + ...91-MIPS-BCM63XX-do-not-register-uart.patch | 259 + ...MIPS-BCM63XX-remove-leds-and-buttons.patch | 343 + .../patches-5.10/400-bcm963xx_flashmap.patch | 65 + .../401-bcm963xx_real_rootfs_length.patch | 27 + ...402_bcm63xx_enet_vlan_incoming_fixed.patch | 11 + .../403-6358-enet1-external-mii-clk.patch | 22 + ...-move-phy_-dis-connect-into-probe-re.patch | 247 + ...enable-rgmii-clock-on-external-ports.patch | 53 + ...CM63XX-Register-SPI-flash-if-present.patch | 156 + ...w-providing-fixup-data-in-board-data.patch | 72 + ...M63XX-export-the-attached-flash-type.patch | 31 + ...CM63XX-add-a-fixup-for-ath9k-devices.patch | 238 + ...0-BCM63XX-add-endian-check-for-ath9k.patch | 51 + .../421-BCM63XX-add-led-pin-for-ath9k.patch | 51 + ...M63XX-add-a-fixup-for-rt2x00-devices.patch | 185 + .../423-bcm63xx_enet_add_b53_support.patch | 169 + ...4-bcm63xx_enet_no_request_mem_region.patch | 15 + .../427-boards_probe_switch.patch | 119 + .../428-bcm63xx_enet-rgmii-ctrl-fix.patch | 25 + .../430-MIPS-BCM63XX-add-nand-clocks.patch | 50 + .../431-MIPS-BCM63XX-add-nand-rset.patch | 145 + .../432-MIPS-BCM63XX-detect-nand-nvram.patch | 17 + ...433-MIPS-BCM63XX-enable-nand-support.patch | 17 + ...ulate-the-compatible-to-board_info-l.patch | 69 + ...328-extend-96328avng-reference-board.patch | 35 + .../patches-5.10/511-board_bcm6318.patch | 292 + .../patches-5.10/512-board_bcm6328.patch | 699 + .../patches-5.10/513-board-bcm6338.patch | 53 + .../patches-5.10/514-board_bcm6345.patch | 39 + .../patches-5.10/515-board-bcm6348.patch | 328 + .../patches-5.10/516-board-bcm6358.patch | 384 + .../patches-5.10/517-board_bcm6362.patch | 144 + .../patches-5.10/518-board_bcm6368.patch | 732 + .../patches-5.10/519-board_bcm63268.patch | 307 + ...31-board_bcm6348-bt-voyager-2500v-bb.patch | 49 + ...BCM63XX-add-inventel-Livebox-support.patch | 219 + .../bcm63xx/patches-5.10/800-wl_exports.patch | 27 + .../801-ssb_export_fallback_sprom.patch | 31 + .../802-rtl8367r_fix_RGMII_support.patch | 30 + ...d-unaligned-accesses-failing-on-bcm6.patch | 26 + target/linux/bcm63xx/profiles/default.mk | 15 + target/linux/bcm63xx/smp/config-default | 41 + target/linux/bcm63xx/smp/target.mk | 17 + target/linux/bmips/Makefile | 23 + target/linux/bmips/config-5.10 | 298 + .../bmips/dts/bcm63168-comtrend-vr-3032u.dts | 237 + .../bmips/dts/bcm6318-comtrend-ar-5315u.dts | 257 + target/linux/bmips/dts/bcm6318.dtsi | 488 + target/linux/bmips/dts/bcm63268.dtsi | 576 + .../bmips/dts/bcm6328-comtrend-ar-5387un.dts | 214 + target/linux/bmips/dts/bcm6328.dtsi | 506 + .../bmips/dts/bcm6358-huawei-hg556a-b.dts | 200 + target/linux/bmips/dts/bcm6358.dtsi | 346 + .../bmips/dts/bcm6362-netgear-dgnd3700-v2.dts | 258 + target/linux/bmips/dts/bcm6362.dtsi | 601 + .../bmips/dts/bcm6368-comtrend-vr-3025u.dts | 179 + target/linux/bmips/dts/bcm6368.dtsi | 594 + .../bmips/files/arch/mips/bmips/ath9k-fixup.c | 238 + .../bmips/files/arch/mips/bmips/b43-sprom.c | 1193 + .../bmips/files/arch/mips/pci/fixup-bmips.c | 18 + .../net/ethernet/broadcom/bcm6368-enetsw.c | 1087 + .../drivers/pci/controller/pci-bcm6348.c | 825 + .../drivers/pci/controller/pcie-bcm6318.c | 402 + .../drivers/pci/controller/pcie-bcm6328.c | 412 + .../bcm6318-interrupt-controller.h | 84 + .../bcm63268-interrupt-controller.h | 86 + .../bcm6328-interrupt-controller.h | 68 + .../bcm6358-interrupt-controller.h | 38 + .../bcm6362-interrupt-controller.h | 71 + .../bcm6368-interrupt-controller.h | 71 + .../generic/base-files/etc/board.d/01_leds | 16 + .../generic/base-files/etc/board.d/02_network | 17 + .../base-files/etc/uci-defaults/09_fix_crc | 13 + .../base-files/lib/upgrade/platform.sh | 16 + target/linux/bmips/generic/config-default | 3 + target/linux/bmips/generic/target.mk | 5 + target/linux/bmips/image/Makefile | 259 + target/linux/bmips/image/bcm63xx_generic.mk | 74 + target/linux/bmips/image/bcm63xx_nand.mk | 81 + target/linux/bmips/image/lzma-loader/Makefile | 74 + .../bmips/image/lzma-loader/src/LzmaDecode.c | 584 + .../bmips/image/lzma-loader/src/LzmaDecode.h | 113 + .../bmips/image/lzma-loader/src/LzmaTypes.h | 45 + .../bmips/image/lzma-loader/src/Makefile | 85 + .../linux/bmips/image/lzma-loader/src/board.c | 37 + .../linux/bmips/image/lzma-loader/src/cache.c | 42 + .../linux/bmips/image/lzma-loader/src/cache.h | 13 + .../bmips/image/lzma-loader/src/cacheops.h | 82 + .../bmips/image/lzma-loader/src/config.h | 15 + .../bmips/image/lzma-loader/src/cp0regdef.h | 55 + .../linux/bmips/image/lzma-loader/src/head.S | 118 + .../bmips/image/lzma-loader/src/loader.c | 169 + .../bmips/image/lzma-loader/src/loader.lds | 36 + .../bmips/image/lzma-loader/src/loader2.lds | 12 + .../bmips/image/lzma-loader/src/lzma-data.lds | 10 + .../bmips/image/lzma-loader/src/printf.c | 345 + .../bmips/image/lzma-loader/src/printf.h | 13 + .../bmips/nand/base-files/etc/board.d/01_leds | 16 + .../nand/base-files/etc/board.d/02_network | 19 + .../nand/base-files/lib/upgrade/platform.sh | 56 + target/linux/bmips/nand/config-default | 27 + target/linux/bmips/nand/target.mk | 6 + ...ips-select-ARCH_HAS_RESET_CONTROLLER.patch | 27 + ...t-add-BCM6345-reset-controller-bindi.patch | 59 + ...-add-BCM6345-reset-controller-driver.patch | 186 + ...add-BCM6328-reset-controller-support.patch | 56 + ...add-BCM6358-reset-controller-support.patch | 53 + ...add-BCM6362-reset-controller-support.patch | 60 + ...add-BCM6368-reset-controller-support.patch | 54 + ...dd-BCM63268-reset-controller-support.patch | 64 + ...BCM6318-reset-controller-definitions.patch | 42 + ...v5.12-mips-bmips-init-clocks-earlier.patch | 25 + ...v5.12-spi-bcm63xx-spi-fix-pm_runtime.patch | 45 + ...5.13-mips-smp-bmips-fix-CPU-mappings.patch | 60 + ...gs-rng-bcm2835-add-clock-constraints.patch | 38 + ...s-rng-bcm2835-document-reset-support.patch | 51 + ...5.13-hwrng-bcm2835-add-reset-support.patch | 78 + ...gs-net-Add-bcm6368-mdio-mux-bindings.patch | 96 + ...-Add-BCM6368-MDIO-mux-bus-controller.patch | 237 + ...13-gpio-regmap-set-gpio_chip-of_node.patch | 63 + ...ove-BCM6345-GPIO-binding-documentati.patch | 163 + ...13-pinctrl-bcm-add-bcm63xx-base-code.patch | 208 + ...BCM6328-pincontroller-binding-docume.patch | 152 + ...BCM6328-GPIO-sysctl-binding-document.patch | 185 + ...-add-a-pincontrol-driver-for-BCM6328.patch | 459 + ...BCM6358-pincontroller-binding-docume.patch | 118 + ...BCM6358-GPIO-sysctl-binding-document.patch | 153 + ...-add-a-pincontrol-driver-for-BCM6358.patch | 425 + ...BCM6362-pincontroller-binding-docume.patch | 231 + ...BCM6362-GPIO-sysctl-binding-document.patch | 259 + ...-add-a-pincontrol-driver-for-BCM6362.patch | 672 + ...BCM6368-pincontroller-binding-docume.patch | 242 + ...BCM6368-GPIO-sysctl-binding-document.patch | 269 + ...-add-a-pincontrol-driver-for-BCM6368.patch | 576 + ...BCM63268-pincontroller-binding-docum.patch | 190 + ...BCM63268-GPIO-sysctl-binding-documen.patch | 217 + ...add-a-pincontrol-driver-for-BCM63268.patch | 697 + ...BCM6318-pincontroller-binding-docume.patch | 168 + ...BCM6318-GPIO-sysctl-binding-document.patch | 200 + ...-add-a-pincontrol-driver-for-BCM6318.patch | 553 + ...5.13-pinctrl-bcm-bcm6362-fix-warning.patch | 44 + ....13-pinctrl-bcm63xx-Fix-dependencies.patch | 38 + ...g-bcm7038_wdt-add-big-endian-support.patch | 86 + ...ort-for-bcm6345-style-external-inter.patch | 392 + ...add-BCM63268-timer-clock-definitions.patch | 35 + ...add-BCM63268-timer-reset-definitions.patch | 26 + ...ngs-clock-Add-BCM63268-timer-binding.patch | 59 + ...CM63268-timer-clock-and-reset-driver.patch | 281 + ...s-automatically-detect-CPU-frequency.patch | 238 + ...-bmips-automatically-detect-RAM-size.patch | 196 + ...isable-ARCH_HAS_SYNC_DMA_FOR_CPU_ALL.patch | 62 + ...add-BCM6368-enetsw-controller-driver.patch | 46 + ...a-b53-add-support-for-BCM63xx-RGMIIs.patch | 72 + .../600-mips-bmips-add-pci-support.patch | 20 + ...controllers-add-bcm6328-pcie-support.patch | 22 + ...controllers-add-bcm6318-pcie-support.patch | 22 + ...-controllers-add-bcm6348-pci-support.patch | 22 + .../610-mips-bmips-add-pci-fixups.patch | 6 + ...d-unaligned-accesses-failing-on-bcm6.patch | 26 + target/linux/bmips/profiles/default.mk | 10 + target/linux/gemini/Makefile | 29 + .../gemini/base-files/etc/board.d/02_network | 26 + .../gemini/base-files/etc/board.d/03_hdparm | 14 + .../gemini/base-files/etc/board.d/03_splash | 9 + .../etc/uci-defaults/09_fix-checksum | 19 + .../lib/preinit/05_set_ether_mac_gemini | 53 + .../gemini/base-files/lib/upgrade/platform.sh | 25 + target/linux/gemini/config-5.10 | 418 + .../linux/gemini/image/ImageInfo-itian_sq201 | 18 + .../image/ImageInfo-raidsonic_ib-4220-b | 19 + .../gemini/image/ImageInfo-storlink_sl93512r | 18 + target/linux/gemini/image/Makefile | 242 + .../linux/gemini/image/copy-kernel/.gitignore | 1 + .../linux/gemini/image/copy-kernel/Makefile | 38 + .../gemini/image/copy-kernel/copy-kernel.S | 45 + .../linux/gemini/image/dns313_gen_hdd_img.sh | 34 + ...t-fotg2-add-Gemini-specific-handling.patch | 131 + ...-DIR-685-partition-table-for-OpenWrt.patch | 37 + target/linux/generic/PATCHES | 20 + ...dcode-path-to-awk-in-scripts-ld-vers.patch | 30 + .../011-kbuild-export-SUBARCH.patch | 21 + ...station-poweroff-add-missing-put_dev.patch | 27 + ...-uasm-Enable-muhu-opcode-for-MIPS-R6.patch | 65 + ...rkaround-for-Loongson-2F-nop-CPU-err.patch | 31 + ...ips-bpf-Add-eBPF-JIT-for-32-bit-MIPS.patch | 3078 + ...bpf-Add-new-eBPF-JIT-for-64-bit-MIPS.patch | 1005 + ...f-Add-JIT-workarounds-for-CPU-errata.patch | 120 + ...0-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch | 61 + ...f-Remove-old-BPF-JIT-implementations.patch | 387 + ...a-neon-optimize-for-non-block-size-m.patch | 272 + ...a-neon-add-missing-counter-increment.patch | 38 + ...ut-frequently-used-members-above-cac.patch | 42 + ...to-define-reg_update_bits-for-no-bus.patch | 52 + ...CPU_MIPS64-for-remaining-MIPS64-CPUs.patch | 36 + ...boot-put-appended-dtb-into-a-section.patch | 36 + ...ow_offload-handle-netdevice-events-f.patch | 106 + ...convert-fixed-partitions-to-the-json.patch | 324 + ...move-partition-binding-to-its-own-fi.patch | 115 + ...d-add-binding-for-BCM4908-partitions.patch | 92 + ...art-support-BCM4908-fixed-partitions.patch | 654 + ...rt-limit-parsing-of-deprecated-DT-sy.patch | 69 + ...rt-make-symbol-bcm4908_partitions_qu.patch | 34 + ...em-cells-compatible-to-parse-mtd-as-.patch | 38 + ...ings-nvmem-drop-nodename-restriction.patch | 25 + ...Document-use-of-nvmem-cells-compatib.patch | 117 + ...add-binding-for-Linksys-Northstar-pa.patch | 98 + ...rt-support-Linksys-Northstar-partiti.patch | 156 + ...0002-Disable-buffered-writes-for-AMD.patch | 54 + ...ings-mtd-brcm-trx-Add-brcm-trx-magic.patch | 32 + ...Allow-to-specify-brcm-trx-magic-in-D.patch | 50 + ...Allow-to-use-TRX-parser-on-Mediatek-.patch | 25 + ...x-allow-to-use-on-MediaTek-MIPS-SoCs.patch | 33 + ...platform_populate-for-MTD-partitions.patch | 72 + ...ce-of-support-for-dynamic-partitions.patch | 106 + ...g-MTD-device-associated-with-a-speci.patch | 72 + ...e-check-partition-before-dereference.patch | 30 + ...sing-of_node_get-in-dynamic-partitio.patch | 101 + ...y-a-bit-code-find-partition-matching.patch | 65 + ...find-OF-node-for-every-MTD-partition.patch | 84 + ...T_DEV-for-partitions-marked-as-rootf.patch | 47 + ...TP-Link-SafeLoader-partitions-table-.patch | 229 + ...attaching-when-vid_hdr-offset-equals.patch | 69 + ...13-ubifs-default-to-zstd-compression.patch | 25 + ...pi-poll-functionality-to-__napi_poll.patch | 88 + ...threaded-able-napi-poll-loop-support.patch | 261 + ...tribute-to-control-napi-threaded-mod.patch | 177 + ...ween-napi-kthread-mode-and-busy-poll.patch | 93 + ...up-on-napi_disable-for-threaded-napi.patch | 53 + ...table-add-hash-offset-field-to-tuple.patch | 52 + ...ble-separate-replace-destroy-and-sta.patch | 98 + ...ack-Remove-unused-variable-declarati.patch | 22 + ...ble-consolidate-skb_try_make_writabl.patch | 291 + ...ble-move-skb_try_make_writable-befor.patch | 35 + ...ble-move-FLOW_OFFLOAD_DIR_MAX-away-f.patch | 82 + ...wtable-fast-NAT-functions-never-fail.patch | 394 + ...ble-call-dst_check-to-fall-back-to-c.patch | 46 + ...ble-refresh-timeout-after-dst-and-wr.patch | 49 + ...es-update-table-flags-from-the-commi.patch | 103 + ...arding-path-from-virtual-netdevice-a.patch | 170 + ...lve-forwarding-path-for-vlan-devices.patch | 80 + ...ve-forwarding-path-for-bridge-device.patch | 62 + ...ve-forwarding-path-for-VLAN-tag-acti.patch | 207 + ...forwarding-path-for-bridge-pppoe-dev.patch | 113 + ...-forwarding-path-for-dsa-slave-ports.patch | 63 + ...filter-flowtable-add-xmit-path-types.patch | 147 + ...ble-use-dev_fill_forward_path-to-obt.patch | 191 + ...ble-use-dev_fill_forward_path-to-obt.patch | 374 + ...netfilter-flowtable-add-vlan-support.patch | 410 + ...ble-add-bridge-vlan-filtering-suppor.patch | 30 + ...etfilter-flowtable-add-pppoe-support.patch | 145 + ...-netfilter-flowtable-add-dsa-support.patch | 32 + ...ter-flowtable-bridge-and-vlan-suppor.patch | 107 + ...ble-add-offload-support-for-xmit-pat.patch | 310 + ...ow_offload-use-direct-xmit-if-hardwa.patch | 114 + ...ble-bridge-vlan-hardware-offload-and.patch | 123 + ...w_offload-add-FLOW_ACTION_PPPOE_PUSH.patch | 30 + ...ble-support-for-FLOW_ACTION_PPPOE_PU.patch | 35 + ...sa-slave-add-support-for-TC_SETUP_FT.patch | 53 + ...k_eth_soc-fix-parsing-packets-in-GDM.patch | 68 + ..._eth_soc-add-support-for-initializin.patch | 1312 + ..._eth_soc-add-flow-offloading-support.patch | 568 + ...e-update-documentation-with-enhancem.patch | 236 + ...rnet-mediatek-ppe-fix-busy-wait-loop.patch | 72 + ...iatek-fix-a-typo-bug-in-flow-offload.patch | 29 + ..._eth_soc-unmap-RX-data-before-callin.patch | 38 + ...et-mtk_eth_soc-fix-build_skb-cleanup.patch | 38 + ...net-mtk_eth_soc-use-napi_consume_skb.patch | 77 + ..._eth_soc-reduce-MDIO-bus-access-late.patch | 30 + ..._eth_soc-remove-unnecessary-TX-queue.patch | 54 + ..._eth_soc-use-larger-burst-size-for-Q.patch | 37 + ...-mtk_eth_soc-increase-DMA-ring-sizes.patch | 26 + ..._eth_soc-implement-dynamic-interrupt.patch | 313 + ..._eth_soc-cache-HW-pointer-of-last-fr.patch | 73 + ..._eth_soc-only-read-the-full-RX-descr.patch | 49 + ..._eth_soc-reduce-unnecessary-interrup.patch | 39 + ...et-mtk_eth_soc-rework-NAPI-callbacks.patch | 110 + ..._eth_soc-set-PPE-flow-hash-as-skb-ha.patch | 47 + ..._eth_soc-use-iopoll.h-macro-for-DMA-.patch | 71 + ...t-ethernet-mtk_eth_soc-missing-mutex.patch | 63 + ...t-mtk_eth_soc-handle-VLAN-pop-action.patch | 22 + ...ble-dst_check-from-garbage-collector.patch | 159 + ...ack-Introduce-tcp-offload-timeout-co.patch | 94 + ...ack-Introduce-udp-offload-timeout-co.patch | 92 + ...ble-Set-offload-timeouts-according-t.patch | 134 + ...ble-Add-FLOW_OFFLOAD_XMIT_UNSPEC-xmi.patch | 41 + ...owtable-avoid-possible-false-sharing.patch | 27 + ...wtable-move-dst_check-to-packet-path.patch | 99 + ...thernet-mediatek-support-setting-MTU.patch | 138 + ...ack-sanitize-table-size-default-sett.patch | 100 + ...table-remove-nf_ct_l4proto_find-call.patch | 47 + ...ack-remove-offload_pickup-sysctl-aga.patch | 184 + ...lter-flowtable-fix-TCP-flow-teardown.patch | 166 + ...x-select-correct-page-on-config-init.patch | 108 + ...ix-probe-error-if-copper-page-is-sel.patch | 73 + ...10-v5.12-net-phy-Add-100-base-x-mode.patch | 56 + ...-sfp-add-support-for-100-base-x-SFPs.patch | 40 + ...phy-marvell-refactor-HWMON-OOP-style.patch | 549 + ...-marvell-add-SFP-support-for-88E1510.patch | 161 + ...cally-bring-up-DSA-master-when-openi.patch | 85 + ...y-switchdev-of-disappearance-of-old-.patch | 126 + ...r-when-a-non-legacy-FDB-operation-fa.patch | 52 + ...e-switchdev_notifier_fdb_info-in-dsa.patch | 226 + ...tchdev-event-implementation-under-th.patch | 85 + ...ly-in-dsa_slave_switchdev_event-if-w.patch | 42 + ...or-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch | 264 + ...setup-core-clock-even-in-TRGMII-mode.patch | 84 + ...-mt7530-MT7530-optional-GPIO-support.patch | 181 + ...-mt7530-Add-support-for-EEE-features.patch | 120 + ...the-dst-buffer-to-of_get_mac_address.patch | 1935 + ..._addr_nvmem-for-non-platform-devices.patch | 77 + ...andle-deferred-probe-error-due-to-ma.patch | 42 + ...platform-handle-mac-address-deferral.patch | 36 + ...-0001-net-bgmac-improve-handling-PHY.patch | 84 + ...t-bgmac-support-MDIO-described-in-DT.patch | 54 + ...k-change-simple-print-to-dev-variant.patch | 35 + ...use-iopoll-macro-for-qca8k_busy_wait.patch | 61 + ...prove-qca8k-read-write-rmw-bus-acces.patch | 86 + ...a-qca8k-handle-qca8k_set_page-errors.patch | 101 + ...ndle-error-with-qca8k_read-operation.patch | 207 + ...ndle-error-with-qca8k_write-operatio.patch | 263 + ...andle-error-with-qca8k_rmw-operation.patch | 226 + ...8k-handle-error-from-qca8k_busy_wait.patch | 66 + ...qca8k-add-support-for-qca8327-switch.patch | 96 + ...sa-qca8k-Document-new-compatible-qca.patch | 26 + ...add-priority-tweak-to-qca8337-switch.patch | 130 + ...a-qca8k-limit-port5-delay-to-qca8337.patch | 31 + ...d-GLOBAL_FC-settings-needed-for-qca8.patch | 48 + ...dsa-qca8k-add-support-for-switch-rev.patch | 114 + ...d-ethernet-ports-fallback-to-setup_m.patch | 28 + ...-qca8k-make-rgmii-delay-configurable.patch | 188 + ...clear-MASTER_EN-after-phy-read-write.patch | 50 + ...a-qca8k-protect-MASTER-busy_wait-wit.patch | 128 + ...qca8k-enlarge-mdio-delay-and-timeout.patch | 39 + ...d-support-for-internal-phy-and-inter.patch | 267 + ...ngs-dsa-qca8k-Document-internal-mdio.patch | 93 + ...prove-internal-mdio-read-write-bus-a.patch | 95 + ...ss-switch_revision-info-to-phy-dev_f.patch | 48 + ...ort-for-qca8k-switch-internal-PHY-in.patch | 229 + ...issing-unlock-on-error-in-qca8k-vlan.patch | 64 + ...eck-return-value-of-read-functions-c.patch | 348 + ...d-missing-check-return-value-in-qca8.patch | 47 + ...x-an-endian-bug-in-qca8k-get-ethtool.patch | 47 + ...eck-the-correct-variable-in-qca8k-se.patch | 31 + ...ernel-panic-with-legacy-mdio-mapping.patch | 80 + ...-Add-debug-prints-in-b53_vlan_enable.patch | 65 + ...sa-b53-spi-allow-device-tree-probing.patch | 41 + ...3-net-dsa-b53-relax-is63xx-condition.patch | 31 + ...tag_brcm-add-support-for-legacy-tags.patch | 180 + ...0005-net-dsa-b53-support-legacy-tags.patch | 53 + ...dsa-b53-mmap-Add-device-tree-support.patch | 92 + ...-spi-add-missing-MODULE_DEVICE_TABLE.patch | 27 + ...Do-not-force-CPU-to-be-always-tagged.patch | 86 + ...3-remove-redundant-null-check-on-dev.patch | 30 + ...Create-default-VLAN-entry-explicitly.patch | 71 + ...dd-support-for-qca-8327-internal-phy.patch | 48 + ...3-Include-all-ports-in-enabled_ports.patch | 131 + ...-BCM5301x-workaround-for-a-wrong-CPU.patch | 42 + ...prove-flow-control-setup-on-BCM5301x.patch | 32 + ...t-dsa-b53-Drop-unused-cpu_port-field.patch | 205 + ...t-skb-offload_fwd_mark-when-not-offl.patch | 138 + ...x-add-support-for-qca-8327-A-variant.patch | 65 + ...dd-resume-suspend-function-to-qca83x.patch | 45 + ...ix-spacing-and-improve-name-for-83xx.patch | 95 + ...hy-at803x-fix-resume-for-QCA8327-phy.patch | 131 + ...x-add-DAC-amplitude-fix-for-8327-phy.patch | 91 + ...nable-prefer-master-for-83xx-interna.patch | 27 + ...hy-at803x-better-describe-debug-regs.patch | 127 + ...-dsa-qca8k-add-mac-power-sel-support.patch | 80 + ...dsa-qca8k-Add-SGMII-clock-phase-prop.patch | 30 + ...k-add-support-for-sgmii-falling-edge.patch | 127 + ...dsa-qca8k-Document-support-for-CPU-p.patch | 29 + ...dsa-qca8k-add-support-for-cpu-port-6.patch | 153 + ...work-rgmii-delay-logic-and-scan-for-.patch | 295 + ...dsa-qca8k-Document-qca-sgmii-enable-.patch | 33 + ...-qca8k-add-explicit-SGMII-PLL-enable.patch | 65 + ...dsa-qca8k-Document-qca-led-open-drai.patch | 37 + ...qca8k-add-support-for-pws-config-reg.patch | 92 + ...dsa-qca8k-document-support-for-qca83.patch | 32 + ...et-dsa-qca8k-add-support-for-QCA8328.patch | 78 + ...8k-set-internal-delay-also-for-sgmii.patch | 159 + ...move-port-config-to-dedicated-struct.patch | 124 + ...ipq8064-mdio-fix-warning-with-new-qc.patch | 26 + ...net-dsa-qca8k-convert-to-YAML-schema.patch | 631 + ...elay-applied-to-wrong-cpu-in-parse-p.patch | 28 + ...for-loop-in-setup-and-add-cpu-port-c.patch | 151 + ...sure-pad0-mac06-exchange-is-disabled.patch | 47 + ...ernal-delay-applied-to-the-wrong-PAD.patch | 48 + ...16-net-dsa-qca8k-fix-MTU-calculation.patch | 46 + ...redundant-check-in-parse_port_config.patch | 29 + ...vert-to-GENMASK_FIELD_PREP_FIELD_GET.patch | 508 + ...move-extra-mutex_init-in-qca8k_setup.patch | 25 + ...move-regmap-init-in-probe-and-set-it.patch | 46 + ...k-initial-conversion-to-regmap-heper.patch | 249 + ...ca8k-add-additional-MIB-counter-and-.patch | 120 + ...ca8k-add-support-for-port-fast-aging.patch | 53 + ...sa-qca8k-add-set_ageing_time-support.patch | 78 + ...sa-qca8k-add-support-for-mdb_add-del.patch | 142 + ...1-net-dsa-mt7530-support-setting-MTU.patch | 112 + ...-dsa-mt7530-enable-MTU-normalization.patch | 36 + ...a-mt7530-support-setting-ageing-time.patch | 99 + ...et-dsa-mt7530-support-MDB-operations.patch | 171 + ...MediaTek-Gigabit-Ethernet-PHY-driver.patch | 159 + ...net-dsa-mt7530-add-interrupt-support.patch | 425 + ...N-filtering-syncing-out-of-dsa_switc.patch | 83 + ...cross-chip-syncing-of-VLAN-filtering.patch | 58 + ..._nvram-rename-finding-function-and-i.patch | 80 + ..._nvram-add-helper-checking-for-NVRAM.patch | 90 + ...7xx_nvram-extract-code-copying-NVRAM.patch | 80 + ..._nvram-look-for-NVRAM-with-for-inste.patch | 37 + ..._nvram-inline-code-checking-NVRAM-si.patch | 70 + ...-handling-U-Boot-environment-variabl.patch | 278 + ...-find-Device-Tree-nodes-for-NVMEM-ce.patch | 29 + ...em-u-boot-env-fix-crc32-casting-type.patch | 30 + ...support-passing-DT-node-in-cell-info.patch | 41 + ...-fix-crc32_data_offset-on-redundant-.patch | 56 + ...env-align-endianness-of-crc32-values.patch | 47 + ...boot-env-add-Broadcom-format-support.patch | 65 + ...rious-flag-to-disable-overcurrent-ch.patch | 88 + ...-platform-add-spurious_oc-DT-support.patch | 31 + ...-declare-its-reliance-on-msi-domains.patch | 34 + ...declar-their-reliance-on-msi-domains.patch | 44 + ...ertise-lack-of-built-in-msi-handling.patch | 59 + ...ialize-enable-GPIO-direction-to-outp.patch | 28 + ...s-add-Broadcom-s-BCM63138-controller.patch | 125 + ...-add-support-for-BCM63138-controller.patch | 371 + ...-leds-bcm63138-unify-full-stops-in-d.patch | 30 + ...help-info-about-BCM63138-module-name.patch | 25 + ...eds-leds-bcm63138-get-rid-of-LED_OFF.patch | 30 + ...mul-Add-description-for-class_revisi.patch | 44 + ...mul-Add-definitions-for-missing-capa.patch | 73 + ...-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch | 61 + ...ment-actions-in-driver-remove-method.patch | 34 + ...able-bus-mastering-when-unbinding-dr.patch | 41 + ...k-all-interrupts-when-unbinding-driv.patch | 48 + ...ark-Fix-memory-leak-in-driver-unbind.patch | 33 + ...k-Assert-PERST-when-unbinding-driver.patch | 33 + ...able-link-training-when-unbinding-dr.patch | 34 + ...able-common-PHY-when-unbinding-drive.patch | 30 + ...mvebu-a3700-comphy-Rename-HS-SGMMI-t.patch | 67 + ...mvebu-a3700-comphy-Remove-unsupporte.patch | 40 + ...PS-ath79-drop-_machine_restart-again.patch | 49 + ...ext-hwmon-lm70-Add-ti-tmp125-support.patch | 71 + ...ether-export-usbnet_cdc_zte_rx_fixup.patch | 58 + ...e-the-bogus-MAC-fixup-for-ZTE-device.patch | 118 + ...-scope-of-bogus-MAC-address-detectio.patch | 63 + ...88e6xxx-Export-VTU-as-devlink-region.patch | 191 + ...x-Add-helper-to-get-a-chip-s-max_vid.patch | 153 + ...x-Fix-off-by-one-in-VTU-devlink-regi.patch | 30 + target/linux/generic/config-5.10 | 7183 ++ target/linux/generic/config-filter | 15 + .../mtd/partitions/openwrt,uimage.yaml | 91 + .../Documentation/networking/adm6996.txt | 110 + .../files/arch/mips/fw/myloader/Makefile | 5 + .../files/arch/mips/fw/myloader/myloader.c | 63 + .../generic/files/block/partitions/fit.c | 293 + .../files/drivers/leds/leds-ubnt-ledbar.c | 255 + .../files/drivers/mtd/mtdsplit/Kconfig | 103 + .../files/drivers/mtd/mtdsplit/Makefile | 17 + .../files/drivers/mtd/mtdsplit/mtdsplit.c | 130 + .../files/drivers/mtd/mtdsplit/mtdsplit.h | 67 + .../drivers/mtd/mtdsplit/mtdsplit_bcm63xx.c | 186 + .../drivers/mtd/mtdsplit/mtdsplit_bcm_wfi.c | 523 + .../drivers/mtd/mtdsplit/mtdsplit_brnimage.c | 104 + .../mtd/mtdsplit/mtdsplit_cfe_bootfs.c | 90 + .../files/drivers/mtd/mtdsplit/mtdsplit_elf.c | 287 + .../files/drivers/mtd/mtdsplit/mtdsplit_eva.c | 103 + .../files/drivers/mtd/mtdsplit/mtdsplit_fit.c | 362 + .../drivers/mtd/mtdsplit/mtdsplit_jimage.c | 284 + .../drivers/mtd/mtdsplit/mtdsplit_lzma.c | 104 + .../drivers/mtd/mtdsplit/mtdsplit_minor.c | 125 + .../drivers/mtd/mtdsplit/mtdsplit_seama.c | 118 + .../drivers/mtd/mtdsplit/mtdsplit_squashfs.c | 72 + .../drivers/mtd/mtdsplit/mtdsplit_tplink.c | 176 + .../files/drivers/mtd/mtdsplit/mtdsplit_trx.c | 155 + .../drivers/mtd/mtdsplit/mtdsplit_uimage.c | 282 + .../drivers/mtd/mtdsplit/mtdsplit_wrgg.c | 142 + .../generic/files/drivers/mtd/nand/mtk_bmt.c | 465 + .../generic/files/drivers/mtd/nand/mtk_bmt.h | 137 + .../files/drivers/mtd/nand/mtk_bmt_bbt.c | 203 + .../files/drivers/mtd/nand/mtk_bmt_nmbm.c | 2348 + .../files/drivers/mtd/nand/mtk_bmt_v2.c | 513 + .../drivers/mtd/parsers/routerbootpart.c | 365 + .../generic/files/drivers/net/phy/adm6996.c | 1243 + .../generic/files/drivers/net/phy/adm6996.h | 186 + .../generic/files/drivers/net/phy/ar8216.c | 2917 + .../generic/files/drivers/net/phy/ar8216.h | 723 + .../generic/files/drivers/net/phy/ar8327.c | 1550 + .../generic/files/drivers/net/phy/ar8327.h | 333 + .../generic/files/drivers/net/phy/b53/Kconfig | 37 + .../files/drivers/net/phy/b53/Makefile | 10 + .../files/drivers/net/phy/b53/b53_common.c | 1730 + .../files/drivers/net/phy/b53/b53_mdio.c | 436 + .../files/drivers/net/phy/b53/b53_mmap.c | 241 + .../files/drivers/net/phy/b53/b53_phy_fixup.c | 55 + .../files/drivers/net/phy/b53/b53_priv.h | 336 + .../files/drivers/net/phy/b53/b53_regs.h | 348 + .../files/drivers/net/phy/b53/b53_spi.c | 344 + .../files/drivers/net/phy/b53/b53_srab.c | 378 + .../generic/files/drivers/net/phy/ip17xx.c | 1370 + .../generic/files/drivers/net/phy/psb6970.c | 442 + .../generic/files/drivers/net/phy/rtl8306.c | 1063 + .../files/drivers/net/phy/rtl8366_smi.c | 1624 + .../files/drivers/net/phy/rtl8366_smi.h | 160 + .../generic/files/drivers/net/phy/rtl8366rb.c | 1532 + .../generic/files/drivers/net/phy/rtl8366s.c | 1320 + .../generic/files/drivers/net/phy/rtl8367.c | 1846 + .../generic/files/drivers/net/phy/rtl8367b.c | 1673 + .../generic/files/drivers/net/phy/swconfig.c | 1242 + .../files/drivers/net/phy/swconfig_leds.c | 555 + .../files/drivers/platform/mikrotik/Kconfig | 19 + .../files/drivers/platform/mikrotik/Makefile | 4 + .../drivers/platform/mikrotik/rb_hardconfig.c | 825 + .../drivers/platform/mikrotik/rb_softconfig.c | 795 + .../drivers/platform/mikrotik/routerboot.c | 251 + .../drivers/platform/mikrotik/routerboot.h | 37 + .../dt-bindings/mtd/partitions/uimage.h | 198 + .../files/include/linux/ar8216_platform.h | 133 + .../files/include/linux/ath5k_platform.h | 30 + .../files/include/linux/ath9k_platform.h | 58 + .../generic/files/include/linux/mtd/mtk_bmt.h | 18 + .../generic/files/include/linux/myloader.h | 121 + .../linux/platform_data/adm6996-gpio.h | 29 + .../generic/files/include/linux/routerboot.h | 106 + .../files/include/linux/rt2x00_platform.h | 23 + .../generic/files/include/linux/rtl8366.h | 42 + .../generic/files/include/linux/rtl8367.h | 63 + .../generic/files/include/linux/switch.h | 179 + .../generic/files/include/uapi/linux/switch.h | 119 + .../generic/hack-5.10/204-module_strip.patch | 212 + .../generic/hack-5.10/205-kconfig-exit.patch | 11 + .../210-darwin_scripts_include.patch | 3053 + .../211-darwin-uuid-typedef-clash.patch | 22 + .../hack-5.10/212-tools_portability.patch | 110 + .../hack-5.10/214-spidev_h_portability.patch | 24 + .../hack-5.10/220-arm-gc_sections.patch | 123 + .../hack-5.10/221-module_exports.patch | 102 + .../hack-5.10/230-openwrt_lzma_options.patch | 34 + .../hack-5.10/249-udp-tunnel-selection.patch | 11 + .../hack-5.10/250-netfilter_depends.patch | 27 + .../linux/generic/hack-5.10/251-kconfig.patch | 199 + .../generic/hack-5.10/253-ksmbd-config.patch | 22 + .../hack-5.10/259-regmap_dynamic.patch | 135 + .../260-crypto_test_dependencies.patch | 52 + .../hack-5.10/261-lib-arc4-unhide.patch | 15 + .../generic/hack-5.10/280-rfkill-stubs.patch | 84 + ...cache-use-more-efficient-cache-blast.patch | 64 + .../301-mips_image_cmdline_hack.patch | 38 + .../321-powerpc_crtsavres_prereq.patch | 38 + ...don-t-reply-on-mtdblock-device-minor.patch | 85 + ...rans-call-add-disks-after-mtd-device.patch | 98 + .../410-block-fit-partition-parser.patch | 224 + ...upport-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch | 24 + ...-root-on-targets-with-CONFIG_FIT_PAR.patch | 31 + ...ers-add-nvmem-support-to-cmdlinepart.patch | 120 + .../hack-5.10/430-mtk-bmt-support.patch | 23 + .../generic/hack-5.10/531-debloat_lzma.patch | 1040 + .../hack-5.10/600-bridge_offload.patch | 817 + ...lter-connmark-introduce-set-dscpmark.patch | 214 + ...-netfilter-add-xt_FLOWOFFLOAD-target.patch | 874 + .../hack-5.10/651-wireless_mesh_header.patch | 24 + .../hack-5.10/660-fq_codel_defaults.patch | 27 + ...t-size-the-hashtable-more-adequately.patch | 25 + .../700-swconfig_switch_drivers.patch | 129 + .../710-net-dsa-mv88e6xxx-default-VID-1.patch | 18 + ...-dsa-mv88e6xxx-disable-ATU-violation.patch | 12 + .../hack-5.10/720-net-phy-add-aqr-phys.patch | 142 + .../721-net-add-packet-mangeling.patch | 167 + ...hy-aquantia-enable-AQR112-and-AQR412.patch | 154 + ...aquantia-fix-system-side-protocol-mi.patch | 34 + ...y-aquantia-Add-AQR113-driver-support.patch | 43 + ...ntia-add-PHY_IDs-for-AQR112-variants.patch | 63 + ...-r8152-add-LED-configuration-from-OF.patch | 74 + ...et-add-RTL8152-binding-documentation.patch | 54 + .../hack-5.10/773-bgmac-add-srab-switch.patch | 98 + .../780-usb-net-MeigLink_modem_support.patch | 33 + .../800-GPIO-add-named-gpio-exports.patch | 162 + .../hack-5.10/800-ubnt-ledbar-driver.patch | 29 + .../hack-5.10/901-debloat_sock_diag.patch | 162 + .../generic/hack-5.10/902-debloat_proc.patch | 408 + .../hack-5.10/904-debloat_dma_buf.patch | 92 + .../hack-5.10/910-kobject_uevent.patch | 32 + .../911-kobject_add_broadcast_uevent.patch | 76 + .../hack-5.10/920-device_tree_cmdline.patch | 12 + target/linux/generic/image/Makefile | 10 + .../generic/image/initramfs-base-files.txt | 9 + .../linux/generic/image/lzma-loader/Makefile | 46 + .../image/lzma-loader/src/LzmaDecode.c | 590 + .../image/lzma-loader/src/LzmaDecode.h | 131 + .../generic/image/lzma-loader/src/Makefile | 68 + .../image/lzma-loader/src/decompress.c | 157 + .../image/lzma-loader/src/lzma-copy.lds.in | 20 + .../generic/image/lzma-loader/src/lzma.lds.in | 24 + .../generic/image/lzma-loader/src/print.c | 324 + .../generic/image/lzma-loader/src/print.h | 36 + .../generic/image/lzma-loader/src/printf.c | 35 + .../generic/image/lzma-loader/src/printf.h | 18 + .../generic/image/lzma-loader/src/start.S | 160 + .../generic/image/lzma-loader/src/uart16550.c | 86 + .../generic/image/lzma-loader/src/uart16550.h | 47 + target/linux/generic/image/relocate/Makefile | 75 + .../linux/generic/image/relocate/cacheops.h | 85 + .../linux/generic/image/relocate/cp0regdef.h | 39 + target/linux/generic/image/relocate/head.S | 159 + .../linux/generic/image/relocate/loader.lds | 16 + target/linux/generic/other-files/init | 14 + ...terrupt-provider-address-cells-check.patch | 28 + ...include-asm-rwonce.h-for-kernel-code.patch | 29 + ...s-negative-stack-offsets-on-stack-tr.patch | 57 + ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 82 + ...0-add-linux-spidev-compatible-si3210.patch | 18 + ...ame2-and-add-RENAME_WHITEOUT-support.patch | 78 + ...41-jffs2-add-RENAME_EXCHANGE-support.patch | 73 + .../142-jffs2-add-splice-ops.patch | 20 + ...ge_allow_receiption_on_disabled_port.patch | 45 + ...-rs5c372-support_alarms_up_to_1_week.patch | 94 + ...he_alarm_to_be_used_as_wakeup_source.patch | 70 + .../203-kallsyms_uncompressed.patch | 119 + .../205-backtrace_module_info.patch | 41 + ...e-filenames-from-deps_initramfs-list.patch | 30 + ...able_wilink_platform_without_drivers.patch | 20 + .../270-platform-mikrotik-build-bits.patch | 31 + .../300-mips_expose_boot_raw.patch | 40 + ...rriers-between-dcache-icache-flushes.patch | 71 + .../302-mips_no_branch_likely.patch | 22 + .../pending-5.10/305-mips_module_reloc.patch | 371 + .../307-mips_highmem_offset.patch | 19 + .../pending-5.10/308-mips32r2_tune.patch | 22 + ...CPU-option-reporting-to-proc-cpuinfo.patch | 140 + .../310-arm_module_unresolved_weak_sym.patch | 22 + ...t-command-line-parameters-from-users.patch | 281 + .../332-arc-add-OWRTDTB-section.patch | 84 + ...able-unaligned-access-in-kernel-mode.patch | 24 + ...ernel-XZ-compression-option-on-PPC_8.patch | 25 + .../400-mtd-mtdsplit-support.patch | 315 + ...support-for-minor-aligned-partitions.patch | 245 + ...ers-ofpart-fix-parsing-subpartitions.patch | 76 + ...t-add-of_match_table-with-DT-binding.patch | 22 + .../pending-5.10/420-mtd-redboot_space.patch | 41 + ...30-mtd-add-myloader-partition-parser.patch | 229 + ...check-for-bad-blocks-when-calculatin.patch | 68 + ...bcm47xxpart-detect-T_Meter-partition.patch | 37 + ...mtd-add-routerbootpart-parser-config.patch | 38 + ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 25 + ...et_0002-add-buffer-write-cmd-timeout.patch | 17 + ...25p80-mx-disable-software-protection.patch | 18 + ...ort-limiting-4K-sectors-support-base.patch | 71 + .../476-mtd-spi-nor-add-eon-en25q128.patch | 18 + .../477-mtd-spi-nor-add-eon-en25qx128a.patch | 21 + .../479-mtd-spi-nor-add-xtx-xt25f128b.patch | 79 + ...r-add-support-for-Gigadevice-GD25D05.patch | 22 + .../483-mtd-spi-nor-add-gd25q512.patch | 12 + ...spinand-add-support-for-xtx-xt26g0xa.patch | 178 + .../484-mtd-spi-nor-add-esmt-f25l16pa.patch | 11 + .../485-mtd-spi-nor-add-xmc-xm25qh128c.patch | 11 + .../488-mtd-spi-nor-add-xmc-xm25qh64c.patch | 22 + ...mtd-device-named-ubi-or-data-on-boot.patch | 97 + ...to-create-ubiblock-device-for-rootfs.patch | 69 + ...ting-ubi0-rootfs-in-init-do_mounts.c.patch | 53 + ...ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 34 + .../494-mtd-ubi-add-EOF-marker-support.patch | 60 + ...-mtd-core-add-get_mtd_device_by_node.patch | 75 + ...-add-bindings-for-mtd-concat-devices.patch | 52 + ...cat-add-dt-driver-for-concat-devices.patch | 216 + ...i-nor-locking-support-for-MX25L6405D.patch | 34 + ...i-nor-disable-16-bit-sr-for-macronix.patch | 30 + .../500-fs_cdrom_dependencies.patch | 40 + .../530-jffs2_make_lzma_available.patch | 5180 ++ .../pending-5.10/532-jffs2_eofdetect.patch | 65 + .../600-netfilter_conntrack_flush.patch | 88 + ...etfilter_match_bypass_default_checks.patch | 110 + ...netfilter_match_bypass_default_table.patch | 106 + ...netfilter_match_reduce_memory_access.patch | 22 + ...del-do-not-defer-queue-length-update.patch | 86 + .../pending-5.10/630-packet_socket_type.patch | 138 + .../pending-5.10/655-increase_skb_pad.patch | 20 + ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 511 + ...ng-with-source-address-failed-policy.patch | 263 + ...nes-for-_POLICY_FAILED-until-all-cod.patch | 50 + ...T-skip-GRO-for-foreign-MAC-addresses.patch | 149 + ...et-add-mac-address-increment-support.patch | 89 + ...83-of_net-add-mac-address-to-of-tree.patch | 38 + ..._eth_soc-avoid-creating-duplicate-of.patch | 26 + ..._eth_soc-add-support-for-coherent-DM.patch | 327 + ...ek-mt7622-add-support-for-coherent-D.patch | 30 + ..._eth_soc-add-support-for-Wireless-Et.patch | 1679 + ..._eth_soc-implement-flow-offloading-t.patch | 269 + ...ek-mt7622-introduce-nodes-for-Wirele.patch | 62 + ..._eth_soc-add-ipv6-flow-offload-suppo.patch | 79 + ..._eth_soc-support-TC_SETUP_BLOCK-for-.patch | 29 + ..._eth_soc-allocate-struct-mtk_ppe-sep.patch | 159 + ..._eth_soc-rework-hardware-flow-table-.patch | 424 + ..._eth_soc-remove-bridge-flow-offload-.patch | 44 + ..._eth_soc-support-creating-mac-addres.patch | 553 + ...detach-callback-to-struct-phy_driver.patch | 38 + ...ble-fix-excessive-hw-offload-attempt.patch | 27 + ...ow_offload-skip-dst-neigh-lookup-for.patch | 64 + ..._fill_forward_path-with-pppoe-bridge.patch | 66 + ...ow_offload-fix-offload-with-pppoe-vl.patch | 24 + ...a-tag_mtk-add-padding-for-tx-packets.patch | 28 + ...d-knob-for-filtering-rx-tx-BPDU-pack.patch | 177 + ...net-phy-at803x-fix-feature-detection.patch | 66 + ...760-net-dsa-mv88e6xxx-fix-vlan-setup.patch | 27 + ...hdev-Refactor-br_switchdev_fdb_notif.patch | 77 + ...hdev-Include-local-flag-in-FDB-notif.patch | 42 + ...hdev-Send-FDB-notifications-for-host.patch | 96 + ...local-addresses-in-assisted-CPU-port.patch | 36 + ...bridge-addresses-in-assisted-CPU-por.patch | 30 + ...tic-FDB-entries-on-foreign-interface.patch | 56 + ...equest-assisted-learning-on-CPU-port.patch | 27 + ...-missing-linux-if_ether.h-for-ETH_AL.patch | 61 + ...ice-struct-copy-its-DMA-params-to-th.patch | 64 + ...pio-cascade-add-generic-GPIO-cascade.patch | 222 + .../810-pci_disable_common_quirks.patch | 62 + .../811-pci_disable_usb_common_quirks.patch | 115 + ...problem-with-platfom-data-in-w1-gpio.patch | 26 + .../pending-5.10/834-ledtrig-libata.patch | 149 + ...40-hwrng-bcm2835-set-quality-to-1000.patch | 26 + ..._wwan-add-ZTE-MF286D-modem-19d2-1485.patch | 59 + ...lace-custom-PCIE_CORE_INT_-macros-wi.patch | 40 + ...rite-IRQ-code-to-chained-IRQ-handler.patch | 125 + ...ck-return-value-of-generic_handle_do.patch | 31 + ...e-MSI-irq_chip-structures-static-dri.patch | 93 + ...e-msi_domain_info-structure-a-static.patch | 64 + ...-dev_fwnode-instead-of-of_node_to_fw.patch | 40 + ...actor-unmasking-summary-MSI-interrup.patch | 44 + ...d-support-for-masking-MSI-interrupts.patch | 117 + ...PCI-aardvark-Fix-setting-MSI-address.patch | 91 + ...12-PCI-aardvark-Enable-MSI-X-support.patch | 38 + ...-support-for-ERR-interrupt-on-emulat.patch | 100 + ...imize-writing-PCI_EXP_RTCTL_PMEIE-an.patch | 52 + ...dvark-Add-support-for-PME-interrupts.patch | 47 + ...-support-for-PME-requester-on-emulat.patch | 173 + ...-separate-INTA-interrupt-for-emulate.patch | 161 + ...ove-irq_mask_ack-callback-for-INTx-i.patch | 29 + ...aardvark-Don-t-mask-irq-when-mapping.patch | 27 + ...p-__maybe_unused-from-advk_pcie_disa.patch | 28 + ...ate-comment-about-link-going-down-af.patch | 35 + ...e-main-irq_chip-structure-a-static-d.patch | 102 + ...mvebu-a3700-comphy-Remove-port-from-.patch | 217 + ...mvebu-a3700-comphy-Add-native-kernel.patch | 1564 + ...l-armada-37xx-Add-xtal-clock-to-comp.patch | 31 + ...mvebu-Make-SATA-PHY-optional-for-Arm.patch | 61 + ...xhci-mvebu-make-USB-3.0-PHY-optional.patch | 163 + ...ark-Fix-initialization-with-old-Marv.patch | 36 + .../pending-5.10/920-mangle_bootargs.patch | 71 + target/linux/imx/Makefile | 21 + target/linux/imx/base-files/etc/inittab | 4 + target/linux/imx/config-5.10 | 428 + .../base-files/etc/board.d/02_network | 15 + .../base-files/lib/upgrade/platform.sh | 16 + target/linux/imx/cortexa7/config-default | 27 + target/linux/imx/cortexa7/target.mk | 7 + .../base-files/etc/board.d/02_network | 46 + .../linux/imx/cortexa9/base-files/lib/imx.sh | 30 + .../base-files/lib/preinit/79_move_config | 21 + .../base-files/lib/upgrade/platform.sh | 142 + target/linux/imx/cortexa9/config-default | 60 + target/linux/imx/cortexa9/target.mk | 7 + .../files/firmware/imx/sdma/sdma-imx6q.bin | Bin 0 -> 2970 bytes target/linux/imx/image/Makefile | 10 + .../imx/image/bootscript-solidrun_cubox-i | 31 + .../linux/imx/image/bootscript-toradex_apalis | 21 + target/linux/imx/image/bootscript-ventana | 85 + target/linux/imx/image/cortexa7.mk | 10 + target/linux/imx/image/cortexa9.mk | 210 + .../linux/imx/image/recovery-toradex_apalis | 15 + .../linux/imx/patches-5.10/100-bootargs.patch | 11 + ...apalis-ixora-add-status-LEDs-aliases.patch | 96 + ...alis-ixora-make-switch3-reset-button.patch | 86 + target/linux/imx/profiles/100-default.mk | 14 + target/linux/ipq40xx/Makefile | 24 + .../ipq40xx/base-files/etc/board.d/01_leds | 106 + .../ipq40xx/base-files/etc/board.d/02_network | 237 + .../base-files/etc/board.d/03_gpio_switches | 35 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 252 + .../ipq40xx/base-files/etc/init.d/bootcount | 20 + target/linux/ipq40xx/base-files/etc/inittab | 5 + .../etc/uci-defaults/04_led_migration | 25 + .../etc/uci-defaults/05_fix-compat-version | 10 + .../lib/preinit/05_set_iface_mac_ipq40xx.sh | 36 + .../preinit/06_set_preinit_iface_ipq40xx.sh | 23 + .../lib/upgrade/dualboot_datachk.sh | 108 + .../ipq40xx/base-files/lib/upgrade/linksys.sh | 120 + .../ipq40xx/base-files/lib/upgrade/netgear.sh | 76 + .../base-files/lib/upgrade/platform.sh | 210 + target/linux/ipq40xx/config-5.10 | 497 + .../files-5.10/drivers/net/mdio/ar40xx.c | 1893 + .../files-5.10/drivers/net/mdio/ar40xx.h | 342 + .../arch/arm/boot/dts/qcom-ipq4018-a42.dts | 205 + .../arm/boot/dts/qcom-ipq4018-ap120c-ac.dts | 365 + .../arch/arm/boot/dts/qcom-ipq4018-cap-ac.dts | 249 + .../dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts | 276 + .../arm/boot/dts/qcom-ipq4018-dap-2610.dts | 241 + .../arm/boot/dts/qcom-ipq4018-ea6350v3.dts | 291 + .../arm/boot/dts/qcom-ipq4018-eap1300.dts | 250 + .../arm/boot/dts/qcom-ipq4018-ecw5211.dts | 337 + .../arch/arm/boot/dts/qcom-ipq4018-emd1.dts | 233 + .../arm/boot/dts/qcom-ipq4018-emr3500.dts | 235 + .../arm/boot/dts/qcom-ipq4018-ens620ext.dts | 265 + .../arm/boot/dts/qcom-ipq4018-ex6100v2.dts | 31 + .../arm/boot/dts/qcom-ipq4018-ex6150v2.dts | 31 + .../arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi | 339 + .../boot/dts/qcom-ipq4018-fritzbox-4040.dts | 309 + .../arm/boot/dts/qcom-ipq4018-gl-ap1300.dts | 285 + .../arm/boot/dts/qcom-ipq4018-hap-ac2.dts | 272 + .../arm/boot/dts/qcom-ipq4018-jalapeno.dts | 9 + .../arm/boot/dts/qcom-ipq4018-jalapeno.dtsi | 282 + .../dts/qcom-ipq4018-magic-2-wifi-next.dts | 268 + .../boot/dts/qcom-ipq4018-meshpoint-one.dts | 81 + .../arm/boot/dts/qcom-ipq4018-nbg6617.dts | 337 + .../arch/arm/boot/dts/qcom-ipq4018-pa1200.dts | 197 + .../arm/boot/dts/qcom-ipq4018-rt-ac58u.dts | 300 + .../arch/arm/boot/dts/qcom-ipq4018-rutx.dtsi | 251 + .../arch/arm/boot/dts/qcom-ipq4018-rutx10.dts | 26 + .../arm/boot/dts/qcom-ipq4018-sxtsq-5-ac.dts | 241 + .../arch/arm/boot/dts/qcom-ipq4018-wac510.dts | 382 + .../arm/boot/dts/qcom-ipq4018-wre6606.dts | 265 + .../arm/boot/dts/qcom-ipq4018-wrtq-329acn.dts | 293 + .../arch/arm/boot/dts/qcom-ipq4019-a62.dts | 229 + .../arm/boot/dts/qcom-ipq4019-cm520-79f.dts | 379 + .../arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts | 104 + .../arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts | 139 + .../arm/boot/dts/qcom-ipq4019-e2600ac.dtsi | 256 + .../arch/arm/boot/dts/qcom-ipq4019-ea8300.dts | 95 + .../arm/boot/dts/qcom-ipq4019-eap2200.dts | 303 + .../boot/dts/qcom-ipq4019-fritzbox-7530.dts | 306 + .../dts/qcom-ipq4019-fritzrepeater-1200.dts | 273 + .../dts/qcom-ipq4019-fritzrepeater-3000.dts | 269 + .../arm/boot/dts/qcom-ipq4019-gl-b2200.dts | 388 + .../boot/dts/qcom-ipq4019-habanero-dvk.dts | 370 + .../arm/boot/dts/qcom-ipq4019-hap-ac3.dts | 327 + .../arm/boot/dts/qcom-ipq4019-lhgg-60ad.dts | 268 + .../arm/boot/dts/qcom-ipq4019-map-ac2200.dts | 354 + .../arch/arm/boot/dts/qcom-ipq4019-mf286d.dts | 435 + .../arch/arm/boot/dts/qcom-ipq4019-mf289f.dts | 442 + .../arch/arm/boot/dts/qcom-ipq4019-mr8300.dts | 80 + .../arch/arm/boot/dts/qcom-ipq4019-oap100.dts | 354 + .../arch/arm/boot/dts/qcom-ipq4019-orbi.dtsi | 325 + .../arch/arm/boot/dts/qcom-ipq4019-pa2200.dts | 210 + .../arm/boot/dts/qcom-ipq4019-r619ac-128m.dts | 18 + .../arm/boot/dts/qcom-ipq4019-r619ac-64m.dts | 12 + .../arm/boot/dts/qcom-ipq4019-r619ac.dtsi | 364 + .../arch/arm/boot/dts/qcom-ipq4019-rbr50.dts | 30 + .../arch/arm/boot/dts/qcom-ipq4019-rbs50.dts | 30 + .../arm/boot/dts/qcom-ipq4019-rt-ac42u.dts | 309 + .../arm/boot/dts/qcom-ipq4019-rtl30vw.dts | 385 + .../arch/arm/boot/dts/qcom-ipq4019-srr60.dts | 12 + .../arch/arm/boot/dts/qcom-ipq4019-srs60.dts | 12 + .../arm/boot/dts/qcom-ipq4019-u4019-32m.dts | 88 + .../arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi | 228 + .../arch/arm/boot/dts/qcom-ipq4019-wpj419.dts | 400 + .../arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts | 457 + .../arch/arm/boot/dts/qcom-ipq4019-x1pro.dts | 103 + .../arch/arm/boot/dts/qcom-ipq4019-x1pro.dtsi | 228 + .../arm/boot/dts/qcom-ipq4019-xx8300.dtsi | 310 + .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts | 303 + .../arch/arm/boot/dts/qcom-ipq4029-ap-303.dts | 196 + .../arm/boot/dts/qcom-ipq4029-ap-303h.dts | 446 + .../arch/arm/boot/dts/qcom-ipq4029-ap-365.dts | 219 + .../dts/qcom-ipq4029-aruba-glenmorangie.dtsi | 256 + .../arm/boot/dts/qcom-ipq4029-gl-b1300.dts | 295 + .../arm/boot/dts/qcom-ipq4029-gl-s1300.dts | 371 + .../arch/arm/boot/dts/qcom-ipq4029-mr33.dts | 411 + .../net/ethernet/qualcomm/essedma/Makefile | 9 + .../net/ethernet/qualcomm/essedma/edma.c | 2177 + .../net/ethernet/qualcomm/essedma/edma.h | 455 + .../net/ethernet/qualcomm/essedma/edma_axi.c | 1346 + .../ethernet/qualcomm/essedma/edma_ethtool.c | 338 + .../net/ethernet/qualcomm/essedma/ess_edma.h | 389 + .../ipq40xx/files/drivers/net/phy/qca807x.c | 829 + target/linux/ipq40xx/generic/target.mk | 3 + target/linux/ipq40xx/image/Makefile | 17 + target/linux/ipq40xx/image/generic.mk | 1054 + target/linux/ipq40xx/image/mikrotik.mk | 64 + target/linux/ipq40xx/mikrotik/config-default | 5 + target/linux/ipq40xx/mikrotik/target.mk | 4 + ...com-ipq4019-add-USB-devicetree-nodes.patch | 99 + ...ARM-dts-qcom-ipq4019-add-more-labels.patch | 44 + ...com-ipq4019-add-SDHCI-VQMMC-LDO-node.patch | 35 + .../104-clk-fix-apss-cpu-overclocking.patch | 115 + .../300-clk-qcom-ipq4019-add-ess-reset.patch | 52 + ...-compressed-add-appended-DTB-section.patch | 48 + ...d-set-ipq40xx-watchdog-to-allow-boot.patch | 66 + ...msm-use-sdhci_set_clock-instead-of-s.patch | 24 + ...-add-support-for-Toshiba-TC58NVG0S3H.patch | 32 + ...702-dts-ipq4019-add-PHY-switch-nodes.patch | 46 + ...4019-needs-rfs-vlan_tag-callbacks-in.patch | 53 + .../705-net-add-qualcomm-ar40xx-phy.patch | 27 + .../706-dt-bindings-net-add-QCA807x-PHY.patch | 61 + ...7-net-phy-Add-Qualcom-QCA807x-driver.patch | 50 + ...8-arm-dts-ipq4019-QCA807x-properties.patch | 62 + ...add-qualcomm-essedma-ethernet-driver.patch | 37 + ...ts-ipq4019-add-ethernet-essedma-node.patch | 92 + .../850-soc-add-qualcomm-syscon.patch | 180 + .../900-dts-ipq4019-ap-dk01.1.patch | 176 + .../901-arm-boot-add-dts-files.patch | 89 + .../902-dts-ipq4019-ap-dk04.1.patch | 167 + target/linux/ipq806x/Makefile | 26 + .../ipq806x/base-files/etc/board.d/01_leds | 75 + .../ipq806x/base-files/etc/board.d/02_network | 99 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 90 + .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 39 + .../ipq806x/base-files/etc/init.d/bootcount | 29 + .../ipq806x/base-files/etc/init.d/cpufreq | 17 + target/linux/ipq806x/base-files/etc/inittab | 4 + .../etc/uci-defaults/04_led_migration | 7 + .../etc/uci-defaults/05_fix-compat-version | 11 + .../base-files/lib/preinit/04_reorder_eth | 13 + .../lib/preinit/05_set_iface_mac_ipq806x.sh | 14 + .../ipq806x/base-files/lib/upgrade/asrock.sh | 54 + .../ipq806x/base-files/lib/upgrade/buffalo.sh | 44 + .../ipq806x/base-files/lib/upgrade/linksys.sh | 102 + .../base-files/lib/upgrade/platform.sh | 71 + .../ipq806x/base-files/lib/upgrade/zyxel.sh | 124 + .../sbin/asrock_g10_back_to_factory | 15 + target/linux/ipq806x/config-5.10 | 498 + .../arm/boot/dts/qcom-ipq8062-wg2600hp3.dts | 479 + .../files/arch/arm/boot/dts/qcom-ipq8062.dtsi | 98 + .../boot/dts/qcom-ipq8064-ad7200-c2600.dtsi | 403 + .../arch/arm/boot/dts/qcom-ipq8064-ad7200.dts | 135 + .../arch/arm/boot/dts/qcom-ipq8064-ap148.dts | 121 + .../arch/arm/boot/dts/qcom-ipq8064-ap161.dts | 159 + .../arch/arm/boot/dts/qcom-ipq8064-c2600.dts | 119 + .../arch/arm/boot/dts/qcom-ipq8064-d7800.dts | 412 + .../arch/arm/boot/dts/qcom-ipq8064-db149.dts | 163 + .../arm/boot/dts/qcom-ipq8064-ea7500-v1.dts | 105 + .../arch/arm/boot/dts/qcom-ipq8064-ea8500.dts | 126 + .../arm/boot/dts/qcom-ipq8064-eax500.dtsi | 233 + .../arch/arm/boot/dts/qcom-ipq8064-g10.dts | 308 + .../arch/arm/boot/dts/qcom-ipq8064-r7500.dts | 342 + .../arm/boot/dts/qcom-ipq8064-r7500v2.dts | 402 + .../arm/boot/dts/qcom-ipq8064-unifi-ac-hd.dts | 317 + .../arch/arm/boot/dts/qcom-ipq8064-v2.0.dtsi | 69 + .../arm/boot/dts/qcom-ipq8064-vr2600v.dts | 408 + .../arm/boot/dts/qcom-ipq8064-wg2600hp.dts | 447 + .../arch/arm/boot/dts/qcom-ipq8064-wpq864.dts | 465 + .../arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts | 526 + .../arm/boot/dts/qcom-ipq8065-nbg6817.dts | 330 + .../arm/boot/dts/qcom-ipq8065-nighthawk.dtsi | 465 + .../arch/arm/boot/dts/qcom-ipq8065-r7800.dts | 48 + .../boot/dts/qcom-ipq8065-rt4230w-rev6.dts | 345 + .../arm/boot/dts/qcom-ipq8065-tr4400-v2.dts | 425 + .../arch/arm/boot/dts/qcom-ipq8065-xr500.dts | 50 + .../files/arch/arm/boot/dts/qcom-ipq8065.dtsi | 173 + .../boot/dts/qcom-ipq8068-cryptid-common.dtsi | 239 + .../arm/boot/dts/qcom-ipq8068-ecw5410.dts | 332 + .../arch/arm/boot/dts/qcom-ipq8068-mr42.dts | 204 + .../arch/arm/boot/dts/qcom-ipq8068-mr52.dts | 230 + .../linux/regulator/nss-volt-ipq806x.h | 24 + target/linux/ipq806x/generic/target.mk | 1 + target/linux/ipq806x/image/Makefile | 44 + target/linux/ipq806x/image/generic.mk | 476 + target/linux/ipq806x/modules.mk | 16 + ...ings-qcom_adm-Fix-channel-specifiers.patch | 71 + ...ically-select-PCI_DOMAINS-if-PCI-is-.patch | 29 + ...arch-arm-force-ZRELADDR-on-arch-qcom.patch | 62 + .../0065-arm-override-compiler-flags.patch | 21 + ...Mangle-bootloader-s-kernel-arguments.patch | 210 + .../0069-arm-boot-add-dts-files.patch | 43 + .../0072-add-ipq806x-with-no-clocks.patch | 10 + .../082-ipq8064-dtsi-tweaks.patch | 220 + .../083-ipq8064-dtsi-additions.patch | 846 + .../084-ipq8064-v1.0-dtsi-cleanup.patch | 89 + .../085-ipq8064-v1.0-dtsi-additions.patch | 14 + .../086-ipq8064-fix-duplicate-node.patch | 145 + ...qcom-cpufreq-nvmem-support-specific-.patch | 51 + ...7-1-ipq806x-gcc-add-missing-clk-flag.patch | 99 + .../097-2-ipq806x-lcc-add-missing-reset.patch | 59 + ...com-krait-add-missing-enable-disable.patch | 57 + ...missing-clk-and-reset-for-crypto-eng.patch | 372 + ...q-add-Krait-dedicated-scaling-driver.patch | 687 + ...ufreq-add-qcom-krait-cpufreq-binding.patch | 237 + ...add-fab-scaling-support-with-cpufreq.patch | 243 + ...m_nandc-add-boot_layout_mode-support.patch | 239 + ...vicetree-mtd-qcom_nandc-document-qco.patch | 42 + ...-v5.11-dmaengine-qcom-add_ADM_driver.patch | 965 + ....12-mtd-parsers-Add-Qcom-SMEM-parser.patch | 217 + ...-dwmac-ipq806x-qsgmii-pcs-all-ch-ctl.patch | 83 + ...conflicts-with-OpenWrt-auto-mounting.patch | 24 + ...M-dts-qcom-reduce-pci-IO-size-to-64K.patch | 46 + ...hermal-tsens-Add-VER_0-tsens-version.patch | 285 + ...al-tsens-Don-t-hardcode-sensor-slope.patch | 28 + ...l-tsens-Convert-msm8960-to-reg_field.patch | 119 + ...al-tsens-Use-init_common-for-msm8960.patch | 81 + ...tsens-Fix-bug-in-sensor-enable-for-m.patch | 66 + ...tsens-Replace-custom-8960-apis-with-.patch | 109 + ...tsens-Drop-unused-define-for-msm8960.patch | 65 + ...-tsens-Add-support-for-ipq8064-tsens.patch | 26 + ...rmal-tsens-Document-ipq8064-bindings.patch | 112 + ...al-tsens-Fix-wrong-slope-on-msm-8960.patch | 32 + ...ns-init-debugfs-only-with-successful.patch | 41 + ...tsens-simplify-debugfs-init-function.patch | 54 + ...c-explicitly-deassert-gmac-ahb-reset.patch | 75 + ...s-qcom-add-ahb-reset-to-ipq806x-gmac.patch | 64 + .../850-soc-add-qualcomm-syscon.patch | 121 + .../900-arm-add-cmdline-override.patch | 37 + ...s-in-dts-files-for-NSS-support.patch.patch | 99 + ...entries-in-dts-files-for-NSS-support.patch | 148 + .../999-00-Regulator-Add-NSS-VOLT.patch | 212 + ...00a-qca-nss-add-chain-events-support.patch | 196 + ...apping-remove-dmac_clean_range-and-d.patch | 144 + .../999-01a-nss_sfe-support.patch | 10 + .../999-01a-qca-nss-ecm-support-CORE.patch | 742 + .../999-02-nss-core-and-crypto-clocks.patch | 210 + ...999-03-qca-nss-pppoe-offload-support.patch | 588 + .../999-04-qca-nss-cfi-support.patch | 855 + ...99-07b-qca-nss-clients-qdisc-support.patch | 1221 + .../patches-5.10/999-09-of-net-return.patch | 52 + target/linux/kirkwood/Makefile | 21 + .../kirkwood/base-files/etc/board.d/01_leds | 23 + .../base-files/etc/board.d/02_network | 85 + .../base-files/etc/board.d/03_gpio_switches | 17 + .../base-files/etc/board.d/05_compat-version | 20 + .../kirkwood/base-files/etc/init.d/bootcount | 13 + .../base-files/etc/init.d/hwmon_fancontrol | 59 + .../base-files/lib/preinit/07_set_iface_mac | 37 + .../base-files/lib/upgrade/linksys.sh | 76 + .../base-files/lib/upgrade/platform.sh | 49 + .../sbin/ctera_c200-v1_back_to_factory | 28 + target/linux/kirkwood/config-5.10 | 294 + .../arm/boot/dts/kirkwood-4i-edge-200.dts | 219 + .../arch/arm/boot/dts/kirkwood-c200-v1.dts | 303 + .../arch/arm/boot/dts/kirkwood-e4200-v2.dts | 8 + .../arch/arm/boot/dts/kirkwood-ea3500.dts | 242 + .../arch/arm/boot/dts/kirkwood-ea4500.dts | 8 + .../arch/arm/boot/dts/kirkwood-goflexhome.dts | 135 + .../files/arch/arm/boot/dts/kirkwood-nas1.dts | 231 + .../arch/arm/boot/dts/kirkwood-nsa310b.dts | 144 + .../arch/arm/boot/dts/kirkwood-nsa310s.dts | 271 + .../arch/arm/boot/dts/kirkwood-on100.dts | 165 + target/linux/kirkwood/image/Makefile | 323 + target/linux/kirkwood/modules.mk | 30 + .../kirkwood/patches-5.10/100-ib62x0.patch | 53 + .../kirkwood/patches-5.10/101-iconnect.patch | 80 + .../kirkwood/patches-5.10/102-dockstar.patch | 62 + .../patches-5.10/103-iomega-ix2-200.patch | 67 + .../patches-5.10/105-linksys-viper-dts.patch | 59 + .../kirkwood/patches-5.10/106-goflexnet.patch | 53 + ...-zyxel-nsa3x0-common-nand-partitions.patch | 48 + .../kirkwood/patches-5.10/107-03-nsa325.patch | 54 + .../patches-5.10/109-pogoplug_v4.patch | 87 + .../kirkwood/patches-5.10/110-pogo_e02.patch | 68 + .../kirkwood/patches-5.10/111-l-50.patch | 47 + .../patches-5.10/112-sheevaplug.patch | 47 + .../patches-5.10/113-readynas_duo_v2.patch | 76 + ...able-sata-port-specific-led-triggers.patch | 10 + .../202-linksys-find-active-root.patch | 62 + .../patches-5.10/203-blackarmor-nas220.patch | 99 + ...station-poweroff-prepare-for-new-dev.patch | 101 + ...-linkstation-poweroff-add-new-device.patch | 97 + target/linux/lantiq/Makefile | 21 + .../lantiq/ase/base-files/etc/board.d/01_leds | 31 + .../ase/base-files/etc/board.d/02_network | 55 + .../etc/uci-defaults/01_led_migration | 11 + .../lib/preinit/05_set_preinit_iface_lantiq | 5 + .../ase/base-files/lib/upgrade/platform.sh | 10 + target/linux/lantiq/ase/config-5.10 | 25 + .../linux/lantiq/ase/profiles/00-default.mk | 9 + target/linux/lantiq/ase/target.mk | 18 + target/linux/lantiq/base-files/etc/inittab | 3 + .../etc/uci-defaults/02_migrate_xdsl_iface | 64 + .../lantiq/base-files/lib/functions/lantiq.sh | 18 + target/linux/lantiq/config-5.10 | 226 + .../falcon/base-files/etc/board.d/02_network | 51 + .../etc/uci-defaults/01_led_migration | 19 + .../falcon/base-files/lib/upgrade/platform.sh | 10 + target/linux/lantiq/falcon/config-5.10 | 9 + .../lantiq/falcon/profiles/00-default.mk | 9 + target/linux/lantiq/falcon/target.mk | 12 + .../arch/mips/boot/dts/lantiq/amazonse.dtsi | 247 + .../dts/lantiq/amazonse_allnet_all0333cj.dts | 109 + .../dts/lantiq/amazonse_netgear_dgn1000b.dts | 151 + .../files/arch/mips/boot/dts/lantiq/ar9.dtsi | 424 + .../boot/dts/lantiq/ar9_avm_fritz7312.dts | 183 + .../boot/dts/lantiq/ar9_avm_fritz7320.dts | 210 + .../boot/dts/lantiq/ar9_bt_homehub-v3a.dts | 191 + .../dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts | 206 + .../boot/dts/lantiq/ar9_netgear_dgn3500.dts | 6 + .../boot/dts/lantiq/ar9_netgear_dgn3500.dtsi | 185 + .../boot/dts/lantiq/ar9_netgear_dgn3500b.dts | 6 + .../mips/boot/dts/lantiq/ar9_zte_h201l.dts | 170 + .../boot/dts/lantiq/ar9_zyxel_p-2601hn.dts | 176 + .../arch/mips/boot/dts/lantiq/danube.dtsi | 337 + .../dts/lantiq/danube_arcadyan_arv4510pw.dts | 212 + .../lantiq/danube_arcadyan_arv4518pwr01.dts | 6 + .../lantiq/danube_arcadyan_arv4518pwr01.dtsi | 211 + .../lantiq/danube_arcadyan_arv4518pwr01a.dts | 10 + .../dts/lantiq/danube_arcadyan_arv4519pw.dts | 214 + .../dts/lantiq/danube_arcadyan_arv4520pw.dts | 231 + .../dts/lantiq/danube_arcadyan_arv4525pw.dts | 160 + .../dts/lantiq/danube_arcadyan_arv452cqw.dts | 249 + .../lantiq/danube_arcadyan_arv7506pw11.dts | 172 + .../lantiq/danube_arcadyan_arv7510pw22.dts | 207 + .../dts/lantiq/danube_arcadyan_arv7518pw.dts | 243 + .../dts/lantiq/danube_arcadyan_arv7519pw.dts | 226 + .../dts/lantiq/danube_arcadyan_arv7525pw.dts | 158 + .../dts/lantiq/danube_arcadyan_arv752dpw.dts | 253 + .../lantiq/danube_arcadyan_arv752dpw22.dts | 297 + .../lantiq/danube_arcadyan_arv8539pw22.dts | 191 + .../dts/lantiq/danube_audiocodes_mp-252.dts | 110 + .../boot/dts/lantiq/danube_bt_homehub-v2b.dts | 238 + .../dts/lantiq/danube_lantiq_easy50712.dts | 70 + .../lantiq/danube_siemens_gigaset-sx76x.dts | 117 + .../arch/mips/boot/dts/lantiq/falcon.dtsi | 365 + .../dts/lantiq/falcon_lantiq_easy88388.dts | 92 + .../dts/lantiq/falcon_lantiq_easy88444.dts | 71 + .../lantiq/falcon_lantiq_easy98000-nand.dts | 36 + .../lantiq/falcon_lantiq_easy98000-nor.dts | 39 + .../lantiq/falcon_lantiq_easy98000-sflash.dts | 12 + .../dts/lantiq/falcon_lantiq_easy98000.dtsi | 110 + .../lantiq/falcon_lantiq_easy98020-v18.dts | 66 + .../dts/lantiq/falcon_lantiq_easy98020.dts | 83 + .../dts/lantiq/falcon_lantiq_easy98021.dts | 79 + .../lantiq/falcon_lantiq_easy98035synce.dts | 74 + .../falcon_lantiq_easy98035synce1588.dts | 74 + .../dts/lantiq/falcon_lantiq_falcon-mdu.dts | 51 + .../dts/lantiq/falcon_lantiq_falcon-sfp.dts | 74 + .../boot/dts/lantiq/falcon_sflash-16m.dtsi | 40 + .../files/arch/mips/boot/dts/lantiq/vr9.dtsi | 564 + .../dts/lantiq/vr9_alphanetworks_asl56026.dts | 139 + .../dts/lantiq/vr9_arcadyan_arv7519rw22.dts | 246 + .../boot/dts/lantiq/vr9_arcadyan_vg3503j.dts | 130 + .../lantiq/vr9_arcadyan_vgv7510kw22-brn.dts | 63 + .../lantiq/vr9_arcadyan_vgv7510kw22-nor.dts | 29 + .../dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi | 258 + .../dts/lantiq/vr9_arcadyan_vgv7519-brn.dts | 68 + .../dts/lantiq/vr9_arcadyan_vgv7519-nor.dts | 27 + .../boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi | 292 + .../lantiq/vr9_avm_fritz3370-rev2-hynix.dts | 37 + .../lantiq/vr9_avm_fritz3370-rev2-micron.dts | 35 + .../dts/lantiq/vr9_avm_fritz3370-rev2.dtsi | 268 + .../boot/dts/lantiq/vr9_avm_fritz3390.dts | 297 + .../boot/dts/lantiq/vr9_avm_fritz7360-v2.dts | 89 + .../boot/dts/lantiq/vr9_avm_fritz7360sl.dts | 90 + .../boot/dts/lantiq/vr9_avm_fritz7362sl.dts | 128 + .../boot/dts/lantiq/vr9_avm_fritz736x.dtsi | 176 + .../boot/dts/lantiq/vr9_avm_fritz7412.dts | 199 + .../boot/dts/lantiq/vr9_avm_fritz7430.dts | 253 + .../boot/dts/lantiq/vr9_bt_homehub-v5a.dts | 270 + .../dts/lantiq/vr9_buffalo_wbmr-300hpd.dts | 294 + .../dts/lantiq/vr9_lantiq_easy80920-nand.dts | 65 + .../dts/lantiq/vr9_lantiq_easy80920-nor.dts | 35 + .../boot/dts/lantiq/vr9_lantiq_easy80920.dtsi | 259 + .../boot/dts/lantiq/vr9_netgear_dm200.dts | 170 + .../boot/dts/lantiq/vr9_tplink_tdw8970.dts | 6 + .../boot/dts/lantiq/vr9_tplink_tdw8980.dts | 31 + .../boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi | 280 + .../mips/boot/dts/lantiq/vr9_tplink_vr200.dts | 25 + .../boot/dts/lantiq/vr9_tplink_vr200.dtsi | 291 + .../boot/dts/lantiq/vr9_tplink_vr200v.dts | 32 + .../dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts | 70 + .../dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts | 65 + .../dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi | 237 + .../firmware/lantiq/xrx200_phy11g_a14.bin | Bin 0 -> 65536 bytes .../firmware/lantiq/xrx200_phy11g_a22.bin | Bin 0 -> 65536 bytes .../firmware/lantiq/xrx200_phy22f_a14.bin | Bin 0 -> 65536 bytes .../firmware/lantiq/xrx200_phy22f_a22.bin | Bin 0 -> 65536 bytes target/linux/lantiq/image/Makefile | 176 + target/linux/lantiq/image/amazonse.mk | 22 + target/linux/lantiq/image/ar9.mk | 171 + target/linux/lantiq/image/danube.mk | 223 + target/linux/lantiq/image/eva.dummy.squashfs | Bin 0 -> 256 bytes target/linux/lantiq/image/falcon.mk | 95 + .../linux/lantiq/image/lzma-loader/Makefile | 72 + .../lantiq/image/lzma-loader/src/LzmaDecode.c | 584 + .../lantiq/image/lzma-loader/src/LzmaDecode.h | 113 + .../lantiq/image/lzma-loader/src/LzmaTypes.h | 45 + .../lantiq/image/lzma-loader/src/Makefile | 125 + .../image/lzma-loader/src/board-lantiq.c | 33 + .../lantiq/image/lzma-loader/src/cache.c | 43 + .../lantiq/image/lzma-loader/src/cache.h | 17 + .../lantiq/image/lzma-loader/src/cacheops.h | 85 + .../lantiq/image/lzma-loader/src/config.h | 27 + .../lantiq/image/lzma-loader/src/cp0regdef.h | 39 + .../linux/lantiq/image/lzma-loader/src/head.S | 134 + .../lantiq/image/lzma-loader/src/lantiq.mk | 1 + .../lantiq/image/lzma-loader/src/loader.c | 266 + .../lantiq/image/lzma-loader/src/loader.lds | 34 + .../lantiq/image/lzma-loader/src/loader2.lds | 10 + .../image/lzma-loader/src/lzma-data.lds | 8 + .../lantiq/image/lzma-loader/src/printf.c | 350 + .../lantiq/image/lzma-loader/src/printf.h | 18 + target/linux/lantiq/image/tp-link.mk | 74 + target/linux/lantiq/image/ubinize-overlay.cfg | 23 + target/linux/lantiq/image/ubinize.cfg | 14 + target/linux/lantiq/image/vr9.mk | 290 + target/linux/lantiq/image/xway_legacy.mk | 77 + target/linux/lantiq/modules.mk | 19 + .../0001-MIPS-lantiq-add-pcie-driver.patch | 5507 ++ .../0004-MIPS-lantiq-add-atm-hack.patch | 482 + ...-MIPS-lantiq-backport-old-timer-code.patch | 1035 + .../0018-MTD-nand-lots-of-xrx200-fixes.patch | 121 + ...antiq-handle-NO_XIP-on-cfi0001-flash.patch | 25 + ...T-PHY-add-led-support-for-intel-xway.patch | 294 + .../0028-NET-lantiq-various-etop-fixes.patch | 864 + ...PS-lantiq-add-FALC-ON-i2c-bus-master.patch | 1034 + ...iq-wifi-and-ethernet-eeprom-handling.patch | 218 + ...42-arch-mips-increase-io_space_limit.patch | 24 + ...e-lantiq-settings-match-vendor-drive.patch | 78 + ...PS-lantiq-improve-USB-initialization.patch | 49 + .../patches-5.10/0101-find_active_root.patch | 93 + .../0151-lantiq-ifxmips_pcie-use-of.patch | 387 + .../lantiq/patches-5.10/0152-lantiq-VPE.patch | 172 + .../0154-lantiq-pci-bar11mask-fix.patch | 22 + .../patches-5.10/0155-lantiq-VPE-nosmp.patch | 14 + .../0160-owrt-lantiq-multiple-flash.patch | 220 + ...-cmdset-0001-disable-buffered-writes.patch | 11 + ...add-gphy-clk-src-device-tree-binding.patch | 30 + ...make-the-burst-length-configurable-b.patch | 86 + ...le-all-hardware-interrupts-on-second.patch | 87 + ...y-don-t-yield-while-holding-spinlock.patch | 38 + .../0701-NET-lantiq-etop-of-mido.patch | 37 + ...-lantiq-add-support-for-jumbo-frames.patch | 145 + ...q_xrx200-increase-buffer-reservation.patch | 122 + ...iq_xrx200-add-ingress-SG-DMA-support.patch | 104 + ...llow-to-use-all-GPHYs-on-xRX300-and-.patch | 275 + ...-lantiq-enable-jumbo-frames-on-GSWIP.patch | 127 + ...gure-the-burst-length-in-ethernet-dr.patch | 126 + ...x200-Hardcode-the-burst-length-value.patch | 73 + ...et-lantiq_etop-Fix-compilation-error.patch | 26 + ...-lantiq-dma-increase-descritor-count.patch | 28 + ...tiq_xrx200-increase-napi-poll-weigth.patch | 32 + ...t-lantiq_xrx200-convert-to-build_skb.patch | 206 + ...lantiq_xrx200-fix-use-after-free-bug.patch | 30 + ...0-confirm-skb-is-allocated-before-us.patch | 33 + ...rx200-fix-lock-under-memory-pressure.patch | 33 + ...0-restore-buffer-if-memory-allocatio.patch | 27 + .../xrx200/base-files/etc/board.d/01_leds | 64 + .../xrx200/base-files/etc/board.d/02_network | 160 + .../base-files/etc/board.d/05_compat-version | 18 + .../etc/hotplug.d/firmware/11-ath10k-caldata | 20 + .../etc/hotplug.d/firmware/12-ath9k-eeprom | 44 + .../etc/uci-defaults/01_led_migration | 34 + .../xrx200/base-files/lib/upgrade/platform.sh | 27 + target/linux/lantiq/xrx200/config-5.10 | 93 + .../lantiq/xrx200/profiles/00-default.mk | 9 + target/linux/lantiq/xrx200/target.mk | 22 + .../xway/base-files/etc/board.d/01_leds | 43 + .../xway/base-files/etc/board.d/02_network | 118 + .../etc/hotplug.d/firmware/12-ath9k-eeprom | 56 + .../etc/uci-defaults/01_led_migration | 38 + .../lib/preinit/05_set_preinit_iface_lantiq | 5 + .../xway/base-files/lib/upgrade/platform.sh | 20 + target/linux/lantiq/xway/config-5.10 | 46 + .../linux/lantiq/xway/profiles/00-default.mk | 9 + target/linux/lantiq/xway/target.mk | 11 + .../base-files/etc/board.d/01_leds | 40 + .../base-files/etc/board.d/02_network | 60 + .../etc/uci-defaults/01_led_migration | 30 + .../lib/preinit/05_set_preinit_iface_lantiq | 5 + .../base-files/lib/upgrade/platform.sh | 10 + target/linux/lantiq/xway_legacy/config-5.10 | 33 + .../lantiq/xway_legacy/profiles/00-default.mk | 9 + target/linux/lantiq/xway_legacy/target.mk | 11 + target/linux/layerscape/Makefile | 23 + target/linux/layerscape/README | 212 + target/linux/layerscape/armv7/config-5.10 | 676 + target/linux/layerscape/armv7/target.mk | 13 + target/linux/layerscape/armv8_64b/config-5.10 | 860 + target/linux/layerscape/armv8_64b/target.mk | 11 + .../layerscape/base-files/etc/board.d/01_led | 24 + .../base-files/etc/board.d/02_network | 20 + .../base-files/etc/board.d/03_gpio_switches | 27 + .../etc/uci-defaults/05_fix-compat-version | 25 + .../base-files/lib/preinit/02_sysinfo_fixup | 13 + .../lib/preinit/05_layerscape_reorder_eth | 26 + .../base-files/lib/preinit/79_move_config | 27 + .../base-files/lib/upgrade/platform.sh | 157 + .../boot/dts/freescale/traverse-ls1043s.dts | 332 + .../boot/dts/freescale/traverse-ls1043v.dts | 253 + target/linux/layerscape/image/Makefile | 80 + target/linux/layerscape/image/armv7.mk | 78 + target/linux/layerscape/image/armv8_64b.mk | 435 + .../layerscape/image/gen_sdcard_head_img.sh | 21 + .../layerscape/image/mkits-multiple-config.sh | 600 + target/linux/layerscape/modules.mk | 35 + ...0-add-DTS-for-Traverse-LS1043-Boards.patch | 26 + ...s1021a-Add-LS1021A-IOT-board-support.patch | 291 + ...dts-ls1012a-update-with-ppfe-support.patch | 295 + ...a-frdm-workaround-by-updating-qspi-f.patch | 41 + ...a-rdb-workaround-by-updating-qspi-fl.patch | 29 + ...a-rdb-Update-qspi-spi-rx-bus-width-t.patch | 34 + ...nor-Use-1-bit-mode-of-spansion-s25fs.patch | 26 + .../701-staging-add-fsl_ppfe-driver.patch | 12036 +++ ...02-phy-Add-2.5G-SGMII-interface-mode.patch | 32 + target/linux/malta/Makefile | 19 + target/linux/malta/README | 19 + .../malta/base-files/etc/board.d/00_model | 12 + target/linux/malta/base-files/etc/inittab | 7 + target/linux/malta/be/config-default | 4 + target/linux/malta/be/target.mk | 9 + target/linux/malta/be64/config-default | 9 + target/linux/malta/be64/target.mk | 10 + target/linux/malta/config-5.10 | 276 + target/linux/malta/image/Makefile | 52 + target/linux/malta/le/config-default | 3 + target/linux/malta/le/target.mk | 10 + target/linux/malta/le64/config-default | 8 + target/linux/malta/le64/target.mk | 10 + target/linux/mediatek/Makefile | 17 + .../base-files/etc/hotplug.d/iface/99-mtk-lro | 14 + target/linux/mediatek/base-files/etc/inittab | 3 + .../uci-defaults/99_fwenv-store-ethaddr.sh | 14 + .../lib/preinit/05_set_preinit_iface | 15 + .../lib/preinit/06_set_rps_sock_flow | 6 + .../dts/mt7622-buffalo-wsr-2533dhp2.dts | 350 + .../dts/mt7622-elecom-wrc-2533gent.dts | 596 + .../mediatek/dts/mt7622-linksys-e8450-ubi.dts | 77 + .../mediatek/dts/mt7622-linksys-e8450.dts | 122 + .../mediatek/dts/mt7622-linksys-e8450.dtsi | 394 + target/linux/mediatek/dts/mt7622-rfb1-ubi.dts | 56 + .../dts/mt7622-ruijie-rg-ew3200gx-pro.dts | 327 + .../mediatek/dts/mt7622-totolink-a8000ru.dts | 329 + .../mt7622-ubnt-unifi-6-lr-v1-ubootmod.dts | 84 + .../dts/mt7622-ubnt-unifi-6-lr-v1.dts | 100 + .../dts/mt7622-ubnt-unifi-6-lr-v1.dtsi | 28 + .../mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts | 84 + .../dts/mt7622-ubnt-unifi-6-lr-v2.dts | 100 + .../dts/mt7622-ubnt-unifi-6-lr-v2.dtsi | 24 + .../mediatek/dts/mt7622-ubnt-unifi-6-lr.dtsi | 230 + .../dts/mt7622-xiaomi-redmi-router-ax6s.dts | 355 + .../mt7623a-unielec-u7623-02-emmc-512m.dts | 21 + .../mediatek/dts/mt7623a-unielec-u7623-02.dts | 12 + .../dts/mt7623a-unielec-u7623-02.dtsi | 356 + .../files-5.10/drivers/mtd/mtk-snand/Kconfig | 13 + .../files-5.10/drivers/mtd/mtk-snand/Makefile | 10 + .../drivers/mtd/mtk-snand/mtk-snand-def.h | 268 + .../drivers/mtd/mtk-snand/mtk-snand-ecc.c | 379 + .../drivers/mtd/mtk-snand/mtk-snand-ids.c | 515 + .../drivers/mtd/mtk-snand/mtk-snand-mtd.c | 681 + .../drivers/mtd/mtk-snand/mtk-snand-os.c | 48 + .../drivers/mtd/mtk-snand/mtk-snand-os.h | 127 + .../drivers/mtd/mtk-snand/mtk-snand.c | 1862 + .../drivers/mtd/mtk-snand/mtk-snand.h | 76 + .../drivers/net/phy/mtk/mt753x/Kconfig | 3 + .../drivers/net/phy/mtk/mt753x/Makefile | 11 + .../drivers/net/phy/mtk/mt753x/mt7530.c | 631 + .../drivers/net/phy/mtk/mt753x/mt7530.h | 13 + .../drivers/net/phy/mtk/mt753x/mt7531.c | 918 + .../drivers/net/phy/mtk/mt753x/mt7531.h | 13 + .../drivers/net/phy/mtk/mt753x/mt753x.h | 213 + .../net/phy/mtk/mt753x/mt753x_common.c | 90 + .../drivers/net/phy/mtk/mt753x/mt753x_mdio.c | 597 + .../drivers/net/phy/mtk/mt753x/mt753x_nl.c | 382 + .../drivers/net/phy/mtk/mt753x/mt753x_nl.h | 43 + .../drivers/net/phy/mtk/mt753x/mt753x_regs.h | 294 + .../net/phy/mtk/mt753x/mt753x_swconfig.c | 510 + .../net/phy/mtk/mt753x/mt753x_swconfig.h | 29 + .../drivers/net/phy/mtk/mt753x/mt753x_vlan.c | 183 + .../drivers/net/phy/mtk/mt753x/mt753x_vlan.h | 40 + .../files-5.10/drivers/net/phy/rtk/Makefile | 66 + .../drivers/net/phy/rtk/modules.builtin | 1 + .../drivers/net/phy/rtk/rtl8367c/acl.c | 2061 + .../drivers/net/phy/rtk/rtl8367c/cpu.c | 537 + .../drivers/net/phy/rtk/rtl8367c/dot1x.c | 843 + .../drivers/net/phy/rtk/rtl8367c/eee.c | 162 + .../drivers/net/phy/rtk/rtl8367c/i2c.c | 436 + .../drivers/net/phy/rtk/rtl8367c/igmp.c | 1555 + .../net/phy/rtk/rtl8367c/include/acl.h | 990 + .../net/phy/rtk/rtl8367c/include/cpu.h | 327 + .../net/phy/rtk/rtl8367c/include/dot1x.h | 470 + .../net/phy/rtk/rtl8367c/include/eee.h | 82 + .../net/phy/rtk/rtl8367c/include/i2c.h | 168 + .../net/phy/rtk/rtl8367c/include/igmp.h | 769 + .../net/phy/rtk/rtl8367c/include/interrupt.h | 254 + .../drivers/net/phy/rtk/rtl8367c/include/l2.h | 1181 + .../net/phy/rtk/rtl8367c/include/leaky.h | 371 + .../net/phy/rtk/rtl8367c/include/led.h | 481 + .../net/phy/rtk/rtl8367c/include/mirror.h | 272 + .../net/phy/rtk/rtl8367c/include/oam.h | 188 + .../net/phy/rtk/rtl8367c/include/port.h | 959 + .../net/phy/rtk/rtl8367c/include/ptp.h | 511 + .../net/phy/rtk/rtl8367c/include/qos.h | 781 + .../net/phy/rtk/rtl8367c/include/rate.h | 305 + .../net/phy/rtk/rtl8367c/include/rldp.h | 264 + .../net/phy/rtk/rtl8367c/include/rtk_error.h | 229 + .../net/phy/rtk/rtl8367c/include/rtk_hal.h | 44 + .../net/phy/rtk/rtl8367c/include/rtk_switch.h | 737 + .../net/phy/rtk/rtl8367c/include/rtk_types.h | 155 + .../rtk/rtl8367c/include/rtl8367c_asicdrv.h | 129 + .../rtl8367c/include/rtl8367c_asicdrv_acl.h | 231 + .../include/rtl8367c_asicdrv_cputag.h | 49 + .../rtl8367c/include/rtl8367c_asicdrv_dot1x.h | 52 + .../rtl8367c/include/rtl8367c_asicdrv_eav.h | 109 + .../rtl8367c/include/rtl8367c_asicdrv_eee.h | 31 + .../rtl8367c/include/rtl8367c_asicdrv_fc.h | 99 + .../rtl8367c/include/rtl8367c_asicdrv_green.h | 36 + .../rtl8367c/include/rtl8367c_asicdrv_hsb.h | 43 + .../rtl8367c/include/rtl8367c_asicdrv_i2c.h | 47 + .../rtl8367c/include/rtl8367c_asicdrv_igmp.h | 169 + .../include/rtl8367c_asicdrv_inbwctrl.h | 30 + .../include/rtl8367c_asicdrv_interrupt.h | 66 + .../rtl8367c/include/rtl8367c_asicdrv_led.h | 138 + .../rtl8367c/include/rtl8367c_asicdrv_lut.h | 159 + .../rtl8367c/include/rtl8367c_asicdrv_meter.h | 34 + .../rtl8367c/include/rtl8367c_asicdrv_mib.h | 133 + .../include/rtl8367c_asicdrv_mirror.h | 49 + .../rtl8367c/include/rtl8367c_asicdrv_misc.h | 34 + .../rtl8367c/include/rtl8367c_asicdrv_oam.h | 47 + .../rtl8367c/include/rtl8367c_asicdrv_phy.h | 43 + .../rtl8367c/include/rtl8367c_asicdrv_port.h | 237 + .../include/rtl8367c_asicdrv_portIsolation.h | 28 + .../rtl8367c/include/rtl8367c_asicdrv_qos.h | 96 + .../rtl8367c/include/rtl8367c_asicdrv_rldp.h | 60 + .../rtl8367c/include/rtl8367c_asicdrv_rma.h | 57 + .../include/rtl8367c_asicdrv_scheduling.h | 58 + .../rtl8367c/include/rtl8367c_asicdrv_storm.h | 61 + .../rtl8367c/include/rtl8367c_asicdrv_svlan.h | 132 + .../include/rtl8367c_asicdrv_trunking.h | 48 + .../rtl8367c_asicdrv_unknownMulticast.h | 59 + .../rtl8367c/include/rtl8367c_asicdrv_vlan.h | 157 + .../phy/rtk/rtl8367c/include/rtl8367c_base.h | 596 + .../phy/rtk/rtl8367c/include/rtl8367c_reg.h | 22819 ++++++ .../net/phy/rtk/rtl8367c/include/smi.h | 54 + .../net/phy/rtk/rtl8367c/include/stat.h | 433 + .../net/phy/rtk/rtl8367c/include/storm.h | 422 + .../net/phy/rtk/rtl8367c/include/svlan.h | 896 + .../net/phy/rtk/rtl8367c/include/trap.h | 757 + .../net/phy/rtk/rtl8367c/include/trunk.h | 328 + .../net/phy/rtk/rtl8367c/include/vlan.h | 892 + .../drivers/net/phy/rtk/rtl8367c/interrupt.c | 434 + .../drivers/net/phy/rtk/rtl8367c/l2.c | 2911 + .../drivers/net/phy/rtk/rtl8367c/leaky.c | 590 + .../drivers/net/phy/rtk/rtl8367c/led.c | 792 + .../drivers/net/phy/rtk/rtl8367c/mirror.c | 548 + .../drivers/net/phy/rtk/rtl8367c/oam.c | 245 + .../drivers/net/phy/rtk/rtl8367c/port.c | 2467 + .../drivers/net/phy/rtk/rtl8367c/ptp.c | 759 + .../drivers/net/phy/rtk/rtl8367c/qos.c | 1452 + .../drivers/net/phy/rtk/rtl8367c/rate.c | 607 + .../drivers/net/phy/rtk/rtl8367c/rldp.c | 468 + .../drivers/net/phy/rtk/rtl8367c/rtk_hal.c | 839 + .../drivers/net/phy/rtk/rtl8367c/rtk_switch.c | 1796 + .../net/phy/rtk/rtl8367c/rtl8367c_asicdrv.c | 639 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_acl.c | 1173 + .../rtk/rtl8367c/rtl8367c_asicdrv_cputag.c | 369 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_dot1x.c | 415 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_eav.c | 877 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_eee.c | 141 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_fc.c | 1354 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_green.c | 445 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_hsb.c | 81 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c | 474 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_igmp.c | 2109 + .../rtk/rtl8367c/rtl8367c_asicdrv_inbwctrl.c | 164 + .../rtk/rtl8367c/rtl8367c_asicdrv_interrupt.c | 205 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_led.c | 727 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_lut.c | 1549 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_meter.c | 305 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_mib.c | 570 + .../rtk/rtl8367c/rtl8367c_asicdrv_mirror.c | 472 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_misc.c | 268 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_oam.c | 194 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_phy.c | 394 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_port.c | 5752 ++ .../rtl8367c/rtl8367c_asicdrv_portIsolation.c | 119 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_qos.c | 778 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_rldp.c | 674 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_rma.c | 362 + .../rtl8367c/rtl8367c_asicdrv_scheduling.c | 525 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_storm.c | 851 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_svlan.c | 1003 + .../rtk/rtl8367c/rtl8367c_asicdrv_trunking.c | 356 + .../rtl8367c_asicdrv_unknownMulticast.c | 238 + .../phy/rtk/rtl8367c/rtl8367c_asicdrv_vlan.c | 1505 + .../drivers/net/phy/rtk/rtl8367c/smi.c | 444 + .../drivers/net/phy/rtk/rtl8367c/stat.c | 626 + .../drivers/net/phy/rtk/rtl8367c/storm.c | 816 + .../drivers/net/phy/rtk/rtl8367c/svlan.c | 2415 + .../drivers/net/phy/rtk/rtl8367c/trap.c | 1229 + .../drivers/net/phy/rtk/rtl8367c/trunk.c | 605 + .../drivers/net/phy/rtk/rtl8367c/vlan.c | 2124 + .../files-5.10/drivers/net/phy/rtk/rtl8367s.c | 580 + .../drivers/net/phy/rtk/rtl8367s_dbg.c | 648 + .../drivers/net/phy/rtk/rtl8367s_mdio.c | 312 + target/linux/mediatek/image/Makefile | 31 + .../linux/mediatek/image/gen_scatterfile.sh | 73 + target/linux/mediatek/image/mt7622.mk | 308 + target/linux/mediatek/image/mt7623.mk | 177 + target/linux/mediatek/image/mt7629.mk | 9 + target/linux/mediatek/modules.mk | 56 + .../mt7622/base-files/etc/board.d/01_leds | 20 + .../mt7622/base-files/etc/board.d/02_network | 64 + .../etc/hotplug.d/ieee80211/11_fix_wifi_mac | 17 + .../mt7622/base-files/etc/init.d/bootcount | 11 + .../base-files/etc/uci-defaults/09_fix_crc | 10 + .../mt7622/base-files/lib/upgrade/buffalo.sh | 126 + .../mt7622/base-files/lib/upgrade/platform.sh | 97 + target/linux/mediatek/mt7622/config-5.10 | 465 + target/linux/mediatek/mt7622/target.mk | 10 + .../mt7623/base-files/etc/board.d/02_network | 38 + .../mediatek/mt7623/base-files/etc/inittab | 9 + .../base-files/lib/preinit/07_set_iface_mac | 51 + .../base-files/lib/preinit/79_move_config | 33 + .../mt7623/base-files/lib/upgrade/platform.sh | 176 + target/linux/mediatek/mt7623/config-5.10 | 632 + target/linux/mediatek/mt7623/target.mk | 17 + .../mt7629/base-files/etc/board.d/02_network | 33 + .../mt7629/base-files/lib/upgrade/platform.sh | 16 + target/linux/mediatek/mt7629/config-5.10 | 305 + target/linux/mediatek/mt7629/target.mk | 16 + .../100-dts-update-mt7622-rfb1.patch | 119 + .../101-dts-update-mt7629-rfb.patch | 60 + .../105-dts-mt7622-enable-pstore.patch | 25 + .../110-dts-fix-bpi2-console.patch | 10 + .../111-dts-fix-bpi64-console.patch | 11 + .../112-dts-fix-bpi64-lan-names.patch | 37 + .../113-dts-fix-bpi64-leds-and-buttons.patch | 56 + .../114-dts-bpi64-disable-rtc.patch | 21 + .../115-dts-bpi64-add-snand-support.patch | 41 + .../130-dts-mt7629-add-snand-support.patch | 77 + .../131-dts-mt7622-add-snand-support.patch | 81 + ...dts-fix-wmac-support-for-mt7622-rfb1.patch | 18 + ...s-mt7623-eip97-inside-secure-support.patch | 23 + .../160-dts-mt7623-bpi-r2-earlycon.patch | 11 + ...1-dts-mt7623-bpi-r2-mmc-device-order.patch | 11 + .../162-dts-mt7623-bpi-r2-led-aliases.patch | 29 + ...163-dts-mt7623-bpi-r2-ethernet-alias.patch | 10 + ...convert-mediatek-musb.txt-to-YAML-sc.patch | 195 + ...-mediatek-musb-add-mt8516-compatbile.patch | 25 + ...s-usb-mtk-musb-add-MT7623-compatible.patch | 23 + ...arm-dts-mt7623-add-musb-device-nodes.patch | 69 + ...80-dts-mt7622-bpi-r64-add-mt7531-irq.patch | 13 + ...-phy-phy-mtk-tphy-Add-hifsys-support.patch | 66 + .../330-mtk-snand-bmt-support.patch | 36 + .../331-mt7622-rfb1-enable-bmt.patch | 11 + .../360-mtd-add-mtk-snand-driver.patch | 21 + ...ypto-add-eip97-inside-secure-support.patch | 27 + ...01-crypto-fix-eip97-cache-incoherent.patch | 26 + .../patches-5.10/410-bt-mtk-serial-fix.patch | 33 + ...or-add-support-for-Winbond-W25Q512JV.patch | 28 + .../500-gsw-rtl8367s-mt7622-support.patch | 25 + ...mediatek-add-flow-offload-for-mt7623.patch | 24 + ...ngs-PCI-Mediatek-Update-PCIe-binding.patch | 415 + ...e-regmap-to-get-shared-pcie-cfg-base.patch | 217 + ...ek-Split-PCIe-node-for-MT2712-MT7622.patch | 417 + ...dts-mediatek-Update-mt7629-PCIe-node.patch | 203 + ...diatek-fix-clearing-interrupt-status.patch | 24 + ..._eth_soc-fix-return-values-and-refac.patch | 128 + ...pers-to-extract-clause-45-regad-and-.patch | 53 + ..._eth_soc-implement-Clause-45-MDIO-ac.patch | 128 + ...ernet-mtk_eth_soc-announce-2500baseT.patch | 10 + ...ediatek-add-support-for-coherent-DMA.patch | 96 + .../721-dts-mt7622-mediatek-fix-300mhz.patch | 27 + .../722-remove-300Hz-to-prevent-freeze.patch | 25 + ...mt7622-bpi-r64-aliases-for-dtoverlay.patch | 65 + .../910-dts-mt7622-bpi-r64-wifi-eeprom.patch | 31 + target/linux/mpc85xx/Makefile | 25 + .../mpc85xx/base-files/etc/board.d/01_leds | 19 + .../mpc85xx/base-files/etc/board.d/02_network | 35 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 33 + .../etc/hotplug.d/ieee80211/05-wifi-migrate | 63 + .../etc/hotplug.d/ieee80211/10-fix-wifi-mac | 25 + .../etc/uci-defaults/05_fix-compat-version | 11 + .../lib/preinit/05_set_preinit_iface_mpc85xx | 9 + .../base-files/lib/preinit/10_fix_eth_mac.sh | 17 + .../base-files/lib/upgrade/platform.sh | 25 + target/linux/mpc85xx/config-5.10 | 280 + .../arch/powerpc/boot/dts/firebox-t10.dts | 268 + .../arch/powerpc/boot/dts/hiveap-330.dts | 315 + .../files/arch/powerpc/boot/dts/panda.dts | 281 + .../arch/powerpc/boot/dts/red-15w-rev1.dts | 230 + .../arch/powerpc/boot/dts/tl-wdr4900-v1.dts | 317 + .../arch/powerpc/boot/dts/ws-ap3710i.dts | 188 + .../arch/powerpc/boot/dts/ws-ap3825i.dts | 268 + .../arch/powerpc/platforms/85xx/firebox_t10.c | 87 + .../arch/powerpc/platforms/85xx/hiveap-330.c | 89 + .../files/arch/powerpc/platforms/85xx/panda.c | 91 + .../arch/powerpc/platforms/85xx/red15w_rev1.c | 87 + .../powerpc/platforms/85xx/tl_wdr4900_v1.c | 143 + .../arch/powerpc/platforms/85xx/ws-ap3710i.c | 91 + .../arch/powerpc/platforms/85xx/ws-ap3825i.c | 91 + target/linux/mpc85xx/image/Makefile | 23 + target/linux/mpc85xx/image/p1010.mk | 61 + target/linux/mpc85xx/image/p1020.mk | 96 + target/linux/mpc85xx/image/p2020.mk | 15 + .../linux/mpc85xx/image/spi-loader/.gitignore | 1 + .../linux/mpc85xx/image/spi-loader/Makefile | 60 + .../spi-loader/config/tplink_tl-wdr4900-v1.h | 9 + .../spi-loader/config/tplink_tl-wdr4900-v1.mk | 13 + .../image/spi-loader/drivers/serial/ns16550.c | 53 + .../image/spi-loader/drivers/spi/fsl_espi.c | 232 + .../image/spi-loader/drivers/spi/spi-nor.c | 72 + target/linux/mpc85xx/image/spi-loader/head.S | 36 + .../mpc85xx/image/spi-loader/include/image.h | 61 + .../mpc85xx/image/spi-loader/include/init.h | 8 + .../mpc85xx/image/spi-loader/include/io.h | 101 + .../image/spi-loader/include/ppc_asm.h | 55 + .../mpc85xx/image/spi-loader/include/serial.h | 9 + .../image/spi-loader/include/spi-nor.h | 11 + .../mpc85xx/image/spi-loader/include/spi.h | 43 + .../mpc85xx/image/spi-loader/include/stdio.h | 43 + .../mpc85xx/image/spi-loader/include/string.h | 23 + .../mpc85xx/image/spi-loader/include/types.h | 72 + .../linux/mpc85xx/image/spi-loader/loader.c | 107 + .../linux/mpc85xx/image/spi-loader/loader.lds | 31 + target/linux/mpc85xx/image/spi-loader/stdio.c | 59 + .../linux/mpc85xx/image/spi-loader/string.S | 265 + target/linux/mpc85xx/p1010/config-default | 14 + .../mpc85xx/p1010/profiles/00-default.mk | 12 + target/linux/mpc85xx/p1010/target.mk | 7 + target/linux/mpc85xx/p1020/config-default | 55 + .../mpc85xx/p1020/profiles/00-default.mk | 12 + target/linux/mpc85xx/p1020/target.mk | 5 + target/linux/mpc85xx/p2020/config-default | 29 + .../mpc85xx/p2020/profiles/00-default.mk | 12 + target/linux/mpc85xx/p2020/target.mk | 5 + ...85xx-add-gpio-keys-to-of-match-table.patch | 10 + ...0-powerpc-85xx-tl-wdr4900-v1-support.patch | 83 + .../101-powerpc-85xx-hiveap-330-support.patch | 30 + .../102-powerpc-add-cmdline-override.patch | 37 + .../103-powerpc-85xx-red-15w-rev1.patch | 29 + ...change-P2020RDB-dts-file-for-OpenWRT.patch | 170 + .../105-powerpc-85xx-panda-support.patch | 30 + .../106-powerpc-85xx-ws-ap3710i-support.patch | 30 + ...-powerpc-85xx-add-ws-ap3825i-support.patch | 37 + ...werpc-85xx-firebox-t10-support.patch.patch | 29 + ...ootwrapper-disable-uImage-generation.patch | 42 + target/linux/mvebu/Makefile | 18 + .../base-files/lib/preinit/79_move_config | 25 + target/linux/mvebu/config-5.10 | 426 + .../cortexa53/base-files/etc/board.d/01_leds | 17 + .../base-files/etc/board.d/02_network | 34 + .../cortexa53/base-files/lib/preinit/82_uDPU | 48 + .../base-files/lib/upgrade/platform.sh | 58 + .../cortexa53/base-files/lib/upgrade/uDPU.sh | 156 + target/linux/mvebu/cortexa53/config-5.10 | 101 + target/linux/mvebu/cortexa53/target.mk | 13 + .../cortexa72/base-files/etc/board.d/01_leds | 20 + .../base-files/etc/board.d/02_network | 39 + .../base-files/lib/upgrade/emmc-puzzle.sh | 36 + .../base-files/lib/upgrade/platform.sh | 51 + target/linux/mvebu/cortexa72/config-5.10 | 114 + target/linux/mvebu/cortexa72/target.mk | 13 + .../cortexa9/base-files/etc/board.d/01_leds | 61 + .../base-files/etc/board.d/02_network | 97 + .../base-files/etc/board.d/05_compat-version | 25 + .../ieee80211/00-wifi-config-migrate | 41 + .../cortexa9/base-files/etc/init.d/bootcount | 16 + .../base-files/etc/uci-defaults/03_wireless | 60 + .../base-files/etc/uci-defaults/04_mambafan | 22 + .../etc/uci-defaults/05_fix-compat-version | 11 + .../uci-defaults/35_turris-omnia_uboot-env | 44 + .../base-files/lib/preinit/81_linksys_syscfg | 42 + .../base-files/lib/upgrade/linksys.sh | 81 + .../base-files/lib/upgrade/platform.sh | 78 + .../cortexa9/base-files/sbin/fan_ctrl.sh | 28 + target/linux/mvebu/cortexa9/config-5.10 | 4 + target/linux/mvebu/cortexa9/target.mk | 11 + .../boot/dts/armada-370-buffalo-ls421de.dts | 448 + .../arch/arm/boot/dts/armada-370-c200-v2.dts | 426 + .../arm/boot/dts/armada-385-linksys-venom.dts | 213 + .../arch/arm/boot/dts/armada-385-nas1dual.dts | 318 + .../marvell/armada-3720-espressobin-ultra.dts | 241 + .../dts/marvell/armada-3720-gl-mv1000.dts | 230 + .../boot/dts/marvell/armada-7040-mochabin.dts | 448 + .../boot/dts/marvell/cn9131-puzzle-m901.dts | 403 + .../boot/dts/marvell/cn9132-puzzle-m902.dts | 564 + target/linux/mvebu/image/Makefile | 195 + target/linux/mvebu/image/clearfog.bootscript | 23 + target/linux/mvebu/image/cortexa53.mk | 94 + target/linux/mvebu/image/cortexa72.mk | 69 + target/linux/mvebu/image/cortexa9.mk | 306 + .../linux/mvebu/image/espressobin.bootscript | 34 + .../linux/mvebu/image/gen_mvebu_sdcard_img.sh | 70 + .../mvebu/image/generic-arm64.bootscript | 24 + .../linux/mvebu/image/turris-omnia.bootscript | 32 + target/linux/mvebu/image/udpu.bootscript | 38 + target/linux/mvebu/modules.mk | 33 + ...s-mcbin-singleshot-add-heartbeat-LED.patch | 65 + ...is-omnia-enable-HW-buffer-management.patch | 74 + ...rris-omnia-add-comphy-handle-to-eth2.patch | 37 + ...rris-omnia-describe-switch-interrupt.patch | 61 + ...11-ARM-dts-turris-omnia-add-SFP-node.patch | 90 + ...turris-omnia-add-LED-controller-node.patch | 160 + ...te-ethernet-phy-node-and-handle-name.patch | 52 + ...omnia-fix-hardware-buffer-management.patch | 33 + ...mnia-configure-LED-0-pin-function-to.patch | 38 + ...ris-omnia-enable-LED-controller-node.patch | 48 + ...a-support-HW-controlled-mode-via-pri.patch | 118 + ...a-initialize-multi-intensity-to-full.patch | 33 + ...a-change-max-brightness-from-255-to-.patch | 31 + ...Mangle-bootloader-s-kernel-arguments.patch | 208 + ...-mvebu-armada-38x-enable-libata-leds.patch | 10 + .../patches-5.10/302-add_powertables.patch | 770 + ...3-linksys_hardcode_nand_ecc_settings.patch | 17 + .../patches-5.10/304-revert_i2c_delay.patch | 15 + .../305-armada-385-rd-mtd-partitions.patch | 19 + .../306-ARM-mvebu-385-ap-Add-partitions.patch | 35 + ...-armada-xp-linksys-mamba-broken-idle.patch | 10 + .../308-armada-xp-linksys-mamba-wan.patch | 11 + .../patches-5.10/309-linksys-status-led.patch | 50 + .../310-linksys-use-eth0-as-cpu-port.patch | 25 + .../311-adjust-compatible-for-linksys.patch | 68 + ...da388-clearfog-emmc-on-clearfog-base.patch | 87 + .../313-helios4-dts-status-led-alias.patch | 28 + ...witch-PHY-operation-mode-to-2500base.patch | 34 + ...rmada-xp-linksys-mamba-resize-kernel.patch | 37 + ...316-armada-370-dts-fix-crypto-engine.patch | 29 + .../patches-5.10/400-find_active_root.patch | 60 + .../700-mvneta-tx-queue-workaround.patch | 38 + ...14-net-ethernet-marvell-mvnetaMQPrio.patch | 109 + ...ethernet-marvell-mvnetaMQPrioOffload.patch | 66 + ...xt-ethernet-marvell-mvnetaMQPrioFlag.patch | 30 + ...t-ethernet-marvell-mvnetaMQPrioQueue.patch | 97 + ...hernet-marvell-mvnetaMQPrioTCOffload.patch | 182 + ...dicate-failure-to-enter-deeper-sleep.patch | 40 + ...-pci-mvebu-time-out-reset-on-link-up.patch | 60 + ...IEI-vendor-prefix-and-IEI-WT61P803-P.patch | 218 + ...a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch | 1034 + ...d-the-IEI-WT61P803-PUZZLE-HWMON-driv.patch | 469 + ...d-the-IEI-WT61P803-PUZZLE-LED-driver.patch | 207 + ...I-Add-iei-wt61p803-puzzle-driver-sys.patch | 82 + ...mon-Add-iei-wt61p803-puzzle-hwmon-dr.patch | 74 + ...an-entry-for-the-IEI-WT61P803-PUZZLE.patch | 41 + ...rs-leds-wt61p803-puzzle-improvements.patch | 271 + target/linux/mxs/Makefile | 23 + .../mxs/base-files/etc/board.d/02_network | 17 + target/linux/mxs/base-files/etc/diag.sh | 38 + target/linux/mxs/base-files/etc/inittab | 4 + target/linux/mxs/config-5.10 | 244 + target/linux/mxs/image/Config.in | 8 + target/linux/mxs/image/Makefile | 76 + .../linux/mxs/image/gen_sdcard_ext4_ext4.sh | 30 + .../linux/mxs/image/gen_sdcard_vfat_ext4.sh | 34 + target/linux/mxs/profiles/01-duckbill.mk | 17 + .../linux/mxs/profiles/02-olinuxino-maxi.mk | 16 + .../linux/mxs/profiles/03-olinuxino-micro.mk | 15 + target/linux/octeon/Makefile | 23 + .../octeon/base-files/etc/board.d/01_network | 26 + .../octeon/base-files/lib/preinit/01_sysinfo | 40 + .../base-files/lib/preinit/79_move_config | 31 + .../octeon/base-files/lib/upgrade/platform.sh | 135 + target/linux/octeon/config-5.10 | 252 + .../cn7130_ubnt_edgerouter-4.dts | 31 + .../cn7130_ubnt_edgerouter-6p.dts | 73 + .../cn7130_ubnt_edgerouter-e300.dtsi | 218 + .../mips/boot/dts/cavium-octeon/cn71xx.dtsi | 357 + target/linux/octeon/generic/target.mk | 1 + target/linux/octeon/image/Makefile | 87 + .../100-ubnt_edgerouter2_support.patch | 11 + .../110-er200-ethernet_probe_order.patch | 34 + .../patches-5.10/120-cmdline-hack.patch | 47 + .../130-itus_shield_support.patch | 42 + .../140-octeon_e300_support.patch | 18 + .../700-allocate_interface_by_label.patch | 37 + ...-honor_sgmii_node_device_tree_status.patch | 27 + target/linux/octeon/profiles/000-Generic.mk | 13 + target/linux/octeontx/Makefile | 22 + .../base-files/etc/board.d/02_network | 16 + target/linux/octeontx/base-files/etc/inittab | 5 + target/linux/octeontx/config-5.10 | 413 + target/linux/octeontx/image/Makefile | 19 + ...r-Gateworks-PLX-PEX860x-switch-with-.patch | 59 + target/linux/omap/Makefile | 26 + target/linux/omap/base-files/etc/inittab | 5 + .../base-files/lib/preinit/79_move_config | 19 + .../omap/base-files/lib/upgrade/platform.sh | 88 + target/linux/omap/config-5.10 | 682 + target/linux/omap/image/Config.in | 5 + target/linux/omap/image/Makefile | 78 + .../linux/omap/image/gen_omap_sdcard_img.sh | 29 + target/linux/omap/image/ubinize.cfg | 14 + target/linux/omap/profiles/00-default.mk | 19 + target/linux/oxnas/Makefile | 20 + .../oxnas/base-files/etc/board.d/02_network | 60 + .../base-files/etc/init.d/set-irq-affinity | 22 + .../oxnas/base-files/lib/upgrade/platform.sh | 9 + target/linux/oxnas/config-5.10 | 358 + .../arm/boot/dts/ox820-akitio-mycloud.dts | 167 + .../dts/ox820-cloudengines-pogoplugpro.dts | 131 + .../arm/boot/dts/ox820-mitrastar-stg-212.dts | 139 + .../arch/arm/boot/dts/ox820-shuttle-kd20.dts | 250 + .../arch/arm/include/debug/uncompress-ox820.h | 32 + .../oxnas/files/drivers/ata/sata_oxnas.c | 2507 + .../files/drivers/pci/controller/pcie-oxnas.c | 674 + .../oxnas/files/drivers/phy/phy-oxnas-pcie.c | 148 + .../files/drivers/power/reset/oxnas-restart.c | 229 + .../oxnas/files/drivers/usb/host/ehci-oxnas.c | 368 + target/linux/oxnas/image/Makefile | 9 + target/linux/oxnas/image/ox810se.mk | 20 + target/linux/oxnas/image/ox820.mk | 84 + target/linux/oxnas/modules.mk | 29 + target/linux/oxnas/ox810se/config-default | 8 + .../oxnas/ox810se/profiles/00-default.mk | 10 + target/linux/oxnas/ox810se/target.mk | 9 + target/linux/oxnas/ox820/config-default | 91 + .../linux/oxnas/ox820/profiles/00-default.mk | 17 + target/linux/oxnas/ox820/target.mk | 8 + .../patches-5.10/010-pogoplug-series-3.patch | 82 + .../050-ox820-remove-left-overs.patch | 63 + .../100-oxnas-clk-plla-pllb.patch | 273 + .../patches-5.10/150-oxnas-restart.patch | 25 + .../patches-5.10/320-oxnas-phy-pcie.patch | 44 + .../oxnas/patches-5.10/340-oxnas-pcie.patch | 122 + .../oxnas/patches-5.10/500-oxnas-sata.patch | 60 + .../patches-5.10/510-ox820-libata-leds.patch | 10 + .../oxnas/patches-5.10/800-oxnas-ehci.patch | 73 + ...Mangle-bootloader-s-kernel-arguments.patch | 189 + .../oxnas/patches-5.10/999-libata-hacks.patch | 57 + target/linux/pistachio/Makefile | 24 + .../base-files/etc/board.d/02_network | 13 + .../base-files/lib/upgrade/platform.sh | 46 + target/linux/pistachio/config-5.10 | 314 + target/linux/pistachio/image/Makefile | 39 + ...ine-img-mdc-Handle-early-status-read.patch | 68 + ...mg-spfi-Implement-dual-and-quad-mode.patch | 198 + ...-device-0-configuration-for-all-devi.patch | 64 + ...i-RX-maximum-burst-size-for-DMA-is-8.patch | 59 + ...g-spfi-finish-every-transfer-cleanly.patch | 120 + ...istachio-Fix-wrong-SDHost-card-speed.patch | 49 + ...-img-marduk-switch-mmc-to-1-bit-mode.patch | 47 + ...or-support-mtd-name-from-device-tree.patch | 54 + ...PS-DTS-img-marduk-Add-SPI-NAND-flash.patch | 30 + ...mg-marduk-Add-Cascoda-CA8210-6LoWPAN.patch | 43 + ...-DTS-img-marduk-Add-NXP-SC16IS752IPW.patch | 81 + ...PS-DTS-img-marduk-Add-partition-name.patch | 27 + ...-MIPS-DTS-img-marduk-Add-led-aliases.patch | 27 + target/linux/pistachio/profiles/00-default.mk | 14 + target/linux/qoriq/Makefile | 22 + .../qoriq/base-files/etc/board.d/02_network | 38 + .../base-files/lib/preinit/79_move_config | 17 + .../qoriq/base-files/lib/upgrade/platform.sh | 36 + target/linux/qoriq/config-5.10 | 390 + .../boot/dts/fsl/watchguard-firebox-m300.dts | 360 + target/linux/qoriq/generic/target.mk | 5 + target/linux/qoriq/image/Makefile | 36 + target/linux/qoriq/image/generic.mk | 17 + target/linux/ramips/Makefile | 22 + .../base-files/etc/hotplug.d/usb/10-motion | 1 + target/linux/ramips/base-files/etc/inittab | 3 + .../etc/uci-defaults/04_led_migration | 8 + .../etc/uci-defaults/09_fix-checksum | 25 + target/linux/ramips/dts/mt7620a.dtsi | 612 + .../ramips/dts/mt7620a_aigale_ai-br100.dts | 124 + .../dts/mt7620a_alfa-network_ac1200rm.dts | 161 + .../dts/mt7620a_alfa-network_r36m-e4g.dts | 222 + .../dts/mt7620a_alfa-network_tube-e4g.dts | 191 + .../linux/ramips/dts/mt7620a_asus_rp-n53.dts | 172 + .../ramips/dts/mt7620a_asus_rt-ac51u.dts | 13 + .../ramips/dts/mt7620a_asus_rt-ac54u.dts | 20 + .../ramips/dts/mt7620a_asus_rt-ac5x.dtsi | 147 + .../ramips/dts/mt7620a_bdcom_wap2100-sk.dts | 157 + .../ramips/dts/mt7620a_buffalo_whr-1166d.dts | 186 + .../ramips/dts/mt7620a_buffalo_whr-300hp2.dts | 163 + .../ramips/dts/mt7620a_buffalo_whr-600d.dts | 172 + .../linux/ramips/dts/mt7620a_cameo_810.dtsi | 173 + .../ramips/dts/mt7620a_dlink_dch-m225.dts | 190 + .../ramips/dts/mt7620a_dlink_dir-510l.dts | 142 + .../ramips/dts/mt7620a_dlink_dir-810l.dts | 6 + .../ramips/dts/mt7620a_dlink_dwr-118-a1.dts | 204 + .../ramips/dts/mt7620a_dlink_dwr-118-a2.dts | 192 + .../ramips/dts/mt7620a_dlink_dwr-960.dts | 34 + .../ramips/dts/mt7620a_dlink_dwr-961-a1.dts | 62 + .../ramips/dts/mt7620a_dlink_dwr-96x.dtsi | 178 + target/linux/ramips/dts/mt7620a_domywifi.dtsi | 189 + .../ramips/dts/mt7620a_domywifi_dm202.dts | 8 + .../ramips/dts/mt7620a_domywifi_dm203.dts | 8 + .../ramips/dts/mt7620a_domywifi_dw22d.dts | 8 + .../ramips/dts/mt7620a_dovado_tiny-ac.dts | 159 + .../dts/mt7620a_edimax_br-6478ac-v2.dts | 217 + .../ramips/dts/mt7620a_edimax_ew-7476rpc.dts | 8 + .../ramips/dts/mt7620a_edimax_ew-7478ac.dts | 8 + .../ramips/dts/mt7620a_edimax_ew-7478apc.dts | 209 + .../ramips/dts/mt7620a_edimax_ew-747x.dtsi | 231 + .../ramips/dts/mt7620a_engenius_esr600.dts | 206 + .../linux/ramips/dts/mt7620a_fon_fon2601.dts | 180 + .../ramips/dts/mt7620a_glinet_gl-mt300a.dts | 155 + .../ramips/dts/mt7620a_glinet_gl-mt300n.dts | 146 + .../ramips/dts/mt7620a_glinet_gl-mt750.dts | 161 + .../dts/mt7620a_head-weblink_hdrm200.dts | 195 + .../ramips/dts/mt7620a_hiwifi_hc5661.dts | 33 + .../ramips/dts/mt7620a_hiwifi_hc5761.dts | 70 + .../ramips/dts/mt7620a_hiwifi_hc5861.dts | 113 + .../ramips/dts/mt7620a_hiwifi_hc5x61.dtsi | 117 + target/linux/ramips/dts/mt7620a_hnet_c108.dts | 166 + target/linux/ramips/dts/mt7620a_humax_e2.dts | 142 + .../ramips/dts/mt7620a_iodata_wn-ac1167gr.dts | 223 + .../ramips/dts/mt7620a_iodata_wn-ac733gr3.dts | 201 + target/linux/ramips/dts/mt7620a_iptime.dtsi | 97 + .../ramips/dts/mt7620a_iptime_a1004ns.dts | 107 + .../ramips/dts/mt7620a_iptime_a104ns.dts | 58 + .../ramips/dts/mt7620a_kimax_u25awf-h1.dts | 122 + .../ramips/dts/mt7620a_lava_lr-25g001.dts | 175 + .../ramips/dts/mt7620a_lb-link_bl-w1200.dts | 181 + .../ramips/dts/mt7620a_lenovo_newifi-y1.dts | 70 + .../ramips/dts/mt7620a_lenovo_newifi-y1.dtsi | 105 + .../ramips/dts/mt7620a_lenovo_newifi-y1s.dts | 127 + .../ramips/dts/mt7620a_linksys_e1700.dts | 164 + .../dts/mt7620a_microduino_microwrt.dts | 108 + .../ramips/dts/mt7620a_netgear_ex2700.dts | 154 + .../ramips/dts/mt7620a_netgear_ex3700.dts | 8 + .../dts/mt7620a_netgear_ex3x00_ex61xx.dtsi | 163 + .../ramips/dts/mt7620a_netgear_ex6120.dts | 8 + .../ramips/dts/mt7620a_netgear_ex6130.dts | 12 + .../dts/mt7620a_netgear_wn3000rp-v3.dts | 8 + .../dts/mt7620a_netgear_wn3100rp-v2.dts | 8 + .../ramips/dts/mt7620a_netgear_wn3x00rp.dtsi | 158 + .../linux/ramips/dts/mt7620a_netis_wf2770.dts | 175 + .../ramips/dts/mt7620a_ohyeah_oy-0001.dts | 131 + .../ramips/dts/mt7620a_phicomm_k2-v22.4.dts | 24 + .../ramips/dts/mt7620a_phicomm_k2-v22.5.dts | 30 + .../linux/ramips/dts/mt7620a_phicomm_k2g.dts | 48 + .../linux/ramips/dts/mt7620a_phicomm_k2x.dtsi | 116 + .../ramips/dts/mt7620a_phicomm_psg1208.dts | 132 + .../ramips/dts/mt7620a_phicomm_psg1218b.dts | 14 + .../ramips/dts/mt7620a_planex_cs-qr10.dts | 150 + .../ramips/dts/mt7620a_planex_db-wrt01.dts | 110 + .../ramips/dts/mt7620a_planex_mzk-750dhp.dts | 141 + .../ramips/dts/mt7620a_planex_mzk-ex300np.dts | 150 + .../ramips/dts/mt7620a_planex_mzk-ex750np.dts | 166 + .../ramips/dts/mt7620a_ralink_mt7620a-evb.dts | 126 + .../dts/mt7620a_ralink_mt7620a-mt7530-evb.dts | 116 + .../mt7620a_ralink_mt7620a-mt7610e-evb.dts | 88 + .../dts/mt7620a_ralink_mt7620a-v22sg-evb.dts | 116 + .../ramips/dts/mt7620a_sanlinking_d240.dts | 186 + .../ramips/dts/mt7620a_sercomm_na930.dts | 179 + .../dts/mt7620a_sitecom_wlr-4100-v1-002.dts | 196 + .../dts/mt7620a_tplink_archer-c2-v1.dts | 202 + .../dts/mt7620a_tplink_archer-c20-v1.dts | 85 + .../ramips/dts/mt7620a_tplink_archer-c20i.dts | 64 + .../dts/mt7620a_tplink_archer-c50-v1.dts | 85 + .../dts/mt7620a_tplink_archer-mr200.dts | 205 + .../ramips/dts/mt7620a_tplink_archer.dtsi | 133 + .../ramips/dts/mt7620a_tplink_re200-v1.dts | 70 + .../ramips/dts/mt7620a_tplink_re210-v1.dts | 95 + .../ramips/dts/mt7620a_tplink_re2x0-v1.dtsi | 108 + .../ramips/dts/mt7620a_trendnet_tew-810dr.dts | 8 + .../dts/mt7620a_wavlink_wl-wn530hg4.dts | 149 + .../ramips/dts/mt7620a_wavlink_wl-wn535k1.dts | 185 + .../ramips/dts/mt7620a_wavlink_wl-wn579x3.dts | 222 + .../linux/ramips/dts/mt7620a_wevo_air-duo.dts | 202 + .../ramips/dts/mt7620a_xiaomi_miwifi-mini.dts | 182 + .../linux/ramips/dts/mt7620a_youku_yk-l1.dts | 16 + .../linux/ramips/dts/mt7620a_youku_yk-l1.dtsi | 143 + .../linux/ramips/dts/mt7620a_youku_yk-l1c.dts | 12 + .../linux/ramips/dts/mt7620a_yukai_bocco.dts | 157 + .../dts/mt7620a_zbtlink_zbt-ape522ii.dts | 142 + .../dts/mt7620a_zbtlink_zbt-we1026-5g-16m.dts | 13 + .../dts/mt7620a_zbtlink_zbt-we1026-5g.dtsi | 50 + .../dts/mt7620a_zbtlink_zbt-we1026-h-32m.dts | 17 + .../dts/mt7620a_zbtlink_zbt-we1026-h.dtsi | 32 + .../dts/mt7620a_zbtlink_zbt-we1026.dtsi | 113 + .../dts/mt7620a_zbtlink_zbt-we826-16m.dts | 10 + .../dts/mt7620a_zbtlink_zbt-we826-32m.dts | 14 + .../dts/mt7620a_zbtlink_zbt-we826-e.dts | 49 + .../ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi | 142 + target/linux/ramips/dts/mt7620a_zte_q7.dts | 124 + .../dts/mt7620a_zyxel_keenetic-viva.dts | 185 + target/linux/ramips/dts/mt7620n.dtsi | 387 + .../linux/ramips/dts/mt7620n_asus_rt-n12p.dts | 134 + .../linux/ramips/dts/mt7620n_asus_rt-n14u.dts | 147 + .../ramips/dts/mt7620n_buffalo_wmr-300.dts | 123 + .../ramips/dts/mt7620n_comfast_cf-wr800n.dts | 127 + .../ramips/dts/mt7620n_dlink_dwr-116-a1.dts | 109 + .../ramips/dts/mt7620n_dlink_dwr-921-c1.dts | 144 + .../ramips/dts/mt7620n_dlink_dwr-922-e2.dts | 147 + .../ramips/dts/mt7620n_elecom_wrh-300cr.dts | 140 + .../ramips/dts/mt7620n_hootoo_ht-tm05.dts | 31 + .../linux/ramips/dts/mt7620n_kimax_u35wf.dts | 122 + .../ramips/dts/mt7620n_kingston_mlw221.dts | 135 + .../ramips/dts/mt7620n_kingston_mlwg2.dts | 135 + .../dts/mt7620n_netgear_jwnr2010-v5.dts | 56 + .../ramips/dts/mt7620n_netgear_n300.dtsi | 94 + .../ramips/dts/mt7620n_nexx_wt3020-4m.dts | 10 + .../ramips/dts/mt7620n_nexx_wt3020-8m.dts | 18 + .../linux/ramips/dts/mt7620n_nexx_wt3020.dtsi | 107 + .../ramips/dts/mt7620n_ravpower_rp-wd03.dts | 27 + .../ramips/dts/mt7620n_sunvalley_filehub.dtsi | 149 + .../ramips/dts/mt7620n_vonets_var11n-300.dts | 103 + .../ramips/dts/mt7620n_wrtnode_wrtnode.dts | 104 + .../ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts | 127 + .../ramips/dts/mt7620n_zbtlink_zbt-wa05.dts | 135 + .../ramips/dts/mt7620n_zbtlink_zbt-we2026.dts | 120 + .../dts/mt7620n_zbtlink_zbt-wr8305rt.dts | 134 + .../dts/mt7620n_zyxel_keenetic-omni-ii.dts | 159 + .../dts/mt7620n_zyxel_keenetic-omni.dts | 159 + target/linux/ramips/dts/mt7621.dtsi | 615 + target/linux/ramips/dts/mt7621_adslr_g7.dts | 155 + .../ramips/dts/mt7621_afoundry_ew1200.dts | 160 + .../dts/mt7621_alfa-network_quad-e4g.dts | 279 + .../dts/mt7621_ampedwireless_ally-00x19k.dts | 21 + .../dts/mt7621_ampedwireless_ally-r1900k.dts | 32 + .../ramips/dts/mt7621_ampedwireless_ally.dtsi | 179 + .../ramips/dts/mt7621_arcadyan_wg4xx223.dtsi | 198 + .../ramips/dts/mt7621_asiarf_ap7621-001.dts | 25 + .../ramips/dts/mt7621_asiarf_ap7621-nv1.dts | 30 + .../ramips/dts/mt7621_asiarf_ap7621.dtsi | 122 + .../linux/ramips/dts/mt7621_asus_rt-ac57u.dts | 187 + .../linux/ramips/dts/mt7621_asus_rt-ac65p.dts | 8 + .../linux/ramips/dts/mt7621_asus_rt-ac85p.dts | 8 + .../ramips/dts/mt7621_asus_rt-acx5p.dtsi | 182 + .../linux/ramips/dts/mt7621_asus_rt-ax53u.dts | 197 + .../ramips/dts/mt7621_asus_rt-n56u-b1.dts | 197 + .../dts/mt7621_beeline_smartbox-flash.dts | 17 + target/linux/ramips/dts/mt7621_bolt_arion.dts | 181 + .../ramips/dts/mt7621_buffalo_wsr-1166dhp.dts | 216 + .../dts/mt7621_buffalo_wsr-2533dhpl.dts | 242 + .../ramips/dts/mt7621_buffalo_wsr-600dhp.dts | 225 + .../linux/ramips/dts/mt7621_cudy_wr1300.dts | 209 + .../linux/ramips/dts/mt7621_cudy_wr2100.dts | 213 + target/linux/ramips/dts/mt7621_cudy_x6.dts | 178 + .../ramips/dts/mt7621_d-team_newifi-d2.dts | 206 + .../linux/ramips/dts/mt7621_d-team_pbr-m1.dts | 236 + .../ramips/dts/mt7621_dlink_dap-x1860-a1.dts | 204 + .../ramips/dts/mt7621_dlink_dir-1960-a1.dts | 29 + .../ramips/dts/mt7621_dlink_dir-2640-a1.dts | 36 + .../ramips/dts/mt7621_dlink_dir-2660-a1.dts | 36 + .../ramips/dts/mt7621_dlink_dir-853-a3.dts | 226 + .../ramips/dts/mt7621_dlink_dir-853-r1.dts | 160 + .../ramips/dts/mt7621_dlink_dir-860l-b1.dts | 184 + .../ramips/dts/mt7621_dlink_dir-867-a1.dts | 37 + .../ramips/dts/mt7621_dlink_dir-878-a1.dts | 37 + .../ramips/dts/mt7621_dlink_dir-878-r1.dts | 37 + .../ramips/dts/mt7621_dlink_dir-882-a1.dts | 53 + .../ramips/dts/mt7621_dlink_dir-882-r1.dts | 53 + .../ramips/dts/mt7621_dlink_dir-8xx.dtsi | 127 + .../ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi | 207 + .../ramips/dts/mt7621_dlink_flash-16m-a1.dtsi | 42 + .../ramips/dts/mt7621_dlink_flash-16m-r1.dtsi | 41 + .../linux/ramips/dts/mt7621_dual-q_h721.dts | 198 + .../linux/ramips/dts/mt7621_edimax_ra21s.dts | 8 + .../linux/ramips/dts/mt7621_edimax_re23s.dts | 172 + .../linux/ramips/dts/mt7621_edimax_rg21s.dts | 8 + .../linux/ramips/dts/mt7621_edimax_rx21s.dtsi | 173 + .../dts/mt7621_elecom_wrc-1167ghbk2-s.dts | 195 + .../dts/mt7621_elecom_wrc-1167gs2-b.dts | 74 + .../ramips/dts/mt7621_elecom_wrc-1167gst2.dts | 70 + .../ramips/dts/mt7621_elecom_wrc-1750gs.dts | 64 + .../ramips/dts/mt7621_elecom_wrc-1750gst2.dts | 64 + .../ramips/dts/mt7621_elecom_wrc-1750gsv.dts | 64 + .../ramips/dts/mt7621_elecom_wrc-1900gst.dts | 64 + .../dts/mt7621_elecom_wrc-2533ghbk-i.dts | 199 + .../ramips/dts/mt7621_elecom_wrc-2533gs2.dts | 64 + .../ramips/dts/mt7621_elecom_wrc-2533gst.dts | 62 + .../ramips/dts/mt7621_elecom_wrc-2533gst2.dts | 64 + .../ramips/dts/mt7621_elecom_wrc-gs-1pci.dtsi | 30 + .../ramips/dts/mt7621_elecom_wrc-gs-2pci.dtsi | 38 + .../ramips/dts/mt7621_elecom_wrc-gs.dtsi | 155 + .../ramips/dts/mt7621_firefly_firewrt.dts | 163 + .../ramips/dts/mt7621_gehua_ghl-r-001.dts | 156 + .../ramips/dts/mt7621_glinet_gl-mt1300.dts | 163 + .../linux/ramips/dts/mt7621_gnubee_gb-pc1.dts | 127 + .../linux/ramips/dts/mt7621_gnubee_gb-pc2.dts | 163 + .../dts/mt7621_hilink_hlk-7621a-evb.dts | 110 + .../linux/ramips/dts/mt7621_hiwifi_hc5962.dts | 161 + target/linux/ramips/dts/mt7621_humax_e10.dts | 170 + .../ramips/dts/mt7621_iodata_wn-ax1167gr.dts | 215 + .../ramips/dts/mt7621_iodata_wn-ax1167gr2.dts | 24 + .../ramips/dts/mt7621_iodata_wn-ax2033gr.dts | 36 + .../ramips/dts/mt7621_iodata_wn-dx1167r.dts | 30 + .../ramips/dts/mt7621_iodata_wn-dx1200gr.dts | 212 + .../ramips/dts/mt7621_iodata_wn-dx2033gr.dts | 40 + .../ramips/dts/mt7621_iodata_wn-gx300gr.dts | 197 + .../ramips/dts/mt7621_iodata_wn-xx-xr.dtsi | 183 + .../ramips/dts/mt7621_iodata_wnpr2600g.dts | 197 + .../ramips/dts/mt7621_iptime_a3002mesh.dts | 150 + .../ramips/dts/mt7621_iptime_a3004ns-dual.dts | 179 + .../linux/ramips/dts/mt7621_iptime_a3004t.dts | 172 + .../ramips/dts/mt7621_iptime_a6004ns-m.dts | 8 + .../ramips/dts/mt7621_iptime_a6004ns-m.dtsi | 180 + .../linux/ramips/dts/mt7621_iptime_a6ns-m.dts | 8 + .../linux/ramips/dts/mt7621_iptime_a8004t.dts | 174 + .../ramips/dts/mt7621_iptime_ax2004m.dts | 165 + .../linux/ramips/dts/mt7621_iptime_t5004.dts | 121 + .../ramips/dts/mt7621_jcg_jhr-ac876m.dts | 185 + target/linux/ramips/dts/mt7621_jcg_q20.dts | 191 + target/linux/ramips/dts/mt7621_jcg_y2.dts | 146 + .../ramips/dts/mt7621_lenovo_newifi-d1.dts | 185 + .../linux/ramips/dts/mt7621_linksys_e5600.dts | 182 + .../ramips/dts/mt7621_linksys_ea6350-v4.dts | 37 + .../ramips/dts/mt7621_linksys_ea7300-v1.dts | 8 + .../ramips/dts/mt7621_linksys_ea7300-v2.dts | 8 + .../ramips/dts/mt7621_linksys_ea7500-v2.dts | 8 + .../ramips/dts/mt7621_linksys_ea7xxx.dtsi | 208 + .../ramips/dts/mt7621_linksys_ea8100-v1.dts | 8 + .../ramips/dts/mt7621_linksys_ea8100-v2.dts | 8 + .../ramips/dts/mt7621_linksys_re6500.dts | 156 + .../dts/mt7621_mediatek_ap-mt7621a-v60.dts | 168 + .../dts/mt7621_mediatek_mt7621-eval-board.dts | 80 + .../ramips/dts/mt7621_mercusys_mr70x-v1.dts | 165 + target/linux/ramips/dts/mt7621_mikrotik.dtsi | 71 + .../mt7621_mikrotik_routerboard-750gr3.dts | 37 + .../mt7621_mikrotik_routerboard-760igs.dts | 69 + .../dts/mt7621_mikrotik_routerboard-7xx.dtsi | 72 + .../dts/mt7621_mikrotik_routerboard-m11g.dts | 95 + .../dts/mt7621_mikrotik_routerboard-m33g.dts | 133 + .../linux/ramips/dts/mt7621_mqmaker_witi.dts | 150 + target/linux/ramips/dts/mt7621_mtc_wr1201.dts | 191 + .../linux/ramips/dts/mt7621_mts_wg430223.dts | 8 + .../ramips/dts/mt7621_netgear_ex6150.dts | 263 + .../linux/ramips/dts/mt7621_netgear_r6220.dts | 77 + .../linux/ramips/dts/mt7621_netgear_r6260.dts | 8 + .../linux/ramips/dts/mt7621_netgear_r6350.dts | 8 + .../ramips/dts/mt7621_netgear_r6700-v2.dts | 15 + .../linux/ramips/dts/mt7621_netgear_r6800.dts | 17 + .../linux/ramips/dts/mt7621_netgear_r6850.dts | 8 + .../ramips/dts/mt7621_netgear_r6900-v2.dts | 15 + .../linux/ramips/dts/mt7621_netgear_r7200.dts | 15 + .../linux/ramips/dts/mt7621_netgear_r7450.dts | 15 + .../dts/mt7621_netgear_sercomm_ayx.dtsi | 142 + .../dts/mt7621_netgear_sercomm_bzv.dtsi | 272 + .../dts/mt7621_netgear_sercomm_chj.dtsi | 200 + .../ramips/dts/mt7621_netgear_wac104.dts | 177 + .../ramips/dts/mt7621_netgear_wac124.dts | 8 + .../ramips/dts/mt7621_netgear_wax202.dts | 277 + .../ramips/dts/mt7621_netgear_wndr3700-v5.dts | 73 + .../linux/ramips/dts/mt7621_netis_wf2881.dts | 179 + .../linux/ramips/dts/mt7621_oraybox_x3a.dts | 158 + .../linux/ramips/dts/mt7621_phicomm_k2p.dts | 169 + .../linux/ramips/dts/mt7621_planex_vr500.dts | 132 + .../dts/mt7621_raisecom_msg1500-x-00.dts | 162 + .../dts/mt7621_renkforce_ws-wn530hp3-a.dts | 159 + .../dts/mt7621_samknows_whitebox-v8.dts | 163 + .../linux/ramips/dts/mt7621_sercomm_na502.dts | 229 + .../ramips/dts/mt7621_sercomm_na502s.dts | 362 + .../dts/mt7621_storylink_sap-g3200u3.dts | 156 + .../dts/mt7621_telco-electronics_x1.dts | 205 + .../ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts | 209 + .../ramips/dts/mt7621_thunder_timecloud.dts | 125 + .../ramips/dts/mt7621_totolink_a7000r.dts | 154 + .../ramips/dts/mt7621_totolink_x5000r.dts | 154 + .../ramips/dts/mt7621_tplink_archer-a6-v3.dts | 9 + .../dts/mt7621_tplink_archer-ax23-v1.dts | 203 + .../ramips/dts/mt7621_tplink_archer-c6-v3.dts | 9 + .../dts/mt7621_tplink_archer-c6u-v1.dts | 227 + .../dts/mt7621_tplink_archer-x6-v3.dtsi | 202 + .../dts/mt7621_tplink_eap235-wall-v1.dts | 193 + .../dts/mt7621_tplink_eap615-wall-v1.dts | 192 + .../ramips/dts/mt7621_tplink_re350-v1.dts | 183 + .../ramips/dts/mt7621_tplink_re500-v1.dts | 8 + .../ramips/dts/mt7621_tplink_re650-v1.dts | 8 + .../ramips/dts/mt7621_tplink_re650-v2.dts | 195 + .../ramips/dts/mt7621_tplink_rexx0-v1.dtsi | 196 + .../dts/mt7621_tplink_tl-wpa8631p-v3.dts | 204 + .../dts/mt7621_ubnt_edgerouter-x-sfp.dts | 80 + .../ramips/dts/mt7621_ubnt_edgerouter-x.dts | 6 + .../ramips/dts/mt7621_ubnt_edgerouter-x.dtsi | 158 + .../ramips/dts/mt7621_ubnt_unifi-6-lite.dts | 123 + .../ramips/dts/mt7621_ubnt_unifi-flexhd.dts | 181 + .../ramips/dts/mt7621_ubnt_unifi-nanohd.dts | 94 + .../linux/ramips/dts/mt7621_ubnt_unifi.dtsi | 76 + .../linux/ramips/dts/mt7621_ubnt_usw-flex.dts | 172 + .../dts/mt7621_unielec_u7621-01-16m.dts | 72 + .../ramips/dts/mt7621_unielec_u7621-01.dtsi | 109 + .../dts/mt7621_unielec_u7621-06-16m.dts | 77 + .../dts/mt7621_unielec_u7621-06-64m.dts | 78 + .../ramips/dts/mt7621_unielec_u7621-06.dtsi | 110 + .../ramips/dts/mt7621_wavlink_wl-wn531a6.dts | 32 + .../ramips/dts/mt7621_wavlink_wl-wn533a8.dts | 32 + .../ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi | 194 + .../dts/mt7621_wavlink_ws-wn572hp3-4g.dts | 184 + .../linux/ramips/dts/mt7621_wevo_11acnas.dts | 6 + .../ramips/dts/mt7621_wevo_w2914ns-v2.dts | 6 + .../ramips/dts/mt7621_wevo_w2914ns-v2.dtsi | 169 + .../ramips/dts/mt7621_winstars_ws-wn583a6.dts | 169 + .../dts/mt7621_xiaomi_mi-router-3-pro.dts | 228 + .../dts/mt7621_xiaomi_mi-router-3g-v2.dts | 8 + .../ramips/dts/mt7621_xiaomi_mi-router-3g.dts | 133 + .../ramips/dts/mt7621_xiaomi_mi-router-4.dts | 112 + .../dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi | 178 + .../mt7621_xiaomi_mi-router-4a-gigabit.dts | 8 + .../dts/mt7621_xiaomi_mi-router-ac2100.dts | 40 + .../dts/mt7621_xiaomi_mi-router-cr6606.dts | 8 + .../dts/mt7621_xiaomi_mi-router-cr6608.dts | 8 + .../dts/mt7621_xiaomi_mi-router-cr6609.dts | 8 + .../dts/mt7621_xiaomi_mi-router-cr660x.dtsi | 192 + .../ramips/dts/mt7621_xiaomi_nand_128m.dtsi | 109 + .../dts/mt7621_xiaomi_redmi-router-ac2100.dts | 40 + .../dts/mt7621_xiaomi_router-ac2100.dtsi | 77 + .../linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts | 140 + .../dts/mt7621_xzwifi_creativebox-v1.dts | 211 + .../ramips/dts/mt7621_youhua_wr1200js.dts | 182 + .../linux/ramips/dts/mt7621_youku_yk-l2.dts | 191 + .../linux/ramips/dts/mt7621_yuncore_ax820.dts | 181 + .../ramips/dts/mt7621_zbtlink_zbt-we1326.dts | 148 + .../ramips/dts/mt7621_zbtlink_zbt-we3526.dts | 153 + .../dts/mt7621_zbtlink_zbt-wg1602-16m.dts | 10 + .../ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi | 210 + .../dts/mt7621_zbtlink_zbt-wg1608-16m.dts | 12 + .../ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi | 228 + .../ramips/dts/mt7621_zbtlink_zbt-wg2626.dts | 168 + .../dts/mt7621_zbtlink_zbt-wg3526-16m.dts | 10 + .../dts/mt7621_zbtlink_zbt-wg3526-32m.dts | 14 + .../ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi | 169 + .../linux/ramips/dts/mt7621_zio_freezio.dts | 8 + .../linux/ramips/dts/mt7621_zyxel_nr7101.dts | 179 + .../linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi | 151 + .../linux/ramips/dts/mt7621_zyxel_nwa50ax.dts | 45 + .../ramips/dts/mt7621_zyxel_nwa55axe.dts | 6 + .../linux/ramips/dts/mt7621_zyxel_wap6805.dts | 184 + target/linux/ramips/dts/mt7628an.dtsi | 496 + .../dts/mt7628an_alfa-network_awusfree1.dts | 145 + .../ramips/dts/mt7628an_asus_rt-ac1200-v2.dts | 32 + .../ramips/dts/mt7628an_asus_rt-ac1200.dts | 28 + .../ramips/dts/mt7628an_asus_rt-ac1200.dtsi | 139 + .../ramips/dts/mt7628an_asus_rt-n10p-v3.dts | 8 + .../ramips/dts/mt7628an_asus_rt-n11p-b1.dts | 8 + .../ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts | 8 + .../ramips/dts/mt7628an_asus_rt-n1x.dtsi | 134 + .../dts/mt7628an_buffalo_wcr-1166ds.dts | 179 + .../dts/mt7628an_comfast_cf-wr758ac-v1.dts | 8 + .../dts/mt7628an_comfast_cf-wr758ac-v2.dts | 8 + .../dts/mt7628an_comfast_cf-wr758ac.dtsi | 124 + .../linux/ramips/dts/mt7628an_cudy_wr1000.dts | 155 + .../ramips/dts/mt7628an_d-team_pbr-d1.dts | 172 + .../ramips/dts/mt7628an_dlink_dap-1325-a1.dts | 139 + .../linux/ramips/dts/mt7628an_duzun_dm06.dts | 142 + .../ramips/dts/mt7628an_elecom_wrc-1167fs.dts | 177 + .../dts/mt7628an_glinet_gl-mt300n-v2.dts | 146 + .../dts/mt7628an_glinet_microuter-n300.dts | 12 + .../ramips/dts/mt7628an_glinet_vixmini.dts | 12 + .../mt7628an_glinet_vixmini_microuter.dtsi | 117 + .../dts/mt7628an_hak5_wifi-pineapple-mk7.dts | 139 + .../ramips/dts/mt7628an_hilink_hlk-7628n.dts | 103 + .../ramips/dts/mt7628an_hilink_hlk-7688a.dts | 129 + .../ramips/dts/mt7628an_hiwifi_hc5661a.dts | 41 + .../ramips/dts/mt7628an_hiwifi_hc5761a.dts | 64 + .../ramips/dts/mt7628an_hiwifi_hc5861b.dts | 65 + .../ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi | 111 + target/linux/ramips/dts/mt7628an_iptime.dtsi | 119 + .../linux/ramips/dts/mt7628an_iptime_a3.dts | 35 + .../ramips/dts/mt7628an_iptime_a604m.dts | 43 + .../ramips/dts/mt7628an_jotale_js76x8-16m.dts | 12 + .../ramips/dts/mt7628an_jotale_js76x8-32m.dts | 16 + .../ramips/dts/mt7628an_jotale_js76x8-8m.dts | 12 + .../ramips/dts/mt7628an_jotale_js76x8.dtsi | 138 + .../mt7628an_mediatek_linkit-smart-7688.dts | 173 + .../mt7628an_mediatek_mt7628an-eval-board.dts | 59 + .../dts/mt7628an_mercury_mac1200r-v2.dts | 113 + .../linux/ramips/dts/mt7628an_minew_g1-c.dts | 150 + .../ramips/dts/mt7628an_motorola_mwr03.dts | 141 + .../ramips/dts/mt7628an_netgear_r6020.dts | 62 + .../ramips/dts/mt7628an_netgear_r6080.dts | 42 + .../ramips/dts/mt7628an_netgear_r6120.dts | 50 + .../ramips/dts/mt7628an_netgear_r6xxx.dtsi | 128 + .../ramips/dts/mt7628an_onion_omega2.dts | 10 + .../ramips/dts/mt7628an_onion_omega2.dtsi | 178 + .../ramips/dts/mt7628an_onion_omega2p.dts | 14 + .../dts/mt7628an_rakwireless_rak633.dts | 108 + .../ramips/dts/mt7628an_ravpower_rp-wd009.dts | 202 + .../ramips/dts/mt7628an_skylab_skw92a.dts | 112 + target/linux/ramips/dts/mt7628an_tama_w06.dts | 112 + .../linux/ramips/dts/mt7628an_totolink_a3.dts | 35 + .../ramips/dts/mt7628an_totolink_lr1200.dts | 167 + .../dts/mt7628an_tplink_8m-split-uboot.dtsi | 101 + .../linux/ramips/dts/mt7628an_tplink_8m.dtsi | 78 + .../dts/mt7628an_tplink_archer-c20-v4.dts | 108 + .../dts/mt7628an_tplink_archer-c20-v5.dts | 103 + .../dts/mt7628an_tplink_archer-c50-v3.dts | 103 + .../dts/mt7628an_tplink_archer-c50-v4.dts | 101 + .../ramips/dts/mt7628an_tplink_re200-v2.dts | 24 + .../ramips/dts/mt7628an_tplink_re200-v3.dts | 19 + .../ramips/dts/mt7628an_tplink_re200-v4.dts | 19 + .../ramips/dts/mt7628an_tplink_re200.dtsi | 159 + .../ramips/dts/mt7628an_tplink_re220-v2.dts | 24 + .../ramips/dts/mt7628an_tplink_re305-v1.dts | 84 + .../ramips/dts/mt7628an_tplink_re305-v3.dts | 79 + .../ramips/dts/mt7628an_tplink_re305.dtsi | 86 + .../dts/mt7628an_tplink_tl-mr3020-v3.dts | 161 + .../dts/mt7628an_tplink_tl-mr3420-v5.dts | 81 + .../dts/mt7628an_tplink_tl-mr6400-v4.dts | 103 + .../dts/mt7628an_tplink_tl-mr6400-v5.dts | 103 + .../dts/mt7628an_tplink_tl-wa801nd-v5.dts | 75 + .../dts/mt7628an_tplink_tl-wr802n-v4.dts | 54 + .../dts/mt7628an_tplink_tl-wr840n-v4.dts | 71 + .../dts/mt7628an_tplink_tl-wr840n-v5.dts | 122 + .../dts/mt7628an_tplink_tl-wr841n-v13.dts | 97 + .../dts/mt7628an_tplink_tl-wr841n-v14.dts | 141 + .../dts/mt7628an_tplink_tl-wr842n-v5.dts | 81 + .../dts/mt7628an_tplink_tl-wr850n-v2.dts | 74 + .../dts/mt7628an_tplink_tl-wr902ac-v3.dts | 99 + .../dts/mt7628an_unielec_u7628-01-16m.dts | 68 + .../ramips/dts/mt7628an_unielec_u7628-01.dtsi | 99 + .../dts/mt7628an_vocore_vocore2-lite.dts | 26 + .../ramips/dts/mt7628an_vocore_vocore2.dts | 26 + .../ramips/dts/mt7628an_vocore_vocore2.dtsi | 108 + .../dts/mt7628an_wavlink_wl-wn531a3.dts | 148 + .../dts/mt7628an_wavlink_wl-wn570ha1.dts | 138 + .../dts/mt7628an_wavlink_wl-wn575a3.dts | 133 + .../dts/mt7628an_wavlink_wl-wn576a2.dts | 184 + .../dts/mt7628an_wavlink_wl-wn577a2.dts | 149 + .../dts/mt7628an_wavlink_wl-wn578a2.dts | 179 + .../ramips/dts/mt7628an_widora_neo-16m.dts | 10 + .../ramips/dts/mt7628an_widora_neo-32m.dts | 14 + .../linux/ramips/dts/mt7628an_widora_neo.dtsi | 181 + .../ramips/dts/mt7628an_wiznet_wizfi630s.dts | 175 + .../ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi | 104 + .../ramips/dts/mt7628an_wrtnode_wrtnode2p.dts | 29 + .../ramips/dts/mt7628an_wrtnode_wrtnode2r.dts | 51 + .../dts/mt7628an_xiaomi_mi-router-4.dtsi | 105 + ...mt7628an_xiaomi_mi-router-4a-100m-intl.dts | 56 + .../dts/mt7628an_xiaomi_mi-router-4a-100m.dts | 56 + .../dts/mt7628an_xiaomi_mi-router-4c.dts | 58 + .../ramips/dts/mt7628an_xiaomi_miwifi-3c.dts | 156 + .../dts/mt7628an_xiaomi_miwifi-nano.dts | 130 + .../dts/mt7628an_zbtlink_zbt-we1226.dts | 126 + .../dts/mt7628an_zyxel_keenetic-extra-ii.dts | 213 + target/linux/ramips/dts/rt2880.dtsi | 240 + .../ramips/dts/rt2880_airlink101_ar670w.dts | 119 + .../ramips/dts/rt2880_airlink101_ar725w.dts | 129 + .../linux/ramips/dts/rt2880_asus_rt-n15.dts | 127 + .../ramips/dts/rt2880_belkin_f5d8235-v1.dts | 248 + .../dts/rt2880_buffalo_wli-tx4-ag300n.dts | 130 + .../dts/rt2880_buffalo_wzr-agl300nh.dts | 152 + .../ramips/dts/rt2880_dlink_dap-1522-a1.dts | 152 + .../ramips/dts/rt2880_ralink_v11st-fe.dts | 84 + target/linux/ramips/dts/rt3050.dtsi | 358 + .../ramips/dts/rt3050_8devices_carambola.dts | 90 + .../ramips/dts/rt3050_allnet_all0256n-4m.dts | 10 + .../ramips/dts/rt3050_allnet_all0256n-8m.dts | 10 + .../ramips/dts/rt3050_allnet_all0256n.dtsi | 108 + .../dts/rt3050_alphanetworks_asl26555-16m.dts | 79 + .../dts/rt3050_alphanetworks_asl26555-8m.dts | 73 + .../dts/rt3050_alphanetworks_asl26555.dtsi | 97 + .../dts/rt3050_arcwireless_freestation5.dts | 121 + .../ramips/dts/rt3050_asus_rt-g32-b1.dts | 96 + .../ramips/dts/rt3050_asus_rt-n10-plus.dts | 102 + .../linux/ramips/dts/rt3050_asus_wl-330n.dts | 117 + .../ramips/dts/rt3050_asus_wl-330n3g.dts | 126 + .../linux/ramips/dts/rt3050_dlink_dcs-930.dts | 123 + .../ramips/dts/rt3050_dlink_dir-300-b1.dts | 129 + .../ramips/dts/rt3050_dlink_dir-600-b1.dts | 129 + .../ramips/dts/rt3050_dlink_dir-615-d.dts | 116 + .../ramips/dts/rt3050_dlink_dir-620-a1.dts | 138 + .../ramips/dts/rt3050_edimax_3g-6200n.dts | 134 + .../ramips/dts/rt3050_edimax_3g-6200nl.dts | 121 + .../linux/ramips/dts/rt3050_huawei_d105.dts | 114 + .../linux/ramips/dts/rt3050_jcg_jhr-n805r.dts | 106 + .../linux/ramips/dts/rt3050_netcore_nw718.dts | 128 + .../ramips/dts/rt3050_sparklan_wcr-150gn.dts | 120 + .../ramips/dts/rt3050_teltonika_rut5xx.dts | 119 + .../linux/ramips/dts/rt3050_tenda_w150m.dts | 134 + .../dts/rt3050_trendnet_tew-638apb-v2.dts | 114 + .../linux/ramips/dts/rt3052_accton_wr6202.dts | 126 + .../ramips/dts/rt3052_alfa-network_w502u.dts | 124 + .../linux/ramips/dts/rt3052_argus_atp-52b.dts | 116 + .../ramips/dts/rt3052_asiarf_awapn2403.dts | 91 + .../linux/ramips/dts/rt3052_asus_rt-n13u.dts | 118 + .../ramips/dts/rt3052_aximcom_mr-102n.dts | 136 + .../ramips/dts/rt3052_aztech_hw550-3g.dts | 136 + .../ramips/dts/rt3052_belkin_f5d8235-v2.dts | 153 + .../ramips/dts/rt3052_buffalo_whr-g300n.dts | 136 + .../ramips/dts/rt3052_dlink_dap-1350.dts | 145 + .../ramips/dts/rt3052_engenius_esr-9753.dts | 114 + .../ramips/dts/rt3052_fon_fonera-20n.dts | 164 + .../ramips/dts/rt3052_hauppauge_broadway.dts | 107 + .../linux/ramips/dts/rt3052_huawei_hg255d.dts | 152 + .../linux/ramips/dts/rt3052_jcg_jhr-n825r.dts | 101 + .../linux/ramips/dts/rt3052_jcg_jhr-n926r.dts | 147 + .../dts/rt3052_mofinetwork_mofi3500-3gn.dts | 122 + .../ramips/dts/rt3052_netgear_wnce2001.dts | 156 + .../linux/ramips/dts/rt3052_nexaira_bc2.dts | 102 + .../ramips/dts/rt3052_omnima_miniembwifi.dts | 112 + .../ramips/dts/rt3052_petatel_psr-680w.dts | 111 + .../ramips/dts/rt3052_planex_mzk-w300nh2.dts | 131 + .../ramips/dts/rt3052_planex_mzk-wdpr.dts | 100 + .../linux/ramips/dts/rt3052_poray_ip2202.dts | 108 + .../ramips/dts/rt3052_prolink_pwh2004.dts | 93 + .../ramips/dts/rt3052_ralink_v22rw-2x2.dts | 103 + .../ramips/dts/rt3052_sitecom_wl-351.dts | 140 + .../ramips/dts/rt3052_skyline_sl-r7205.dts | 113 + .../linux/ramips/dts/rt3052_tenda_3g300m.dts | 143 + .../ramips/dts/rt3052_tenda_w306r-v2.dts | 108 + .../dts/rt3052_unbranded_wr512-3gn-4m.dts | 43 + .../dts/rt3052_unbranded_wr512-3gn-8m.dts | 43 + .../dts/rt3052_unbranded_wr512-3gn.dtsi | 80 + .../dts/rt3052_unbranded_xdx-rn502j.dts | 112 + .../ramips/dts/rt3052_upvel_ur-326n4g.dts | 133 + .../ramips/dts/rt3052_upvel_ur-336un.dts | 133 + .../ramips/dts/rt3052_zyxel_keenetic.dts | 132 + .../ramips/dts/rt3052_zyxel_nbg-419n.dts | 114 + target/linux/ramips/dts/rt3352.dtsi | 401 + .../ramips/dts/rt3352_allnet_all5002.dts | 122 + .../ramips/dts/rt3352_dlink_dir-615-h1.dts | 136 + .../ramips/dts/rt3352_dlink_dir-620-d1.dts | 121 + .../linux/ramips/dts/rt3352_zte_mf283plus.dts | 142 + .../ramips/dts/rt3352_zyxel_nbg-419n-v2.dts | 136 + .../linux/ramips/dts/rt3662_asus_rt-n56u.dts | 158 + .../linux/ramips/dts/rt3662_dlink_dir-645.dts | 159 + .../ramips/dts/rt3662_edimax_br-6475nd.dts | 186 + .../ramips/dts/rt3662_engenius_esr600h.dts | 171 + .../ramips/dts/rt3662_loewe_wmdr-143n.dts | 66 + target/linux/ramips/dts/rt3662_omnima_hpm.dts | 169 + .../ramips/dts/rt3662_samsung_cy-swr1100.dts | 154 + target/linux/ramips/dts/rt3883.dtsi | 499 + .../ramips/dts/rt3883_belkin_f9k1109v1.dts | 84 + .../ramips/dts/rt3883_belkin_f9k110x.dtsi | 105 + .../ramips/dts/rt3883_sitecom_wlr-6000.dts | 193 + .../ramips/dts/rt3883_trendnet_tew-691gr.dts | 133 + .../ramips/dts/rt3883_trendnet_tew-692gr.dts | 159 + target/linux/ramips/dts/rt5350.dtsi | 411 + .../ramips/dts/rt5350_7links_px-4885-4m.dts | 10 + .../ramips/dts/rt5350_7links_px-4885-8m.dts | 10 + .../ramips/dts/rt5350_7links_px-4885.dtsi | 112 + .../ramips/dts/rt5350_airlive_air3gii.dts | 106 + .../ramips/dts/rt5350_allnet_all5003.dts | 114 + .../dts/rt5350_asiarf_awm002-evb-4m.dts | 10 + .../dts/rt5350_asiarf_awm002-evb-8m.dts | 10 + .../ramips/dts/rt5350_asiarf_awm002-evb.dtsi | 114 + .../linux/ramips/dts/rt5350_belkin_f7c027.dts | 139 + .../ramips/dts/rt5350_dlink_dcs-930l-b1.dts | 117 + .../ramips/dts/rt5350_dlink_dir-300-b7.dts | 120 + .../ramips/dts/rt5350_dlink_dir-320-b1.dts | 140 + .../ramips/dts/rt5350_dlink_dir-610-a1.dts | 121 + .../ramips/dts/rt5350_dlink_dwr-512-b.dts | 157 + .../ramips/dts/rt5350_easyacc_wizard-8800.dts | 76 + .../linux/ramips/dts/rt5350_hame_mpr-a1.dts | 128 + .../linux/ramips/dts/rt5350_hame_mpr-a2.dts | 129 + .../ramips/dts/rt5350_hilink_hlk-rm04.dts | 122 + .../ramips/dts/rt5350_hootoo_ht-tm02.dts | 119 + .../ramips/dts/rt5350_intenso_memory2move.dts | 121 + .../ramips/dts/rt5350_nexx_wt1520-4m.dts | 10 + .../ramips/dts/rt5350_nexx_wt1520-8m.dts | 10 + .../linux/ramips/dts/rt5350_nexx_wt1520.dtsi | 85 + .../ramips/dts/rt5350_nixcore_x1-16m.dts | 10 + .../linux/ramips/dts/rt5350_nixcore_x1-8m.dts | 10 + .../linux/ramips/dts/rt5350_nixcore_x1.dtsi | 192 + .../rt5350_olimex_rt5350f-olinuxino-evb.dts | 30 + .../dts/rt5350_olimex_rt5350f-olinuxino.dts | 6 + .../dts/rt5350_olimex_rt5350f-olinuxino.dtsi | 93 + .../ramips/dts/rt5350_omnima_miniembplug.dts | 124 + .../ramips/dts/rt5350_planex_mzk-dp150n.dts | 115 + target/linux/ramips/dts/rt5350_poray_m3.dts | 115 + .../linux/ramips/dts/rt5350_poray_m4-4m.dts | 10 + .../linux/ramips/dts/rt5350_poray_m4-8m.dts | 10 + target/linux/ramips/dts/rt5350_poray_m4.dtsi | 107 + target/linux/ramips/dts/rt5350_poray_x5.dts | 147 + target/linux/ramips/dts/rt5350_poray_x8.dts | 108 + .../linux/ramips/dts/rt5350_tenda_3g150b.dts | 125 + .../ramips/dts/rt5350_trendnet_tew-714tru.dts | 128 + .../ramips/dts/rt5350_unbranded_a5-v11.dts | 130 + .../ramips/dts/rt5350_vocore_vocore-16m.dts | 10 + .../ramips/dts/rt5350_vocore_vocore-8m.dts | 10 + .../ramips/dts/rt5350_vocore_vocore.dtsi | 246 + .../ramips/dts/rt5350_wansview_ncs601w.dts | 76 + .../ramips/dts/rt5350_wiznet_wizfi630a.dts | 153 + .../ramips/dts/rt5350_zorlik_zl5900v2.dts | 111 + .../dts/rt5350_zyxel_keenetic-lite-b.dts | 120 + .../dts/rt5350_zyxel_keenetic-start.dts | 123 + .../files/drivers/mmc/host/mtk-mmc/Kconfig | 12 + .../files/drivers/mmc/host/mtk-mmc/Makefile | 42 + .../files/drivers/mmc/host/mtk-mmc/board.h | 63 + .../files/drivers/mmc/host/mtk-mmc/dbg.c | 306 + .../files/drivers/mmc/host/mtk-mmc/dbg.h | 155 + .../drivers/mmc/host/mtk-mmc/mt6575_sd.h | 986 + .../files/drivers/mmc/host/mtk-mmc/sd.c | 2461 + .../files/drivers/mtd/nand/raw/mt7621_nand.c | 1362 + .../files/drivers/net/ethernet/ralink/Kconfig | 58 + .../drivers/net/ethernet/ralink/Makefile | 18 + .../drivers/net/ethernet/ralink/esw_rt3050.c | 1549 + .../drivers/net/ethernet/ralink/esw_rt3050.h | 32 + .../drivers/net/ethernet/ralink/ethtool.c | 230 + .../drivers/net/ethernet/ralink/ethtool.h | 22 + .../drivers/net/ethernet/ralink/gsw_mt7620.c | 280 + .../drivers/net/ethernet/ralink/gsw_mt7620.h | 120 + .../files/drivers/net/ethernet/ralink/mdio.c | 282 + .../files/drivers/net/ethernet/ralink/mdio.h | 28 + .../drivers/net/ethernet/ralink/mdio_mt7620.c | 168 + .../drivers/net/ethernet/ralink/mdio_rt2880.c | 230 + .../drivers/net/ethernet/ralink/mdio_rt2880.h | 23 + .../drivers/net/ethernet/ralink/mt7530.c | 1053 + .../drivers/net/ethernet/ralink/mt7530.h | 142 + .../drivers/net/ethernet/ralink/mtk_eth_soc.c | 1716 + .../drivers/net/ethernet/ralink/mtk_eth_soc.h | 529 + .../drivers/net/ethernet/ralink/soc_mt7620.c | 383 + .../drivers/net/ethernet/ralink/soc_rt2880.c | 68 + .../drivers/net/ethernet/ralink/soc_rt3050.c | 146 + .../drivers/net/ethernet/ralink/soc_rt3883.c | 67 + .../files/drivers/pinctrl/pinctrl-aw9523.c | 1135 + target/linux/ramips/image/Makefile | 231 + target/linux/ramips/image/common-tp-link.mk | 44 + .../linux/ramips/image/lzma-loader/Makefile | 68 + .../ramips/image/lzma-loader/src/LzmaDecode.c | 584 + .../ramips/image/lzma-loader/src/LzmaDecode.h | 113 + .../ramips/image/lzma-loader/src/LzmaTypes.h | 45 + .../ramips/image/lzma-loader/src/Makefile | 114 + .../image/lzma-loader/src/board-mt7621.c | 39 + .../image/lzma-loader/src/board-ralink.c | 42 + .../ramips/image/lzma-loader/src/cache.c | 43 + .../ramips/image/lzma-loader/src/cache.h | 17 + .../ramips/image/lzma-loader/src/cacheops.h | 85 + .../ramips/image/lzma-loader/src/config.h | 27 + .../ramips/image/lzma-loader/src/cp0regdef.h | 39 + .../linux/ramips/image/lzma-loader/src/head.S | 121 + .../ramips/image/lzma-loader/src/lantiq.mk | 1 + .../ramips/image/lzma-loader/src/loader.c | 262 + .../ramips/image/lzma-loader/src/loader.lds | 35 + .../ramips/image/lzma-loader/src/loader2.lds | 10 + .../image/lzma-loader/src/lzma-data.lds | 8 + .../ramips/image/lzma-loader/src/mt7621.mk | 1 + .../ramips/image/lzma-loader/src/printf.c | 350 + .../ramips/image/lzma-loader/src/printf.h | 18 + .../ramips/image/lzma-loader/src/ralink.mk | 1 + target/linux/ramips/image/mt7620.mk | 1436 + target/linux/ramips/image/mt7621.mk | 2314 + target/linux/ramips/image/mt76x8.mk | 958 + target/linux/ramips/image/rt288x.mk | 108 + target/linux/ramips/image/rt305x.mk | 1249 + target/linux/ramips/image/rt3883.mk | 144 + target/linux/ramips/modules.mk | 135 + .../mt7620/base-files/etc/board.d/01_leds | 248 + .../mt7620/base-files/etc/board.d/02_network | 408 + .../base-files/etc/board.d/03_gpio_switches | 36 + .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 49 + .../mt7620/base-files/etc/init.d/bootcount | 14 + .../etc/uci-defaults/05_fix-compat-version | 10 + .../mt7620/base-files/lib/upgrade/platform.sh | 37 + target/linux/ramips/mt7620/config-5.10 | 198 + target/linux/ramips/mt7620/target.mk | 15 + .../mt7621/base-files/etc/board.d/01_leds | 177 + .../mt7621/base-files/etc/board.d/02_network | 237 + .../base-files/etc/board.d/03_gpio_switches | 35 + .../base-files/etc/board.d/05_compat-version | 18 + .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 131 + .../mt7621/base-files/etc/init.d/bootcount | 29 + .../base-files/etc/init.d/set-irq-affinity | 19 + .../uci-defaults/01_enable_packet_steering | 5 + .../mt7621/base-files/lib/upgrade/iodata.sh | 64 + .../mt7621/base-files/lib/upgrade/platform.sh | 139 + .../mt7621/base-files/lib/upgrade/ubnt.sh | 78 + .../mt7621/base-files/sbin/fixup-mac-address | 80 + target/linux/ramips/mt7621/config-5.10 | 294 + target/linux/ramips/mt7621/target.mk | 18 + .../mt76x8/base-files/etc/board.d/01_leds | 161 + .../mt76x8/base-files/etc/board.d/02_network | 293 + .../mt76x8/base-files/etc/init.d/bootcount | 16 + .../mt76x8/base-files/lib/upgrade/platform.sh | 40 + target/linux/ramips/mt76x8/config-5.10 | 194 + target/linux/ramips/mt76x8/target.mk | 15 + ...0-mips-ralink-manage-low-reset-lines.patch | 45 + .../patches-5.10/200-add-ralink-eth.patch | 20 + ...k-rt288x-select-MIPS_AUTO_PFN_OFFSET.patch | 32 + ...1-pci-phy-kconfig-select-regmap-mmio.patch | 10 + ...0-mt7620-export-chip-version-and-pkg.patch | 19 + ...e-to-enable-disable-the-cevt-r4k-irq.patch | 100 + ...IPS-ralink-add-cpu-frequency-scaling.patch | 195 + ...-MIPS-add-bootargs-override-property.patch | 63 + ...315-owrt-hack-fix-mt7688-cache-issue.patch | 29 + ...-select-illegal-access-driver-by-def.patch | 25 + ...ort-for-buggy-MT7621S-core-detection.patch | 74 + .../322-mt7621-fix-cpu-clk-add-clkdev.patch | 186 + .../323-mt7621-memory-detect.patch | 129 + .../patches-5.10/324-mt7621-perfctr-fix.patch | 15 + .../325-mt7621-fix-memory-detect.patch | 58 + ...mtd-cfi-cmdset-0002-force-word-write.patch | 20 + ...or-Add-support-for-BoHong-bh25q128as.patch | 75 + ...driver-support-for-MT7621-nand-flash.patch | 47 + ...documentation-for-mt7621-nand-driver.patch | 85 + ...ethernet-mediatek-support-net-labels.patch | 34 + .../ramips/patches-5.10/710-at803x.patch | 184 + ...y-simplify-phy_link_change-arguments.patch | 118 + .../721-NET-no-auto-carrier-off-support.patch | 47 + ...DT-Add-documentation-for-gpio-ralink.patch | 59 + ...alink-add-gpio-driver-for-ralink-SoC.patch | 416 + ...support-for-GPIO-as-interrupt-contro.patch | 44 + ...621-pinctrl-use-ngpios-not-num-gpios.patch | 11 + .../patches-5.10/805-pinctrl-AW9523.patch | 72 + .../810-uvc-add-iPassion-iP2970-support.patch | 245 + ...-DT-Add-documentation-for-spi-rt2880.patch | 44 + ...SPI-ralink-add-Ralink-SoC-spi-driver.patch | 574 + .../825-i2c-MIPS-adds-ralink-I2C-driver.patch | 507 + ...IPS-ralink-add-sdhci-for-mt7620a-SoC.patch | 43 + .../835-asoc-add-mt7620-support.patch | 1029 + ...erial-add-ugly-custom-baud-rate-hack.patch | 22 + .../845-pwm-add-mediatek-support.patch | 217 + .../850-awake-rt305x-dwc2-controller.patch | 15 + .../patches-5.10/855-linkit_bootstrap.patch | 97 + .../rt288x/base-files/etc/board.d/01_leds | 24 + .../rt288x/base-files/etc/board.d/02_network | 63 + .../rt288x/base-files/lib/upgrade/platform.sh | 20 + target/linux/ramips/rt288x/config-5.10 | 178 + target/linux/ramips/rt288x/target.mk | 15 + .../rt305x/base-files/etc/board.d/01_leds | 104 + .../rt305x/base-files/etc/board.d/02_network | 307 + .../lib/preinit/04_handle_checksumming | 41 + .../rt305x/base-files/lib/upgrade/platform.sh | 20 + target/linux/ramips/rt305x/config-5.10 | 179 + target/linux/ramips/rt305x/target.mk | 15 + .../rt3883/base-files/etc/board.d/01_leds | 24 + .../rt3883/base-files/etc/board.d/02_network | 101 + .../lib/preinit/04_handle_checksumming | 30 + .../rt3883/base-files/lib/upgrade/platform.sh | 20 + target/linux/ramips/rt3883/config-5.10 | 179 + target/linux/ramips/rt3883/target.mk | 15 + target/linux/realtek/Makefile | 24 + .../realtek/base-files/etc/board.d/01_leds | 13 + .../realtek/base-files/etc/board.d/02_network | 68 + target/linux/realtek/base-files/etc/inittab | 3 + .../base-files/lib/upgrade/platform.sh | 19 + .../dts-5.10/rtl8380_netgear_gigabit.dtsi | 82 + .../dts-5.10/rtl8380_netgear_gigabit_1xx.dtsi | 60 + .../dts-5.10/rtl8380_netgear_gigabit_3xx.dtsi | 60 + .../dts-5.10/rtl8380_netgear_gs108t-v3.dts | 35 + .../dts-5.10/rtl8380_netgear_gs110tpp-v1.dts | 45 + .../dts-5.10/rtl8380_netgear_gs308t-v1.dts | 35 + .../dts-5.10/rtl8380_netgear_gs310tp-v1.dts | 25 + .../rtl8380_panasonic_m8eg-pn28080k.dts | 133 + .../dts-5.10/rtl8380_zyxel_gs1900-10hp.dts | 75 + .../dts-5.10/rtl8380_zyxel_gs1900-8.dts | 12 + .../dts-5.10/rtl8380_zyxel_gs1900-8hp-v1.dts | 12 + .../dts-5.10/rtl8380_zyxel_gs1900-8hp-v2.dts | 12 + .../dts-5.10/rtl8380_zyxel_gs1900.dtsi | 149 + .../dts-5.10/rtl8382_allnet_all-sg8208m.dts | 141 + .../dts-5.10/rtl8382_d-link_dgs-1210-10p.dts | 180 + .../dts-5.10/rtl8382_d-link_dgs-1210-16.dts | 80 + .../dts-5.10/rtl8382_d-link_dgs-1210-28.dts | 122 + .../dts-5.10/rtl8382_d-link_dgs-1210.dtsi | 84 + .../dts-5.10/rtl8382_inaba_aml2-17gp.dts | 155 + .../dts-5.10/rtl8382_iodata_bsh-g24mb.dts | 197 + .../dts-5.10/rtl8382_zyxel_gs1900-16.dts | 36 + .../dts-5.10/rtl8382_zyxel_gs1900-24-v1.dts | 128 + .../dts-5.10/rtl8382_zyxel_gs1900-24e.dts | 63 + .../dts-5.10/rtl8382_zyxel_gs1900-24hp-v1.dts | 125 + .../dts-5.10/rtl8382_zyxel_gs1900-24hp-v2.dts | 121 + target/linux/realtek/dts-5.10/rtl838x.dtsi | 222 + .../dts-5.10/rtl8393_zyxel_gs1900-48.dts | 320 + target/linux/realtek/dts-5.10/rtl839x.dtsi | 225 + .../rtl83xx_panasonic_mxxeg-pn28xx0k.dtsi | 195 + .../dts-5.10/rtl9302_zyxel_xgs1250-12.dts | 303 + target/linux/realtek/dts-5.10/rtl930x.dtsi | 160 + target/linux/realtek/dts-5.10/rtl931x.dtsi | 181 + .../mips/include/asm/mach-rtl838x/ioremap.h | 29 + .../include/asm/mach-rtl838x/mach-rtl83xx.h | 416 + .../arch/mips/kernel/cevt-rtl9300.c | 200 + .../files-5.10/arch/mips/rtl838x/Makefile | 5 + .../files-5.10/arch/mips/rtl838x/Platform | 5 + .../files-5.10/arch/mips/rtl838x/prom.c | 207 + .../files-5.10/arch/mips/rtl838x/setup.c | 116 + .../files-5.10/drivers/gpio/gpio-rtl8231.c | 354 + .../drivers/i2c/busses/i2c-rtl9300.c | 488 + .../drivers/i2c/busses/i2c-rtl9300.h | 62 + .../drivers/i2c/muxes/i2c-mux-rtl9300.c | 293 + .../drivers/net/dsa/rtl83xx/Kconfig | 8 + .../drivers/net/dsa/rtl83xx/Makefile | 3 + .../drivers/net/dsa/rtl83xx/common.c | 1691 + .../drivers/net/dsa/rtl83xx/debugfs.c | 628 + .../files-5.10/drivers/net/dsa/rtl83xx/dsa.c | 2285 + .../files-5.10/drivers/net/dsa/rtl83xx/qos.c | 576 + .../drivers/net/dsa/rtl83xx/rtl838x.c | 2036 + .../drivers/net/dsa/rtl83xx/rtl838x.h | 1093 + .../drivers/net/dsa/rtl83xx/rtl839x.c | 1904 + .../drivers/net/dsa/rtl83xx/rtl83xx.h | 137 + .../drivers/net/dsa/rtl83xx/rtl930x.c | 2551 + .../drivers/net/dsa/rtl83xx/rtl931x.c | 1672 + .../files-5.10/drivers/net/dsa/rtl83xx/tc.c | 409 + .../drivers/net/ethernet/rtl838x_eth.c | 2580 + .../drivers/net/ethernet/rtl838x_eth.h | 457 + .../files-5.10/drivers/net/phy/rtl83xx-phy.c | 3976 + .../files-5.10/drivers/net/phy/rtl83xx-phy.h | 68 + .../firmware/rtl838x_phy/rtl838x_8214fc.fw | Bin 0 -> 1676 bytes .../firmware/rtl838x_phy/rtl838x_8218b.fw | Bin 0 -> 1168 bytes .../firmware/rtl838x_phy/rtl838x_8380.fw | Bin 0 -> 1184 bytes target/linux/realtek/image/Makefile | 67 + target/linux/realtek/image/rtl838x.mk | 190 + target/linux/realtek/image/rtl839x.mk | 13 + target/linux/realtek/image/rtl930x.mk | 14 + target/linux/realtek/image/rtl931x.mk | 1 + ...s-gpio-binding-for-realtek-otto-gpio.patch | 103 + ...3-gpio-add-realtek-otto-gpio-support.patch | 394 + ...altek-rtl838x-rtl839x-spi-controller.patch | 57 + ...ltek-rtl838x-rtl839x-spi-controllers.patch | 248 + ...-add-realtek-rtl838x-rtl839x-support.patch | 78 + ...rtl838x-rtl839x-interrupt-controller.patch | 211 + ...ealtek-otto-fix-gpio-line-irq-offset.patch | 21 + ...hdog-add-realtek-otto-watchdog-timer.patch | 467 + ...pers-to-extract-clause-45-regad-and-.patch | 53 + .../300-mips-add-rtl838x-platform.patch | 81 + .../301-gpio-add-rtl8231-driver.patch | 25 + ...e-dependencies-for-gpio-realtek-otto.patch | 13 + ...pdate-dependency-for-spi-realtek-rtl.patch | 11 + ...pdate-dependency-for-irq-realtek-rtl.patch | 8 + ...date-dependency-for-realtek-otto-wdt.patch | 15 + ...308-otto-wdt-fix-missing-math-header.patch | 11 + .../309-cevt-rtl9300-support.patch | 54 + .../310-add-i2c-rtl9300-support.patch | 29 + .../311-add-i2c-mux-rtl9300-support.patch | 27 + .../patches-5.10/312-rt9313-support.patch | 74 + ...chip-irq-realtek-rtl-add-VPE-support.patch | 393 + ...-add-support-for-RTL930X-and-RTL931X.patch | 165 + ...t-dsa-add-support-for-rtl838x-switch.patch | 18 + ...-add-rtl838x-support-for-tag-trailer.patch | 40 + ...a-increase-dsa-max-ports-for-rtl838x.patch | 11 + ...net-add-support-for-rtl838x-ethernet.patch | 26 + ...nclude-linux-add-phy-ops-for-rtl838x.patch | 13 + ...vers-net-phy-eee-support-for-rtl838x.patch | 40 + ...04-include-linux-add-phy-hsgmii-mode.patch | 19 + .../patches-5.10/705-add-rtl-phy.patch | 25 + ...rease-phy-address-number-for-rtl839x.patch | 11 + .../patches-5.10/708-brflood-api.patch | 144 + .../patches-5.10/709-lag-offloading.patch | 759 + ...sfp-re-probe-modules-on-DEV_UP-event.patch | 26 + ...11-net-phy-add-an-MDIO-SMBus-library.patch | 168 + ...12-net-phy-sfp-add-support-for-SMBus.patch | 99 + ...e-better-brport-flags-when-ports-lea.patch | 148 + ...rt-hardware-assisted-indirect-access.patch | 840 + target/linux/realtek/profiles/00-default.mk | 12 + target/linux/realtek/rtl838x/config-5.10 | 206 + target/linux/realtek/rtl838x/target.mk | 15 + target/linux/realtek/rtl839x/config-5.10 | 205 + target/linux/realtek/rtl839x/target.mk | 13 + target/linux/realtek/rtl930x/config-5.10 | 211 + target/linux/realtek/rtl930x/target.mk | 13 + target/linux/realtek/rtl931x/config-5.10 | 225 + target/linux/realtek/rtl931x/target.mk | 12 + target/linux/rockchip/Makefile | 22 + .../armv8/base-files/etc/board.d/01_leds | 23 + .../armv8/base-files/etc/board.d/02_network | 79 + .../etc/hotplug.d/net/40-net-smp-affinity | 41 + .../base-files/lib/preinit/79_move_config | 16 + .../armv8/base-files/lib/upgrade/platform.sh | 86 + target/linux/rockchip/armv8/config-5.10 | 656 + target/linux/rockchip/armv8/target.mk | 8 + target/linux/rockchip/image/Makefile | 58 + target/linux/rockchip/image/armv8.mk | 43 + target/linux/rockchip/image/mmc.bootscript | 8 + .../rockchip/image/nanopi-r2s.bootscript | 8 + .../rockchip/image/nanopi-r4s.bootscript | 8 + ...Add-support-for-FriendlyARM-NanoPi-R.patch | 177 + ...kchip-add-EEPROM-node-for-NanoPi-R4S.patch | 31 + ...-rockchip-use-system-LED-for-OpenWrt.patch | 31 + ...usb3-controller-node-for-RK3328-SoCs.patch | 70 + ...ckchip-enable-LAN-port-on-NanoPi-R2S.patch | 60 + ...dd-OF-node-for-USB-eth-on-NanoPi-R2S.patch | 28 + ...-host-by-default-on-rk3399-rock-pi-4.patch | 32 + .../105-nanopi-r4s-sd-signalling.patch | 26 + .../patches-5.10/106-r4s-openwrt-leds.patch | 16 + target/linux/sunxi/Makefile | 30 + .../sunxi/base-files/etc/board.d/01_leds | 19 + .../sunxi/base-files/etc/board.d/02_network | 56 + .../base-files/etc/board.d/05_compat-version | 15 + target/linux/sunxi/base-files/etc/inittab | 5 + .../lib/firmware/brcm/brcmfmac4329-sdio.txt | 57 + .../lib/firmware/brcm/brcmfmac43362-sdio.txt | 51 + .../lib/firmware/brcm/brcmfmac43430-sdio.txt | 53 + .../firmware/brcm/brcmfmac43430a0-sdio.txt | 1 + .../base-files/lib/preinit/79_move_config | 19 + .../sunxi/base-files/lib/upgrade/platform.sh | 88 + target/linux/sunxi/config-5.10 | 512 + target/linux/sunxi/cortexa53/config-5.10 | 95 + target/linux/sunxi/cortexa53/target.mk | 10 + target/linux/sunxi/cortexa7/config-5.10 | 26 + target/linux/sunxi/cortexa7/target.mk | 9 + target/linux/sunxi/cortexa8/config-5.10 | 12 + target/linux/sunxi/cortexa8/target.mk | 9 + target/linux/sunxi/image/Config.in | 5 + target/linux/sunxi/image/Makefile | 44 + target/linux/sunxi/image/cortexa53.mk | 116 + target/linux/sunxi/image/cortexa7.mk | 233 + target/linux/sunxi/image/cortexa8.mk | 55 + .../linux/sunxi/image/gen_sunxi_sdcard_img.sh | 31 + target/linux/sunxi/modules.mk | 97 + .../062-add-sun8i-h3-zeropi-support.patch | 79 + ...0-sunxi-h3-add-support-for-nanopi-r1.patch | 186 + ...nxi-h5-add-support-for-nanopi-r1s-h5.patch | 230 + ...OF-node-for-USB-eth-on-NanoPi-R1S-H5.patch | 30 + ...angepi_pc2_usb_otg_to_host_key_power.patch | 20 + ...a64-sopine-Add-Sopine-flash-partitio.patch | 46 + ...ner-a64-olinuxino-add-status-LED-ali.patch | 32 + ...lwinner-nanopi-r1s-h5-add-status-LED.patch | 35 + ...m64-dts-orangepi-one-plus-enable-PWM.patch | 10 + ...m64-dts-enable-wifi-on-pine64-boards.patch | 72 + target/linux/sunxi/profiles/00-default.mk | 23 + target/linux/tegra/Makefile | 26 + target/linux/tegra/base-files/etc/inittab | 4 + .../base-files/lib/preinit/79_move_config | 19 + .../tegra/base-files/lib/upgrade/platform.sh | 89 + target/linux/tegra/config-5.10 | 485 + target/linux/tegra/image/Makefile | 51 + target/linux/tegra/image/generic-bootscript | 8 + ...interrupts-due-to-tegra2-silicon-bug.patch | 77 + ...enable-front-panel-leds-in-TrimSlice.patch | 46 + target/linux/uml/Makefile | 25 + target/linux/uml/README.md | 51 + target/linux/uml/base-files/etc/inittab | 4 + target/linux/uml/config-5.10 | 135 + .../uml/files/arch/um/include/uapi/asm/Kbuild | 0 target/linux/uml/image/Makefile | 33 + ...001-um-Fix-build-w-o-CONFIG_PM_SLEEP.patch | 32 + .../uml/patches-5.10/101-mconsole-exec.patch | 213 + .../patches-5.10/102-pseudo-random-mac.patch | 147 + .../64/base-files/lib/preinit/45_mount_xenfs | 8 + target/linux/x86/64/config-5.10 | 493 + target/linux/x86/64/target.mk | 6 + target/linux/x86/Makefile | 28 + .../linux/x86/base-files/etc/board.d/01_leds | 27 + .../x86/base-files/etc/board.d/02_network | 51 + target/linux/x86/base-files/etc/diag.sh | 84 + target/linux/x86/base-files/etc/inittab | 5 + .../x86/base-files/lib/preinit/01_sysinfo | 65 + .../base-files/lib/preinit/02_load_x86_ucode | 9 + .../lib/preinit/15_essential_fs_x86 | 7 + .../x86/base-files/lib/preinit/20_check_iso | 5 + .../x86/base-files/lib/preinit/79_move_config | 19 + .../lib/preinit/81_upgrade_bootloader | 18 + .../x86/base-files/lib/upgrade/platform.sh | 131 + target/linux/x86/config-5.10 | 433 + .../base-files/lib/preinit/45_mount_xenfs | 8 + target/linux/x86/generic/config-5.10 | 450 + target/linux/x86/generic/target.mk | 10 + target/linux/x86/geode/config-5.10 | 139 + target/linux/x86/geode/target.mk | 6 + target/linux/x86/image/64.mk | 10 + target/linux/x86/image/Makefile | 157 + target/linux/x86/image/generic.mk | 9 + target/linux/x86/image/geode.mk | 17 + target/linux/x86/image/grub-efi.cfg | 13 + target/linux/x86/image/grub-iso.cfg | 15 + target/linux/x86/image/grub-pc.cfg | 13 + target/linux/x86/image/legacy.mk | 9 + target/linux/x86/legacy/config-5.10 | 220 + target/linux/x86/legacy/target.mk | 7 + target/linux/x86/modules.mk | 104 + ...12-pcengines-apu2-detect-apuv4-board.patch | 50 + .../100-fix_cs5535_clockevt.patch | 13 + ..._ich-Enable-GPIO-driver-for-DH89xxCC.patch | 28 + ...x86-add-meraki-mx100-platform-driver.patch | 291 + ..._atom-Add-Lex-3I380NX-industrial-PC-.patch | 52 + .../patches-5.10/300-pcengines_apu1_led.patch | 41 + target/linux/zynq/Makefile | 29 + .../zynq/base-files/etc/board.d/02_network | 21 + target/linux/zynq/base-files/etc/inittab | 3 + target/linux/zynq/config-5.10 | 550 + target/linux/zynq/image/Makefile | 78 + .../linux/zynq/image/gen_zynq_sdcard_img.sh | 26 + target/llvm-bpf/Makefile | 30 + target/sdk/Config.in | 17 + target/sdk/Makefile | 188 + target/sdk/convert-config.pl | 65 + target/sdk/files/Config.in | 152 + target/sdk/files/Makefile | 60 + target/sdk/files/README.SDK | 11 + target/sdk/files/include/prepare.mk | 17 + target/toolchain/Config.in | 9 + target/toolchain/Makefile | 75 + target/toolchain/files/README.TOOLCHAIN | 2 + target/toolchain/files/wrapper.sh | 87 + toolchain/Config.in | 362 + toolchain/Makefile | 96 + toolchain/binutils/Config.in | 23 + toolchain/binutils/Config.version | 12 + toolchain/binutils/Makefile | 117 + .../2.37/300-001_ld_makefile_patch.patch | 22 + .../400-mips_no_dynamic_linking_sym.patch | 18 + ...e-default-emulation-for-mips64-linux.patch | 38 + .../2.37/600-Close_the_file_descriptor.patch | 184 + .../2.38/300-001_ld_makefile_patch.patch | 22 + .../400-mips_no_dynamic_linking_sym.patch | 18 + ...e-default-emulation-for-mips64-linux.patch | 38 + toolchain/build_version | 1 + toolchain/fortify-headers/Makefile | 28 + toolchain/gcc/Config.in | 66 + toolchain/gcc/Config.version | 13 + toolchain/gcc/common.mk | 217 + toolchain/gcc/exclude-testsuite | 9 + toolchain/gcc/files/alternate-arch-cc.in | 3 + toolchain/gcc/final/Makefile | 90 + toolchain/gcc/initial/Makefile | 36 + toolchain/gcc/minimal/Makefile | 29 + .../patches/10.3.0/002-case_insensitive.patch | 24 + .../patches/10.3.0/010-documentation.patch | 35 + .../10.3.0/110-Fix-MIPS-PR-84790.patch | 20 + .../gcc/patches/10.3.0/230-musl_libssp.patch | 13 + .../300-mips_Os_cpu_rtx_cost_model.patch | 21 + .../10.3.0/810-arm-softfloat-libgcc.patch | 33 + .../gcc/patches/10.3.0/820-libgcc_pic.patch | 44 + .../840-armv4_pass_fix-v4bx_to_ld.patch | 28 + .../10.3.0/850-use_shared_libgcc.patch | 54 + .../patches/10.3.0/851-libgcc_no_compat.patch | 22 + .../patches/10.3.0/870-ppc_no_crtsavres.patch | 11 + .../patches/10.3.0/881-no_tm_section.patch | 11 + .../patches/10.3.0/900-bad-mips16-crt.patch | 9 + .../gcc/patches/10.3.0/910-mbsd_multi.patch | 146 + .../10.3.0/920-specs_nonfatal_getenv.patch | 22 + .../10.3.0/930-fix-mips-noexecstack.patch | 111 + ...ibffi-fix-MIPS-softfloat-build-issue.patch | 168 + ...mpilation-when-making-cross-compiler.patch | 67 + ...ld_using_range-range_of_address-PR10.patch | 114 + .../patches/11.2.0/002-case_insensitive.patch | 24 + .../patches/11.2.0/010-documentation.patch | 35 + ...-define-TARGET_LIBC_GNUSTACK-on-musl.patch | 46 + ...-asm-machine-directive-for-some-CPUs.patch | 54 + .../11.2.0/110-Fix-MIPS-PR-84790.patch | 20 + .../gcc/patches/11.2.0/230-musl_libssp.patch | 13 + .../300-mips_Os_cpu_rtx_cost_model.patch | 21 + .../11.2.0/810-arm-softfloat-libgcc.patch | 33 + .../gcc/patches/11.2.0/820-libgcc_pic.patch | 44 + .../840-armv4_pass_fix-v4bx_to_ld.patch | 28 + .../11.2.0/850-use_shared_libgcc.patch | 54 + .../patches/11.2.0/851-libgcc_no_compat.patch | 22 + .../patches/11.2.0/870-ppc_no_crtsavres.patch | 11 + .../patches/11.2.0/881-no_tm_section.patch | 11 + .../patches/11.2.0/900-bad-mips16-crt.patch | 9 + .../gcc/patches/11.2.0/910-mbsd_multi.patch | 146 + .../11.2.0/920-specs_nonfatal_getenv.patch | 22 + ...ibffi-fix-MIPS-softfloat-build-issue.patch | 168 + ...mpilation-when-making-cross-compiler.patch | 67 + .../11.2.0/970-macos_arm64-building-fix.patch | 45 + .../patches/8.4.0/002-case_insensitive.patch | 24 + .../gcc/patches/8.4.0/010-documentation.patch | 35 + .../patches/8.4.0/110-Fix-MIPS-PR-84790.patch | 20 + .../gcc/patches/8.4.0/230-musl_libssp.patch | 13 + .../300-mips_Os_cpu_rtx_cost_model.patch | 21 + .../8.4.0/800-arm_v5te_no_ldrd_strd.patch | 11 + .../8.4.0/810-arm-softfloat-libgcc.patch | 33 + .../gcc/patches/8.4.0/820-libgcc_pic.patch | 44 + .../8.4.0/840-armv4_pass_fix-v4bx_to_ld.patch | 28 + .../patches/8.4.0/850-use_shared_libgcc.patch | 54 + .../patches/8.4.0/851-libgcc_no_compat.patch | 22 + .../patches/8.4.0/870-ppc_no_crtsavres.patch | 11 + .../gcc/patches/8.4.0/881-no_tm_section.patch | 11 + .../patches/8.4.0/900-bad-mips16-crt.patch | 9 + .../gcc/patches/8.4.0/910-mbsd_multi.patch | 146 + .../8.4.0/920-specs_nonfatal_getenv.patch | 22 + .../8.4.0/930-fix-mips-noexecstack.patch | 111 + ...ibffi-fix-MIPS-softfloat-build-issue.patch | 168 + ...mpilation-when-making-cross-compiler.patch | 67 + toolchain/gdb/Makefile | 73 + .../120-fix-compile-flag-mismatch.patch | 11 + toolchain/glibc/Makefile | 32 + toolchain/glibc/common.mk | 102 + toolchain/glibc/headers/Makefile | 28 + toolchain/glibc/include/libintl.h | 6 + ...use-of-DES-encryption-functions-in-n.patch | 677 + .../glibc/patches/100-fix_cross_rpcgen.patch | 36 + .../patches/200-add-dl-search-paths.patch | 14 + toolchain/info.mk | 6 + toolchain/kernel-headers/Makefile | 112 + toolchain/musl/Config.in | 13 + toolchain/musl/Makefile | 31 + toolchain/musl/common.mk | 55 + toolchain/musl/include/sys/queue.h | 574 + .../patches/110-read_timezone_from_fs.patch | 28 + .../patches/200-add_libssp_nonshared.patch | 53 + toolchain/musl/patches/300-relative.patch | 11 + ...00-nftw-support-common-gnu-extension.patch | 95 + .../musl/patches/800-mips_pie_debug.patch | 61 + .../musl/patches/900-iconv_size_hack.patch | 100 + .../musl/patches/901-crypt_size_hack.patch | 75 + toolchain/nasm/Makefile | 53 + toolchain/wrapper/Makefile | 62 + tools/Makefile | 166 + tools/autoconf-archive/Makefile | 28 + tools/autoconf/Makefile | 37 + tools/autoconf/patches/000-relocatable.patch | 229 + tools/autoconf/patches/001-no_emacs_lib.patch | 22 + .../patches/002-musl_host_fixup.patch | 24 + tools/automake/Makefile | 51 + tools/automake/files/aclocal | 2 + tools/automake/patches/000-relocatable.patch | 96 + ...clocal-skip-not-existing-directories.patch | 15 + tools/b43-tools/Makefile | 50 + tools/b43-tools/files/b43-fwsquash.py | 149 + tools/b43-tools/patches/001-fw-dirname.patch | 16 + tools/b43-tools/patches/002-no_libfl.patch | 14 + tools/bash/Makefile | 21 + tools/bc/Makefile | 23 + tools/bc/patches/001-no_doc.patch | 23 + tools/bison/Makefile | 32 + tools/bison/scripts/yacc | 2 + tools/cbootimage-configs/Makefile | 32 + tools/cbootimage/Makefile | 31 + tools/ccache/Makefile | 41 + tools/ccache/files/ccache_cc | 2 + tools/ccache/files/ccache_cxx | 2 + tools/ccache/patches/100-honour-copts.patch | 10 + tools/ccache/patches/110-musl-gcc12.patch | 32 + tools/cmake/Makefile | 52 + tools/cmake/patches/100-no-testing.patch | 33 + .../120-curl-fix-libressl-linking.patch | 37 + .../130-bootstrap_parallel_make_flag.patch | 14 + tools/coreutils/Makefile | 37 + tools/cpio/Makefile | 14 + .../patches/001-duplicate-program-name.patch | 18 + tools/cpio/patches/010-clang.patch | 11 + tools/dosfstools/Makefile | 27 + .../101-config-switch-to-AC_CHECK_LIB.patch | 28 + tools/e2fsprogs/Makefile | 54 + .../001-exit_0_on_corrected_errors.patch | 11 + .../patches/002-dont-build-e4defrag.patch | 11 + tools/e2fsprogs/patches/003-no-crond.patch | 11 + ...-sanity-check-to-extent-manipulation.patch | 50 + tools/elftosb/Makefile | 26 + tools/elftosb/patches/001-libm.patch | 11 + .../elftosb/patches/002-fix-header-path.patch | 19 + tools/elftosb/patches/003-use-ldflags.patch | 26 + tools/expat/Makefile | 33 + tools/fakeroot/Makefile | 28 + tools/fakeroot/patches/000-relocatable.patch | 29 + tools/fakeroot/patches/200-disable-doc.patch | 10 + .../patches/400-alpine-libc.musl-fix.patch | 34 + tools/fakeroot/patches/600-macOS.patch | 56 + tools/findutils/Makefile | 31 + tools/findutils/patches/010-endpwent.patch | 20 + tools/firmware-utils/Makefile | 21 + ...01-tplink-safeloader-add-Archer-AX23.patch | 122 + ...oader-Add-support-for-Mercusys-MR70X.patch | 95 + tools/flex/Makefile | 34 + .../flex/patches/100-disable-tests-docs.patch | 13 + ...SE_SYSTEM_EXTENSIONS-in-configure.ac.patch | 27 + tools/flock/Makefile | 27 + tools/flock/src/flock.c | 342 + tools/genext2fs/Makefile | 51 + tools/genext2fs/patches/100-c99_scanf.patch | 21 + tools/genext2fs/patches/200-autoconf.patch | 13 + .../patches/300-blocksize-creator.patch | 558 + .../genext2fs/patches/400-byteswap_fix.patch | 44 + tools/gengetopt/Makefile | 30 + .../gengetopt/patches/100-no-tests-docs.patch | 33 + tools/gmp/Makefile | 34 + tools/include/asm/types.h | 24 + tools/include/byteswap.h | 5 + tools/include/elf.h | 3007 + tools/include/endian.h | 40 + tools/include/sys/sysmacros.h | 56 + tools/isl/Makefile | 27 + tools/kernel2minor/Makefile | 29 + tools/libressl/Makefile | 34 + tools/libtool/Makefile | 42 + tools/libtool/files/libtool-v1.5.patch | 118 + tools/libtool/files/libtool-v2.2.patch | 123 + tools/libtool/files/libtool-v2.4.patch | 160 + tools/libtool/patches/000-relocatable.patch | 141 + tools/libtool/patches/100-libdir-fixes.patch | 94 + ...10-dont-use-target-dir-for-relinking.patch | 20 + .../120-strip-unsafe-dirs-for-relinking.patch | 24 + tools/libtool/patches/150-trailingslash.patch | 49 + .../libtool/patches/160-passthrough-ssp.patch | 12 + .../patches/200-openwrt-branding.patch | 112 + tools/llvm-bpf/Makefile | 56 + tools/lzma-old/Makefile | 38 + tools/lzma-old/patches/100-lzma_zlib.patch | 404 + tools/lzma-old/patches/110-ranlib.patch | 10 + tools/lzma-old/patches/120-add-cflags.patch | 11 + tools/lzma/Makefile | 36 + tools/lzma/patches/001-large_files.patch | 13 + tools/lzma/patches/002-lzmp.patch | 1059 + tools/lzma/patches/003-compile_fixes.patch | 26 + tools/lzma/patches/100-static_library.patch | 70 + .../101-move-copyright-to-usage-info.patch | 20 + tools/m4/Makefile | 29 + tools/make-ext4fs/Makefile | 28 + tools/meson/Makefile | 35 + tools/meson/files/openwrt-cross.txt.in | 25 + tools/meson/files/openwrt-native.txt.in | 15 + tools/meson/patches/010-wsl2.patch | 21 + tools/missing-macros/Makefile | 28 + tools/missing-macros/src/README | 100 + tools/missing-macros/src/bin/help2man | 29 + tools/missing-macros/src/bin/makeinfo | 112 + tools/missing-macros/src/m4/as-ac-expand.m4 | 43 + .../missing-macros/src/m4/as-compiler-flag.m4 | 62 + .../src/m4/as-unaligned-access.m4 | 41 + tools/missing-macros/src/m4/as-version.m4 | 71 + tools/missing-macros/src/m4/dnet.m4 | 322 + .../src/m4/fake-gtk-doc-check.m4 | 13 + tools/missing-macros/src/m4/fake-intltool.m4 | 16 + tools/missing-macros/src/m4/glibc2.m4 | 30 + tools/missing-macros/src/m4/glibc21.m4 | 30 + tools/missing-macros/src/m4/intdiv0.m4 | 84 + tools/missing-macros/src/m4/intmax.m4 | 33 + tools/missing-macros/src/m4/inttypes-pri.m4 | 36 + tools/missing-macros/src/m4/inttypes_h.m4 | 26 + tools/missing-macros/src/m4/lib-ld.m4 | 110 + tools/missing-macros/src/m4/lib-link.m4 | 774 + tools/missing-macros/src/m4/lib-prefix.m4 | 224 + tools/missing-macros/src/m4/mfx_acc.m4 | 163 + tools/missing-macros/src/m4/mfx_cppflags.m4 | 41 + tools/missing-macros/src/m4/mfx_limits.m4 | 152 + tools/missing-macros/src/m4/progtest.m4 | 92 + tools/missing-macros/src/m4/stdint_h.m4 | 26 + tools/missing-macros/src/m4/uintmax_t.m4 | 30 + tools/missing-macros/src/m4/va_copy.m4 | 111 + tools/missing-macros/src/m4/wint_t.m4 | 28 + tools/mkimage/Makefile | 44 + .../030-allow-to-use-different-magic.patch | 71 + ...d-compatibility-with-non-Linux-hosts.patch | 65 + .../patches/090-macos-arm64-builing-fix.patch | 21 + ...5-tools-disable-TOOLS_FIT_FULL_CHECK.patch | 25 + ...0-increase-tmpfile-name-length-limit.patch | 11 + tools/mklibs/Makefile | 35 + tools/mklibs/include/elf.h | 2559 + tools/mklibs/patches/001-compile.patch | 8 + .../patches/002-disable_symbol_checks.patch | 20 + tools/mklibs/patches/003-no_copy.patch | 50 + .../mklibs/patches/004-libpthread_link.patch | 28 + tools/mklibs/patches/005-duplicate_syms.patch | 35 + tools/mklibs/patches/007-gc_sections.patch | 11 + .../patches/008-uclibc_libgcc_link.patch | 37 + .../patches/010-remove_STT_GNU_IFUNC.patch | 20 + .../mklibs/patches/011-remove_multiarch.patch | 10 + tools/mklibs/patches/100-apply-2to3.patch | 154 + tools/mpc/Makefile | 28 + tools/mpfr/Makefile | 28 + tools/mpfr/patches/001-only_src.patch | 22 + tools/mpfr/patches/100-freebsd-compat.patch | 10 + tools/mtd-utils/Makefile | 56 + tools/mtd-utils/include/fls.h | 2 + tools/mtd-utils/include/linux/types.h | 18 + tools/mtd-utils/patches/100-sscanf_fix.patch | 11 + tools/mtd-utils/patches/110-portability.patch | 175 + tools/mtd-utils/patches/130-lzma_jffs2.patch | 5033 ++ .../patches/134-freebsd_loff_t.patch | 14 + ...add-ubigen_write_terminator-function.patch | 89 + .../201-ubinize-add-terminator-support.patch | 68 + .../320-mkfs.jffs2-SOURCE_DATE_EPOCH.patch | 60 + tools/mtools/Makefile | 39 + tools/ninja/Makefile | 39 + .../patches/100-make_jobserver_support.patch | 2279 + tools/padjffs2/Makefile | 36 + tools/padjffs2/src/Makefile | 15 + tools/padjffs2/src/padjffs2.c | 210 + tools/patch-image/Makefile | 29 + tools/patch-image/src/patch-cmdline.c | 85 + tools/patch-image/src/patch-dtb.c | 103 + tools/patch/Makefile | 25 + tools/patch/patches/010-CVE-2018-6951.patch | 24 + .../patch/patches/020-CVE-2018-1000156.patch | 142 + tools/patch/patches/030-CVE-2018-6952.patch | 25 + ...rror-handling-with-git-style-patches.patch | 53 + tools/patch/patches/050-CVE-2019-13636.patch | 108 + tools/patch/patches/060-CVE-2019-13638.patch | 38 + ...l-hard-on-EACCES-when-copying-xattrs.patch | 33 + tools/patchelf/Makefile | 27 + tools/pkgconf/Makefile | 38 + tools/pkgconf/files/pkg-config | 9 + tools/quilt/Makefile | 36 + tools/quilt/patches/000-relocatable.patch | 170 + tools/quilt/patches/001-fix_compile.patch | 18 + tools/sdimage/Makefile | 34 + .../sdimage/patches/100-deactivate-ufb.patch | 13 + tools/sed/Makefile | 48 + tools/sparse/Makefile | 24 + tools/squashfs/Makefile | 41 + tools/squashfs/patches/100-lzma.patch | 22 + .../patches/110-no_nonstatic_inline.patch | 11 + .../120-add-fixed-timestamp-support.patch | 79 + .../patches/130-include_sysmacros.patch | 20 + tools/squashfs/patches/140-gcc-10-fix.patch | 25 + tools/squashfskit4/Makefile | 41 + .../patches/0001-fix-version.sh.patch | 21 + ...002-fix-build-failure-against-gcc-10.patch | 41 + .../patches/0010-portability.patch | 37 + .../patches/0020-big-endian.patch | 14 + tools/sstrip/Makefile | 29 + .../001-disable-elftoc-compilation.patch | 28 + tools/tar/Makefile | 31 + .../patches/100-symlink-force-root-name.patch | 27 + .../110-symlink-force-permissions.patch | 10 + tools/xz/Makefile | 36 + tools/zip/Makefile | 36 + ...e-borrow-the-LFS-test-from-autotools.patch | 89 + .../004-do-not-set-unwanted-cflags.patch | 15 + ...k-markings-to-avoid-executable-stack.patch | 21 + .../007-fclose-in-file-not-fclose-x.patch | 16 + .../patches/008-hardening-build-fix-1.patch | 25 + .../patches/009-hardening-build-fix-2.patch | 16 + tools/zip/patches/010-remove-build-date.patch | 15 + .../zip/patches/011-reproducible-mtime.patch | 41 + ...make-encrypted-archives-reproducible.patch | 75 + tools/zlib/Makefile | 41 + ...x-compressor-crash-on-certain-inputs.patch | 343 + .../900-overridable-pc-exec-prefix.patch | 14 + tools/zstd/Makefile | 35 + 7870 files changed, 1322295 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/FUNDING.yml create mode 100644 .github/labeler.yml create mode 100644 .github/pull_request_template create mode 100644 .github/workflows/Dockerfile.tools create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/check-kernel-patches.yml create mode 100644 .github/workflows/formal.yml create mode 100644 .github/workflows/kernel.yml create mode 100644 .github/workflows/labeler.yml create mode 100644 .github/workflows/packages.yml create mode 100644 .github/workflows/scripts/ci_helpers.sh create mode 100755 .github/workflows/scripts/show_build_failures.sh create mode 100644 .github/workflows/tools.yml create mode 100644 .gitignore create mode 100644 BSDmakefile create mode 100644 COPYING create mode 100644 Config.in create mode 100644 LICENSES/BSD-2-Clause create mode 100644 LICENSES/BSD-3-Clause create mode 100644 LICENSES/GPL-1.0 create mode 100644 LICENSES/GPL-2.0 create mode 100644 LICENSES/ISC create mode 100644 LICENSES/Linux-syscall-note create mode 100644 LICENSES/MIT create mode 100644 Makefile create mode 100644 README.md create mode 100644 config/Config-build.in create mode 100644 config/Config-devel.in create mode 100644 config/Config-images.in create mode 100644 config/Config-kernel.in create mode 100755 config/check-uname.sh create mode 100644 feeds.conf.default create mode 100644 include/autotools.mk create mode 100644 include/bpf.mk create mode 100644 include/cmake.mk create mode 100644 include/debug.mk create mode 100644 include/depends.mk create mode 100644 include/device_table.txt create mode 100644 include/download.mk create mode 100644 include/feeds.mk create mode 100644 include/hardened-ld-pie.specs create mode 100644 include/hardening.mk create mode 100644 include/host-build.mk create mode 100644 include/image-commands.mk create mode 100644 include/image.mk create mode 100644 include/kernel-5.10 create mode 100644 include/kernel-build.mk create mode 100644 include/kernel-defaults.mk create mode 100644 include/kernel-version.mk create mode 100644 include/kernel.mk create mode 100644 include/logo.png create mode 100644 include/logo.svg create mode 100644 include/meson.mk create mode 100644 include/netfilter.mk create mode 100644 include/nls.mk create mode 100644 include/package-bin.mk create mode 100644 include/package-defaults.mk create mode 100644 include/package-dumpinfo.mk create mode 100644 include/package-ipkg.mk create mode 100644 include/package-seccomp.mk create mode 100644 include/package.mk create mode 100644 include/prereq-build.mk create mode 100644 include/prereq.mk create mode 100644 include/quilt.mk create mode 100644 include/rootfs.mk create mode 100644 include/scan.awk create mode 100644 include/scan.mk create mode 100644 include/shell.sh create mode 100644 include/site/aarch64 create mode 100644 include/site/aarch64_be create mode 100644 include/site/arc create mode 100644 include/site/arm create mode 100644 include/site/armeb create mode 100644 include/site/darwin create mode 100644 include/site/i386 create mode 100644 include/site/i486 create mode 100644 include/site/i686 create mode 100644 include/site/linux create mode 100644 include/site/m68k create mode 100644 include/site/mips create mode 100644 include/site/mips64 create mode 100644 include/site/mips64el create mode 100644 include/site/mipsel create mode 100644 include/site/powerpc create mode 100644 include/site/powerpc64 create mode 100644 include/site/sparc create mode 100644 include/site/x86_64 create mode 100644 include/subdir.mk create mode 100644 include/target.mk create mode 100644 include/toolchain-build.mk create mode 100644 include/toplevel.mk create mode 100644 include/trusted-firmware-a.mk create mode 100644 include/u-boot.mk create mode 100644 include/uclibc++.mk create mode 100644 include/unpack.mk create mode 100644 include/verbose.mk create mode 100644 include/version.mk create mode 100644 package/Makefile create mode 100644 package/base-files/Makefile create mode 100755 package/base-files/files/bin/board_detect create mode 100755 package/base-files/files/bin/config_generate create mode 100755 package/base-files/files/bin/ipcalc.sh create mode 100644 package/base-files/files/etc/banner create mode 100644 package/base-files/files/etc/banner.failsafe create mode 100644 package/base-files/files/etc/board.d/99-default_network create mode 100644 package/base-files/files/etc/device_info create mode 100644 package/base-files/files/etc/diag.sh create mode 100644 package/base-files/files/etc/ethers create mode 100644 package/base-files/files/etc/fstab create mode 100644 package/base-files/files/etc/group create mode 100644 package/base-files/files/etc/hosts create mode 100644 package/base-files/files/etc/hotplug.d/net/00-sysctl create mode 100755 package/base-files/files/etc/init.d/boot create mode 100755 package/base-files/files/etc/init.d/done create mode 100755 package/base-files/files/etc/init.d/gpio_switch create mode 100755 package/base-files/files/etc/init.d/led create mode 100755 package/base-files/files/etc/init.d/sysctl create mode 100755 package/base-files/files/etc/init.d/sysfixtime create mode 100755 package/base-files/files/etc/init.d/system create mode 100755 package/base-files/files/etc/init.d/umount create mode 100644 package/base-files/files/etc/inittab create mode 100644 package/base-files/files/etc/iproute2/ematch_map create mode 100644 package/base-files/files/etc/iproute2/rt_protos create mode 100644 package/base-files/files/etc/iproute2/rt_tables create mode 100644 package/base-files/files/etc/openwrt_release create mode 100644 package/base-files/files/etc/openwrt_version create mode 120000 package/base-files/files/etc/os-release create mode 100644 package/base-files/files/etc/passwd create mode 100755 package/base-files/files/etc/preinit create mode 100644 package/base-files/files/etc/profile create mode 100644 package/base-files/files/etc/protocols create mode 100755 package/base-files/files/etc/rc.button/failsafe create mode 100755 package/base-files/files/etc/rc.button/power create mode 100755 package/base-files/files/etc/rc.button/reboot create mode 100755 package/base-files/files/etc/rc.button/reset create mode 100755 package/base-files/files/etc/rc.button/rfkill create mode 100755 package/base-files/files/etc/rc.common create mode 100644 package/base-files/files/etc/rc.local create mode 100644 package/base-files/files/etc/services create mode 100644 package/base-files/files/etc/shadow create mode 100644 package/base-files/files/etc/shells create mode 100644 package/base-files/files/etc/shinit create mode 100644 package/base-files/files/etc/sysctl.conf create mode 100644 package/base-files/files/etc/sysctl.d/10-default.conf create mode 100644 package/base-files/files/etc/sysupgrade.conf create mode 100644 package/base-files/files/etc/uci-defaults/10_migrate-shadow create mode 100644 package/base-files/files/etc/uci-defaults/12_network-generate-ula create mode 100644 package/base-files/files/etc/uci-defaults/13_fix-group-user create mode 100644 package/base-files/files/lib/functions.sh create mode 100644 package/base-files/files/lib/functions/caldata.sh create mode 100644 package/base-files/files/lib/functions/leds.sh create mode 100644 package/base-files/files/lib/functions/migrations.sh create mode 100644 package/base-files/files/lib/functions/network.sh create mode 100644 package/base-files/files/lib/functions/preinit.sh create mode 100644 package/base-files/files/lib/functions/service.sh create mode 100644 package/base-files/files/lib/functions/system.sh create mode 100644 package/base-files/files/lib/functions/uci-defaults.sh create mode 100644 package/base-files/files/lib/preinit/02_default_set_state create mode 100644 package/base-files/files/lib/preinit/02_sysinfo create mode 100644 package/base-files/files/lib/preinit/10_indicate_failsafe create mode 100644 package/base-files/files/lib/preinit/10_indicate_preinit create mode 100644 package/base-files/files/lib/preinit/30_failsafe_wait create mode 100644 package/base-files/files/lib/preinit/40_run_failsafe_hook create mode 100644 package/base-files/files/lib/preinit/50_indicate_regular_preinit create mode 100644 package/base-files/files/lib/preinit/70_initramfs_test create mode 100644 package/base-files/files/lib/preinit/80_mount_root create mode 100644 package/base-files/files/lib/preinit/99_10_failsafe_login create mode 100644 package/base-files/files/lib/preinit/99_10_run_init create mode 100644 package/base-files/files/lib/upgrade/common.sh create mode 100755 package/base-files/files/lib/upgrade/do_stage2 create mode 100644 package/base-files/files/lib/upgrade/emmc.sh create mode 100644 package/base-files/files/lib/upgrade/fwtool.sh create mode 100644 package/base-files/files/lib/upgrade/keep.d/base-files-essential create mode 100644 package/base-files/files/lib/upgrade/legacy-sdcard.sh create mode 100644 package/base-files/files/lib/upgrade/nand.sh create mode 100755 package/base-files/files/lib/upgrade/stage2 create mode 100644 package/base-files/files/rom/note create mode 100755 package/base-files/files/sbin/firstboot create mode 100755 package/base-files/files/sbin/hotplug-call create mode 100755 package/base-files/files/sbin/led.sh create mode 100755 package/base-files/files/sbin/pkg_check create mode 100755 package/base-files/files/sbin/sysupgrade create mode 100755 package/base-files/files/sbin/wifi create mode 100644 package/base-files/files/usr/lib/os-release create mode 100755 package/base-files/files/usr/libexec/login.sh create mode 100755 package/base-files/files/usr/libexec/validate_firmware_image create mode 100644 package/base-files/image-config.in create mode 100644 package/boot/arm-trusted-firmware-bcm63xx/Makefile create mode 100644 package/boot/arm-trusted-firmware-mediatek/Makefile create mode 100644 package/boot/arm-trusted-firmware-mediatek/patches/100-increase-nor-bl3-size.patch create mode 100644 package/boot/arm-trusted-firmware-mediatek/patches/120-mt7622-bl2_boot_snand-skip-bad-blocks.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/Makefile create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches-a3700-utils/001-version.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches-a3700-utils/002-version_mv_ddr_fix.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches-mox-boot-builder/001-version.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches-mox-boot-builder/002-no-gold.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches-mv-ddr-marvell/001-version.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches/100-fix-plat-marvell-a3720-uart-fix-UART-clock-rate-valu.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches/101-fix-plat-marvell-a3720-uart-fix-configuring-UART-clo.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches/102-refactor-plat-marvell-uart-de-duplicate-PLAT_MARVELL.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches/103-fix-plat-marvell-a3720-uart-fix-UART-parent-clock-ra.patch create mode 100644 package/boot/arm-trusted-firmware-mvebu/patches/200-hostssl.patch create mode 100644 package/boot/arm-trusted-firmware-rockchip/Makefile create mode 100644 package/boot/arm-trusted-firmware-sunxi/Makefile create mode 100644 package/boot/arm-trusted-firmware-tools/Makefile create mode 100644 package/boot/arm-trusted-firmware-tools/patches/001-respect-LDFLAGS.patch create mode 100644 package/boot/at91bootstrap/Makefile create mode 100644 package/boot/at91bootstrap/at91bootstrap.mk create mode 100644 package/boot/fconfig/Makefile create mode 100644 package/boot/grub2/Makefile create mode 100644 package/boot/grub2/files/grub-early.cfg create mode 100644 package/boot/grub2/patches/100-grub_setup_root.patch create mode 100644 package/boot/imx-bootlets/Makefile create mode 100644 package/boot/imx-bootlets/patches/001-skip_sb_generation.patch create mode 100644 package/boot/imx-bootlets/patches/002-set_elftosb_config.patch create mode 100644 package/boot/imx-bootlets/patches/003-add-olinuxino.patch create mode 100644 package/boot/kexec-tools/Config.in create mode 100644 package/boot/kexec-tools/Makefile create mode 100644 package/boot/kexec-tools/files/kdump.config create mode 100644 package/boot/kexec-tools/files/kdump.defaults create mode 100755 package/boot/kexec-tools/files/kdump.init create mode 100644 package/boot/kexec-tools/patches/001-arm-do-not-copy-magic-4-bytes-of-appended-DTB-in-zIm.patch create mode 100644 package/boot/kobs-ng/Makefile create mode 100644 package/boot/kobs-ng/patches/001-compile.patch create mode 100644 package/boot/kobs-ng/patches/002-add-init-size-param.patch create mode 100644 package/boot/kobs-ng/patches/003-raw-mode.patch create mode 100644 package/boot/kobs-ng/patches/004-fix-cal_nfc_geometry.patch create mode 100644 package/boot/mt7623n-preloader/Makefile create mode 100644 package/boot/tfa-layerscape/Makefile create mode 100644 package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch create mode 100644 package/boot/tfa-layerscape/patches/003-plat-nxp-tools-fix-create_pbl-and-byte_swap-host-bui.patch create mode 100644 package/boot/uboot-at91/Makefile create mode 100644 package/boot/uboot-at91/patches/001-fix-Wformat-security.patch create mode 100644 package/boot/uboot-bcm4908/Makefile create mode 100644 package/boot/uboot-bcm4908/patches/100-check-config-allow-to-complete-build-even-with-ad-ho.patch create mode 100644 package/boot/uboot-bcm4908/patches/200-configs-bcm94908-unset-CONFIG_SPL.patch create mode 100644 package/boot/uboot-bcm4908/patches/201-Assume-TPL-support-for-ATF-when-compiling-U-Boot-wit.patch create mode 100644 package/boot/uboot-envtools/Makefile create mode 100644 package/boot/uboot-envtools/files/apm821xx create mode 100644 package/boot/uboot-envtools/files/ath79 create mode 100644 package/boot/uboot-envtools/files/cns3xxx create mode 100644 package/boot/uboot-envtools/files/fw_printsys create mode 100644 package/boot/uboot-envtools/files/fw_setsys create mode 100644 package/boot/uboot-envtools/files/imx_cortexa9 create mode 100644 package/boot/uboot-envtools/files/ipq40xx create mode 100644 package/boot/uboot-envtools/files/ipq806x create mode 100644 package/boot/uboot-envtools/files/kirkwood create mode 100644 package/boot/uboot-envtools/files/lantiq create mode 100644 package/boot/uboot-envtools/files/layerscape create mode 100644 package/boot/uboot-envtools/files/mediatek_mt7622 create mode 100644 package/boot/uboot-envtools/files/mediatek_mt7623 create mode 100644 package/boot/uboot-envtools/files/mpc85xx create mode 100644 package/boot/uboot-envtools/files/mvebu create mode 100644 package/boot/uboot-envtools/files/mxs create mode 100644 package/boot/uboot-envtools/files/oxnas create mode 100644 package/boot/uboot-envtools/files/pistachio create mode 100644 package/boot/uboot-envtools/files/qoriq create mode 100644 package/boot/uboot-envtools/files/ramips create mode 100644 package/boot/uboot-envtools/files/realtek create mode 100644 package/boot/uboot-envtools/files/uboot-envtools.sh create mode 100644 package/boot/uboot-envtools/patches/001-compile.patch create mode 100644 package/boot/uboot-fritz4040/Makefile create mode 100644 package/boot/uboot-imx/Makefile create mode 100644 package/boot/uboot-imx/patches/0001-apalis_imx6_defconfig-enable-some-useful-commands.patch create mode 100644 package/boot/uboot-imx/patches/110-mx6cuboxi-mmc-fallback.patch create mode 100644 package/boot/uboot-imx/patches/111-mx6cuboxi_defconfig-force-mmc-boot.patch create mode 100644 package/boot/uboot-kirkwood/Makefile create mode 100644 package/boot/uboot-kirkwood/patches/007-nsa310-uboot-generic.patch create mode 100644 package/boot/uboot-kirkwood/patches/008-nsa325-uboot-generic.patch create mode 100644 package/boot/uboot-kirkwood/patches/010-pogoplug_v4.patch create mode 100644 package/boot/uboot-kirkwood/patches/110-dockstar.patch create mode 100644 package/boot/uboot-kirkwood/patches/120-iconnect.patch create mode 100644 package/boot/uboot-kirkwood/patches/130-ib62x0.patch create mode 100644 package/boot/uboot-kirkwood/patches/140-pogoplug_e02.patch create mode 100644 package/boot/uboot-kirkwood/patches/150-goflexhome.patch create mode 100644 package/boot/uboot-kirkwood/patches/151-arm-kirkwood-add-CheckPoint-L-50-device.patch create mode 100644 package/boot/uboot-kirkwood/patches/160-nsa310s.patch create mode 100644 package/boot/uboot-kirkwood/patches/170-sheevaplug.patch create mode 100644 package/boot/uboot-kirkwood/patches/200-openwrt-config.patch create mode 100644 package/boot/uboot-kirkwood/patches/201-blackarmor-nas220.patch create mode 100644 package/boot/uboot-kirkwood/patches/701-phy-mv88e61xx-add-support-for-RGMII-TX-RX-delay.patch create mode 100644 package/boot/uboot-kirkwood/patches/702-phy-mv88e61xx-add-support-for-MV88E6171.patch create mode 100644 package/boot/uboot-lantiq/Makefile create mode 100644 package/boot/uboot-lantiq/README create mode 100644 package/boot/uboot-lantiq/patches/0001-sf-fix-out-of-order-calls-for-spi_claim_bus-and-spi_.patch create mode 100644 package/boot/uboot-lantiq/patches/0002-sf-consistently-use-debug-for-warning-error-messages.patch create mode 100644 package/boot/uboot-lantiq/patches/0003-sf-move-malloc-of-spi_flash-to-spi_flash_probe.patch create mode 100644 package/boot/uboot-lantiq/patches/0004-sf-add-slim-probe-funtions-for-SPL.patch create mode 100644 package/boot/uboot-lantiq/patches/0005-sf-make-calculatiom-of-address-bytes-completely-conf.patch create mode 100644 package/boot/uboot-lantiq/patches/0006-sf-add-support-for-4-byte-addressing.patch create mode 100644 package/boot/uboot-lantiq/patches/0007-sf-add-support-for-EN25QH256.patch create mode 100644 package/boot/uboot-lantiq/patches/0008-sf-fix-sector-layout-of-S25FL256S_256K-and-S25FL512S.patch create mode 100644 package/boot/uboot-lantiq/patches/0009-net-switchlib-add-framework-for-ethernet-switch-driv.patch create mode 100644 package/boot/uboot-lantiq/patches/0010-net-switchlib-add-driver-for-Lantiq-PSB697X-switch-f.patch create mode 100644 package/boot/uboot-lantiq/patches/0011-net-switchlib-add-driver-for-Lantiq-ADM6996I-switch-.patch create mode 100644 package/boot/uboot-lantiq/patches/0012-net-switchlib-add-driver-for-Atheros-AR8216.patch create mode 100644 package/boot/uboot-lantiq/patches/0013-net-switchlib-add-driver-for-REALTEK-RTL8306.patch create mode 100644 package/boot/uboot-lantiq/patches/0014-MIPS-add-support-for-Lantiq-XWAY-SoCs.patch create mode 100644 package/boot/uboot-lantiq/patches/0015-MIPS-lantiq-add-support-for-Lantiq-XWAY-ARX100-SoC-f.patch create mode 100644 package/boot/uboot-lantiq/patches/0016-net-add-driver-for-Lantiq-XWAY-ARX100-switch.patch create mode 100644 package/boot/uboot-lantiq/patches/0017-tools-add-some-helper-tools-for-Lantiq-SoCs.patch create mode 100644 package/boot/uboot-lantiq/patches/0018-tools-lantiq-add-NAND-SPL-support.patch create mode 100644 package/boot/uboot-lantiq/patches/0019-Makefile-add-Lantiq-NAND-SPL-images.patch create mode 100644 package/boot/uboot-lantiq/patches/0020-MIPS-lantiq-add-NAND-SPL-support.patch create mode 100644 package/boot/uboot-lantiq/patches/0021-MIPS-vrx200-add-NAND-SPL-support.patch create mode 100644 package/boot/uboot-lantiq/patches/0022-MIPS-lantiq-add-default-openwrt-config.patch create mode 100644 package/boot/uboot-lantiq/patches/0023-lzma-fixup.patch create mode 100644 package/boot/uboot-lantiq/patches/0024-Makefile-prepare-u-boot-lantiq-v2013.10-openwrt4.patch create mode 100644 package/boot/uboot-lantiq/patches/0025-arx100-cgu-fixes.patch create mode 100644 package/boot/uboot-lantiq/patches/0026-no_extern_inline.patch create mode 100644 package/boot/uboot-lantiq/patches/0027-no_weak_alias.patch create mode 100644 package/boot/uboot-lantiq/patches/0028-gcc-compat.patch create mode 100644 package/boot/uboot-lantiq/patches/0029-net-Use_packed_structures-for_networking.patch create mode 100644 package/boot/uboot-lantiq/patches/0030-lzma-force-8bit-reads.patch create mode 100644 package/boot/uboot-lantiq/patches/0031-dma-lantiq-fix-out-of-bounds-cache-invalidate.patch create mode 100644 package/boot/uboot-lantiq/patches/0032-MIPS-lantiq-danube-fix-SPL-boot.patch create mode 100644 package/boot/uboot-lantiq/patches/0033-MIPS-lantiq-reduce-stack-size.patch create mode 100644 package/boot/uboot-lantiq/patches/0100-MIPS-add-board-support-for-Easy-50712.patch create mode 100644 package/boot/uboot-lantiq/patches/0101-MIPS-add-board-support-for-Easy-80920.patch create mode 100644 package/boot/uboot-lantiq/patches/0102-MIPS-add-board-support-for-Arcadyan-ARV4519PW.patch create mode 100644 package/boot/uboot-lantiq/patches/0103-MIPS-add-board-support-for-Arcadyan-ARV7518PW.patch create mode 100644 package/boot/uboot-lantiq/patches/0104-MIPS-add-board-support-for-AudioCodes-MP-252.patch create mode 100644 package/boot/uboot-lantiq/patches/0105-MIPS-add-board-support-for-AVM-FritzBox-3370.patch create mode 100644 package/boot/uboot-lantiq/patches/0106-MIPS-add-board-support-for-Gigaset-SX76X.patch create mode 100644 package/boot/uboot-lantiq/patches/0107-MIPS-add-board-support-for-ZyXEL-P-2812HNU-Fx.patch create mode 100644 package/boot/uboot-lantiq/patches/0108-MIPS-add-board-support-for-Arcadyan-ARV752DPW.patch create mode 100644 package/boot/uboot-lantiq/patches/0109-MIPS-add-board-support-for-Arcadyan-ARV752DPW22.patch create mode 100644 package/boot/uboot-lantiq/patches/0110-MIPS-add-board-support-for-Arcadyan-ARV7510PW.patch create mode 100644 package/boot/uboot-lantiq/patches/0111-MIPS-add-board-support-for-Arcadyan-ARV7510PW22.patch create mode 100644 package/boot/uboot-lantiq/patches/0112-MIPS-add-board-support-for-Arcadyan-VGV7510KW22.patch create mode 100644 package/boot/uboot-lantiq/patches/0113-MIPS-add-board-support-for-Arcadyan-ARV8539PW22.patch create mode 100644 package/boot/uboot-lantiq/patches/0114-MIPS-add-board-support-for-Arcadyan-VGV7519.patch create mode 100644 package/boot/uboot-lantiq/patches/0115-MIPS-add-board-support-for-Arcadyan-ARV7506PW11.patch create mode 100644 package/boot/uboot-lantiq/patches/0116-MIPS-add-board-support-for-BT-Home-Hub-5A.patch create mode 100644 package/boot/uboot-lantiq/patches/100-portability.patch create mode 100644 package/boot/uboot-lantiq/patches/101-fix-crypt-header-clash.patch create mode 100644 package/boot/uboot-lantiq/patches/200-fix-dtc-header-guard.patch create mode 100644 package/boot/uboot-layerscape/Makefile create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1012a-frdm-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1012a-frwy-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1012a-rdb-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1021a-iot-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1021a-twr-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1021a-twr-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1043a-rdb-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1043a-rdb-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1046a-frwy-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1046a-frwy-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1046a-rdb-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1046a-rdb-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1088a-rdb-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls1088a-rdb-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_ls2088a-rdb-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_lx2160a-rdb-sdboot-uEnv.txt create mode 100644 package/boot/uboot-layerscape/files/fsl_lx2160a-rdb-uEnv.txt create mode 100644 package/boot/uboot-layerscape/patches/0001-board-ls1046ardb-force-PCI-device-enumeration.patch create mode 100644 package/boot/uboot-layerscape/patches/0002-board-ls1043ardb-force-PCI-device-enumeration.patch create mode 100644 package/boot/uboot-layerscape/patches/0900-layerscape-adjust-LS1021A-IOT-config-for-OpenWrt.patch create mode 100644 package/boot/uboot-mediatek/001-mtk-0100-arm-dts-mt7622-remove-default-pinctrl-of-uart0.patch create mode 100644 package/boot/uboot-mediatek/Makefile create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-01-Revert-clk-Add-debugging-for-return-values.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-09-board-mediatek-add-more-network-configurations.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-10-mmc-mtk-sd-increase-the-minimum-bus-frequency.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-14-drivers-mtd-add-support-for-MediaTek-SPI-NAND-flash-.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-15-mtd-mtk-snand-add-support-for-SPL.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-16-env-add-support-for-generic-MTD-device.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-17-board-mt7629-add-support-for-booting-from-SPI-NAND.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-18-board-mt7622-use-new-spi-nand-driver.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-19-configs-mt7629-remove-unused-options-and-add-dm-comm.patch create mode 100644 package/boot/uboot-mediatek/patches/000-mtk-20-configs-mt7622-enable-environment-for-mt7622_rfb.patch create mode 100644 package/boot/uboot-mediatek/patches/002-0011-arm-dts-mt7622-force-high-speed-mode-for-uart.patch create mode 100644 package/boot/uboot-mediatek/patches/050-mt7622-enable-pstore.patch create mode 100644 package/boot/uboot-mediatek/patches/060-bootm-fix-typo-imape_comp-image_comp.patch create mode 100644 package/boot/uboot-mediatek/patches/061-image-fit-don-t-set-compression-if-it-can-t-be-read.patch create mode 100644 package/boot/uboot-mediatek/patches/100-scripts-remove-dependency-on-swig.patch create mode 100644 package/boot/uboot-mediatek/patches/110-no-kwbimage.patch create mode 100644 package/boot/uboot-mediatek/patches/120-use-xz-instead-of-lzma.patch create mode 100644 package/boot/uboot-mediatek/patches/200-cmd-add-imsz-and-imszb.patch create mode 100644 package/boot/uboot-mediatek/patches/210-cmd-bootmenu-add-ability-to-select-item-by-shortkey.patch create mode 100644 package/boot/uboot-mediatek/patches/211-cmd-bootmenu-custom-title.patch create mode 100644 package/boot/uboot-mediatek/patches/220-cmd-env-readmem.patch create mode 100644 package/boot/uboot-mediatek/patches/230-cmd-add-pstore-check.patch create mode 100644 package/boot/uboot-mediatek/patches/260-add-missing-type-u64.patch create mode 100644 package/boot/uboot-mediatek/patches/280-image-fdt-save-name-of-FIT-configuration-in-chosen-node.patch create mode 100644 package/boot/uboot-mediatek/patches/300-mt7622-generic-reset-button-ignore-env.patch create mode 100644 package/boot/uboot-mediatek/patches/301-mt7623-generic-reset-button-ignore-env.patch create mode 100644 package/boot/uboot-mediatek/patches/350-add-support-for-Winbond-W25Q512JV.patch create mode 100644 package/boot/uboot-mediatek/patches/400-update-bpir2-defconfig.patch create mode 100644 package/boot/uboot-mediatek/patches/401-update-u7623-defconfig.patch create mode 100644 package/boot/uboot-mediatek/patches/402-update-bananapi-bpi-r64-device-tree.patch create mode 100644 package/boot/uboot-mediatek/patches/403-add-bananapi_bpi-r64-snand.patch create mode 100644 package/boot/uboot-mediatek/patches/404-add-bananapi_bpi-r64_defconfigs.patch create mode 100644 package/boot/uboot-mediatek/patches/405-dts-mt7623n-bpi-r2-fix-leds.patch create mode 100644 package/boot/uboot-mediatek/patches/410-add-linksys-e8450.patch create mode 100644 package/boot/uboot-mediatek/patches/412-add-ubnt-unifi-6-lr.patch create mode 100644 package/boot/uboot-mediatek/patches/500-board-mt7623-fix-mmc-detect.patch create mode 100644 package/boot/uboot-mvebu/Makefile create mode 100644 package/boot/uboot-mvebu/patches/0001-tools-termios_linux.h-Fix-compilation-on-non-glibc-s.patch create mode 100644 package/boot/uboot-mvebu/patches/0002-tools-mkimage-fix-build-with-LibreSSL.patch create mode 100644 package/boot/uboot-mvebu/patches/0003-tools-mkimage-fix-build-with-recent-LibreSSL.patch create mode 100644 package/boot/uboot-mvebu/patches/100-fix-build.patch create mode 100644 package/boot/uboot-mxs/Makefile create mode 100644 package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch create mode 100644 package/boot/uboot-omap/Makefile create mode 100644 package/boot/uboot-omap/files/boot.scr.txt create mode 100644 package/boot/uboot-oxnas/Makefile create mode 100644 package/boot/uboot-oxnas/patches/010-capacity-is-unsigned.patch create mode 100644 package/boot/uboot-oxnas/patches/020-socfpgaimage_portability.patch create mode 100644 package/boot/uboot-oxnas/patches/150-spl-block.patch create mode 100644 package/boot/uboot-oxnas/patches/200-icplus-phy.patch create mode 100644 package/boot/uboot-oxnas/patches/300-oxnas-target.patch create mode 100644 package/boot/uboot-oxnas/patches/400-gcc-5-compiler.patch create mode 100644 package/boot/uboot-oxnas/patches/410-gcc-6-compiler.patch create mode 100644 package/boot/uboot-oxnas/patches/420-gcc-7-compiler.patch create mode 100644 package/boot/uboot-oxnas/patches/800-fix-bootm-assertion.patch create mode 100644 package/boot/uboot-oxnas/src/arch/arm/cpu/arm1136/nas782x/Makefile create mode 100644 package/boot/uboot-oxnas/src/arch/arm/cpu/arm1136/nas782x/clock.c create mode 100644 package/boot/uboot-oxnas/src/arch/arm/cpu/arm1136/nas782x/pinmux.c create mode 100644 package/boot/uboot-oxnas/src/arch/arm/cpu/arm1136/nas782x/reset.c create mode 100644 package/boot/uboot-oxnas/src/arch/arm/cpu/arm1136/nas782x/timer.c create mode 100644 package/boot/uboot-oxnas/src/arch/arm/include/asm/arch-nas782x/clock.h create mode 100644 package/boot/uboot-oxnas/src/arch/arm/include/asm/arch-nas782x/cpu.h create mode 100644 package/boot/uboot-oxnas/src/arch/arm/include/asm/arch-nas782x/hardware.h create mode 100644 package/boot/uboot-oxnas/src/arch/arm/include/asm/arch-nas782x/pinmux.h create mode 100644 package/boot/uboot-oxnas/src/arch/arm/include/asm/arch-nas782x/spl.h create mode 100644 package/boot/uboot-oxnas/src/arch/arm/include/asm/arch-nas782x/sysctl.h create mode 100644 package/boot/uboot-oxnas/src/arch/arm/include/asm/arch-nas782x/timer.h create mode 100644 package/boot/uboot-oxnas/src/board/ox820/Kconfig create mode 100644 package/boot/uboot-oxnas/src/board/ox820/MAINTAINERS create mode 100644 package/boot/uboot-oxnas/src/board/ox820/Makefile create mode 100644 package/boot/uboot-oxnas/src/board/ox820/ddr.c create mode 100644 package/boot/uboot-oxnas/src/board/ox820/ddr.h create mode 100644 package/boot/uboot-oxnas/src/board/ox820/lowlevel_init.S create mode 100644 package/boot/uboot-oxnas/src/board/ox820/ox820.c create mode 100644 package/boot/uboot-oxnas/src/board/ox820/spl_start.S create mode 100644 package/boot/uboot-oxnas/src/board/ox820/u-boot-spl.lds create mode 100644 package/boot/uboot-oxnas/src/common/env_ext4.c create mode 100644 package/boot/uboot-oxnas/src/common/spl/spl_block.c create mode 100644 package/boot/uboot-oxnas/src/configs/ox820_defconfig create mode 100644 package/boot/uboot-oxnas/src/drivers/block/plxsata_ide.c create mode 100644 package/boot/uboot-oxnas/src/drivers/usb/host/ehci-oxnas.c create mode 100644 package/boot/uboot-oxnas/src/include/configs/ox820.h create mode 100644 package/boot/uboot-oxnas/src/tools/mkox820crc.c create mode 100644 package/boot/uboot-ramips/Makefile create mode 100644 package/boot/uboot-ramips/patches/0001-add-support-for-RAVPower-RP-WD009.patch create mode 100644 package/boot/uboot-rockchip/Makefile create mode 100644 package/boot/uboot-rockchip/patches/001-scripts-remove-dependency-on-swig.patch create mode 100644 package/boot/uboot-rockchip/patches/002-spl-remove-dtoc-of-pdata-generation.patch create mode 100644 package/boot/uboot-rockchip/patches/101-rock64pro-disable-CONFIG_USE_PREBOOT.patch create mode 100644 package/boot/uboot-rockchip/src/of-platdata/nanopi-r2s-rk3328/dt-decl.h create mode 100644 package/boot/uboot-rockchip/src/of-platdata/nanopi-r2s-rk3328/dt-plat.c create mode 100644 package/boot/uboot-rockchip/src/of-platdata/nanopi-r2s-rk3328/dt-structs-gen.h create mode 100644 package/boot/uboot-sunxi/Makefile create mode 100644 package/boot/uboot-sunxi/patches/002-add-olimex-a13-som.patch create mode 100644 package/boot/uboot-sunxi/patches/003-add-theobroma-a31-pangolin.patch create mode 100644 package/boot/uboot-sunxi/patches/062-A20-improve-gmac-upload.patch create mode 100644 package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch create mode 100644 package/boot/uboot-sunxi/patches/091-sun6i-sync-PLL1-multdiv-with-Boot1.patch create mode 100644 package/boot/uboot-sunxi/patches/093-sun6i-fix-PLL-LDO-voltselect.patch create mode 100644 package/boot/uboot-sunxi/patches/100-sun6i-alternate-on-UART2.patch create mode 100644 package/boot/uboot-sunxi/patches/101-sun6i-support-console-on-UART2.patch create mode 100644 package/boot/uboot-sunxi/patches/102-sunxi-make_CONS_INDEX-configurable.patch create mode 100644 package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch create mode 100644 package/boot/uboot-sunxi/patches/210-sunxi-deactivate-binman.patch create mode 100644 package/boot/uboot-sunxi/patches/230-disable-axp209-on-a13-olinuxino.diff create mode 100644 package/boot/uboot-sunxi/patches/250-sun8i-h3-zeropi-add-device-tree.patch create mode 100644 package/boot/uboot-sunxi/patches/251-sun8i-h3-zeropi-add-defconfig.patch create mode 100644 package/boot/uboot-sunxi/patches/252-sunxi-h3-add-support-for-nanopi-r1.patch create mode 100644 package/boot/uboot-sunxi/patches/253-sunxi-h5-add-support-for-nanopi-r1s-h5.patch create mode 100644 package/boot/uboot-sunxi/patches/260-add-missing-type-u64.patch create mode 100644 package/boot/uboot-sunxi/uEnv-a64.txt create mode 100644 package/boot/uboot-sunxi/uEnv-default.txt create mode 100644 package/boot/uboot-sunxi/uEnv-h6.txt create mode 100644 package/boot/uboot-sunxi/uEnv-pangolin.txt create mode 100644 package/boot/uboot-tegra/Makefile create mode 100644 package/boot/uboot-zynq/Makefile create mode 100644 package/boot/uboot-zynq/files/uEnv-default.txt create mode 100644 package/boot/uboot-zynq/patches/010-fix_dtc_compilation_on_host_gcc10.patch create mode 100644 package/boot/uboot-zynq/patches/110-zybo-z7-read-mac-address-from-SPI-flash-memory.patch create mode 100644 package/devel/binutils/Makefile create mode 100644 package/devel/gdb/Makefile create mode 100644 package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch create mode 100644 package/devel/gdb/patches/110-shared_libgcc.patch create mode 100644 package/devel/gdb/patches/120-sigprocmask-invalid-call.patch create mode 100644 package/devel/gdb/patches/130-gdb-ctrl-c.patch create mode 100644 package/devel/gdb/patches/140-sgidefs.patch create mode 100644 package/devel/gdb/patches/150-mips64.patch create mode 100644 package/devel/perf/Makefile create mode 100644 package/devel/strace/Makefile create mode 100644 package/devel/strace/patches/010-m4.patch create mode 100644 package/devel/trace-cmd/Makefile create mode 100644 package/devel/trace-cmd/patches/100-musl.patch create mode 100644 package/devel/trace-cmd/patches/110-mac80211_tracepoint.patch create mode 100644 package/devel/valgrind/Makefile create mode 100644 package/devel/valgrind/files/default.supp create mode 100644 package/devel/valgrind/patches/010-mips-Fix-new-syscall-numbers.patch create mode 100644 package/devel/valgrind/patches/100-fix_configure_check.patch create mode 100644 package/devel/valgrind/patches/130-fix_arm_arch_detection.patch create mode 100644 package/devel/valgrind/patches/130-mips_fix_soft_float.patch create mode 100644 package/firmware/ath10k-ct-firmware/Makefile create mode 100644 package/firmware/b43legacy-firmware/Makefile create mode 100644 package/firmware/cypress-firmware/Makefile create mode 100644 package/firmware/cypress-nvram/Makefile create mode 100644 package/firmware/intel-microcode/Makefile create mode 100644 package/firmware/ipq-wifi/Makefile create mode 100644 package/firmware/ipq-wifi/board-8dev_habanero-dvk.qca4019 create mode 100644 package/firmware/ipq-wifi/board-aruba_ap-303.qca4019 create mode 100644 package/firmware/ipq-wifi/board-aruba_ap-365.qca4019 create mode 100644 package/firmware/ipq-wifi/board-asus_rt-ac42u.qca4019 create mode 100644 package/firmware/ipq-wifi/board-asus_rt-ac42u.qca9984 create mode 100644 package/firmware/ipq-wifi/board-avm_fritzrepeater-1200.qca4019 create mode 100644 package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca4019 create mode 100644 package/firmware/ipq-wifi/board-buffalo_wtr-m2133hp.qca9984 create mode 100644 package/firmware/ipq-wifi/board-cellc_rtl30vw.qca4019 create mode 100644 package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019 create mode 100644 package/firmware/ipq-wifi/board-dlink_dap2610.qca4019 create mode 100644 package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984 create mode 100644 package/firmware/ipq-wifi/board-edgecore_oap100.qca4019 create mode 100644 package/firmware/ipq-wifi/board-engenius_eap2200.qca4019 create mode 100644 package/firmware/ipq-wifi/board-engenius_eap2200.qca9888 create mode 100644 package/firmware/ipq-wifi/board-engenius_emd1.qca4019 create mode 100644 package/firmware/ipq-wifi/board-engenius_emr3500.qca4019 create mode 100644 package/firmware/ipq-wifi/board-ezviz_cs-w3-wd1200g-eup.qca4019 create mode 100644 package/firmware/ipq-wifi/board-glinet_gl-ap1300.qca4019 create mode 100644 package/firmware/ipq-wifi/board-glinet_gl-b2200.qca4019 create mode 100644 package/firmware/ipq-wifi/board-glinet_gl-b2200.qca9888 create mode 100644 package/firmware/ipq-wifi/board-glinet_gl-s1300.qca4019 create mode 100644 package/firmware/ipq-wifi/board-linksys_ea8300.qca4019 create mode 100644 package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 create mode 100644 package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca4019 create mode 100644 package/firmware/ipq-wifi/board-linksys_mr8300-v0.qca9888 create mode 100644 package/firmware/ipq-wifi/board-luma_wrtq-329acn.qca4019 create mode 100644 package/firmware/ipq-wifi/board-mobipromo_cm520-79f.qca4019 create mode 100644 package/firmware/ipq-wifi/board-nec_wg2600hp3.qca9984 create mode 100644 package/firmware/ipq-wifi/board-p2w_r619ac.qca4019 create mode 100644 package/firmware/ipq-wifi/board-plasmacloud_pa1200.qca4019 create mode 100644 package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca4019 create mode 100644 package/firmware/ipq-wifi/board-plasmacloud_pa2200.qca9888 create mode 100644 package/firmware/ipq-wifi/board-qxwlan_e2600ac-c1.qca4019 create mode 100644 package/firmware/ipq-wifi/board-qxwlan_e2600ac-c2.qca4019 create mode 100644 package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019 create mode 100644 package/firmware/ipq-wifi/board-teltonika_rutx.qca4019 create mode 100644 package/firmware/ipq-wifi/board-zte_mf286d.qca4019 create mode 100644 package/firmware/ipq-wifi/board-zte_mf289f.qca4019 create mode 100644 package/firmware/ipq-wifi/board-zte_mf289f.qca9984 create mode 100644 package/firmware/lantiq/dsl-vrx200-firmware-xdsl/Makefile create mode 100644 package/firmware/layerscape/fman-ucode/Makefile create mode 100644 package/firmware/layerscape/ls-ddr-phy/Makefile create mode 100644 package/firmware/layerscape/ls-dpl/Makefile create mode 100644 package/firmware/layerscape/ls-mc/Makefile create mode 100644 package/firmware/layerscape/ls-rcw/Makefile create mode 100644 package/firmware/layerscape/ls-rcw/patches/0002-fix_rcw_for_ls1012a-frdm.patch create mode 100644 package/firmware/layerscape/ppfe-firmware/Makefile create mode 100644 package/firmware/linux-firmware/Makefile create mode 100644 package/firmware/linux-firmware/amd.mk create mode 100644 package/firmware/linux-firmware/broadcom.mk create mode 100644 package/firmware/linux-firmware/cis.mk create mode 100644 package/firmware/linux-firmware/edgeport.mk create mode 100644 package/firmware/linux-firmware/intel.mk create mode 100644 package/firmware/linux-firmware/marvell.mk create mode 100644 package/firmware/linux-firmware/mediatek.mk create mode 100644 package/firmware/linux-firmware/misc.mk create mode 100644 package/firmware/linux-firmware/qca.mk create mode 100644 package/firmware/linux-firmware/qca_ath10k.mk create mode 100644 package/firmware/linux-firmware/realtek.mk create mode 100644 package/firmware/linux-firmware/rsi.mk create mode 100644 package/firmware/linux-firmware/ti.mk create mode 100644 package/firmware/prism54-firmware/Makefile create mode 100644 package/firmware/wireless-regdb/Makefile create mode 100644 package/firmware/wireless-regdb/patches/500-world-regd-5GHz.patch create mode 100644 package/kernel/acx-mac80211/Makefile create mode 100644 package/kernel/acx-mac80211/patches/100-compat.patch create mode 100644 package/kernel/acx-mac80211/patches/200-initial-macaddr.patch create mode 100644 package/kernel/acx-mac80211/patches/300-api_sync.patch create mode 100644 package/kernel/ath10k-ct/Makefile create mode 100644 package/kernel/ath10k-ct/patches/120-ath10k-fetch-calibration-data-via-nvmem-subsystem.patch create mode 100644 package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch create mode 100644 package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch create mode 100644 package/kernel/ath10k-ct/patches/300-ath10k-ct-Fix-spectral-scan-NULL-pointer.patch create mode 100644 package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch create mode 100644 package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch create mode 100644 package/kernel/bcm27xx-gpu-fw/Makefile create mode 100644 package/kernel/bcm63xx-cfe/Makefile create mode 100644 package/kernel/bpf-headers/Makefile create mode 100644 package/kernel/bpf-headers/files/stdarg.h create mode 100644 package/kernel/bpf-headers/src/include/generated/bounds.h create mode 100644 package/kernel/broadcom-wl/Makefile create mode 100644 package/kernel/broadcom-wl/files/etc/hotplug.d/net/00-broadcom-wifi-detect create mode 100644 package/kernel/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds create mode 100755 package/kernel/broadcom-wl/files/etc/init.d/wlunbind create mode 100644 package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh create mode 100644 package/kernel/broadcom-wl/patches/003-compat-2.6.35.patch create mode 100644 package/kernel/broadcom-wl/patches/004-remove-pcmcia.patch create mode 100644 package/kernel/broadcom-wl/patches/005-fix-mem-leak-on-unload.patch create mode 100644 package/kernel/broadcom-wl/patches/006-generic-dma-api.patch create mode 100644 package/kernel/broadcom-wl/patches/007-use-glue-driver.patch create mode 100644 package/kernel/broadcom-wl/patches/008-fix_virtual_interfaces.patch create mode 100644 package/kernel/broadcom-wl/patches/009-fix_compile_3_2.patch create mode 100644 package/kernel/broadcom-wl/patches/010-remove_irqf_samble_random.patch create mode 100644 package/kernel/broadcom-wl/patches/011-fix_compile_3_4.patch create mode 100644 package/kernel/broadcom-wl/patches/012-compat-3.10.patch create mode 100644 package/kernel/broadcom-wl/patches/013-interface-name.patch create mode 100644 package/kernel/broadcom-wl/patches/014-fix-band-reporting.patch create mode 100644 package/kernel/broadcom-wl/patches/015-support-probe-of-wds-interfaces.patch create mode 100644 package/kernel/broadcom-wl/patches/020-musl-fixes.patch create mode 100644 package/kernel/broadcom-wl/patches/030-remove_devinit_devexit.patch create mode 100644 package/kernel/broadcom-wl/patches/040-remove_last_rx_usage.patch create mode 100644 package/kernel/broadcom-wl/patches/100-fix_nvram_two_devices.patch create mode 100644 package/kernel/broadcom-wl/patches/110-add_number_to_dev_name.patch create mode 100644 package/kernel/broadcom-wl/patches/120-fixup-mac-addresses.patch create mode 100644 package/kernel/broadcom-wl/patches/200-add_bcm_a8xx_support.patch create mode 100644 package/kernel/broadcom-wl/patches/910-fallback-sprom.patch create mode 100644 package/kernel/broadcom-wl/patches/912-pci-bus-nvram-hack.patch create mode 100644 package/kernel/broadcom-wl/patches/913-avoid-dbe-on-ifs_ctl-readw-hack.patch create mode 100644 package/kernel/broadcom-wl/patches/914-eliminate-date-time-error.patch create mode 100644 package/kernel/broadcom-wl/patches/915-fix-wl_timer-for-4_15.patch create mode 100644 package/kernel/broadcom-wl/patches/916-fix-compilation-for-5_4.patch create mode 100644 package/kernel/broadcom-wl/patches/917-fix-compilation-for-5_10.patch create mode 100644 package/kernel/broadcom-wl/src/glue/Makefile create mode 100644 package/kernel/broadcom-wl/src/glue/wl_glue.c create mode 100644 package/kernel/broadcom-wl/src/glue/wl_glue.h create mode 100644 package/kernel/broadcom-wl/src/wlc.c create mode 100644 package/kernel/button-hotplug/Makefile create mode 100644 package/kernel/button-hotplug/src/Kconfig create mode 100644 package/kernel/button-hotplug/src/Makefile create mode 100644 package/kernel/button-hotplug/src/button-hotplug.c create mode 100644 package/kernel/cryptodev-linux/Makefile create mode 100644 package/kernel/dtc/patches/0001-scripts-dtc-Update-to-version-with-overlays.patch create mode 100644 package/kernel/gpio-button-hotplug/Makefile create mode 100644 package/kernel/gpio-button-hotplug/src/Makefile create mode 100644 package/kernel/gpio-button-hotplug/src/gpio-button-hotplug.c create mode 100644 package/kernel/gpio-nct5104d/Makefile create mode 100644 package/kernel/gpio-nct5104d/src/Kconfig create mode 100644 package/kernel/gpio-nct5104d/src/Makefile create mode 100644 package/kernel/gpio-nct5104d/src/gpio-nct5104d.c create mode 100644 package/kernel/hwmon-gsc/Makefile create mode 100644 package/kernel/hwmon-gsc/src/Makefile create mode 100644 package/kernel/hwmon-gsc/src/gsc.c create mode 100644 package/kernel/ksmbd/Makefile create mode 100644 package/kernel/ksmbd/patches/01-keep_kmod_metadata.patch create mode 100644 package/kernel/lantiq/ltq-adsl-fw/Makefile create mode 100644 package/kernel/lantiq/ltq-adsl-mei/Makefile create mode 100644 package/kernel/lantiq/ltq-adsl-mei/src/Makefile create mode 100644 package/kernel/lantiq/ltq-adsl-mei/src/drv_mei_cpe.c create mode 100644 package/kernel/lantiq/ltq-adsl-mei/src/ifxmips_mei_interface.h create mode 100644 package/kernel/lantiq/ltq-adsl/Config.in create mode 100644 package/kernel/lantiq/ltq-adsl/Makefile create mode 100644 package/kernel/lantiq/ltq-adsl/patches/020-not-leak-cflags.patch create mode 100644 package/kernel/lantiq/ltq-adsl/patches/100-dsl_compat.patch create mode 100644 package/kernel/lantiq/ltq-adsl/patches/110-fix_status_polling_loop.patch create mode 100644 package/kernel/lantiq/ltq-adsl/patches/120-platform.patch create mode 100644 package/kernel/lantiq/ltq-adsl/patches/130-linux3.8.patch create mode 100644 package/kernel/lantiq/ltq-adsl/patches/140-linux_3.18.patch create mode 100644 package/kernel/lantiq/ltq-adsl/patches/150-linux_5.9.patch create mode 100644 package/kernel/lantiq/ltq-adsl/patches/200-fix-elapsed-time.patch create mode 100644 package/kernel/lantiq/ltq-atm/Makefile create mode 100644 package/kernel/lantiq/ltq-atm/src/Makefile create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_amazon_se.c create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_ar9.c create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_core.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_danube.c create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_amazon_se.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_ar9.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_ar9_retx.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_danube.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_danube_retx.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_regs_amazon_se.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_regs_ar9.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_regs_common.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_regs_danube.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_regs_vr9.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_fw_vr9.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_ppe_amazon_se.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_ppe_ar9.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_ppe_common.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_ppe_danube.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_ppe_vr9.h create mode 100644 package/kernel/lantiq/ltq-atm/src/ifxmips_atm_vr9.c create mode 100644 package/kernel/lantiq/ltq-atm/src/ltq_atm.c create mode 100644 package/kernel/lantiq/ltq-deu/Makefile create mode 100644 package/kernel/lantiq/ltq-deu/src/Makefile create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_arc4.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_async_aes.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_async_des.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_des.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu.h create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_ar9.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_ar9.h create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_danube.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_danube.h create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_dma.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_dma.h create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_vr9.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_deu_vr9.h create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_md5.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_md5_hmac.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_sha1.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_sha1_hmac.c create mode 100644 package/kernel/lantiq/ltq-deu/src/ifxmips_tcrypt.h create mode 100644 package/kernel/lantiq/ltq-deu/src/internal.h create mode 100644 package/kernel/lantiq/ltq-ifxos/Makefile create mode 100644 package/kernel/lantiq/ltq-ifxos/patches/001-warnings.patch create mode 100644 package/kernel/lantiq/ltq-ifxos/patches/002-fix-compile.patch create mode 100644 package/kernel/lantiq/ltq-ifxos/patches/020-no-O3.patch create mode 100644 package/kernel/lantiq/ltq-ifxos/patches/100-compat.patch create mode 100644 package/kernel/lantiq/ltq-ptm/Makefile create mode 100644 package/kernel/lantiq/ltq-ptm/src/Makefile create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.c create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_adsl.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_amazon_se.c create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_ar9.c create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_common.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_danube.c create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_amazon_se.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_ar9.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_danube.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_regs_adsl.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_regs_amazon_se.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_regs_ar9.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_regs_danube.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_regs_vdsl.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_regs_vr9.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_fw_vr9.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_ppe_amazon_se.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_ppe_ar9.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_ppe_common.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_ppe_danube.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_ppe_vr9.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_test.c create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.h create mode 100644 package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vr9.c create mode 100644 package/kernel/lantiq/ltq-tapi/Config.in create mode 100644 package/kernel/lantiq/ltq-tapi/Makefile create mode 100644 package/kernel/lantiq/ltq-tapi/patches/000-portability.patch create mode 100644 package/kernel/lantiq/ltq-tapi/patches/010-fix-compile.patch create mode 100644 package/kernel/lantiq/ltq-tapi/patches/020-not-leak-cflags.patch create mode 100644 package/kernel/lantiq/ltq-tapi/patches/100-ifxmips.patch create mode 100644 package/kernel/lantiq/ltq-tapi/patches/200-linux-37.patch create mode 100644 package/kernel/lantiq/ltq-tapi/patches/300-linux-310.patch create mode 100644 package/kernel/lantiq/ltq-tapi/patches/400-linux-415.patch create mode 100644 package/kernel/lantiq/ltq-tapi/patches/500-linux-509.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/Makefile create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/src/LzmaDecode.c create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/src/LzmaDecode.h create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/src/LzmaTypes.h create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/src/LzmaWrapper.c create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/src/LzmaWrapper.h create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/src/Makefile create mode 100755 package/kernel/lantiq/ltq-vdsl-fw/src/vdsl_fw_install.sh create mode 100644 package/kernel/lantiq/ltq-vdsl-fw/src/w921v_fw_cutter.c create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/Makefile create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/001-fix-compile.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/010-warnings.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/020-not-leak-cflags.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/030-no-static-linking.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/100-compat.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/101_no-date-time.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/110-reset-g_tx_link_rate-on-showtime-exit.patch create mode 100644 package/kernel/lantiq/ltq-vdsl-mei/patches/200-interrupt-lock.patch create mode 100644 package/kernel/lantiq/ltq-vdsl/Makefile create mode 100644 package/kernel/lantiq/ltq-vdsl/patches/001-fix-compile.patch create mode 100644 package/kernel/lantiq/ltq-vdsl/patches/020-not-leak-cflags.patch create mode 100644 package/kernel/lantiq/ltq-vdsl/patches/100-compat.patch create mode 100644 package/kernel/lantiq/ltq-vdsl/patches/110-semaphore-lock.patch create mode 100644 package/kernel/lantiq/ltq-vdsl/patches/200-fix-elapsed-time.patch create mode 100644 package/kernel/lantiq/ltq-vectoring/Makefile create mode 100644 package/kernel/lantiq/ltq-vectoring/patches/001-fix-compile.patch create mode 100644 package/kernel/lantiq/ltq-vectoring/patches/100-cleanup.patch create mode 100644 package/kernel/lantiq/ltq-vectoring/patches/200-compat.patch create mode 100644 package/kernel/lantiq/ltq-vmmc/Config.in create mode 100644 package/kernel/lantiq/ltq-vmmc/Makefile create mode 100644 package/kernel/lantiq/ltq-vmmc/files/vmmc.init create mode 100644 package/kernel/lantiq/ltq-vmmc/patches/000-portability.patch create mode 100644 package/kernel/lantiq/ltq-vmmc/patches/020-not-leak-cflags.patch create mode 100644 package/kernel/lantiq/ltq-vmmc/patches/100-target.patch create mode 100644 package/kernel/lantiq/ltq-vmmc/patches/200-compat.patch create mode 100644 package/kernel/lantiq/ltq-vmmc/patches/400-falcon.patch create mode 100644 package/kernel/lantiq/ltq-vmmc/patches/500-ar9_vr9.patch create mode 100644 package/kernel/linux/Makefile create mode 100644 package/kernel/linux/files/hotplug-sched-teql.sh create mode 100644 package/kernel/linux/files/sysctl-br-netfilter.conf create mode 100644 package/kernel/linux/files/sysctl-nf-conntrack.conf create mode 100644 package/kernel/linux/files/sysctl-tcp-bbr.conf create mode 100644 package/kernel/linux/modules/001-depends.mk create mode 100644 package/kernel/linux/modules/block.mk create mode 100644 package/kernel/linux/modules/can.mk create mode 100644 package/kernel/linux/modules/crypto.mk create mode 100644 package/kernel/linux/modules/firewire.mk create mode 100644 package/kernel/linux/modules/fs.mk create mode 100644 package/kernel/linux/modules/gpio-cascade.mk create mode 100644 package/kernel/linux/modules/hwmon.mk create mode 100644 package/kernel/linux/modules/i2c.mk create mode 100644 package/kernel/linux/modules/iio.mk create mode 100644 package/kernel/linux/modules/input.mk create mode 100644 package/kernel/linux/modules/leds.mk create mode 100644 package/kernel/linux/modules/lib.mk create mode 100644 package/kernel/linux/modules/multiplexer.mk create mode 100644 package/kernel/linux/modules/netdevices.mk create mode 100644 package/kernel/linux/modules/netfilter.mk create mode 100644 package/kernel/linux/modules/netsupport.mk create mode 100644 package/kernel/linux/modules/nls.mk create mode 100644 package/kernel/linux/modules/other.mk create mode 100644 package/kernel/linux/modules/pcmcia.mk create mode 100644 package/kernel/linux/modules/sound.mk create mode 100644 package/kernel/linux/modules/spi.mk create mode 100644 package/kernel/linux/modules/usb.mk create mode 100644 package/kernel/linux/modules/video.mk create mode 100644 package/kernel/linux/modules/virt.mk create mode 100644 package/kernel/linux/modules/w1.mk create mode 100644 package/kernel/linux/modules/wireless.mk create mode 100644 package/kernel/linux/modules/wpan.mk create mode 100644 package/kernel/mac80211/Makefile create mode 100644 package/kernel/mac80211/ath.mk create mode 100644 package/kernel/mac80211/broadcom.mk create mode 100644 package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh create mode 100644 package/kernel/mac80211/files/lib/wifi/mac80211.sh create mode 100644 package/kernel/mac80211/files/mac80211.hotplug create mode 100644 package/kernel/mac80211/intel.mk create mode 100644 package/kernel/mac80211/marvell.mk create mode 100644 package/kernel/mac80211/patches/ath/070-ath_common_config.patch create mode 100644 package/kernel/mac80211/patches/ath/400-ath_move_debug_code.patch create mode 100644 package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch create mode 100644 package/kernel/mac80211/patches/ath/403-world_regd_fixup.patch create mode 100644 package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch create mode 100644 package/kernel/mac80211/patches/ath/405-ath_regd_us.patch create mode 100644 package/kernel/mac80211/patches/ath/406-ath_relax_default_regd.patch create mode 100644 package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch create mode 100644 package/kernel/mac80211/patches/ath/999-ath10k-add-tx-hw-802.11-encapsulation-offloading-sup.patch create mode 100644 package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch create mode 100644 package/kernel/mac80211/patches/ath10k/100-ath10k-support-bus-and-device-specific-API-1-BDF-sel.patch create mode 100644 package/kernel/mac80211/patches/ath10k/120-ath10k-fetch-calibration-data-via-nvmem-subsystem.patch create mode 100644 package/kernel/mac80211/patches/ath10k/921-ath10k_init_devices_synchronously.patch create mode 100644 package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch create mode 100644 package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch create mode 100644 package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch create mode 100644 package/kernel/mac80211/patches/ath10k/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch create mode 100644 package/kernel/mac80211/patches/ath10k/984-ath10k-Try-to-get-mac-address-from-dts.patch create mode 100644 package/kernel/mac80211/patches/ath10k/990-ath10k-small-buffers.patch create mode 100644 package/kernel/mac80211/patches/ath5k/201-ath5k-WAR-for-AR71xx-PCI-bug.patch create mode 100644 package/kernel/mac80211/patches/ath5k/411-ath5k_allow_adhoc_and_ap.patch create mode 100644 package/kernel/mac80211/patches/ath5k/420-ath5k_disable_fast_cc.patch create mode 100644 package/kernel/mac80211/patches/ath5k/430-add_ath5k_platform.patch create mode 100644 package/kernel/mac80211/patches/ath5k/432-ath5k_add_pciids.patch create mode 100644 package/kernel/mac80211/patches/ath5k/440-ath5k_channel_bw_debugfs.patch create mode 100644 package/kernel/mac80211/patches/ath9k/040-ath9k-support-DT-ieee80211-freq-limit-property-to-li.patch create mode 100644 package/kernel/mac80211/patches/ath9k/350-ath9k_hw-reset-AHB-WMAC-interface-on-AR91xx.patch create mode 100644 package/kernel/mac80211/patches/ath9k/351-ath9k_hw-issue-external-reset-for-QCA955x.patch create mode 100644 package/kernel/mac80211/patches/ath9k/354-ath9k-force-rx_clear-when-disabling-rx.patch create mode 100644 package/kernel/mac80211/patches/ath9k/356-Revert-ath9k-interpret-requested-txpower-in-EIRP-dom.patch create mode 100644 package/kernel/mac80211/patches/ath9k/365-ath9k-adjust-tx-power-reduction-for-US-regulatory-do.patch create mode 100644 package/kernel/mac80211/patches/ath9k/401-ath9k_blink_default.patch create mode 100644 package/kernel/mac80211/patches/ath9k/410-ath9k_allow_adhoc_and_ap.patch create mode 100644 package/kernel/mac80211/patches/ath9k/450-ath9k-enabled-MFP-capability-unconditionally.patch create mode 100644 package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch create mode 100644 package/kernel/mac80211/patches/ath9k/501-ath9k_ahb_init.patch create mode 100644 package/kernel/mac80211/patches/ath9k/510-ath9k_intr_mitigation_tweak.patch create mode 100644 package/kernel/mac80211/patches/ath9k/511-ath9k_reduce_rxbuf.patch create mode 100644 package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch create mode 100644 package/kernel/mac80211/patches/ath9k/513-ath9k_add_pci_ids.patch create mode 100644 package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch create mode 100644 package/kernel/mac80211/patches/ath9k/531-ath9k_extra_platform_leds.patch create mode 100644 package/kernel/mac80211/patches/ath9k/540-ath9k_reduce_ani_interval.patch create mode 100644 package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch create mode 100644 package/kernel/mac80211/patches/ath9k/543-ath9k_entropy_from_adc.patch create mode 100644 package/kernel/mac80211/patches/ath9k/544-ath9k-ar933x-usb-hang-workaround.patch create mode 100644 package/kernel/mac80211/patches/ath9k/545-ath9k_ani_ws_detect.patch create mode 100644 package/kernel/mac80211/patches/ath9k/547-ath9k_led_defstate_fix.patch create mode 100644 package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch create mode 100644 package/kernel/mac80211/patches/ath9k/549-ath9k_enable_gpio_buttons.patch create mode 100644 package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch create mode 100644 package/kernel/mac80211/patches/ath9k/552-ath9k-ahb_of.patch create mode 100644 package/kernel/mac80211/patches/ath9k/553-ath9k_of_gpio_mask.patch create mode 100644 package/kernel/mac80211/patches/ath9k/600-v5.16-ath9k-fetch-calibration-data-via-nvmem-subsystem.patch create mode 100644 package/kernel/mac80211/patches/ath9k/601-v5.16-ath9k-owl-loader-fetch-pci-init-values-through-nvmem.patch create mode 100644 package/kernel/mac80211/patches/brcm/040-brcmutil_option.patch create mode 100644 package/kernel/mac80211/patches/brcm/810-b43-gpio-mask-module-option.patch create mode 100644 package/kernel/mac80211/patches/brcm/811-b43_no_pio.patch create mode 100644 package/kernel/mac80211/patches/brcm/812-b43-add-antenna-control.patch create mode 100644 package/kernel/mac80211/patches/brcm/813-b43-reduce-number-of-RX-slots.patch create mode 100644 package/kernel/mac80211/patches/brcm/814-b43-only-use-gpio-0-1-for-led.patch create mode 100644 package/kernel/mac80211/patches/brcm/815-b43-always-take-overlapping-devs.patch create mode 100644 package/kernel/mac80211/patches/brcm/850-brcmsmac-remove-extra-regulation-restriction.patch create mode 100644 package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch create mode 100644 package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch create mode 100644 package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch create mode 100644 package/kernel/mac80211/patches/brcm/863-brcmfmac-add-in-driver-tables-with-country-codes.patch create mode 100644 package/kernel/mac80211/patches/brcm/864-brcmfmac-do-not-use-internal-roaming-engine-by-default.patch create mode 100644 package/kernel/mac80211/patches/brcm/998-survey.patch create mode 100644 package/kernel/mac80211/patches/build/000-fix_kconfig.patch create mode 100644 package/kernel/mac80211/patches/build/001-fix_build.patch create mode 100644 package/kernel/mac80211/patches/build/002-change_allconfig.patch create mode 100644 package/kernel/mac80211/patches/build/003-remove_bogus_modparams.patch create mode 100644 package/kernel/mac80211/patches/build/012-kernel_build_check.patch create mode 100644 package/kernel/mac80211/patches/build/015-ipw200-mtu.patch create mode 100644 package/kernel/mac80211/patches/build/050-lib80211_option.patch create mode 100644 package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch create mode 100644 package/kernel/mac80211/patches/mwl/700-mwl8k-missing-pci-id-for-WNR854T.patch create mode 100644 package/kernel/mac80211/patches/mwl/801-libertas-configure-sysfs-links.patch create mode 100644 package/kernel/mac80211/patches/mwl/802-libertas-set-wireless-macaddr.patch create mode 100644 package/kernel/mac80211/patches/mwl/940-mwl8k_init_devices_synchronously.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/001-rt2x00-define-RF5592-in-init_eeprom-routine.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/002-rt2x00-add-throughput-LED-trigger.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/003-rt2x00-add-support-for-external-PA-on-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/004-rt2x00-move-up-and-reuse-busy-wait-functions.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/005-rt2x00-add-RF-self-TXDC-calibration-for-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/006-rt2x00-add-r-calibration-for-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/007-rt2x00-add-RXDCOC-calibration-for-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/008-rt2x00-add-RXIQ-calibration-for-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/010-rt2x00-add-TX-LOFT-calibration-for-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/011-rt2x00-move-helper-functions-up-in-file.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/012-rt2x00-fix-HT20-HT40-bandwidth-switch-on-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/100-rt2x00_options.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/501-rt2x00-allow-to-build-rt2800soc-module-for-RT3883.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/601-rt2x00-introduce-rt2x00_platform_h.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/603-rt2x00-of_load_eeprom_filename.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/604-rt2x00-load-eeprom-on-SoC-from-a-mtd-device-defines-.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/606-rt2x00-allow_disabling_bands_through_platform_data.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/607-rt2x00-add_platform_data_mac_addr.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/608-rt2x00-allow_disabling_bands_through_dts.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/609-rt2x00-make-wmac-loadable-via-OF-on-rt288x-305x-SoC.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/610-rt2x00-change-led-polarity-from-OF.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/611-rt2x00-add-AP+STA-support.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/994-rt2x00-import-support-for-external-LNA-on-MT7620.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/995-rt2x00-mt7620-introduce-accessors-for-CHIP_VER-register.patch create mode 100644 package/kernel/mac80211/patches/rt2x00/996-rt2x00-mt7620-differentiate-based-on-SoC-CHIP_VER.patch create mode 100644 package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch create mode 100644 package/kernel/mac80211/patches/subsys/120-cfg80211_allow_perm_addr_change.patch create mode 100644 package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch create mode 100644 package/kernel/mac80211/patches/subsys/210-ap_scan.patch create mode 100644 package/kernel/mac80211/patches/subsys/301-mac80211-sta-randomize-BA-session-dialog-token-alloc.patch create mode 100644 package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch create mode 100644 package/kernel/mac80211/patches/subsys/306-mac80211-use-coarse-boottime-for-airtime-fairness-co.patch create mode 100644 package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch create mode 100644 package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch create mode 100644 package/kernel/mac80211/patches/subsys/309-mac80211-minstrel_ht-fix-MINSTREL_FRAC-macro.patch create mode 100644 package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch create mode 100644 package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch create mode 100644 package/kernel/mac80211/patches/subsys/312-mac80211-split-beacon-retrieval-functions.patch create mode 100644 package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch create mode 100644 package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch create mode 100644 package/kernel/mac80211/patches/subsys/315-cfg80211-move-offchan_cac_event-to-a-dedicated-work.patch create mode 100644 package/kernel/mac80211/patches/subsys/316-cfg80211-fix-possible-NULL-pointer-dereference-in-cf.patch create mode 100644 package/kernel/mac80211/patches/subsys/317-cfg80211-schedule-offchan_cac_abort_wk-in-cfg80211_r.patch create mode 100644 package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch create mode 100644 package/kernel/mac80211/patches/subsys/319-mac80211-introduce-set_radar_offchan-callback.patch create mode 100644 package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch create mode 100644 package/kernel/mac80211/patches/subsys/323-mac80211-MBSSID-support-in-interface-handling.patch create mode 100644 package/kernel/mac80211/patches/subsys/324-mac80211-MBSSID-beacon-handling-in-AP-mode.patch create mode 100644 package/kernel/mac80211/patches/subsys/325-mac80211-MBSSID-channel-switch.patch create mode 100644 package/kernel/mac80211/patches/subsys/326-mac80211-update-bssid_indicator-in-ieee80211_assign_.patch create mode 100644 package/kernel/mac80211/patches/subsys/328-mac80211-do-not-wake-queues-on-a-vif-that-is-being-s.patch create mode 100644 package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch create mode 100644 package/kernel/mac80211/patches/subsys/331-mac80211-make-sta-airtime-deficit-field-s32-instead-.patch create mode 100644 package/kernel/mac80211/patches/subsys/332-mac80211-consider-aql_tx_pending-when-checking-airti.patch create mode 100644 package/kernel/mac80211/patches/subsys/333-mac80211-keep-recently-active-tx-queues-in-schedulin.patch create mode 100644 package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch create mode 100644 package/kernel/mac80211/patches/subsys/335-mac80211-add-debugfs-file-to-display-per-phy-AQL-pen.patch create mode 100644 package/kernel/mac80211/patches/subsys/336-mac80211-only-accumulate-airtime-deficit-for-active-.patch create mode 100644 package/kernel/mac80211/patches/subsys/337-mac80211-increase-quantum-for-airtime-scheduler.patch create mode 100644 package/kernel/mac80211/patches/subsys/339-mac80211-exclude-multicast-packets-from-AQL-pending-.patch create mode 100644 package/kernel/mac80211/patches/subsys/340-wifi-mac80211-do-not-abuse-fq.lock-in-ieee80211_do_s.patch create mode 100644 package/kernel/mac80211/patches/subsys/341-mac80211-Fix-deadlock-Don-t-start-TX-while-holding-f.patch create mode 100644 package/kernel/mac80211/patches/subsys/342-mac80211-Ensure-vif-queues-are-operational-after-sta.patch create mode 100644 package/kernel/mac80211/patches/subsys/343-wifi-mac80211-fix-decap-offload-for-stations-on-AP_V.patch create mode 100644 package/kernel/mac80211/patches/subsys/344-wifi-cfg80211-fix-ieee80211_data_to_8023_exthdr-hand.patch create mode 100644 package/kernel/mac80211/patches/subsys/345-wifi-mac80211-do-not-drop-packets-smaller-than-the-L.patch create mode 100644 package/kernel/mac80211/patches/subsys/346-v6.0-wifi-mac80211-fix-mesh-airtime-link-metric-estimatin.patch create mode 100644 package/kernel/mac80211/patches/subsys/347-wifi-ieee80211-correctly-mark-FTM-frames-non-buffera.patch create mode 100644 package/kernel/mac80211/patches/subsys/348-wifi-mac80211-flush-queues-on-STA-removal.patch create mode 100644 package/kernel/mac80211/patches/subsys/349-wifi-iwlwifi-mvm-support-flush-on-AP-interfaces.patch create mode 100644 package/kernel/mac80211/patches/subsys/350-wifi-mac80211-add-flush_sta-method.patch create mode 100644 package/kernel/mac80211/patches/subsys/351-wifi-iwlwifi-mvm-support-new-flush_sta-method.patch create mode 100644 package/kernel/mac80211/patches/subsys/352-wifi-mac80211-fix-invalid-drv_sta_pre_rcu_remove-cal.patch create mode 100644 package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch create mode 100644 package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch create mode 100644 package/kernel/mac80211/patches/subsys/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch create mode 100644 package/kernel/mac80211/patches/subsys/999-mac80211-NSS-support.patch create mode 100644 package/kernel/mac80211/ralink.mk create mode 100644 package/kernel/mac80211/realtek.mk create mode 100755 package/kernel/mac80211/scripts/import-backports.sh create mode 100644 package/kernel/mt76/Makefile create mode 100644 package/kernel/mt76/patches/100-aggregation-definitions.patch create mode 100644 package/kernel/mt76/patches/110-api_update.patch create mode 100644 package/kernel/mt76/patches/120-wifi-mt76-ignore-key-disable-commands.patch create mode 100644 package/kernel/mt7621-qtn-rgmii/Makefile create mode 100644 package/kernel/mt7621-qtn-rgmii/src/Makefile create mode 100644 package/kernel/mt7621-qtn-rgmii/src/mt7621-qtn-rgmii.c create mode 100644 package/kernel/mwlwifi/Makefile create mode 100644 package/kernel/mwlwifi/patches/001-Fix-compile-with-mac80211-backports-5_3+.patch create mode 100644 package/kernel/nat46/Makefile create mode 100644 package/kernel/rtc-rv5c386a/Makefile create mode 100644 package/kernel/rtc-rv5c386a/src/Makefile create mode 100644 package/kernel/rtc-rv5c386a/src/rtc.c create mode 100644 package/kernel/rtl8812au-ct/Makefile create mode 100644 package/kernel/rtl8812au-ct/patches/001-use-kernel-byteorder.patch create mode 100644 package/kernel/rtl8812au-ct/patches/002-vendor_command_policy.patch create mode 100644 package/kernel/rtl8812au-ct/patches/003-wireless-5.8.patch create mode 100644 package/kernel/trelay/Makefile create mode 100644 package/kernel/trelay/files/trelay.config create mode 100644 package/kernel/trelay/files/trelay.hotplug create mode 100644 package/kernel/trelay/files/trelay.init create mode 100644 package/kernel/trelay/src/Makefile create mode 100644 package/kernel/trelay/src/trelay.c create mode 100644 package/libs/argp-standalone/Makefile create mode 100644 package/libs/argp-standalone/patches/001-throw-in-funcdef.patch create mode 100644 package/libs/argp-standalone/patches/002-no_optimize.patch create mode 100644 package/libs/argp-standalone/patches/900-fix-segfault-in_canon_doc_option.patch create mode 100644 package/libs/elfutils/Makefile create mode 100644 package/libs/elfutils/patches/003-libintl-compatibility.patch create mode 100644 package/libs/elfutils/patches/005-build_only_libs.patch create mode 100644 package/libs/elfutils/patches/006-Fix-build-on-aarch64-musl.patch create mode 100644 package/libs/elfutils/patches/100-musl-compat.patch create mode 100644 package/libs/elfutils/patches/101-no-fts.patch create mode 100644 package/libs/gettext-full/Makefile create mode 100644 package/libs/gettext-full/patches/000-relocatable.patch create mode 100644 package/libs/gettext-full/patches/001-autotools.patch create mode 100644 package/libs/gettext-full/patches/001-no_examples_and_tests.patch create mode 100644 package/libs/gettext-full/patches/010-m4.patch create mode 100644 package/libs/gettext-full/patches/150-disable_libxml_iconv.patch create mode 100644 package/libs/gmp/Makefile create mode 100644 package/libs/jansson/Makefile create mode 100644 package/libs/libaudit/Makefile create mode 100644 package/libs/libaudit/patches/0001-Add-substitue-functions-for-strndupa-rawmemchr.patch create mode 100644 package/libs/libaudit/patches/0002-fix-gcc-10.patch create mode 100644 package/libs/libbsd/Makefile create mode 100644 package/libs/libcap/Makefile create mode 100644 package/libs/libcap/patches/300-disable-tests.patch create mode 100644 package/libs/libevent2/Makefile create mode 100644 package/libs/libiconv-full/Makefile create mode 100644 package/libs/libiconv/COPYING create mode 100644 package/libs/libiconv/COPYRIGHT create mode 100644 package/libs/libiconv/Makefile create mode 100644 package/libs/libiconv/src/LICENSE create mode 100644 package/libs/libiconv/src/iconv.c create mode 100644 package/libs/libiconv/src/include/charmaps.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-10.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-13.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-14.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-16.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-2.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-3.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-4.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-5.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-6.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-7.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-8.h create mode 100644 package/libs/libiconv/src/include/charmaps/iso-8859-9.h create mode 100644 package/libs/libiconv/src/include/charmaps/koi8-r.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1250.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1251.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1252.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1253.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1254.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1255.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1256.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1257.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-1258.h create mode 100644 package/libs/libiconv/src/include/charmaps/windows-874.h create mode 100644 package/libs/libiconv/src/include/iconv.h create mode 100644 package/libs/libiconv/src/m4/iconv.m4 create mode 100644 package/libs/libjson-c/Makefile create mode 100644 package/libs/libjson-c/patches/001-dont-build-docs.patch create mode 100644 package/libs/libjson-c/patches/010-clang.patch create mode 100644 package/libs/libmnl/Makefile create mode 100644 package/libs/libmnl/patches/001-fix_build.patch create mode 100644 package/libs/libnetfilter-conntrack/Makefile create mode 100644 package/libs/libnetfilter-conntrack/patches/0001-conntrack-fix-build-with-kernel-5_15-and-musl.patch create mode 100644 package/libs/libnfnetlink/Makefile create mode 100644 package/libs/libnftnl/Makefile create mode 100644 package/libs/libnl-tiny/Makefile create mode 100644 package/libs/libnl/Makefile create mode 100644 package/libs/libnl/patches/100-build-add-Libs.private-field-in-libnl-pkg-config-file.patch create mode 100644 package/libs/libpcap/Config.in create mode 100644 package/libs/libpcap/Makefile create mode 100644 package/libs/libpcap/patches/100-no-openssl.patch create mode 100644 package/libs/libpcap/patches/102-skip-manpages.patch create mode 100644 package/libs/libpcap/patches/201-space_optimization.patch create mode 100644 package/libs/libselinux/Makefile create mode 100644 package/libs/libsemanage/Makefile create mode 100644 package/libs/libsepol/Makefile create mode 100644 package/libs/libtool/Makefile create mode 100644 package/libs/libubox/Makefile create mode 100644 package/libs/libunwind/Makefile create mode 100644 package/libs/libunwind/patches/001-Don-t-force-exec_prefix-lib64-libdir-on-ppc64.patch create mode 100644 package/libs/libunwind/patches/002-fix-building-getcontext_S.patch create mode 100644 package/libs/libunwind/patches/003-fix-missing-ef_reg-defs-with-musl.patch create mode 100644 package/libs/libunwind/patches/004-ppc-musl.patch create mode 100644 package/libs/libusb/Makefile create mode 100644 package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch create mode 100644 package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch create mode 100644 package/libs/mbedtls/Makefile create mode 100644 package/libs/mbedtls/patches/100-fix-compile.patch create mode 100644 package/libs/mbedtls/patches/101-remove-test.patch create mode 100644 package/libs/mbedtls/patches/200-config.patch create mode 100644 package/libs/musl-fts/Makefile create mode 100644 package/libs/ncurses/Makefile create mode 100644 package/libs/ncurses/patches/100-ncurses-5.6-20080112-urxvt.patch create mode 100644 package/libs/ncurses/patches/101-ncurses-5.6-20080628-kbs.patch create mode 100644 package/libs/ncurses/patches/102-ncurses-5.9-gcc-5.patch create mode 100644 package/libs/ncurses/patches/103-ncurses-ar-determinism.patch create mode 100644 package/libs/ncurses/patches/200-fix_missing_include.patch create mode 100644 package/libs/ncurses/patches/900-terminfo.patch create mode 100644 package/libs/nettle/Config.in create mode 100644 package/libs/nettle/Makefile create mode 100644 package/libs/nettle/patches/100-portability.patch create mode 100644 package/libs/openssl/Config.in create mode 100644 package/libs/openssl/Makefile create mode 100644 package/libs/openssl/engine.mk create mode 100644 package/libs/openssl/files/afalg.cnf create mode 100644 package/libs/openssl/files/devcrypto.cnf create mode 100755 package/libs/openssl/files/openssl.init create mode 100644 package/libs/openssl/files/padlock.cnf create mode 100644 package/libs/openssl/patches/001-crypto-perlasm-ppc-xlate.pl-add-linux64v2-flavour.patch create mode 100644 package/libs/openssl/patches/100-Configure-afalg-support.patch create mode 100644 package/libs/openssl/patches/110-openwrt_targets.patch create mode 100644 package/libs/openssl/patches/120-strip-cflags-from-binary.patch create mode 100644 package/libs/openssl/patches/130-dont-build-tests-fuzz.patch create mode 100644 package/libs/openssl/patches/140-allow-prefer-chacha20.patch create mode 100644 package/libs/openssl/patches/150-openssl.cnf-add-engines-conf.patch create mode 100644 package/libs/openssl/patches/200-x509-excessive-resource-use-verifying-policy-constra.patch create mode 100644 package/libs/openssl/patches/210-Ensure-that-EXFLAG_INVALID_POLICY-is-checked-even-in.patch create mode 100644 package/libs/openssl/patches/400-eng_devcrypto-save-ioctl-if-EVP_MD_.FLAG_ONESHOT.patch create mode 100644 package/libs/openssl/patches/410-eng_devcrypto-add-configuration-options.patch create mode 100644 package/libs/openssl/patches/420-eng_devcrypto-add-command-to-dump-driver-info.patch create mode 100644 package/libs/openssl/patches/430-e_devcrypto-make-the-dev-crypto-engine-dynamic.patch create mode 100644 package/libs/openssl/patches/500-e_devcrypto-default-to-not-use-digests-in-engine.patch create mode 100644 package/libs/openssl/patches/510-e_devcrypto-ignore-error-when-closing-session.patch create mode 100644 package/libs/pcre/Config.in create mode 100644 package/libs/pcre/Makefile create mode 100644 package/libs/popt/Makefile create mode 100644 package/libs/readline/Makefile create mode 100644 package/libs/readline/patches/001-curses-link.patch create mode 100644 package/libs/sysfsutils/Makefile create mode 100644 package/libs/sysfsutils/files/local.conf create mode 100644 package/libs/sysfsutils/files/sysfs.conf create mode 100644 package/libs/sysfsutils/files/sysfsutils create mode 100644 package/libs/sysfsutils/patches/200-mnt_path_check.patch create mode 100644 package/libs/toolchain/Makefile create mode 100644 package/libs/toolchain/glibc-files/etc/nsswitch.conf create mode 100644 package/libs/uclient/Makefile create mode 100644 package/libs/ustream-ssl/Makefile create mode 100644 package/libs/wolfssl/Config.in create mode 100644 package/libs/wolfssl/Makefile create mode 100644 package/libs/wolfssl/patches/100-disable-hardening-check.patch create mode 100644 package/libs/zlib/Config.in create mode 100644 package/libs/zlib/Makefile create mode 100644 package/libs/zlib/patches/001-neon-implementation-of-adler32.patch create mode 100644 package/libs/zlib/patches/002-arm-specific-optimisations-for-inflate.patch create mode 100644 package/libs/zlib/patches/003-arm-specific-optimisations-for-inflate.patch create mode 100644 package/libs/zlib/patches/004-attach-sourcefiles-in-patch-002-to-buildsystem.patch create mode 100644 package/libs/zlib/patches/005-relative-pkg-config-paths.patch create mode 100644 package/libs/zlib/patches/006-fix-CVE-2022-37434.patch create mode 100644 package/libs/zlib/patches/006-fix-compressor-crash-on-certain-inputs.patch create mode 100644 package/libs/zlib/patches/007-fix-null-dereference-in-fix-CVE-2022-37434.patch create mode 100644 package/network/config/firewall/Makefile create mode 100644 package/network/config/firewall/files/firewall.config create mode 100644 package/network/config/firewall/files/firewall.hotplug create mode 100755 package/network/config/firewall/files/firewall.init create mode 100644 package/network/config/firewall/files/firewall.user create mode 100644 package/network/config/firewall4/Makefile create mode 100644 package/network/config/gre/Makefile create mode 100755 package/network/config/gre/files/gre.sh create mode 100644 package/network/config/ipip/Makefile create mode 100755 package/network/config/ipip/files/ipip.sh create mode 100644 package/network/config/ltq-adsl-app/Makefile create mode 100755 package/network/config/ltq-adsl-app/files/10_atm.sh create mode 100755 package/network/config/ltq-adsl-app/files/10_ptm.sh create mode 100644 package/network/config/ltq-adsl-app/files/dsl_control create mode 100644 package/network/config/ltq-adsl-app/patches/001-stupid_breakage_fix.patch create mode 100644 package/network/config/ltq-adsl-app/patches/010-eglibc_compile_fix.patch create mode 100644 package/network/config/ltq-adsl-app/patches/100-add-more-script-notifications.patch create mode 100644 package/network/config/ltq-adsl-app/patches/300-ubus.patch create mode 100644 package/network/config/ltq-vdsl-app/Makefile create mode 100755 package/network/config/ltq-vdsl-app/files/10_atm.sh create mode 100755 package/network/config/ltq-vdsl-app/files/10_ptm.sh create mode 100644 package/network/config/ltq-vdsl-app/files/dsl_control create mode 100755 package/network/config/ltq-vdsl-app/files/dsl_cpe_pipe.sh create mode 100644 package/network/config/ltq-vdsl-app/patches/100-compat.patch create mode 100644 package/network/config/ltq-vdsl-app/patches/101-musl.patch create mode 100644 package/network/config/ltq-vdsl-app/patches/200-autoboot.patch create mode 100644 package/network/config/ltq-vdsl-app/patches/201-sigterm.patch create mode 100644 package/network/config/ltq-vdsl-app/patches/300-ubus.patch create mode 100644 package/network/config/ltq-vdsl-app/src/src/dsl_cpe_ubus.c create mode 100644 package/network/config/netifd/Makefile create mode 100644 package/network/config/netifd/files/etc/hotplug.d/iface/00-netstate create mode 100644 package/network/config/netifd/files/etc/hotplug.d/net/20-smp-packet-steering create mode 100755 package/network/config/netifd/files/etc/init.d/network create mode 100644 package/network/config/netifd/files/etc/uci-defaults/14_migrate-dhcp-release create mode 100644 package/network/config/netifd/files/etc/udhcpc.user create mode 100755 package/network/config/netifd/files/lib/netifd/dhcp.script create mode 100755 package/network/config/netifd/files/lib/netifd/proto/dhcp.sh create mode 100755 package/network/config/netifd/files/lib/network/config.sh create mode 100755 package/network/config/netifd/files/sbin/devstatus create mode 120000 package/network/config/netifd/files/sbin/ifdown create mode 100755 package/network/config/netifd/files/sbin/ifstatus create mode 100755 package/network/config/netifd/files/sbin/ifup create mode 100755 package/network/config/netifd/files/usr/share/udhcpc/default.script create mode 100644 package/network/config/qos-scripts/Makefile create mode 100644 package/network/config/qos-scripts/files/etc/config/qos create mode 100755 package/network/config/qos-scripts/files/etc/hotplug.d/iface/10-qos create mode 100755 package/network/config/qos-scripts/files/etc/init.d/qos create mode 100755 package/network/config/qos-scripts/files/usr/bin/qos-start create mode 100755 package/network/config/qos-scripts/files/usr/bin/qos-stat create mode 100755 package/network/config/qos-scripts/files/usr/bin/qos-stop create mode 100755 package/network/config/qos-scripts/files/usr/lib/qos/generate.sh create mode 100644 package/network/config/qos-scripts/files/usr/lib/qos/tcrules.awk create mode 100644 package/network/config/qosify/Makefile create mode 100644 package/network/config/qosify/files/qosify-defaults.conf create mode 100644 package/network/config/qosify/files/qosify-status create mode 100644 package/network/config/qosify/files/qosify.conf create mode 100644 package/network/config/qosify/files/qosify.hotplug create mode 100644 package/network/config/qosify/files/qosify.init create mode 100644 package/network/config/soloscli/Makefile create mode 100644 package/network/config/soloscli/files/etc/hotplug.d/atm/15-solos-init create mode 100644 package/network/config/soloscli/files/etc/uci-defaults/solos create mode 100644 package/network/config/soloscli/files/solos-log-stats create mode 100644 package/network/config/soloscli/patches/001-no-driver.patch create mode 100644 package/network/config/soloscli/patches/002-cflags.patch create mode 100644 package/network/config/swconfig/Makefile create mode 100644 package/network/config/swconfig/files/switch.sh create mode 100644 package/network/config/swconfig/src/Makefile create mode 100644 package/network/config/swconfig/src/cli.c create mode 100644 package/network/config/swconfig/src/swlib.c create mode 100644 package/network/config/swconfig/src/swlib.h create mode 100644 package/network/config/swconfig/src/uci.c create mode 100644 package/network/config/vti/Makefile create mode 100755 package/network/config/vti/files/vti.sh create mode 100644 package/network/config/vxlan/Makefile create mode 100755 package/network/config/vxlan/files/vxlan.sh create mode 100644 package/network/config/xfrm/Makefile create mode 100755 package/network/config/xfrm/files/xfrm.sh create mode 100644 package/network/ipv6/464xlat/Makefile create mode 100755 package/network/ipv6/464xlat/files/464xlat.sh create mode 100644 package/network/ipv6/464xlat/src/464xlatcfg.c create mode 100644 package/network/ipv6/464xlat/src/Makefile create mode 100644 package/network/ipv6/6in4/Makefile create mode 100755 package/network/ipv6/6in4/files/6in4.sh create mode 100644 package/network/ipv6/6rd/Makefile create mode 100644 package/network/ipv6/6rd/files/6rd.sh create mode 100644 package/network/ipv6/6rd/src/6rdcalc.c create mode 100644 package/network/ipv6/6rd/src/Makefile create mode 100644 package/network/ipv6/6to4/Makefile create mode 100755 package/network/ipv6/6to4/files/6to4.sh create mode 100644 package/network/ipv6/ds-lite/Makefile create mode 100644 package/network/ipv6/ds-lite/files/dslite.sh create mode 100644 package/network/ipv6/map/Makefile create mode 100755 package/network/ipv6/map/files/map.sh create mode 100644 package/network/ipv6/map/src/CMakeLists.txt create mode 100644 package/network/ipv6/map/src/mapcalc.c create mode 100644 package/network/ipv6/odhcp6c/Makefile create mode 100755 package/network/ipv6/odhcp6c/files/dhcpv6.script create mode 100755 package/network/ipv6/odhcp6c/files/dhcpv6.sh create mode 100644 package/network/ipv6/odhcp6c/files/odhcp6c.user create mode 100644 package/network/ipv6/thc-ipv6/Makefile create mode 100644 package/network/ipv6/thc-ipv6/patches/000-cflags_override.patch create mode 100644 package/network/ipv6/thc-ipv6/patches/100-no-ssl.patch create mode 100644 package/network/services/dnsmasq/Makefile create mode 100755 package/network/services/dnsmasq/files/50-dnsmasq-migrate-resolv-conf-auto.sh create mode 100755 package/network/services/dnsmasq/files/dhcp-script.sh create mode 100644 package/network/services/dnsmasq/files/dhcp.conf create mode 100644 package/network/services/dnsmasq/files/dhcpbogushostname.conf create mode 100644 package/network/services/dnsmasq/files/dnsmasq.conf create mode 100755 package/network/services/dnsmasq/files/dnsmasq.init create mode 100644 package/network/services/dnsmasq/files/dnsmasq_acl.json create mode 100644 package/network/services/dnsmasq/files/dnsmasqsec.hotplug create mode 100644 package/network/services/dnsmasq/files/rfc6761.conf create mode 100644 package/network/services/dnsmasq/patches/001-CVE-2022-0934-Fix-write-after-free-error-in-DHCPv6-code.patch create mode 100644 package/network/services/dnsmasq/patches/100-remove-old-runtime-kernel-support.patch create mode 100644 package/network/services/dnsmasq/patches/200-ubus_dns.patch create mode 100644 package/network/services/dropbear/Config.in create mode 100644 package/network/services/dropbear/Makefile create mode 100644 package/network/services/dropbear/files/dropbear.config create mode 100755 package/network/services/dropbear/files/dropbear.failsafe create mode 100755 package/network/services/dropbear/files/dropbear.init create mode 100644 package/network/services/dropbear/patches/001-fix-MAX_UNAUTH_CLIENTS-regression.patch create mode 100644 package/network/services/dropbear/patches/100-pubkey_path.patch create mode 100644 package/network/services/dropbear/patches/110-change_user.patch create mode 100644 package/network/services/dropbear/patches/130-ssh_ignore_x_args.patch create mode 100644 package/network/services/dropbear/patches/140-disable_assert.patch create mode 100644 package/network/services/dropbear/patches/160-lto-jobserver.patch create mode 100644 package/network/services/dropbear/patches/600-allow-blank-root-password.patch create mode 100644 package/network/services/dropbear/patches/900-configure-hardening.patch create mode 100644 package/network/services/dropbear/patches/901-bundled-libs-cflags.patch create mode 100644 package/network/services/dropbear/patches/910-signkey-fix-use-of-rsa-sha2-256-pubkeys.patch create mode 100644 package/network/services/ead/Makefile create mode 100644 package/network/services/ead/src/Makefile create mode 100644 package/network/services/ead/src/aes.c create mode 100644 package/network/services/ead/src/ead-client.c create mode 100644 package/network/services/ead/src/ead-crypt.c create mode 100644 package/network/services/ead/src/ead-crypt.h create mode 100644 package/network/services/ead/src/ead-pcap.h create mode 100644 package/network/services/ead/src/ead.c create mode 100644 package/network/services/ead/src/ead.h create mode 100644 package/network/services/ead/src/filter.c create mode 100644 package/network/services/ead/src/libbridge.h create mode 100644 package/network/services/ead/src/libbridge_init.c create mode 100644 package/network/services/ead/src/libbridge_private.h create mode 100644 package/network/services/ead/src/list.h create mode 100644 package/network/services/ead/src/passwd create mode 100644 package/network/services/ead/src/pfc.c create mode 100644 package/network/services/ead/src/pw_encrypt_md5.c create mode 100644 package/network/services/ead/src/sha1.c create mode 100644 package/network/services/ead/src/tinysrp/Makefile.am create mode 100644 package/network/services/ead/src/tinysrp/Makefile.in create mode 100644 package/network/services/ead/src/tinysrp/Notes create mode 100644 package/network/services/ead/src/tinysrp/acconfig.h create mode 100644 package/network/services/ead/src/tinysrp/acinclude.m4 create mode 100644 package/network/services/ead/src/tinysrp/aclocal.m4 create mode 100644 package/network/services/ead/src/tinysrp/bn.h create mode 100644 package/network/services/ead/src/tinysrp/bn_add.c create mode 100644 package/network/services/ead/src/tinysrp/bn_asm.c create mode 100644 package/network/services/ead/src/tinysrp/bn_ctx.c create mode 100644 package/network/services/ead/src/tinysrp/bn_div.c create mode 100644 package/network/services/ead/src/tinysrp/bn_exp.c create mode 100644 package/network/services/ead/src/tinysrp/bn_lcl.h create mode 100644 package/network/services/ead/src/tinysrp/bn_lib.c create mode 100644 package/network/services/ead/src/tinysrp/bn_mul.c create mode 100644 package/network/services/ead/src/tinysrp/bn_prime.h create mode 100644 package/network/services/ead/src/tinysrp/bn_shift.c create mode 100644 package/network/services/ead/src/tinysrp/bn_sqr.c create mode 100644 package/network/services/ead/src/tinysrp/bn_word.c create mode 100644 package/network/services/ead/src/tinysrp/clitest.c create mode 100644 package/network/services/ead/src/tinysrp/config.h.in create mode 100755 package/network/services/ead/src/tinysrp/configure create mode 100644 package/network/services/ead/src/tinysrp/configure.in create mode 100755 package/network/services/ead/src/tinysrp/install-sh create mode 100755 package/network/services/ead/src/tinysrp/missing create mode 100755 package/network/services/ead/src/tinysrp/mkinstalldirs create mode 100644 package/network/services/ead/src/tinysrp/srvtest.c create mode 100644 package/network/services/ead/src/tinysrp/stamp-h.in create mode 100644 package/network/services/ead/src/tinysrp/t_client.c create mode 100644 package/network/services/ead/src/tinysrp/t_client.h create mode 100644 package/network/services/ead/src/tinysrp/t_conf.c create mode 100644 package/network/services/ead/src/tinysrp/t_conv.c create mode 100644 package/network/services/ead/src/tinysrp/t_defines.h create mode 100644 package/network/services/ead/src/tinysrp/t_getconf.c create mode 100644 package/network/services/ead/src/tinysrp/t_getpass.c create mode 100644 package/network/services/ead/src/tinysrp/t_math.c create mode 100644 package/network/services/ead/src/tinysrp/t_misc.c create mode 100644 package/network/services/ead/src/tinysrp/t_pw.c create mode 100644 package/network/services/ead/src/tinysrp/t_pwd.h create mode 100644 package/network/services/ead/src/tinysrp/t_read.c create mode 100644 package/network/services/ead/src/tinysrp/t_read.h create mode 100644 package/network/services/ead/src/tinysrp/t_server.c create mode 100644 package/network/services/ead/src/tinysrp/t_server.h create mode 100644 package/network/services/ead/src/tinysrp/t_sha.c create mode 100644 package/network/services/ead/src/tinysrp/t_sha.h create mode 100644 package/network/services/ead/src/tinysrp/t_truerand.c create mode 100644 package/network/services/ead/src/tinysrp/tconf.c create mode 100644 package/network/services/ead/src/tinysrp/tinysrp.c create mode 100644 package/network/services/ead/src/tinysrp/tinysrp.h create mode 100644 package/network/services/ead/src/tinysrp/tpasswd create mode 100644 package/network/services/ead/src/tinysrp/tphrase.c create mode 100644 package/network/services/hostapd/Config.in create mode 100644 package/network/services/hostapd/Makefile create mode 100644 package/network/services/hostapd/files/dhcp-get-server.sh create mode 100644 package/network/services/hostapd/files/hostapd-basic.config create mode 100644 package/network/services/hostapd/files/hostapd-full.config create mode 100644 package/network/services/hostapd/files/hostapd-mini.config create mode 100644 package/network/services/hostapd/files/hostapd.sh create mode 100644 package/network/services/hostapd/files/multicall.c create mode 100644 package/network/services/hostapd/files/wpa_supplicant-basic.config create mode 100644 package/network/services/hostapd/files/wpa_supplicant-full.config create mode 100644 package/network/services/hostapd/files/wpa_supplicant-mini.config create mode 100644 package/network/services/hostapd/files/wpa_supplicant-p2p.config create mode 100644 package/network/services/hostapd/files/wpad.init create mode 100644 package/network/services/hostapd/files/wpad.json create mode 100644 package/network/services/hostapd/files/wpad_acl.json create mode 100644 package/network/services/hostapd/files/wps-hotplug.sh create mode 100644 package/network/services/hostapd/patches/001-wolfssl-init-RNG-with-ECC-key.patch create mode 100644 package/network/services/hostapd/patches/010-mesh-Allow-DFS-channels-to-be-selected-if-dfs-is-ena.patch create mode 100644 package/network/services/hostapd/patches/011-mesh-use-deterministic-channel-on-channel-switch.patch create mode 100644 package/network/services/hostapd/patches/021-fix-sta-add-after-previous-connection.patch create mode 100644 package/network/services/hostapd/patches/022-hostapd-fix-use-of-uninitialized-stack-variables.patch create mode 100644 package/network/services/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch create mode 100644 package/network/services/hostapd/patches/030-driver_nl80211-rewrite-neigh-code-to-not-depend-on-l.patch create mode 100644 package/network/services/hostapd/patches/040-mesh-allow-processing-authentication-frames-in-block.patch create mode 100644 package/network/services/hostapd/patches/050-build_fix.patch create mode 100644 package/network/services/hostapd/patches/100-daemonize_fix.patch create mode 100644 package/network/services/hostapd/patches/200-multicall.patch create mode 100644 package/network/services/hostapd/patches/300-noscan.patch create mode 100644 package/network/services/hostapd/patches/301-mesh-noscan.patch create mode 100644 package/network/services/hostapd/patches/310-rescan_immediately.patch create mode 100644 package/network/services/hostapd/patches/320-optional_rfkill.patch create mode 100644 package/network/services/hostapd/patches/330-nl80211_fix_set_freq.patch create mode 100644 package/network/services/hostapd/patches/340-reload_freq_change.patch create mode 100644 package/network/services/hostapd/patches/341-mesh-ctrl-iface-channel-switch.patch create mode 100644 package/network/services/hostapd/patches/350-nl80211_del_beacon_bss.patch create mode 100644 package/network/services/hostapd/patches/360-ctrl_iface_reload.patch create mode 100644 package/network/services/hostapd/patches/370-ap_sta_support.patch create mode 100644 package/network/services/hostapd/patches/380-disable_ctrl_iface_mib.patch create mode 100644 package/network/services/hostapd/patches/381-hostapd_cli_UNKNOWN-COMMAND.patch create mode 100644 package/network/services/hostapd/patches/390-wpa_ie_cap_workaround.patch create mode 100644 package/network/services/hostapd/patches/400-wps_single_auth_enc_type.patch create mode 100644 package/network/services/hostapd/patches/410-limit_debug_messages.patch create mode 100644 package/network/services/hostapd/patches/420-indicate-features.patch create mode 100644 package/network/services/hostapd/patches/430-hostapd_cli_ifdef.patch create mode 100644 package/network/services/hostapd/patches/431-wpa_cli_ifdef.patch create mode 100644 package/network/services/hostapd/patches/432-missing-typedef.patch create mode 100644 package/network/services/hostapd/patches/450-scan_wait.patch create mode 100644 package/network/services/hostapd/patches/460-wpa_supplicant-add-new-config-params-to-be-used-with.patch create mode 100644 package/network/services/hostapd/patches/461-driver_nl80211-use-new-parameters-during-ibss-join.patch create mode 100644 package/network/services/hostapd/patches/463-add-mcast_rate-to-11s.patch create mode 100644 package/network/services/hostapd/patches/464-fix-mesh-obss-check.patch create mode 100644 package/network/services/hostapd/patches/470-survey_data_fallback.patch create mode 100644 package/network/services/hostapd/patches/500-lto-jobserver-support.patch create mode 100644 package/network/services/hostapd/patches/590-rrm-wnm-statistics.patch create mode 100644 package/network/services/hostapd/patches/599-wpa_supplicant-fix-warnings.patch create mode 100644 package/network/services/hostapd/patches/600-ubus_support.patch create mode 100644 package/network/services/hostapd/patches/610-hostapd_cli_ujail_permission.patch create mode 100644 package/network/services/hostapd/patches/700-wifi-reload.patch create mode 100644 package/network/services/hostapd/patches/710-vlan_no_bridge.patch create mode 100644 package/network/services/hostapd/patches/711-wds_bridge_force.patch create mode 100644 package/network/services/hostapd/patches/720-iface_max_num_sta.patch create mode 100644 package/network/services/hostapd/patches/730-ft_iface.patch create mode 100644 package/network/services/hostapd/patches/740-snoop_iface.patch create mode 100644 package/network/services/hostapd/patches/750-qos_map_set_without_interworking.patch create mode 100644 package/network/services/hostapd/patches/751-qos_map_ignore_when_unsupported.patch create mode 100644 package/network/services/hostapd/src/src/ap/ubus.c create mode 100644 package/network/services/hostapd/src/src/ap/ubus.h create mode 100644 package/network/services/hostapd/src/src/utils/build_features.h create mode 100644 package/network/services/hostapd/src/wpa_supplicant/ubus.c create mode 100644 package/network/services/hostapd/src/wpa_supplicant/ubus.h create mode 100644 package/network/services/ipset-dns/Makefile create mode 100644 package/network/services/ipset-dns/files/ipset-dns.config create mode 100755 package/network/services/ipset-dns/files/ipset-dns.init create mode 100644 package/network/services/lldpd/Config.in create mode 100644 package/network/services/lldpd/Makefile create mode 100644 package/network/services/lldpd/files/lldpd.config create mode 100644 package/network/services/lldpd/files/lldpd.init create mode 100644 package/network/services/odhcpd/Makefile create mode 100755 package/network/services/odhcpd/files/odhcpd-update create mode 100644 package/network/services/odhcpd/files/odhcpd.defaults create mode 100644 package/network/services/odhcpd/files/odhcpd.init create mode 100644 package/network/services/omcproxy/Makefile create mode 100644 package/network/services/omcproxy/files/omcproxy.config create mode 100644 package/network/services/omcproxy/files/omcproxy.init create mode 100644 package/network/services/ppp/Makefile create mode 100644 package/network/services/ppp/files/etc/ppp/chap-secrets create mode 100644 package/network/services/ppp/files/etc/ppp/filter create mode 100644 package/network/services/ppp/files/etc/ppp/options create mode 100644 package/network/services/ppp/files/etc/ppp/options.pptp create mode 100644 package/network/services/ppp/files/etc/ppp/radius.conf create mode 100644 package/network/services/ppp/files/etc/ppp/radius/dictionary create mode 100644 package/network/services/ppp/files/etc/ppp/radius/dictionary.asnet create mode 100644 package/network/services/ppp/files/etc/ppp/radius/dictionary.microsoft create mode 100644 package/network/services/ppp/files/etc/ppp/radius/servers create mode 100755 package/network/services/ppp/files/lib/netifd/ppp-down create mode 100755 package/network/services/ppp/files/lib/netifd/ppp-up create mode 100755 package/network/services/ppp/files/lib/netifd/ppp6-up create mode 100755 package/network/services/ppp/files/ppp.sh create mode 100644 package/network/services/ppp/patches/010-use_target_for_configure.patch create mode 100644 package/network/services/ppp/patches/105-debian_demand.patch create mode 100644 package/network/services/ppp/patches/120-debian_ipv6_updown_option.patch create mode 100644 package/network/services/ppp/patches/133-fix_sha1_include.patch create mode 100644 package/network/services/ppp/patches/200-makefile.patch create mode 100644 package/network/services/ppp/patches/201-mppe_mppc_1.1.patch create mode 100644 package/network/services/ppp/patches/203-opt_flags.patch create mode 100644 package/network/services/ppp/patches/204-radius_config.patch create mode 100644 package/network/services/ppp/patches/205-no_exponential_timeout.patch create mode 100644 package/network/services/ppp/patches/207-lcp_mtu_max.patch create mode 100644 package/network/services/ppp/patches/208-fix_status_code.patch create mode 100644 package/network/services/ppp/patches/300-filter-pcap-includes-lib.patch create mode 100644 package/network/services/ppp/patches/310-precompile_filter.patch create mode 100644 package/network/services/ppp/patches/321-multilink_support_custom_iface_names.patch create mode 100644 package/network/services/ppp/patches/330-retain_foreign_default_routes.patch create mode 100644 package/network/services/ppp/patches/340-populate_default_gateway.patch create mode 100644 package/network/services/ppp/patches/400-simplify_kernel_checks.patch create mode 100644 package/network/services/ppp/patches/401-no_record_file.patch create mode 100644 package/network/services/ppp/patches/403-no_wtmp.patch create mode 100644 package/network/services/ppp/patches/404-remove_obsolete_protocol_names.patch create mode 100644 package/network/services/ppp/patches/405-no_multilink_option.patch create mode 100644 package/network/services/ppp/patches/500-add-pptp-plugin.patch create mode 100644 package/network/services/ppp/patches/510-pptp_compile_fix.patch create mode 100644 package/network/services/ppp/patches/511-pptp_cflags.patch create mode 100644 package/network/services/ppp/patches/600-Revert-pppd-Use-openssl-for-the-DES-instead-of-the-l.patch create mode 100644 package/network/services/ppp/patches/610-pppd_compile_fix.patch create mode 100644 package/network/services/ppp/utils/pfc.c create mode 100644 package/network/services/relayd/Makefile create mode 100644 package/network/services/relayd/files/relay.init create mode 100644 package/network/services/uhttpd/Makefile create mode 100644 package/network/services/uhttpd/files/ubus.default create mode 100644 package/network/services/uhttpd/files/uhttpd.config create mode 100755 package/network/services/uhttpd/files/uhttpd.init create mode 100644 package/network/services/umdns/Makefile create mode 100644 package/network/services/umdns/files/umdns.config create mode 100644 package/network/services/umdns/files/umdns.init create mode 100644 package/network/services/umdns/files/umdns.json create mode 100644 package/network/services/ustp/Makefile create mode 100644 package/network/services/ustp/files/ustpd.init create mode 100644 package/network/utils/adb-enablemodem/Makefile create mode 100644 package/network/utils/adb-enablemodem/files/adb-enablemodem create mode 100644 package/network/utils/arptables/Makefile create mode 100644 package/network/utils/bpftools/Makefile create mode 100644 package/network/utils/bpftools/patches/001-cflags.patch create mode 100644 package/network/utils/bpftools/patches/002-includes.patch create mode 100644 package/network/utils/comgt/Makefile create mode 100644 package/network/utils/comgt/files/3g.chat create mode 100644 package/network/utils/comgt/files/3g.sh create mode 100644 package/network/utils/comgt/files/3g.usb create mode 100644 package/network/utils/comgt/files/directip-stop.gcom create mode 100644 package/network/utils/comgt/files/directip.gcom create mode 100644 package/network/utils/comgt/files/directip.sh create mode 100644 package/network/utils/comgt/files/evdo.chat create mode 100644 package/network/utils/comgt/files/getcardinfo.gcom create mode 100644 package/network/utils/comgt/files/getcarrier.gcom create mode 100644 package/network/utils/comgt/files/getcnum.gcom create mode 100644 package/network/utils/comgt/files/getimsi.gcom create mode 100644 package/network/utils/comgt/files/getstrength.gcom create mode 100644 package/network/utils/comgt/files/ncm.json create mode 100644 package/network/utils/comgt/files/ncm.sh create mode 100644 package/network/utils/comgt/files/runcommand.gcom create mode 100644 package/network/utils/comgt/files/setmode.gcom create mode 100644 package/network/utils/comgt/files/setpin.gcom create mode 100644 package/network/utils/comgt/files/ussd.gcom create mode 100644 package/network/utils/comgt/patches/001-compile_fix.patch create mode 100644 package/network/utils/comgt/patches/002-termios.patch create mode 100644 package/network/utils/comgt/patches/003-no_XCASE.patch create mode 100644 package/network/utils/comgt/patches/004-check_tty.patch create mode 100644 package/network/utils/ebtables/Makefile create mode 100644 package/network/utils/ebtables/patches/100-musl_fix.patch create mode 100644 package/network/utils/ebtables/patches/200-fix-extension-init.patch create mode 100644 package/network/utils/ethtool/Makefile create mode 100644 package/network/utils/iproute2/Makefile create mode 100644 package/network/utils/iproute2/patches/100-configure.patch create mode 100644 package/network/utils/iproute2/patches/110-darwin_fixes.patch create mode 100644 package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch create mode 100644 package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch create mode 100644 package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch create mode 100644 package/network/utils/iproute2/patches/140-allow_pfifo_fast.patch create mode 100644 package/network/utils/iproute2/patches/140-keep_libmnl_optional.patch create mode 100644 package/network/utils/iproute2/patches/145-keep_libelf_optional.patch create mode 100644 package/network/utils/iproute2/patches/150-keep_libcap_optional.patch create mode 100644 package/network/utils/iproute2/patches/160-libnetlink-pic.patch create mode 100644 package/network/utils/iproute2/patches/170-ip_tiny.patch create mode 100644 package/network/utils/iproute2/patches/175-reduce-dynamic-syms.patch create mode 100644 package/network/utils/iproute2/patches/180-drop_FAILED_POLICY.patch create mode 100644 package/network/utils/iproute2/patches/190-fix-nls-rpath-link.patch create mode 100644 package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch create mode 100644 package/network/utils/iproute2/patches/200-drop_libbsd_dependency.patch create mode 100644 package/network/utils/iproute2/patches/300-selinux-configurable.patch create mode 100644 package/network/utils/iproute2/patches/400-add-nss-qdisc.patch create mode 100644 package/network/utils/iproute2/patches/500-add-nssmirred.patch create mode 100644 package/network/utils/ipset/Makefile create mode 100644 package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch create mode 100644 package/network/utils/ipset/patches/0002-Fix-IPv6-sets-nftables-translation.patch create mode 100644 package/network/utils/iptables/Makefile create mode 100644 package/network/utils/iptables/patches/001-xtables-Call-init_extensions6-for-static-builds.patch create mode 100644 package/network/utils/iptables/patches/002-xtables-Call-init_extensions_a_b.patch create mode 100644 package/network/utils/iptables/patches/010-add-set-dscpmark-support.patch create mode 100644 package/network/utils/iptables/patches/101-remove-check-already.patch create mode 100644 package/network/utils/iptables/patches/102-iptables-disable-modprobe.patch create mode 100644 package/network/utils/iptables/patches/103-optional-xml.patch create mode 100644 package/network/utils/iptables/patches/200-configurable_builtin.patch create mode 100644 package/network/utils/iptables/patches/600-shared-libext.patch create mode 100644 package/network/utils/iptables/patches/700-disable-legacy-revisions.patch create mode 100644 package/network/utils/iptables/patches/800-flowoffload_target.patch create mode 100644 package/network/utils/iw/Makefile create mode 100644 package/network/utils/iw/patches/001-nl80211_h_sync.patch create mode 100644 package/network/utils/iw/patches/010-Revert-iw-allow-specifying-CFLAGS-LIBS-externally.patch create mode 100644 package/network/utils/iw/patches/120-antenna_gain.patch create mode 100644 package/network/utils/iw/patches/130-survey-bss-rx-time.patch create mode 100644 package/network/utils/iw/patches/200-reduce_size.patch create mode 100644 package/network/utils/iwcap/Makefile create mode 100644 package/network/utils/iwcap/src/iwcap.c create mode 100644 package/network/utils/iwinfo/Makefile create mode 100644 package/network/utils/layerscape/restool/Makefile create mode 100644 package/network/utils/layerscape/restool/patches/remove-manpage.patch create mode 100644 package/network/utils/linux-atm/Makefile create mode 100644 package/network/utils/linux-atm/files/atm.hotplug create mode 100644 package/network/utils/linux-atm/files/br2684-up create mode 100755 package/network/utils/linux-atm/files/br2684ctl create mode 100644 package/network/utils/linux-atm/files/br2684ctl_wrap create mode 100644 package/network/utils/linux-atm/patches/000-debian_16.patch create mode 100644 package/network/utils/linux-atm/patches/200-no_libfl.patch create mode 100644 package/network/utils/linux-atm/patches/300-objcopy_path.patch create mode 100644 package/network/utils/linux-atm/patches/400-portability_fixes.patch create mode 100644 package/network/utils/linux-atm/patches/500-br2684ctl_script.patch create mode 100644 package/network/utils/linux-atm/patches/501-br2684ctl_itfname.patch create mode 100644 package/network/utils/linux-atm/patches/510-remove-LINUX_NETDEVICE-hack.patch create mode 100644 package/network/utils/linux-atm/patches/600-fix-format-errors.patch create mode 100644 package/network/utils/linux-atm/patches/700-musl-include.patch create mode 100644 package/network/utils/linux-atm/patches/800-include_sockios.patch create mode 100644 package/network/utils/ltq-dsl-base/Makefile create mode 100755 package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/led_dsl.sh create mode 100755 package/network/utils/ltq-dsl-base/files/etc/hotplug.d/dsl/pppoa.sh create mode 100755 package/network/utils/ltq-dsl-base/files/sbin/dsl_notify.sh create mode 100644 package/network/utils/nftables/Makefile create mode 100644 package/network/utils/nftables/patches/0001-meta-don-t-use-non-POSIX-formats-in-strptime.patch create mode 100644 package/network/utils/nftables/patches/001-examples-compile-with-make-check.patch create mode 100644 package/network/utils/resolveip/Makefile create mode 100644 package/network/utils/resolveip/src/resolveip.c create mode 100644 package/network/utils/rssileds/Makefile create mode 100644 package/network/utils/rssileds/files/rssi create mode 100644 package/network/utils/rssileds/files/rssileds.init create mode 100644 package/network/utils/rssileds/src/rssileds.c create mode 100644 package/network/utils/tcpdump/Makefile create mode 100644 package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch create mode 100644 package/network/utils/tcpdump/patches/100-tcpdump_mini.patch create mode 100644 package/network/utils/tcpdump/patches/101-CVE-2020-8037.patch create mode 100644 package/network/utils/tcpdump/patches/102-CVE-2018-16301.patch create mode 100644 package/network/utils/umbim/Makefile create mode 100755 package/network/utils/umbim/files/lib/netifd/proto/mbim.sh create mode 100644 package/network/utils/uqmi/Makefile create mode 100755 package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh create mode 100644 package/network/utils/wireguard-tools/Makefile create mode 100644 package/network/utils/wireguard-tools/files/wireguard.sh create mode 100644 package/network/utils/wireguard-tools/files/wireguard_watchdog create mode 100644 package/network/utils/wireless-tools/Makefile create mode 100644 package/network/utils/wireless-tools/patches/001-debian.patch create mode 100644 package/network/utils/wireless-tools/patches/002-fix-iwconfig-power-argument-parsing.patch create mode 100644 package/network/utils/wireless-tools/patches/003-we_essential_def.patch create mode 100644 package/network/utils/wireless-tools/patches/004-increase_iwlist_buffer.patch create mode 100644 package/network/utils/wpan-tools/Makefile create mode 100644 package/network/utils/wpan-tools/patches/001-src-nl_extras.h-fix-compatibility-with-libnl-3.3.0.patch create mode 100644 package/network/utils/wwan/Makefile create mode 100644 package/network/utils/wwan/files/data/0421-03a7 create mode 100644 package/network/utils/wwan/files/data/0421-060d create mode 100644 package/network/utils/wwan/files/data/0421-060e create mode 100644 package/network/utils/wwan/files/data/0421-0612 create mode 100644 package/network/utils/wwan/files/data/0421-0619 create mode 100644 package/network/utils/wwan/files/data/0421-061e create mode 100644 package/network/utils/wwan/files/data/0421-0623 create mode 100644 package/network/utils/wwan/files/data/0421-0629 create mode 100644 package/network/utils/wwan/files/data/0421-062d create mode 100644 package/network/utils/wwan/files/data/0421-062f create mode 100644 package/network/utils/wwan/files/data/0421-0638 create mode 100644 package/network/utils/wwan/files/data/05c6-0016 create mode 100644 package/network/utils/wwan/files/data/05c6-0023 create mode 100644 package/network/utils/wwan/files/data/05c6-00a0 create mode 100644 package/network/utils/wwan/files/data/05c6-6000 create mode 100644 package/network/utils/wwan/files/data/05c6-9000 create mode 100644 package/network/utils/wwan/files/data/07d1-3e01 create mode 100644 package/network/utils/wwan/files/data/07d1-3e02 create mode 100644 package/network/utils/wwan/files/data/07d1-7e11 create mode 100644 package/network/utils/wwan/files/data/0af0-4005 create mode 100644 package/network/utils/wwan/files/data/0af0-6901 create mode 100644 package/network/utils/wwan/files/data/0af0-7201 create mode 100644 package/network/utils/wwan/files/data/0af0-8120 create mode 100644 package/network/utils/wwan/files/data/0af0-9200 create mode 100644 package/network/utils/wwan/files/data/0b3c-c000 create mode 100644 package/network/utils/wwan/files/data/0b3c-c001 create mode 100644 package/network/utils/wwan/files/data/0b3c-c002 create mode 100644 package/network/utils/wwan/files/data/0b3c-c003 create mode 100644 package/network/utils/wwan/files/data/0b3c-c004 create mode 100644 package/network/utils/wwan/files/data/0b3c-c005 create mode 100644 package/network/utils/wwan/files/data/0b3c-c00a create mode 100644 package/network/utils/wwan/files/data/0b3c-c00b create mode 100644 package/network/utils/wwan/files/data/0bdb-1900 create mode 100644 package/network/utils/wwan/files/data/0bdb-1902 create mode 100644 package/network/utils/wwan/files/data/0bdb-190a create mode 100644 package/network/utils/wwan/files/data/0bdb-190d create mode 100644 package/network/utils/wwan/files/data/0bdb-1910 create mode 100644 package/network/utils/wwan/files/data/0c88-17da create mode 100644 package/network/utils/wwan/files/data/0c88-180a create mode 100644 package/network/utils/wwan/files/data/0f3d-68a2 create mode 100644 package/network/utils/wwan/files/data/0f3d-68aa create mode 100644 package/network/utils/wwan/files/data/1004-6124 create mode 100644 package/network/utils/wwan/files/data/1004-6141 create mode 100644 package/network/utils/wwan/files/data/1004-6157 create mode 100644 package/network/utils/wwan/files/data/1004-618f create mode 100644 package/network/utils/wwan/files/data/106c-3711 create mode 100644 package/network/utils/wwan/files/data/106c-3714 create mode 100644 package/network/utils/wwan/files/data/106c-3715 create mode 100644 package/network/utils/wwan/files/data/106c-3716 create mode 100644 package/network/utils/wwan/files/data/106c-3717 create mode 100644 package/network/utils/wwan/files/data/106c-3718 create mode 100644 package/network/utils/wwan/files/data/106c-3721 create mode 100644 package/network/utils/wwan/files/data/1199-0017 create mode 100644 package/network/utils/wwan/files/data/1199-0018 create mode 100644 package/network/utils/wwan/files/data/1199-0019 create mode 100644 package/network/utils/wwan/files/data/1199-0020 create mode 100644 package/network/utils/wwan/files/data/1199-0021 create mode 100644 package/network/utils/wwan/files/data/1199-0022 create mode 100644 package/network/utils/wwan/files/data/1199-0023 create mode 100644 package/network/utils/wwan/files/data/1199-0024 create mode 100644 package/network/utils/wwan/files/data/1199-0025 create mode 100644 package/network/utils/wwan/files/data/1199-0026 create mode 100644 package/network/utils/wwan/files/data/1199-0027 create mode 100644 package/network/utils/wwan/files/data/1199-0028 create mode 100644 package/network/utils/wwan/files/data/1199-0112 create mode 100644 package/network/utils/wwan/files/data/1199-0120 create mode 100644 package/network/utils/wwan/files/data/1199-0218 create mode 100644 package/network/utils/wwan/files/data/1199-0220 create mode 100644 package/network/utils/wwan/files/data/1199-0224 create mode 100644 package/network/utils/wwan/files/data/1199-0301 create mode 100644 package/network/utils/wwan/files/data/1199-6802 create mode 100644 package/network/utils/wwan/files/data/1199-6803 create mode 100644 package/network/utils/wwan/files/data/1199-6804 create mode 100644 package/network/utils/wwan/files/data/1199-6805 create mode 100644 package/network/utils/wwan/files/data/1199-6808 create mode 100644 package/network/utils/wwan/files/data/1199-6809 create mode 100644 package/network/utils/wwan/files/data/1199-6813 create mode 100644 package/network/utils/wwan/files/data/1199-6815 create mode 100644 package/network/utils/wwan/files/data/1199-6816 create mode 100644 package/network/utils/wwan/files/data/1199-6820 create mode 100644 package/network/utils/wwan/files/data/1199-6821 create mode 100644 package/network/utils/wwan/files/data/1199-6822 create mode 100644 package/network/utils/wwan/files/data/1199-6833 create mode 100644 package/network/utils/wwan/files/data/1199-6834 create mode 100644 package/network/utils/wwan/files/data/1199-6835 create mode 100644 package/network/utils/wwan/files/data/1199-6838 create mode 100644 package/network/utils/wwan/files/data/1199-6839 create mode 100644 package/network/utils/wwan/files/data/1199-683a create mode 100644 package/network/utils/wwan/files/data/1199-683b create mode 100644 package/network/utils/wwan/files/data/1199-6850 create mode 100644 package/network/utils/wwan/files/data/1199-6851 create mode 100644 package/network/utils/wwan/files/data/1199-6852 create mode 100644 package/network/utils/wwan/files/data/1199-6853 create mode 100644 package/network/utils/wwan/files/data/1199-6855 create mode 100644 package/network/utils/wwan/files/data/1199-6856 create mode 100644 package/network/utils/wwan/files/data/1199-6859 create mode 100644 package/network/utils/wwan/files/data/1199-685a create mode 100644 package/network/utils/wwan/files/data/1199-6880 create mode 100644 package/network/utils/wwan/files/data/1199-6890 create mode 100644 package/network/utils/wwan/files/data/1199-6891 create mode 100644 package/network/utils/wwan/files/data/1199-6892 create mode 100644 package/network/utils/wwan/files/data/1199-6893 create mode 100644 package/network/utils/wwan/files/data/1199-68a2 create mode 100644 package/network/utils/wwan/files/data/1199-68aa create mode 100644 package/network/utils/wwan/files/data/1199-68c0 create mode 100644 package/network/utils/wwan/files/data/12d1-1035 create mode 100644 package/network/utils/wwan/files/data/12d1-1404 create mode 100644 package/network/utils/wwan/files/data/12d1-1406 create mode 100644 package/network/utils/wwan/files/data/12d1-140b create mode 100644 package/network/utils/wwan/files/data/12d1-140c create mode 100644 package/network/utils/wwan/files/data/12d1-1412 create mode 100644 package/network/utils/wwan/files/data/12d1-141b create mode 100644 package/network/utils/wwan/files/data/12d1-1433 create mode 100644 package/network/utils/wwan/files/data/12d1-1436 create mode 100644 package/network/utils/wwan/files/data/12d1-1444 create mode 100644 package/network/utils/wwan/files/data/12d1-144e create mode 100644 package/network/utils/wwan/files/data/12d1-1464 create mode 100644 package/network/utils/wwan/files/data/12d1-1465 create mode 100644 package/network/utils/wwan/files/data/12d1-1491 create mode 100644 package/network/utils/wwan/files/data/12d1-14a5 create mode 100644 package/network/utils/wwan/files/data/12d1-14a8 create mode 100644 package/network/utils/wwan/files/data/12d1-14ac create mode 100644 package/network/utils/wwan/files/data/12d1-14ae create mode 100644 package/network/utils/wwan/files/data/12d1-14c6 create mode 100644 package/network/utils/wwan/files/data/12d1-14c8 create mode 100644 package/network/utils/wwan/files/data/12d1-14c9 create mode 100644 package/network/utils/wwan/files/data/12d1-14ca create mode 100644 package/network/utils/wwan/files/data/12d1-14cb create mode 100644 package/network/utils/wwan/files/data/12d1-14cc create mode 100644 package/network/utils/wwan/files/data/12d1-14cf create mode 100644 package/network/utils/wwan/files/data/12d1-14d2 create mode 100644 package/network/utils/wwan/files/data/12d1-1506 create mode 100644 package/network/utils/wwan/files/data/12d1-150a create mode 100644 package/network/utils/wwan/files/data/12d1-150c create mode 100644 package/network/utils/wwan/files/data/12d1-150f create mode 100644 package/network/utils/wwan/files/data/12d1-151b create mode 100644 package/network/utils/wwan/files/data/12d1-151d create mode 100644 package/network/utils/wwan/files/data/12d1-156c create mode 100644 package/network/utils/wwan/files/data/12d1-1576 create mode 100644 package/network/utils/wwan/files/data/12d1-1577 create mode 100644 package/network/utils/wwan/files/data/12d1-1578 create mode 100644 package/network/utils/wwan/files/data/12d1-1589 create mode 100644 package/network/utils/wwan/files/data/12d1-1c05 create mode 100644 package/network/utils/wwan/files/data/12d1-1c07 create mode 100644 package/network/utils/wwan/files/data/12d1-1c08 create mode 100644 package/network/utils/wwan/files/data/12d1-1c10 create mode 100644 package/network/utils/wwan/files/data/12d1-1c12 create mode 100644 package/network/utils/wwan/files/data/12d1-1c1e create mode 100644 package/network/utils/wwan/files/data/12d1-1c1f create mode 100644 package/network/utils/wwan/files/data/12d1-1c23 create mode 100644 package/network/utils/wwan/files/data/12d1-1f16 create mode 100644 package/network/utils/wwan/files/data/1410-1400 create mode 100644 package/network/utils/wwan/files/data/1410-1410 create mode 100644 package/network/utils/wwan/files/data/1410-1420 create mode 100644 package/network/utils/wwan/files/data/1410-1430 create mode 100644 package/network/utils/wwan/files/data/1410-1450 create mode 100644 package/network/utils/wwan/files/data/1410-2100 create mode 100644 package/network/utils/wwan/files/data/1410-2110 create mode 100644 package/network/utils/wwan/files/data/1410-2120 create mode 100644 package/network/utils/wwan/files/data/1410-2130 create mode 100644 package/network/utils/wwan/files/data/1410-2400 create mode 100644 package/network/utils/wwan/files/data/1410-2410 create mode 100644 package/network/utils/wwan/files/data/1410-2420 create mode 100644 package/network/utils/wwan/files/data/1410-4100 create mode 100644 package/network/utils/wwan/files/data/1410-4400 create mode 100644 package/network/utils/wwan/files/data/1410-6000 create mode 100644 package/network/utils/wwan/files/data/1410-6001 create mode 100644 package/network/utils/wwan/files/data/1410-6002 create mode 100644 package/network/utils/wwan/files/data/1410-6010 create mode 100644 package/network/utils/wwan/files/data/1410-7001 create mode 100644 package/network/utils/wwan/files/data/1410-7003 create mode 100644 package/network/utils/wwan/files/data/1410-7030 create mode 100644 package/network/utils/wwan/files/data/1410-7031 create mode 100644 package/network/utils/wwan/files/data/1410-7041 create mode 100644 package/network/utils/wwan/files/data/1410-7042 create mode 100644 package/network/utils/wwan/files/data/1410-9011 create mode 100644 package/network/utils/wwan/files/data/1410-b001 create mode 100644 package/network/utils/wwan/files/data/1529-3100 create mode 100644 package/network/utils/wwan/files/data/16d5-6202 create mode 100644 package/network/utils/wwan/files/data/16d5-6501 create mode 100644 package/network/utils/wwan/files/data/16d5-6502 create mode 100644 package/network/utils/wwan/files/data/16d5-6603 create mode 100644 package/network/utils/wwan/files/data/16d5-900d create mode 100644 package/network/utils/wwan/files/data/16d8-5141 create mode 100644 package/network/utils/wwan/files/data/16d8-5533 create mode 100644 package/network/utils/wwan/files/data/16d8-5543 create mode 100644 package/network/utils/wwan/files/data/16d8-5553 create mode 100644 package/network/utils/wwan/files/data/16d8-6002 create mode 100644 package/network/utils/wwan/files/data/16d8-6006 create mode 100644 package/network/utils/wwan/files/data/16d8-6007 create mode 100644 package/network/utils/wwan/files/data/16d8-6008 create mode 100644 package/network/utils/wwan/files/data/16d8-6522 create mode 100644 package/network/utils/wwan/files/data/16d8-6523 create mode 100644 package/network/utils/wwan/files/data/16d8-6532 create mode 100644 package/network/utils/wwan/files/data/16d8-6533 create mode 100644 package/network/utils/wwan/files/data/16d8-6543 create mode 100644 package/network/utils/wwan/files/data/16d8-680a create mode 100644 package/network/utils/wwan/files/data/19d2-0001 create mode 100644 package/network/utils/wwan/files/data/19d2-0002 create mode 100644 package/network/utils/wwan/files/data/19d2-0015 create mode 100644 package/network/utils/wwan/files/data/19d2-0016 create mode 100644 package/network/utils/wwan/files/data/19d2-0017 create mode 100644 package/network/utils/wwan/files/data/19d2-0018 create mode 100644 package/network/utils/wwan/files/data/19d2-0019 create mode 100644 package/network/utils/wwan/files/data/19d2-0022 create mode 100644 package/network/utils/wwan/files/data/19d2-0024 create mode 100644 package/network/utils/wwan/files/data/19d2-0025 create mode 100644 package/network/utils/wwan/files/data/19d2-0031 create mode 100644 package/network/utils/wwan/files/data/19d2-0033 create mode 100644 package/network/utils/wwan/files/data/19d2-0037 create mode 100644 package/network/utils/wwan/files/data/19d2-0039 create mode 100644 package/network/utils/wwan/files/data/19d2-0042 create mode 100644 package/network/utils/wwan/files/data/19d2-0052 create mode 100644 package/network/utils/wwan/files/data/19d2-0055 create mode 100644 package/network/utils/wwan/files/data/19d2-0057 create mode 100644 package/network/utils/wwan/files/data/19d2-0063 create mode 100644 package/network/utils/wwan/files/data/19d2-0064 create mode 100644 package/network/utils/wwan/files/data/19d2-0066 create mode 100644 package/network/utils/wwan/files/data/19d2-0073 create mode 100644 package/network/utils/wwan/files/data/19d2-0079 create mode 100644 package/network/utils/wwan/files/data/19d2-0082 create mode 100644 package/network/utils/wwan/files/data/19d2-0086 create mode 100644 package/network/utils/wwan/files/data/19d2-0091 create mode 100644 package/network/utils/wwan/files/data/19d2-0094 create mode 100644 package/network/utils/wwan/files/data/19d2-0104 create mode 100644 package/network/utils/wwan/files/data/19d2-0108 create mode 100644 package/network/utils/wwan/files/data/19d2-0116 create mode 100644 package/network/utils/wwan/files/data/19d2-0117 create mode 100644 package/network/utils/wwan/files/data/19d2-0121 create mode 100644 package/network/utils/wwan/files/data/19d2-0124 create mode 100644 package/network/utils/wwan/files/data/19d2-0128 create mode 100644 package/network/utils/wwan/files/data/19d2-0142 create mode 100644 package/network/utils/wwan/files/data/19d2-0143 create mode 100644 package/network/utils/wwan/files/data/19d2-0152 create mode 100644 package/network/utils/wwan/files/data/19d2-0157 create mode 100644 package/network/utils/wwan/files/data/19d2-0167 create mode 100644 package/network/utils/wwan/files/data/19d2-0170 create mode 100644 package/network/utils/wwan/files/data/19d2-0199 create mode 100644 package/network/utils/wwan/files/data/19d2-0257 create mode 100644 package/network/utils/wwan/files/data/19d2-0265 create mode 100644 package/network/utils/wwan/files/data/19d2-0284 create mode 100644 package/network/utils/wwan/files/data/19d2-0326 create mode 100644 package/network/utils/wwan/files/data/19d2-1003 create mode 100644 package/network/utils/wwan/files/data/19d2-1008 create mode 100644 package/network/utils/wwan/files/data/19d2-1010 create mode 100644 package/network/utils/wwan/files/data/19d2-1015 create mode 100644 package/network/utils/wwan/files/data/19d2-1018 create mode 100644 package/network/utils/wwan/files/data/19d2-1172 create mode 100644 package/network/utils/wwan/files/data/19d2-1173 create mode 100644 package/network/utils/wwan/files/data/19d2-1176 create mode 100644 package/network/utils/wwan/files/data/19d2-1177 create mode 100644 package/network/utils/wwan/files/data/19d2-1181 create mode 100644 package/network/utils/wwan/files/data/19d2-1203 create mode 100644 package/network/utils/wwan/files/data/19d2-1208 create mode 100644 package/network/utils/wwan/files/data/19d2-1211 create mode 100644 package/network/utils/wwan/files/data/19d2-1212 create mode 100644 package/network/utils/wwan/files/data/19d2-1217 create mode 100644 package/network/utils/wwan/files/data/19d2-1218 create mode 100644 package/network/utils/wwan/files/data/19d2-1220 create mode 100644 package/network/utils/wwan/files/data/19d2-1222 create mode 100644 package/network/utils/wwan/files/data/19d2-1245 create mode 100644 package/network/utils/wwan/files/data/19d2-1252 create mode 100644 package/network/utils/wwan/files/data/19d2-1254 create mode 100644 package/network/utils/wwan/files/data/19d2-1256 create mode 100644 package/network/utils/wwan/files/data/19d2-1270 create mode 100644 package/network/utils/wwan/files/data/19d2-1401 create mode 100644 package/network/utils/wwan/files/data/19d2-1402 create mode 100644 package/network/utils/wwan/files/data/19d2-1426 create mode 100644 package/network/utils/wwan/files/data/19d2-1512 create mode 100644 package/network/utils/wwan/files/data/19d2-1515 create mode 100644 package/network/utils/wwan/files/data/19d2-1518 create mode 100644 package/network/utils/wwan/files/data/19d2-1519 create mode 100644 package/network/utils/wwan/files/data/19d2-1522 create mode 100644 package/network/utils/wwan/files/data/19d2-1525 create mode 100644 package/network/utils/wwan/files/data/19d2-1527 create mode 100644 package/network/utils/wwan/files/data/19d2-1537 create mode 100644 package/network/utils/wwan/files/data/19d2-1538 create mode 100644 package/network/utils/wwan/files/data/19d2-1544 create mode 100644 package/network/utils/wwan/files/data/19d2-2002 create mode 100644 package/network/utils/wwan/files/data/19d2-2003 create mode 100644 package/network/utils/wwan/files/data/19d2-ffdd create mode 100644 package/network/utils/wwan/files/data/19d2-ffe4 create mode 100644 package/network/utils/wwan/files/data/19d2-ffe9 create mode 100644 package/network/utils/wwan/files/data/19d2-fff1 create mode 100644 package/network/utils/wwan/files/data/19d2-fffb create mode 100644 package/network/utils/wwan/files/data/19d2-fffc create mode 100644 package/network/utils/wwan/files/data/19d2-fffd create mode 100644 package/network/utils/wwan/files/data/19d2-fffe create mode 100644 package/network/utils/wwan/files/data/19d2-ffff create mode 100644 package/network/utils/wwan/files/data/1a8d-1002 create mode 100644 package/network/utils/wwan/files/data/1a8d-1003 create mode 100644 package/network/utils/wwan/files/data/1a8d-1007 create mode 100644 package/network/utils/wwan/files/data/1a8d-1009 create mode 100644 package/network/utils/wwan/files/data/1a8d-100c create mode 100644 package/network/utils/wwan/files/data/1a8d-100d create mode 100644 package/network/utils/wwan/files/data/1a8d-2006 create mode 100644 package/network/utils/wwan/files/data/1bbb-0000 create mode 100644 package/network/utils/wwan/files/data/1bbb-0012 create mode 100644 package/network/utils/wwan/files/data/1bbb-0017 create mode 100644 package/network/utils/wwan/files/data/1bbb-0052 create mode 100644 package/network/utils/wwan/files/data/1bbb-00b7 create mode 100644 package/network/utils/wwan/files/data/1bbb-00ca create mode 100644 package/network/utils/wwan/files/data/1bbb-011e create mode 100644 package/network/utils/wwan/files/data/1bbb-0203 create mode 100644 package/network/utils/wwan/files/data/1c9e-6060 create mode 100644 package/network/utils/wwan/files/data/1c9e-6061 create mode 100644 package/network/utils/wwan/files/data/1c9e-9000 create mode 100644 package/network/utils/wwan/files/data/1c9e-9603 create mode 100644 package/network/utils/wwan/files/data/1c9e-9605 create mode 100644 package/network/utils/wwan/files/data/1c9e-9607 create mode 100644 package/network/utils/wwan/files/data/1c9e-9801 create mode 100644 package/network/utils/wwan/files/data/1c9e-9900 create mode 100644 package/network/utils/wwan/files/data/1e0e-9000 create mode 100644 package/network/utils/wwan/files/data/1e0e-9100 create mode 100644 package/network/utils/wwan/files/data/1e0e-9200 create mode 100644 package/network/utils/wwan/files/data/1e0e-ce16 create mode 100644 package/network/utils/wwan/files/data/1e0e-cefe create mode 100644 package/network/utils/wwan/files/data/1e2d-0053 create mode 100644 package/network/utils/wwan/files/data/1e2d-005b create mode 100644 package/network/utils/wwan/files/data/2001-7d00 create mode 100644 package/network/utils/wwan/files/data/2001-7d01 create mode 100644 package/network/utils/wwan/files/data/2001-7d02 create mode 100644 package/network/utils/wwan/files/data/2001-7d03 create mode 100644 package/network/utils/wwan/files/data/211f-6801 create mode 100644 package/network/utils/wwan/files/data/2357-0201 create mode 100644 package/network/utils/wwan/files/data/2357-0202 create mode 100644 package/network/utils/wwan/files/data/2357-0203 create mode 100644 package/network/utils/wwan/files/data/2357-9000 create mode 100644 package/network/utils/wwan/files/data/2c7c-0125 create mode 100644 package/network/utils/wwan/files/data/413c-8114 create mode 100644 package/network/utils/wwan/files/data/413c-8115 create mode 100644 package/network/utils/wwan/files/data/413c-8116 create mode 100644 package/network/utils/wwan/files/data/413c-8117 create mode 100644 package/network/utils/wwan/files/data/413c-8118 create mode 100644 package/network/utils/wwan/files/data/413c-8128 create mode 100644 package/network/utils/wwan/files/data/413c-8129 create mode 100644 package/network/utils/wwan/files/data/413c-8133 create mode 100644 package/network/utils/wwan/files/data/413c-8134 create mode 100644 package/network/utils/wwan/files/data/413c-8135 create mode 100644 package/network/utils/wwan/files/data/413c-8136 create mode 100644 package/network/utils/wwan/files/data/413c-8137 create mode 100644 package/network/utils/wwan/files/data/413c-8138 create mode 100644 package/network/utils/wwan/files/data/413c-8147 create mode 100644 package/network/utils/wwan/files/data/413c-8180 create mode 100644 package/network/utils/wwan/files/data/413c-8181 create mode 100644 package/network/utils/wwan/files/data/413c-8182 create mode 100644 package/network/utils/wwan/files/data/413c-8186 create mode 100644 package/network/utils/wwan/files/data/413c-8194 create mode 100644 package/network/utils/wwan/files/data/413c-8195 create mode 100644 package/network/utils/wwan/files/data/413c-8196 create mode 100644 package/network/utils/wwan/files/data/413c-819b create mode 100755 package/network/utils/wwan/files/wwan.sh create mode 100644 package/network/utils/wwan/files/wwan.usb create mode 100644 package/network/utils/wwan/files/wwan.usbmisc create mode 100644 package/qca/README.md create mode 100644 package/qca/nss-ifb/Makefile create mode 100644 package/qca/nss-ifb/README.md create mode 100644 package/qca/nss-ifb/src/Makefile create mode 100644 package/qca/nss-ifb/src/nss_ifb.c create mode 100644 package/qca/qca-nss-cfi/Makefile create mode 100644 package/qca/qca-nss-cfi/patches/0001-compile-only-cryptoapi.patch create mode 100644 package/qca/qca-nss-cfi/patches/0002-wip-support-5.4.patch create mode 100644 package/qca/qca-nss-cfi/patches/0003-Convert-ablkcipher-to-skcipher.patch create mode 100644 package/qca/qca-nss-clients/Makefile create mode 100644 package/qca/qca-nss-clients/files/qca-nss-ipsec create mode 100644 package/qca/qca-nss-clients/files/qca-nss-mirred.init create mode 100644 package/qca/qca-nss-clients/files/qca-nss-ovpn.init create mode 100644 package/qca/qca-nss-clients/patches/100-kernel-5.4-support-qdisc.patch create mode 100644 package/qca/qca-nss-clients/patches/101-kernel-5.4-support-gre.patch create mode 100644 package/qca/qca-nss-clients/patches/102-kernel-5.4-support-ipsec.patch create mode 100644 package/qca/qca-nss-clients/patches/103-kernel-5.4-support-dtls.patch create mode 100644 package/qca/qca-nss-clients/patches/104-kernel-5.4-support-l2tp.patch create mode 100644 package/qca/qca-nss-clients/patches/200-qdisc-fix-compile-error.patch create mode 100644 package/qca/qca-nss-clients/patches/202-vlanmgr-fix-compile-error.patch create mode 100644 package/qca/qca-nss-crypto/Makefile create mode 100644 package/qca/qca-nss-crypto/patches/100-kernel-5.4-support.patch create mode 100644 package/qca/qca-nss-crypto/patches/101-fix-ioremap-call.patch create mode 100644 package/qca/qca-nss-crypto/patches/200-fix-NULL-pointer-exception.patch create mode 100644 package/qca/qca-nss-drv/Makefile create mode 100644 package/qca/qca-nss-drv/files/nss-firmware/LICENSE.TXT create mode 100644 package/qca/qca-nss-drv/files/nss-firmware/NOTICE.TXT create mode 100644 package/qca/qca-nss-drv/files/nss-firmware/README.md create mode 100644 package/qca/qca-nss-drv/files/nss-firmware/qca-nss0-retail.bin create mode 100644 package/qca/qca-nss-drv/files/nss-firmware/qca-nss1-retail.bin create mode 100644 package/qca/qca-nss-drv/files/qca-nss-drv.conf create mode 100644 package/qca/qca-nss-drv/files/qca-nss-drv.debug create mode 100644 package/qca/qca-nss-drv/files/qca-nss-drv.hotplug create mode 100644 package/qca/qca-nss-drv/files/qca-nss-drv.init create mode 100644 package/qca/qca-nss-drv/files/qca-nss-drv.sysctl create mode 100644 package/qca/qca-nss-drv/patches/100-kernel-5.4-support.patch create mode 100644 package/qca/qca-nss-drv/patches/101-nss-drv-Control-fab-scaling-from-package-Makefile.patch create mode 100644 package/qca/qca-nss-drv/patches/102-fix-ioremap-call.patch create mode 100644 package/qca/qca-nss-drv/patches/200-fix-NULL-pointer-exception.patch create mode 100644 package/qca/qca-nss-drv/patches/201-Fix-Kernel-Panic-dma-with-NULL-dev.patch create mode 100644 package/qca/qca-nss-drv/patches/400-Exported-set-nexthop-function.patch create mode 100644 package/qca/qca-nss-ecm/Makefile create mode 100644 package/qca/qca-nss-ecm/files/ecm_dump.sh create mode 100644 package/qca/qca-nss-ecm/files/on-demand-down create mode 100644 package/qca/qca-nss-ecm/files/qca-nss-ecm.defaults create mode 100644 package/qca/qca-nss-ecm/files/qca-nss-ecm.firewall create mode 100644 package/qca/qca-nss-ecm/files/qca-nss-ecm.init create mode 100644 package/qca/qca-nss-ecm/files/qca-nss-ecm.sysctl create mode 100644 package/qca/qca-nss-ecm/files/qca-nss-ecm.uci create mode 100644 package/qca/qca-nss-ecm/patches/001-Drop_SFE_from_ecm.patch create mode 100644 package/qca/qca-nss-ecm/patches/100-kernel-5.4-support.patch create mode 100644 package/qca/qca-nss-ecm/patches/101-Fix_Kern_Panic_on_UDP_CONNTRACK.patch create mode 100644 package/qca/qca-nss-ecm/patches/200-resolve-high-load.patch create mode 100644 package/qca/qca-nss-ecm/patches/203-rework-nfct-notification.patch create mode 100644 package/qca/qca-nss-ecm/patches/400-Check-TCP_UDP-conntrack-state-earlier.patch create mode 100644 package/qca/qca-nss-ecm/patches/401-Fix-NSS-stats-request-roll-over-issue.patch create mode 100644 package/qca/qca-nss-ecm/patches/401-Fix-for-ref-leak-during-multicast.patch create mode 100644 package/qca/qca-nss-ecm/patches/401-Fix-neighbour-solicitation-send-function.patch create mode 100644 package/qca/qca-nss-ecm/patches/402-Reference-leak-during-multicast_PPPoE-bridge.patch create mode 100644 package/qca/qca-nss-ecm/patches/403-Access-global-accelerated-count-under-lock.patch create mode 100644 package/qca/qca-nss-ecm/patches/403-Fix-IPv6-neighbor-solicitation-request.patch create mode 100644 package/qca/qca-nss-ecm/patches/404-IPv6-solicitation-fix-with-zero-gateway-address.patch create mode 100644 package/qca/qca-nss-ecm/patches/405-Allow-egress-on-same-port-when-bridge-hairpin-is-enabled.patch create mode 100644 package/qca/qca-nss-ecm/patches/999-01-qca-nss-ecm-priv_flags.patch create mode 100644 package/qca/qca-nss-gmac/Makefile create mode 100644 package/qca/qca-nss-gmac/patches/100-kernel-5.4-support.patch create mode 100644 package/qca/qca-nss-gmac/patches/101-nss-gmac-test-ptr.patch create mode 100644 package/qca/qca-nss-gmac/patches/102-nss-gmac-fix-of_get_mac_address.patch create mode 100644 package/qca/qca-nss-gmac/patches/103-fix-ioremap-call.patch create mode 100644 package/qca/qca-nss-gmac/patches/104-nss-gmac-fix-of_get_phy_mode.patch create mode 100644 package/qca/qca-nss-gmac/patches/105-fix-nss-gmac-tx-timeout.patch create mode 100644 package/qca/qca-nss-gmac/patches/200-work-around-interface-close-warning.patch create mode 100644 package/qca/qca-rfs/patches/200-rework-nfct-notification.patch create mode 100644 package/system/ca-certificates/Makefile create mode 100644 package/system/ca-certificates/patches/0001-ca-certificates-fix-python3-cryptography-woes-in-cer.patch create mode 100644 package/system/fstools/Makefile create mode 100755 package/system/fstools/files/blockd.init create mode 100644 package/system/fstools/files/fstab.default create mode 100644 package/system/fstools/files/fstab.init create mode 100644 package/system/fstools/files/media-change.hotplug create mode 100644 package/system/fstools/files/mount.hotplug create mode 100644 package/system/fstools/files/snapshot create mode 100644 package/system/fwtool/Makefile create mode 100644 package/system/iucode-tool/Makefile create mode 100644 package/system/iucode-tool/patches/200_add-cpuid-compatibility-header-to-build-on-non-x86.patch create mode 100644 package/system/mtd/Makefile create mode 100644 package/system/mtd/src/Makefile create mode 100644 package/system/mtd/src/crc32.c create mode 100644 package/system/mtd/src/crc32.h create mode 100644 package/system/mtd/src/fis.c create mode 100644 package/system/mtd/src/fis.h create mode 100644 package/system/mtd/src/imagetag.c create mode 100644 package/system/mtd/src/jffs2.c create mode 100644 package/system/mtd/src/jffs2.h create mode 100644 package/system/mtd/src/linksys_bootcount.c create mode 100644 package/system/mtd/src/md5.c create mode 100644 package/system/mtd/src/md5.h create mode 100644 package/system/mtd/src/mtd.c create mode 100644 package/system/mtd/src/mtd.h create mode 100644 package/system/mtd/src/seama.c create mode 100644 package/system/mtd/src/seama.h create mode 100644 package/system/mtd/src/tpl_ramips_recoveryflag.c create mode 100644 package/system/mtd/src/trx.c create mode 100644 package/system/mtd/src/wrg.c create mode 100644 package/system/mtd/src/wrgg.c create mode 100644 package/system/mtd/src/wrgg.h create mode 100644 package/system/openwrt-keyring/Makefile create mode 100644 package/system/opkg/Makefile create mode 100644 package/system/opkg/files/20_migrate-feeds create mode 100644 package/system/opkg/files/customfeeds.conf create mode 100755 package/system/opkg/files/opkg-key create mode 100644 package/system/opkg/files/opkg-smime.conf create mode 100644 package/system/opkg/files/opkg.conf create mode 100644 package/system/procd/Makefile create mode 100644 package/system/procd/files/hotplug-preinit.json create mode 100644 package/system/procd/files/hotplug.json create mode 100644 package/system/procd/files/procd.sh create mode 100644 package/system/procd/files/reload_config create mode 100644 package/system/procd/files/service create mode 100644 package/system/procd/files/uxc.init create mode 100644 package/system/refpolicy/Makefile create mode 100644 package/system/refpolicy/files/selinux-config create mode 100644 package/system/refpolicy/patches/100-no-docs.patch create mode 100644 package/system/rpcd/Makefile create mode 100755 package/system/rpcd/files/50-migrate-rpcd-ubus-sock.sh create mode 100644 package/system/rpcd/files/rpcd.config create mode 100755 package/system/rpcd/files/rpcd.init create mode 100644 package/system/selinux-policy/Makefile create mode 100644 package/system/selinux-policy/files/selinux-config create mode 100644 package/system/ubox/Makefile create mode 100644 package/system/ubox/files/log.init create mode 100644 package/system/ubus/Makefile create mode 100644 package/system/ucert/Makefile create mode 100644 package/system/uci/Makefile create mode 100644 package/system/uci/files/lib/config/uci.sh create mode 100644 package/system/urandom-seed/Makefile create mode 100755 package/system/urandom-seed/files/etc/init.d/urandom_seed create mode 100644 package/system/urandom-seed/files/lib/preinit/81_urandom_seed create mode 100755 package/system/urandom-seed/files/sbin/urandom_seed create mode 100644 package/system/urngd/Makefile create mode 100644 package/system/urngd/files/urngd.init create mode 100644 package/system/usign/Makefile create mode 100644 package/system/zram-swap/Makefile create mode 100755 package/system/zram-swap/files/zram.init create mode 100644 package/utils/adb/Makefile create mode 100644 package/utils/adb/patches/001-create_Makefile.patch create mode 100644 package/utils/adb/patches/003-fix-musl-build.patch create mode 100644 package/utils/adb/patches/010-openssl-1.1.patch create mode 100644 package/utils/adb/patches/020-cherry-picked-superspeed-fix.patch create mode 100644 package/utils/bcm27xx-userland/Makefile create mode 100644 package/utils/bcm4908img/Makefile create mode 100644 package/utils/bcm4908img/src/Makefile create mode 100644 package/utils/bcm4908img/src/bcm4908img.c create mode 100644 package/utils/bsdiff/Makefile create mode 100644 package/utils/bsdiff/patches/001-musl.patch create mode 100644 package/utils/busybox/Config-defaults.in create mode 100644 package/utils/busybox/Config.in create mode 100644 package/utils/busybox/Makefile create mode 100644 package/utils/busybox/config/Config.in create mode 100644 package/utils/busybox/config/archival/Config.in create mode 100644 package/utils/busybox/config/console-tools/Config.in create mode 100644 package/utils/busybox/config/coreutils/Config.in create mode 100644 package/utils/busybox/config/debianutils/Config.in create mode 100644 package/utils/busybox/config/e2fsprogs/Config.in create mode 100644 package/utils/busybox/config/e2fsprogs/old_e2fsprogs/Config.in create mode 100644 package/utils/busybox/config/editors/Config.in create mode 100644 package/utils/busybox/config/findutils/Config.in create mode 100644 package/utils/busybox/config/init/Config.in create mode 100644 package/utils/busybox/config/klibc-utils/Config.in create mode 100644 package/utils/busybox/config/libbb/Config.in create mode 100644 package/utils/busybox/config/loginutils/Config.in create mode 100644 package/utils/busybox/config/mailutils/Config.in create mode 100644 package/utils/busybox/config/miscutils/Config.in create mode 100644 package/utils/busybox/config/modutils/Config.in create mode 100644 package/utils/busybox/config/networking/Config.in create mode 100644 package/utils/busybox/config/networking/udhcp/Config.in create mode 100644 package/utils/busybox/config/printutils/Config.in create mode 100644 package/utils/busybox/config/procps/Config.in create mode 100644 package/utils/busybox/config/runit/Config.in create mode 100644 package/utils/busybox/config/selinux/Config.in create mode 100644 package/utils/busybox/config/shell/Config.in create mode 100644 package/utils/busybox/config/sysklogd/Config.in create mode 100644 package/utils/busybox/config/util-linux/Config.in create mode 100644 package/utils/busybox/config/util-linux/volume_id/Config.in create mode 100755 package/utils/busybox/convert_defaults.pl create mode 100755 package/utils/busybox/convert_menuconfig.pl create mode 100755 package/utils/busybox/files/cron create mode 100755 package/utils/busybox/files/ntpd-hotplug create mode 100644 package/utils/busybox/files/ntpd.capabilities create mode 100644 package/utils/busybox/files/ntpd_acl.json create mode 100755 package/utils/busybox/files/sysntpd create mode 100644 package/utils/busybox/patches/001-CVE-2022-30065-awk-fix-use-after-free.patch create mode 100644 package/utils/busybox/patches/120-lto-jobserver.patch create mode 100644 package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch create mode 100644 package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch create mode 100644 package/utils/busybox/patches/210-add_netmsg_util.patch create mode 100644 package/utils/busybox/patches/220-add_lock_util.patch create mode 100644 package/utils/busybox/patches/270-libbb_make_unicode_printable.patch create mode 100644 package/utils/busybox/patches/301-ip-link-fix-netlink-msg-size.patch create mode 100644 package/utils/busybox/patches/500-move-traceroute-applets-to-bin.patch create mode 100644 package/utils/busybox/patches/510-move-passwd-applet-to-bin.patch create mode 100644 package/utils/busybox/patches/520-loginutils-handle-crypt-failures.patch create mode 100644 package/utils/busybox/patches/530-nslookup-ensure-unique-transaction-IDs-for-the-DNS-queries.patch create mode 100644 package/utils/busybox/selinux.config create mode 100644 package/utils/bzip2/Makefile create mode 100644 package/utils/bzip2/patches/020-no-utime.patch create mode 100644 package/utils/bzip2/patches/021-fix-LDFLAGS.patch create mode 100644 package/utils/checkpolicy/Makefile create mode 100644 package/utils/ct-bugcheck/Makefile create mode 100644 package/utils/ct-bugcheck/src/bugcheck.initd create mode 100755 package/utils/ct-bugcheck/src/bugcheck.sh create mode 100755 package/utils/ct-bugcheck/src/bugchecker.sh create mode 100644 package/utils/dtc/Makefile create mode 100644 package/utils/dtc/patches/0001-Support-r-format-for-printing-raw-bytes-with-fdtget.patch create mode 100644 package/utils/e2fsprogs/Makefile create mode 100644 package/utils/e2fsprogs/files/e2fsck.conf create mode 100644 package/utils/e2fsprogs/files/e2fsck.sh create mode 100644 package/utils/e2fsprogs/patches/000-relocatable.patch create mode 100644 package/utils/e2fsprogs/patches/001-com_err_version.patch create mode 100644 package/utils/e2fsprogs/patches/002-fix-subst-host-build.patch create mode 100644 package/utils/e2fsprogs/patches/004-CVE-2022-1304-libext2fs-add-sanity-check-to-extent-manipulation.patch create mode 100644 package/utils/f2fs-tools/Makefile create mode 100644 package/utils/f2fs-tools/patches/200-resize_f2fs-fix_wrong_ovp_calculation.patch create mode 100644 package/utils/fbtest/Makefile create mode 100644 package/utils/fbtest/src/Makefile create mode 100644 package/utils/fbtest/src/fbtest.c create mode 100644 package/utils/fritz-tools/Makefile create mode 100644 package/utils/fritz-tools/README.md create mode 100644 package/utils/fritz-tools/src/CMakeLists.txt create mode 100644 package/utils/fritz-tools/src/fritz_cal_extract.c create mode 100644 package/utils/fritz-tools/src/fritz_tffs_nand_read.c create mode 100644 package/utils/fritz-tools/src/fritz_tffs_read.c create mode 100644 package/utils/jboot-tools/Makefile create mode 100644 package/utils/jboot-tools/README.md create mode 100644 package/utils/jboot-tools/src/CMakeLists.txt create mode 100644 package/utils/jboot-tools/src/jboot_config_read.c create mode 100644 package/utils/jsonfilter/Makefile create mode 100644 package/utils/lua/Makefile create mode 100644 package/utils/lua/patches-host/001-include-version-number.patch create mode 100644 package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch create mode 100644 package/utils/lua/patches-host/011-lnum-use-double.patch create mode 100644 package/utils/lua/patches-host/012-lnum-fix-ltle-relational-operators.patch create mode 100644 package/utils/lua/patches-host/013-lnum-strtoul-parsing-fixes.patch create mode 100644 package/utils/lua/patches-host/015-lnum-ppc-compat.patch create mode 100644 package/utils/lua/patches-host/030-archindependent-bytecode.patch create mode 100644 package/utils/lua/patches-host/100-no_readline.patch create mode 100644 package/utils/lua/patches/001-include-version-number.patch create mode 100644 package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch create mode 100644 package/utils/lua/patches/011-lnum-use-double.patch create mode 100644 package/utils/lua/patches/012-lnum-fix-ltle-relational-operators.patch create mode 100644 package/utils/lua/patches/013-lnum-strtoul-parsing-fixes.patch create mode 100644 package/utils/lua/patches/015-lnum-ppc-compat.patch create mode 100644 package/utils/lua/patches/020-shared_liblua.patch create mode 100644 package/utils/lua/patches/030-archindependent-bytecode.patch create mode 100644 package/utils/lua/patches/040-use-symbolic-functions.patch create mode 100644 package/utils/lua/patches/050-honor-cflags.patch create mode 100644 package/utils/lua/patches/100-no_readline.patch create mode 100644 package/utils/lua/patches/200-lua-path.patch create mode 100644 package/utils/lua/patches/300-opcode_performance.patch create mode 100644 package/utils/lua5.3/Makefile create mode 100644 package/utils/lua5.3/patches-host/001-include-version-number.patch create mode 100644 package/utils/lua5.3/patches-host/100-no_readline.patch create mode 100644 package/utils/lua5.3/patches/001-include-version-number.patch create mode 100644 package/utils/lua5.3/patches/020-shared_liblua.patch create mode 100644 package/utils/lua5.3/patches/100-no_readline.patch create mode 100644 package/utils/mdadm/Makefile create mode 100644 package/utils/mdadm/files/mdadm.config create mode 100644 package/utils/mdadm/files/mdadm.init create mode 100644 package/utils/mdadm/patches/100-cross_compile.patch create mode 100644 package/utils/mdadm/patches/101-mdadm.h-Undefine-dprintf-before-redefining.patch create mode 100644 package/utils/mdadm/patches/102-Add-missing-include-file-sys-sysmacros.h.patch create mode 100644 package/utils/mdadm/patches/200-reduce_size.patch create mode 100644 package/utils/mtd-utils/Makefile create mode 100644 package/utils/mtd-utils/patches/100-fix_includes.patch create mode 100644 package/utils/mtd-utils/patches/130-lzma_jffs2.patch create mode 100644 package/utils/nvram/Makefile create mode 100755 package/utils/nvram/files/nvram-bcm47xx.init create mode 100755 package/utils/nvram/files/nvram-bcm53xx.init create mode 100644 package/utils/nvram/src/Makefile create mode 100644 package/utils/nvram/src/cli.c create mode 100644 package/utils/nvram/src/crc.c create mode 100644 package/utils/nvram/src/nvram.c create mode 100644 package/utils/nvram/src/nvram.h create mode 100644 package/utils/nvram/src/sdinitvals.h create mode 100644 package/utils/osafeloader/Makefile create mode 100644 package/utils/osafeloader/src/Makefile create mode 100644 package/utils/osafeloader/src/md5.c create mode 100644 package/utils/osafeloader/src/md5.h create mode 100644 package/utils/osafeloader/src/osafeloader.c create mode 100644 package/utils/oseama/Makefile create mode 100644 package/utils/oseama/src/Makefile create mode 100644 package/utils/oseama/src/md5.c create mode 100644 package/utils/oseama/src/md5.h create mode 100644 package/utils/oseama/src/oseama.c create mode 100644 package/utils/otrx/Makefile create mode 100644 package/utils/policycoreutils/Makefile create mode 100644 package/utils/px5g-mbedtls/Makefile create mode 100644 package/utils/px5g-mbedtls/px5g-mbedtls.c create mode 100644 package/utils/px5g-wolfssl/Makefile create mode 100644 package/utils/px5g-wolfssl/px5g-wolfssl.c create mode 100644 package/utils/ravpower-mcu/Makefile create mode 100644 package/utils/secilc/Makefile create mode 100644 package/utils/spidev_test/Makefile create mode 100644 package/utils/ucode/Makefile create mode 100644 package/utils/uencrypt/Makefile create mode 100644 package/utils/uencrypt/src/CMakeLists.txt create mode 100644 package/utils/uencrypt/src/uencrypt.c create mode 100644 package/utils/ugps/Makefile create mode 100644 package/utils/ugps/files/gps.config create mode 100644 package/utils/ugps/files/ugps.init create mode 100644 package/utils/usbmode/Makefile create mode 100644 package/utils/usbmode/data/12d1-1f16 create mode 100644 package/utils/usbmode/files/usbmode.hotplug create mode 100755 package/utils/usbmode/files/usbmode.init create mode 100644 package/utils/util-linux/Makefile create mode 100644 package/utils/util-linux/patches/100-use_urandom.patch create mode 100644 package/utils/zyxel-bootconfig/Makefile create mode 100644 package/utils/zyxel-bootconfig/files/95_apply_bootconfig create mode 100644 package/utils/zyxel-bootconfig/src/Makefile create mode 100644 package/utils/zyxel-bootconfig/src/zyxel-bootconfig.c create mode 100644 rules.mk create mode 100755 scripts/arm-magic.sh create mode 100755 scripts/brcmImage.pl create mode 100755 scripts/bundle-libraries.sh create mode 100755 scripts/cameo-imghdr.py create mode 100755 scripts/cameo-tag.py create mode 100755 scripts/cfe-bin-header.py create mode 100755 scripts/cfe-partition-tag.py create mode 100755 scripts/cfe-wfi-tag.py create mode 100755 scripts/check-toolchain-clean.sh create mode 100755 scripts/checkpatch.pl create mode 100755 scripts/clean-package.sh create mode 100755 scripts/cleanfile create mode 100755 scripts/cleanpatch create mode 100755 scripts/combined-ext-image.sh create mode 100755 scripts/combined-image.sh create mode 100755 scripts/command_all.sh create mode 100755 scripts/config.guess create mode 100755 scripts/config.rpath create mode 100755 scripts/config.sub create mode 100644 scripts/config/Makefile create mode 100644 scripts/config/README create mode 100644 scripts/config/conf.c create mode 100644 scripts/config/confdata.c create mode 100644 scripts/config/expr.c create mode 100644 scripts/config/expr.h create mode 100644 scripts/config/images.c create mode 100644 scripts/config/images.h create mode 100644 scripts/config/internal.h create mode 100644 scripts/config/lexer.l create mode 100644 scripts/config/lexer.lex.c create mode 100644 scripts/config/list.h create mode 100644 scripts/config/lkc.h create mode 100644 scripts/config/lkc_proto.h create mode 100644 scripts/config/lxdialog/checklist.c create mode 100644 scripts/config/lxdialog/dialog.h create mode 100644 scripts/config/lxdialog/inputbox.c create mode 100644 scripts/config/lxdialog/menubox.c create mode 100644 scripts/config/lxdialog/textbox.c create mode 100644 scripts/config/lxdialog/util.c create mode 100644 scripts/config/lxdialog/yesno.c create mode 100755 scripts/config/mconf-cfg.sh create mode 100644 scripts/config/mconf.c create mode 100644 scripts/config/menu.c create mode 100755 scripts/config/nconf-cfg.sh create mode 100644 scripts/config/nconf.c create mode 100644 scripts/config/nconf.gui.c create mode 100644 scripts/config/nconf.h create mode 100644 scripts/config/parser.tab.c create mode 100644 scripts/config/parser.tab.h create mode 100644 scripts/config/parser.y create mode 100644 scripts/config/preprocess.c create mode 100755 scripts/config/qconf-cfg.sh create mode 100644 scripts/config/qconf.cc create mode 100644 scripts/config/qconf.h create mode 100644 scripts/config/symbol.c create mode 100644 scripts/config/util.c create mode 100644 scripts/const_structs.checkpatch create mode 100755 scripts/deptest.sh create mode 100755 scripts/diffconfig.sh create mode 100755 scripts/dl_cleanup.py create mode 100755 scripts/dl_github_archive.py create mode 100755 scripts/download.pl create mode 100755 scripts/dump-target-info.pl create mode 100755 scripts/env create mode 100755 scripts/ext-toolchain.sh create mode 100755 scripts/ext-tools.sh create mode 100755 scripts/feeds create mode 100755 scripts/fixup-makefile.pl create mode 100755 scripts/flashing/adam2flash-502T.pl create mode 100755 scripts/flashing/adam2flash-fritzbox.pl create mode 100755 scripts/flashing/adam2flash.pl create mode 100755 scripts/flashing/adsl2mue_flash.pl create mode 100755 scripts/flashing/eva_ramboot.py create mode 100755 scripts/flashing/flash.sh create mode 100755 scripts/flashing/jungo-image.py create mode 100644 scripts/functions.sh create mode 100755 scripts/gen-dependencies.sh create mode 100755 scripts/gen_image_generic.sh create mode 100755 scripts/get_source_date_epoch.sh create mode 100755 scripts/getver.sh create mode 100755 scripts/ipkg-build create mode 100755 scripts/ipkg-make-index.sh create mode 100755 scripts/ipkg-remove create mode 100755 scripts/json_add_image_info.py create mode 100755 scripts/json_overview_image_info.py create mode 100755 scripts/kconfig.pl create mode 100755 scripts/linksys-image.sh create mode 100755 scripts/make-ipkg-dir.sh create mode 100755 scripts/md5sum create mode 100644 scripts/metadata.pm create mode 100644 scripts/mkhash.c create mode 100755 scripts/mkits-qsdk-ipq-image.sh create mode 100755 scripts/mkits-zyxel-fit.sh create mode 100755 scripts/mkits.sh create mode 100755 scripts/netgear-encrypted-factory.py create mode 100755 scripts/om-fwupgradecfg-gen.sh create mode 100755 scripts/package-metadata.pl create mode 100755 scripts/pad_image create mode 100755 scripts/patch-kernel.sh create mode 100755 scripts/patch-specs.sh create mode 100755 scripts/portable_date.sh create mode 100755 scripts/qemustart create mode 100755 scripts/redboot-script.pl create mode 100755 scripts/relink-lib.sh create mode 100755 scripts/remote-gdb create mode 100755 scripts/rstrip.sh create mode 100755 scripts/sercomm-crypto.py create mode 100755 scripts/sercomm-partition-tag.py create mode 100755 scripts/sercomm-payload.py create mode 100755 scripts/sign_images.sh create mode 100755 scripts/size_compare.sh create mode 100755 scripts/slugimage.pl create mode 100644 scripts/spelling.txt create mode 100755 scripts/srecimage.pl create mode 100755 scripts/strip-kmod.sh create mode 100755 scripts/symlink-tree.sh create mode 100755 scripts/sysupgrade-tar.sh create mode 100755 scripts/target-metadata.pl create mode 100755 scripts/time.pl create mode 100755 scripts/timestamp.pl create mode 100755 scripts/ubinize-image.sh create mode 100755 scripts/xxdi.pl create mode 100644 target/Config.in create mode 100644 target/Makefile create mode 100644 target/imagebuilder/Config.in create mode 100644 target/imagebuilder/Makefile create mode 100644 target/imagebuilder/files/Makefile create mode 100644 target/imagebuilder/files/README.md create mode 100644 target/imagebuilder/files/repositories.conf create mode 100644 target/linux/Makefile create mode 100644 target/linux/apm821xx/Makefile create mode 100644 target/linux/apm821xx/base-files/etc/board.d/01_leds create mode 100644 target/linux/apm821xx/base-files/etc/board.d/02_network create mode 100644 target/linux/apm821xx/base-files/etc/diag.sh create mode 100644 target/linux/apm821xx/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac create mode 100644 target/linux/apm821xx/base-files/etc/init.d/hwmon_fancontrol create mode 100644 target/linux/apm821xx/base-files/etc/inittab create mode 100644 target/linux/apm821xx/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/apm821xx/base-files/etc/uci-defaults/05_fix-compat-version create mode 100644 target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx create mode 100644 target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx create mode 100644 target/linux/apm821xx/base-files/lib/preinit/79_move_config create mode 100644 target/linux/apm821xx/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/apm821xx/base-files/lib/upgrade/wdbook.sh create mode 100644 target/linux/apm821xx/config-5.10 create mode 100644 target/linux/apm821xx/dts/apm82181.dtsi create mode 100644 target/linux/apm821xx/dts/meraki-mr24.dts create mode 100644 target/linux/apm821xx/dts/meraki-mx60.dts create mode 100644 target/linux/apm821xx/dts/netgear-wndap620.dts create mode 100644 target/linux/apm821xx/dts/netgear-wndap660.dts create mode 100644 target/linux/apm821xx/dts/netgear-wndap6x0.dtsi create mode 100644 target/linux/apm821xx/dts/netgear-wndr4700.dts create mode 100644 target/linux/apm821xx/dts/wd-mybooklive.dts create mode 100644 target/linux/apm821xx/image/Makefile create mode 100644 target/linux/apm821xx/image/mbl_boot.scr create mode 100755 target/linux/apm821xx/image/mbl_gen_hdd_img.sh create mode 100644 target/linux/apm821xx/image/nand.mk create mode 100644 target/linux/apm821xx/image/sata.mk create mode 100644 target/linux/apm821xx/nand/config-default create mode 100644 target/linux/apm821xx/nand/profiles/00-default.mk create mode 100644 target/linux/apm821xx/nand/target.mk create mode 100644 target/linux/apm821xx/patches-5.10/100-dwc2-disable-powerdown.patch create mode 100644 target/linux/apm821xx/patches-5.10/201-add-amcc-apollo3g-support.patch create mode 100644 target/linux/apm821xx/patches-5.10/300-fix-atheros-nics-on-apm82181.patch create mode 100644 target/linux/apm821xx/patches-5.10/301-fix-memory-map-wndr4700.patch create mode 100644 target/linux/apm821xx/patches-5.10/802-usb-xhci-force-msi-renesas-xhci.patch create mode 100644 target/linux/apm821xx/patches-5.10/803-hwmon-tc654-add-detection-routine.patch create mode 100644 target/linux/apm821xx/patches-5.10/804-hwmon-tc654-add-thermal_cooling-device.patch create mode 100644 target/linux/apm821xx/patches-5.10/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch create mode 100644 target/linux/apm821xx/sata/config-default create mode 100644 target/linux/apm821xx/sata/profiles/00-default.mk create mode 100644 target/linux/apm821xx/sata/target.mk create mode 100644 target/linux/archs38/Makefile create mode 100644 target/linux/archs38/base-files/etc/board.d/02_network create mode 100644 target/linux/archs38/config-5.10 create mode 100644 target/linux/archs38/generic/profiles/00-default.mk create mode 100644 target/linux/archs38/generic/target.mk create mode 100644 target/linux/archs38/image/Config.in create mode 100644 target/linux/archs38/image/Makefile create mode 100755 target/linux/archs38/image/gen_axs10x_sdcard_img.sh create mode 100644 target/linux/archs38/image/uEnv.txt create mode 100644 target/linux/archs38/image/uboot.env.txt create mode 100644 target/linux/armvirt/32/config-5.10 create mode 100644 target/linux/armvirt/32/target.mk create mode 100644 target/linux/armvirt/64/config-5.10 create mode 100644 target/linux/armvirt/64/target.mk create mode 100644 target/linux/armvirt/Makefile create mode 100644 target/linux/armvirt/README create mode 100644 target/linux/armvirt/base-files/etc/board.d/00_model create mode 100644 target/linux/armvirt/base-files/etc/inittab create mode 100644 target/linux/armvirt/config-5.10 create mode 100644 target/linux/armvirt/image/Makefile create mode 100644 target/linux/at91/Makefile create mode 100644 target/linux/at91/base-files/etc/board.d/02_network create mode 100644 target/linux/at91/base-files/etc/config/network create mode 100644 target/linux/at91/files/arch/arm/boot/dts/at91-q5xr5.dts create mode 100644 target/linux/at91/files/arch/arm/boot/dts/lmu5000.dts create mode 100644 target/linux/at91/image/Config.in create mode 100644 target/linux/at91/image/Makefile create mode 100644 target/linux/at91/image/dfboot/Makefile create mode 100644 target/linux/at91/image/dfboot/src/Makefile create mode 100644 target/linux/at91/image/dfboot/src/_udivsi3.S create mode 100644 target/linux/at91/image/dfboot/src/_umodsi3.S create mode 100644 target/linux/at91/image/dfboot/src/asm_isr.S create mode 100644 target/linux/at91/image/dfboot/src/asm_mci_isr.S create mode 100644 target/linux/at91/image/dfboot/src/at45.c create mode 100644 target/linux/at91/image/dfboot/src/com.c create mode 100644 target/linux/at91/image/dfboot/src/com.h create mode 100644 target/linux/at91/image/dfboot/src/config.h create mode 100644 target/linux/at91/image/dfboot/src/cstartup_ram.S create mode 100644 target/linux/at91/image/dfboot/src/dataflash.c create mode 100644 target/linux/at91/image/dfboot/src/dataflash.h create mode 100644 target/linux/at91/image/dfboot/src/div0.c create mode 100644 target/linux/at91/image/dfboot/src/elf32-littlearm.lds create mode 100644 target/linux/at91/image/dfboot/src/embedded_services.h create mode 100644 target/linux/at91/image/dfboot/src/include/AT91C_MCI_Device.h create mode 100644 target/linux/at91/image/dfboot/src/include/AT91RM9200.h create mode 100644 target/linux/at91/image/dfboot/src/include/AT91RM9200.inc create mode 100644 target/linux/at91/image/dfboot/src/include/AT91RM9200_inc.h create mode 100644 target/linux/at91/image/dfboot/src/include/led.h create mode 100644 target/linux/at91/image/dfboot/src/include/lib_AT91RM9200.h create mode 100644 target/linux/at91/image/dfboot/src/init.c create mode 100644 target/linux/at91/image/dfboot/src/jump.S create mode 100644 target/linux/at91/image/dfboot/src/led.c create mode 100644 target/linux/at91/image/dfboot/src/main.c create mode 100644 target/linux/at91/image/dfboot/src/main.h create mode 100644 target/linux/at91/image/dfboot/src/mci_device.c create mode 100644 target/linux/at91/image/dfboot/src/stdio.h create mode 100755 target/linux/at91/image/gen_at91_sdcard_img.sh create mode 100644 target/linux/at91/image/sam9x.mk create mode 100644 target/linux/at91/image/sama5.mk create mode 100644 target/linux/at91/image/sama7.mk create mode 100644 target/linux/at91/image/uboot-env.txt create mode 100644 target/linux/at91/modules.mk create mode 100644 target/linux/at91/patches-5.10/101-ARM-at91-build-dtb-for-q5xr5.patch create mode 100644 target/linux/at91/patches-5.10/102-dt-bindings-clock-at91-add-sama7g5-pll-defines.patch create mode 100644 target/linux/at91/patches-5.10/103-clk-at91-sama7g5-allow-SYS-and-CPU-PLLs-to-be-export.patch create mode 100644 target/linux/at91/patches-5.10/104-clk-at91-clk-master-add-5th-divisor-for-mck-master.patch create mode 100644 target/linux/at91/patches-5.10/105-clk-at91-sama7g5-add-5th-divisor-for-mck0-layout-and.patch create mode 100644 target/linux/at91/patches-5.10/106-clk-at91-clk-sam9x60-pll-allow-runtime-changes-for-p.patch create mode 100644 target/linux/at91/patches-5.10/107-clk-at91-sama7g5-remove-mck0-from-parent-list-of-oth.patch create mode 100644 target/linux/at91/patches-5.10/108-clk-at91-sama7g5-decrease-lower-limit-for-MCK0-rate.patch create mode 100644 target/linux/at91/patches-5.10/109-clk-at91-sama7g5-do-not-allow-cpu-pll-to-go-higher-t.patch create mode 100644 target/linux/at91/patches-5.10/110-clk-at91-clk-master-re-factor-master-clock.patch create mode 100644 target/linux/at91/patches-5.10/111-clk-at91-sama7g5-register-cpu-clock.patch create mode 100644 target/linux/at91/patches-5.10/112-clk-at91-Fix-the-declaration-of-the-clocks.patch create mode 100644 target/linux/at91/patches-5.10/113-clk-at91-Trivial-typo-fixes-in-the-file-sama7g5.c.patch create mode 100644 target/linux/at91/patches-5.10/114-clk-at91-sama7g5-remove-all-kernel-doc-kernel-doc-wa.patch create mode 100644 target/linux/at91/patches-5.10/115-net-macb-add-userio-bits-as-platform-configuration.patch create mode 100644 target/linux/at91/patches-5.10/116-net-macb-add-capability-to-not-set-the-clock-rate.patch create mode 100644 target/linux/at91/patches-5.10/117-net-macb-add-function-to-disable-all-macb-clocks.patch create mode 100644 target/linux/at91/patches-5.10/118-net-macb-unprepare-clocks-in-case-of-failure.patch create mode 100644 target/linux/at91/patches-5.10/119-net-macb-add-support-for-sama7g5-gem-interface.patch create mode 100644 target/linux/at91/patches-5.10/120-net-macb-add-support-for-sama7g5-emac-interface.patch create mode 100644 target/linux/at91/patches-5.10/121-ASoC-pcm5102a-Make-codec-selectable.patch create mode 100644 target/linux/at91/patches-5.10/122-ASoC-atmel-i2s-do-not-warn-if-muxclk-is-missing.patch create mode 100644 target/linux/at91/patches-5.10/123-regulator-mcp16502-add-linear_min_sel.patch create mode 100644 target/linux/at91/patches-5.10/124-regulator-mcp16502-adapt-for-get-set-on-other-regist.patch create mode 100644 target/linux/at91/patches-5.10/125-regulator-mcp16502-add-support-for-ramp-delay.patch create mode 100644 target/linux/at91/patches-5.10/126-regulator-mcp16502-remove-void-documentation-of-stru.patch create mode 100644 target/linux/at91/patches-5.10/127-regulator-core-validate-selector-against-linear_min_.patch create mode 100644 target/linux/at91/patches-5.10/128-regulator-core-do-not-continue-if-selector-match.patch create mode 100644 target/linux/at91/patches-5.10/129-regulator-core-return-zero-for-selectors-lower-than-.patch create mode 100644 target/linux/at91/patches-5.10/130-regulator-mcp16502-lpm-pin-can-be-optional-on-some-p.patch create mode 100644 target/linux/at91/patches-5.10/131-pinctrl-at91-pio4-add-support-for-fewer-lines-on-las.patch create mode 100644 target/linux/at91/patches-5.10/132-dmaengine-at_xdmac-adapt-perid-for-mem2mem-operation.patch create mode 100644 target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch create mode 100644 target/linux/at91/patches-5.10/134-dmaengine-at_xdmac-add-AXI-priority-support-and-reco.patch create mode 100644 target/linux/at91/patches-5.10/135-net-macb-Correct-usage-of-MACB_CAPS_CLK_HW_CHG-flag.patch create mode 100644 target/linux/at91/patches-5.10/136-ARM-at91-sam9x60-SiP-types-added-to-soc-description.patch create mode 100644 target/linux/at91/patches-5.10/137-drivers-soc-atmel-use-GENMASK.patch create mode 100644 target/linux/at91/patches-5.10/138-drivers-soc-atmel-fix-__initconst-should-be-placed-a.patch create mode 100644 target/linux/at91/patches-5.10/139-drivers-soc-atmel-add-per-soc-id-and-version-match-m.patch create mode 100644 target/linux/at91/patches-5.10/140-drivers-soc-atmel-add-support-for-sama7g5.patch create mode 100644 target/linux/at91/patches-5.10/141-drivers-soc-atmel-add-spdx-license-identifier.patch create mode 100644 target/linux/at91/patches-5.10/142-drivers-soc-atmel-fix-type-for-same7.patch create mode 100644 target/linux/at91/patches-5.10/143-clocksource-drivers-timer-microchip-pit64b-Add-clock.patch create mode 100644 target/linux/at91/patches-5.10/144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch create mode 100644 target/linux/at91/patches-5.10/145-power-reset-at91-sama5d2_shdwc-add-support-for-sama7.patch create mode 100644 target/linux/at91/patches-5.10/146-pinctrl-at91-pio4-add-support-for-slew-rate.patch create mode 100644 target/linux/at91/patches-5.10/147-pinctrl-at91-pio4-fix-Prefer-unsigned-int-to-bare-us.patch create mode 100644 target/linux/at91/patches-5.10/148-net-macb-Add-default-usrio-config-to-default-gem-con.patch create mode 100644 target/linux/at91/patches-5.10/149-ARM-at91-pm-Move-prototypes-to-mutually-included-hea.patch create mode 100644 target/linux/at91/patches-5.10/150-ASoC-mchp-i2s-mcc-Add-compatible-for-SAMA7G5.patch create mode 100644 target/linux/at91/patches-5.10/151-ASoC-mchp-i2s-mcc-Add-multi-channel-support-for-I2S-.patch create mode 100644 target/linux/at91/patches-5.10/152-ASoC-mchp-i2s-mcc-Add-support-to-select-TDM-pins.patch create mode 100644 target/linux/at91/patches-5.10/153-ASoC-mchp-i2s-mcc-Add-FIFOs-support.patch create mode 100644 target/linux/at91/patches-5.10/154-pinctrl-at91-pio4-Fix-slew-rate-disablement.patch create mode 100644 target/linux/at91/patches-5.10/155-media-atmel-properly-get-pm_runtime.patch create mode 100644 target/linux/at91/patches-5.10/156-media-atmel-atmel-isc-Remove-redundant-assignment-to.patch create mode 100644 target/linux/at91/patches-5.10/157-media-atmel-atmel-isc-specialize-gamma-table-into-pr.patch create mode 100644 target/linux/at91/patches-5.10/158-media-atmel-atmel-isc-specialize-driver-name-constan.patch create mode 100644 target/linux/at91/patches-5.10/159-media-atmel-atmel-isc-add-checks-for-limiting-frame-.patch create mode 100644 target/linux/at91/patches-5.10/160-media-atmel-atmel-isc-specialize-max-width-and-max-h.patch create mode 100644 target/linux/at91/patches-5.10/161-media-atmel-atmel-isc-specialize-dma-cfg.patch create mode 100644 target/linux/at91/patches-5.10/162-media-atmel-atmel-isc-extract-CSC-submodule-config-i.patch create mode 100644 target/linux/at91/patches-5.10/163-media-atmel-atmel-isc-base-add-id-to-clock-debug-mes.patch create mode 100644 target/linux/at91/patches-5.10/164-media-atmel-atmel-isc-create-register-offsets-struct.patch create mode 100644 target/linux/at91/patches-5.10/165-media-atmel-atmel-isc-extract-CBC-submodule-config-i.patch create mode 100644 target/linux/at91/patches-5.10/166-media-atmel-atmel-isc-add-CBC-to-the-reg-offsets-str.patch create mode 100644 target/linux/at91/patches-5.10/167-media-atmel-atmel-isc-add-SUB422-and-SUB420-to-regis.patch create mode 100644 target/linux/at91/patches-5.10/168-media-atmel-atmel-isc-add-RLP-to-register-offsets.patch create mode 100644 target/linux/at91/patches-5.10/169-media-atmel-atmel-isc-add-HIS-to-register-offsets.patch create mode 100644 target/linux/at91/patches-5.10/170-media-atmel-atmel-isc-add-DMA-to-register-offsets.patch create mode 100644 target/linux/at91/patches-5.10/171-media-atmel-atmel-isc-add-support-for-version-regist.patch create mode 100644 target/linux/at91/patches-5.10/172-media-atmel-atmel-isc-add-his_entry-to-register-offs.patch create mode 100644 target/linux/at91/patches-5.10/173-media-atmel-atmel-isc-add-register-description-for-a.patch create mode 100644 target/linux/at91/patches-5.10/174-media-atmel-atmel-isc-extend-pipeline-with-extra-mod.patch create mode 100644 target/linux/at91/patches-5.10/175-media-atmel-atmel-isc-add-CC-initialization-function.patch create mode 100644 target/linux/at91/patches-5.10/176-media-atmel-atmel-isc-create-product-specific-v4l2-c.patch create mode 100644 target/linux/at91/patches-5.10/177-media-atmel-atmel-isc-create-callback-for-DPC-submod.patch create mode 100644 target/linux/at91/patches-5.10/178-media-atmel-atmel-isc-create-callback-for-GAM-submod.patch create mode 100644 target/linux/at91/patches-5.10/179-media-atmel-atmel-isc-create-callback-for-RLP-submod.patch create mode 100644 target/linux/at91/patches-5.10/180-media-atmel-atmel-isc-move-the-formats-list-into-pro.patch create mode 100644 target/linux/at91/patches-5.10/181-media-atmel-atmel-isc-create-an-adapt-pipeline-callb.patch create mode 100644 target/linux/at91/patches-5.10/182-media-atmel-atmel-isc-regs-add-additional-fields-for.patch create mode 100644 target/linux/at91/patches-5.10/183-media-atmel-atmel-isc-base-add-support-for-more-form.patch create mode 100644 target/linux/at91/patches-5.10/184-media-atmel-atmel-isc-sama5d2-remove-duplicate-defin.patch create mode 100644 target/linux/at91/patches-5.10/185-media-atmel-atmel-isc-add-microchip-xisc-driver.patch create mode 100644 target/linux/at91/patches-5.10/186-ASoC-atmel-fix-shadowed-variable.patch create mode 100644 target/linux/at91/patches-5.10/187-ASoC-atmel-atmel-i2s-remove-useless-initialization.patch create mode 100644 target/linux/at91/patches-5.10/188-ASoC-atmel-i2s-Set-symmetric-sample-bits.patch create mode 100644 target/linux/at91/patches-5.10/189-watchdog-sama5d4_wdt-add-support-for-sama7g5-wdt.patch create mode 100644 target/linux/at91/patches-5.10/190-media-atmel-fix-build-when-ISC-m-and-XISC-y.patch create mode 100644 target/linux/at91/patches-5.10/191-i2c-at91-remove-define-CONFIG_PM.patch create mode 100644 target/linux/at91/patches-5.10/192-ASoC-codecs-ad193x-add-support-for-96kHz-and-192kHz-.patch create mode 100644 target/linux/at91/patches-5.10/193-media-atmel-atmel-sama5d2-isc-fix-YUYV-format.patch create mode 100644 target/linux/at91/patches-5.10/194-clk-at91-add-register-definition-for-sama7g5-s-maste.patch create mode 100644 target/linux/at91/patches-5.10/195-ARM-at91-add-new-SoC-sama7g5.patch create mode 100644 target/linux/at91/patches-5.10/196-ARM-at91-debug-add-sama7g5-low-level-debug-uart.patch create mode 100644 target/linux/at91/patches-5.10/197-ARM-at91-pm-move-pm_bu-to-soc_pm-data-structure.patch create mode 100644 target/linux/at91/patches-5.10/198-ARM-at91-pm-move-the-setup-of-soc_pm.bu-suspended.patch create mode 100644 target/linux/at91/patches-5.10/199-ARM-at91-pm-document-at91_soc_pm-structure.patch create mode 100644 target/linux/at91/patches-5.10/200-ARM-at91-pm-check-for-different-controllers-in-at91_.patch create mode 100644 target/linux/at91/patches-5.10/201-ARM-at91-pm-do-not-initialize-pdev.patch create mode 100644 target/linux/at91/patches-5.10/202-ARM-at91-pm-use-r7-instead-of-tmp1.patch create mode 100644 target/linux/at91/patches-5.10/203-ARM-at91-pm-avoid-push-and-pop-on-stack-while-memory.patch create mode 100644 target/linux/at91/patches-5.10/204-ARM-at91-pm-s-CONFIG_SOC_SAM9X60-CONFIG_HAVE_AT91_SA.patch create mode 100644 target/linux/at91/patches-5.10/205-ARM-at91-pm-add-support-for-waiting-MCK1.4.patch create mode 100644 target/linux/at91/patches-5.10/206-ARM-at91-sfrbu-add-sfrbu-registers-definitions-for-s.patch create mode 100644 target/linux/at91/patches-5.10/207-ARM-at91-ddr-add-registers-definitions-for-sama7g5-s.patch create mode 100644 target/linux/at91/patches-5.10/208-ARM-at91-pm-add-self-refresh-support-for-sama7g5.patch create mode 100644 target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch create mode 100644 target/linux/at91/patches-5.10/210-ARM-at91-pm-add-support-for-2.5V-LDO-regulator-contr.patch create mode 100644 target/linux/at91/patches-5.10/211-ARM-at91-pm-wait-for-ddr-power-mode-off.patch create mode 100644 target/linux/at91/patches-5.10/212-ARM-at91-pm-add-sama7g5-ddr-controller.patch create mode 100644 target/linux/at91/patches-5.10/213-ARM-at91-pm-add-sama7g5-ddr-phy-controller.patch create mode 100644 target/linux/at91/patches-5.10/214-ARM-at91-pm-save-ddr-phy-calibration-data-to-securam.patch create mode 100644 target/linux/at91/patches-5.10/215-ARM-at91-pm-add-backup-mode-support-for-SAMA7G5.patch create mode 100644 target/linux/at91/patches-5.10/216-ARM-at91-pm-add-sama7g5-s-pmc.patch create mode 100644 target/linux/at91/patches-5.10/217-ARM-at91-sama7-introduce-sama7-SoC-family.patch create mode 100644 target/linux/at91/patches-5.10/218-ARM-at91-pm-add-pm-support-for-SAMA7G5.patch create mode 100644 target/linux/at91/patches-5.10/219-ARM-at91-pm-add-sama7g5-shdwc.patch create mode 100644 target/linux/at91/patches-5.10/220-ARM-configs-at91-add-defconfig-for-sama7-family-of-S.patch create mode 100644 target/linux/at91/patches-5.10/221-ARM-multi_v7_defconfig-add-sama7g5-SoC.patch create mode 100644 target/linux/at91/patches-5.10/222-ARM-dts-at91-add-sama7g5-SoC-DT-and-sama7g5-ek.patch create mode 100644 target/linux/at91/patches-5.10/223-ARM-at91-pm-do-not-panic-if-ram-controllers-are-not-.patch create mode 100644 target/linux/at91/patches-5.10/224-ARM-dts-at91-sama7g5-add-ram-controllers.patch create mode 100644 target/linux/at91/patches-5.10/225-ARM-dts-at91-sama7g5-add-securam-node.patch create mode 100644 target/linux/at91/patches-5.10/226-ARM-dts-at91-sama7g5-add-shdwc-node.patch create mode 100644 target/linux/at91/patches-5.10/227-ARM-dts-at91-sama7g5-add-chipid.patch create mode 100644 target/linux/at91/patches-5.10/228-ARM-at91-pm-switch-backup-area-to-vbat-in-backup-mod.patch create mode 100644 target/linux/at91/patches-5.10/229-ARM-dts-at91-sama7g5ek-add-suspend-voltage-for-ddr3l.patch create mode 100644 target/linux/at91/patches-5.10/230-ARM-at91-pm-group-constants-and-addresses-loading.patch create mode 100644 target/linux/at91/patches-5.10/231-ARM-at91-pm-preload-base-address-of-controllers-in-t.patch create mode 100644 target/linux/at91/patches-5.10/232-ARM-dts-at91-sama7g5ek-use-proper-slew-rate-settings.patch create mode 100644 target/linux/at91/patches-5.10/233-ARM-dts-at91-sama7g5ek-to-not-touch-slew-rate-for-SD.patch create mode 100644 target/linux/at91/patches-5.10/234-clk-at91-re-factor-clocks-suspend-resume.patch create mode 100644 target/linux/at91/patches-5.10/235-clk-at91-pmc-execute-suspend-resume-only-for-backup-.patch create mode 100644 target/linux/at91/patches-5.10/236-clk-at91-sama7g5-add-securam-s-peripheral-clock.patch create mode 100644 target/linux/at91/patches-5.10/237-clk-at91-clk-master-add-register-definition-for-sama.patch create mode 100644 target/linux/at91/patches-5.10/238-clk-at91-clk-master-improve-readability-by-using-loc.patch create mode 100644 target/linux/at91/patches-5.10/239-clk-at91-pmc-add-sama7g5-to-the-list-of-available-pm.patch create mode 100644 target/linux/at91/patches-5.10/240-clk-at91-clk-master-check-if-div-or-pres-is-zero.patch create mode 100644 target/linux/at91/patches-5.10/241-clk-at91-clk-master-mask-mckr-against-layout-mask.patch create mode 100644 target/linux/at91/patches-5.10/242-clk-at91-clk-master-fix-prescaler-logic.patch create mode 100644 target/linux/at91/patches-5.10/243-clk-at91-clk-sam9x60-pll-add-notifier-for-div-part-o.patch create mode 100644 target/linux/at91/patches-5.10/244-clk-at91-clk-master-add-notifier-for-divider.patch create mode 100644 target/linux/at91/patches-5.10/245-clk-at91-sama7g5-remove-prescaler-part-of-master-clo.patch create mode 100644 target/linux/at91/patches-5.10/246-clk-at91-sama7g5-set-low-limit-for-mck0-at-32KHz.patch create mode 100644 target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch create mode 100644 target/linux/at91/patches-5.10/99-scripts-fix-compilation-error.patch create mode 100644 target/linux/at91/sam9x/config-default create mode 100644 target/linux/at91/sam9x/target.mk create mode 100644 target/linux/at91/sama5/config-default create mode 100644 target/linux/at91/sama5/target.mk create mode 100644 target/linux/at91/sama7/config-default create mode 100644 target/linux/at91/sama7/target.mk create mode 100644 target/linux/ath25/Makefile create mode 100644 target/linux/ath25/base-files/etc/board.d/01_leds create mode 100644 target/linux/ath25/base-files/etc/board.d/02_network create mode 100644 target/linux/ath25/base-files/lib/preinit/15_preinit_iface_atheros create mode 100644 target/linux/ath25/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ath25/config-5.10 create mode 100644 target/linux/ath25/files/drivers/net/phy/mvswitch.c create mode 100644 target/linux/ath25/files/drivers/net/phy/mvswitch.h create mode 100644 target/linux/ath25/image/Makefile create mode 100644 target/linux/ath25/patches-5.10/107-ar5312_gpio.patch create mode 100644 target/linux/ath25/patches-5.10/108-ar2315_gpio.patch create mode 100644 target/linux/ath25/patches-5.10/110-ar2313_ethernet.patch create mode 100644 target/linux/ath25/patches-5.10/120-spiflash.patch create mode 100644 target/linux/ath25/patches-5.10/130-watchdog.patch create mode 100644 target/linux/ath25/patches-5.10/140-redboot_boardconfig.patch create mode 100644 target/linux/ath25/patches-5.10/141-redboot_partition_scan.patch create mode 100644 target/linux/ath25/patches-5.10/142-redboot_various_erase_size_fix.patch create mode 100644 target/linux/ath25/patches-5.10/210-reset_button.patch create mode 100644 target/linux/ath25/patches-5.10/220-enet_micrel_workaround.patch create mode 100644 target/linux/ath25/patches-5.10/330-board_leds.patch create mode 100644 target/linux/ath25/patches-5.10/700-swconfig_mvswitch.patch create mode 100644 target/linux/ath25/profiles/00-default.mk create mode 100644 target/linux/ath79/Makefile create mode 100644 target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration create mode 100644 target/linux/ath79/config-5.10 create mode 100644 target/linux/ath79/dts/ar1022_iodata_wn-ag300dgr.dts create mode 100644 target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts create mode 100644 target/linux/ath79/dts/ar7100.dtsi create mode 100644 target/linux/ath79/dts/ar7100_mikrotik_routerboard-4xx.dtsi create mode 100644 target/linux/ath79/dts/ar7161_adtran_bsap1800-v2.dts create mode 100644 target/linux/ath79/dts/ar7161_adtran_bsap1840.dts create mode 100644 target/linux/ath79/dts/ar7161_adtran_bsap1880.dtsi create mode 100644 target/linux/ath79/dts/ar7161_aruba_ap-105.dts create mode 100644 target/linux/ath79/dts/ar7161_buffalo_wzr-600dhp.dts create mode 100644 target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts create mode 100644 target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dtsi create mode 100644 target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts create mode 100644 target/linux/ath79/dts/ar7161_jjplus_ja76pf2.dts create mode 100644 target/linux/ath79/dts/ar7161_meraki_mr16.dts create mode 100644 target/linux/ath79/dts/ar7161_mikrotik_routerboard-493g.dts create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndap360.dts create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndr.dtsi create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndr3700-v2.dts create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndr3700.dts create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndr3800.dts create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndr3800ch.dts create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndrmac-v1.dts create mode 100644 target/linux/ath79/dts/ar7161_netgear_wndrmac-v2.dts create mode 100644 target/linux/ath79/dts/ar7161_siemens_ws-ap3610.dts create mode 100644 target/linux/ath79/dts/ar7161_trendnet_tew-673gru.dts create mode 100644 target/linux/ath79/dts/ar7161_ubnt_routerstation-pro.dts create mode 100644 target/linux/ath79/dts/ar7161_ubnt_routerstation.dts create mode 100644 target/linux/ath79/dts/ar7161_ubnt_routerstation.dtsi create mode 100644 target/linux/ath79/dts/ar7240.dtsi create mode 100644 target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts create mode 100644 target/linux/ath79/dts/ar7240_dlink_dir-615-e4.dts create mode 100644 target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_netgear_wnr1000-v2.dts create mode 100644 target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dts create mode 100644 target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi create mode 100644 target/linux/ath79/dts/ar7240_on_n150r.dts create mode 100644 target/linux/ath79/dts/ar7240_openmesh_om2p-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink.dtsi create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa.dtsi create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa701nd-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa730re-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa801nd-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa830re-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wa901nd-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr.dtsi create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr740n-v3.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr741-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr743nd-v1.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr841-v5.dts create mode 100644 target/linux/ath79/dts/ar7240_tplink_tl-wr941-v4.dts create mode 100644 target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts create mode 100644 target/linux/ath79/dts/ar7241.dtsi create mode 100644 target/linux/ath79/dts/ar7241_netgear_wnr2000-v3.dts create mode 100644 target/linux/ath79/dts/ar7241_netgear_wnr2200-16m.dts create mode 100644 target/linux/ath79/dts/ar7241_netgear_wnr2200-8m.dts create mode 100644 target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi create mode 100644 target/linux/ath79/dts/ar7241_tplink.dtsi create mode 100644 target/linux/ath79/dts/ar7241_tplink_tl-mr3220-v1.dts create mode 100644 target/linux/ath79/dts/ar7241_tplink_tl-mr3420-v1.dts create mode 100644 target/linux/ath79/dts/ar7241_tplink_tl-mr3x20.dtsi create mode 100644 target/linux/ath79/dts/ar7241_tplink_tl-wr841-v7.dts create mode 100644 target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_airrouter.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_nanobridge-m.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_nanostation-m.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_picostation-m.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_powerbridge-m.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_rocket-m.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_unifi-ap-outdoor-plus.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_unifi.dts create mode 100644 target/linux/ath79/dts/ar7241_ubnt_unifi.dtsi create mode 100644 target/linux/ath79/dts/ar7242.dtsi create mode 100644 target/linux/ath79/dts/ar7242_avm_fritz300e.dts create mode 100644 target/linux/ath79/dts/ar7242_buffalo_bhr-4grv.dts create mode 100644 target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi create mode 100644 target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts create mode 100644 target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g450h.dts create mode 100644 target/linux/ath79/dts/ar7242_engenius_eap350-v1.dts create mode 100644 target/linux/ath79/dts/ar7242_engenius_ecb350-v1.dts create mode 100644 target/linux/ath79/dts/ar7242_meraki_mr12.dts create mode 100644 target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts create mode 100644 target/linux/ath79/dts/ar7242_ubnt_edgeswitch-5xp.dts create mode 100644 target/linux/ath79/dts/ar7242_ubnt_edgeswitch-8xp.dts create mode 100644 target/linux/ath79/dts/ar7242_ubnt_sw.dtsi create mode 100644 target/linux/ath79/dts/ar724x.dtsi create mode 100644 target/linux/ath79/dts/ar724x_senao_loader-4k.dtsi create mode 100644 target/linux/ath79/dts/ar724x_senao_loader-64k.dtsi create mode 100644 target/linux/ath79/dts/ar724x_ubnt_xm.dtsi create mode 100644 target/linux/ath79/dts/ar724x_ubnt_xm_outdoor.dtsi create mode 100644 target/linux/ath79/dts/ar9132.dtsi create mode 100644 target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh-rb.dts create mode 100644 target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh-s.dts create mode 100644 target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi create mode 100644 target/linux/ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts create mode 100644 target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts create mode 100644 target/linux/ath79/dts/ar9132_tplink_tl-wr941-v2.dts create mode 100644 target/linux/ath79/dts/ar9330.dtsi create mode 100644 target/linux/ath79/dts/ar9330_dlink_dir-505.dts create mode 100644 target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts create mode 100644 target/linux/ath79/dts/ar9330_openmesh_om2p-lc.dts create mode 100644 target/linux/ath79/dts/ar9330_openmesh_om2p-v2.dts create mode 100644 target/linux/ath79/dts/ar9330_openmesh_om2p.dtsi create mode 100644 target/linux/ath79/dts/ar9330_pqi_air-pen.dts create mode 100644 target/linux/ath79/dts/ar9330_ziking_cpe46b.dts create mode 100644 target/linux/ath79/dts/ar9331.dtsi create mode 100644 target/linux/ath79/dts/ar9331_8dev_carambola2.dts create mode 100644 target/linux/ath79/dts/ar9331_alfa-network_ap121f.dts create mode 100644 target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi create mode 100644 target/linux/ath79/dts/ar9331_alfa-network_ap121fe.dts create mode 100644 target/linux/ath79/dts/ar9331_arduino_yun.dts create mode 100644 target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts create mode 100644 target/linux/ath79/dts/ar9331_etactica_eg200.dts create mode 100644 target/linux/ath79/dts/ar9331_glinet_6408.dts create mode 100644 target/linux/ath79/dts/ar9331_glinet_6416.dts create mode 100644 target/linux/ath79/dts/ar9331_glinet_64xx.dtsi create mode 100644 target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts create mode 100644 target/linux/ath79/dts/ar9331_glinet_gl-usb150.dts create mode 100644 target/linux/ath79/dts/ar9331_hak5_lan-turtle.dts create mode 100644 target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi create mode 100644 target/linux/ath79/dts/ar9331_hak5_packet-squirrel.dts create mode 100644 target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts create mode 100644 target/linux/ath79/dts/ar9331_onion_omega.dts create mode 100644 target/linux/ath79/dts/ar9331_pisen_ts-d084.dts create mode 100644 target/linux/ath79/dts/ar9331_pisen_wmm003n.dts create mode 100644 target/linux/ath79/dts/ar9331_teltonika_rut230-v1.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-mr10u.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-mr3020-v1.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr703n.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v1.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v2.1.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr710n.dtsi create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v4.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr740n-v5.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi create mode 100644 target/linux/ath79/dts/ar9341.dtsi create mode 100644 target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts create mode 100644 target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts create mode 100644 target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v1.dts create mode 100644 target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v2.dts create mode 100644 target/linux/ath79/dts/ar9341_openmesh_om2p-hs-v3.dts create mode 100644 target/linux/ath79/dts/ar9341_openmesh_om2p-hs.dtsi create mode 100644 target/linux/ath79/dts/ar9341_pcs_cr3000.dts create mode 100644 target/linux/ath79/dts/ar9341_pisen_wmb001n.dts create mode 100644 target/linux/ath79/dts/ar9341_tplink.dtsi create mode 100644 target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts create mode 100644 target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi create mode 100644 target/linux/ath79/dts/ar9341_tplink_tl-wa850re-v1.dts create mode 100644 target/linux/ath79/dts/ar9341_tplink_tl-wa860re-v1.dts create mode 100644 target/linux/ath79/dts/ar9341_tplink_tl-wa901nd-v3.dts create mode 100644 target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts create mode 100644 target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts create mode 100644 target/linux/ath79/dts/ar9342_iodata_etg3-r.dts create mode 100644 target/linux/ath79/dts/ar9342_mikrotik_routerboard-912uag-2hpnd.dts create mode 100644 target/linux/ath79/dts/ar9342_ruckus_zf7321.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_aircube-ac.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_bullet-ac.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_bullet-m-xw.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_lap-120.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_litebeam-ac-gen2.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac-gen2.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_nanobeam-m5-xw.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_nanostation-ac-loco.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_nanostation-ac.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_nanostation-loco-m-xw.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_nanostation-m-xw.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_powerbeam-5ac-gen2.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_powerbeam-m5-xw.dts create mode 100644 target/linux/ath79/dts/ar9342_ubnt_wa.dtsi create mode 100644 target/linux/ath79/dts/ar9342_ubnt_wa_1port.dtsi create mode 100644 target/linux/ath79/dts/ar9342_ubnt_wa_2port.dtsi create mode 100644 target/linux/ath79/dts/ar9342_ubnt_xw.dtsi create mode 100644 target/linux/ath79/dts/ar9344.dtsi create mode 100644 target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts create mode 100644 target/linux/ath79/dts/ar9344_alfa-network_n5q.dts create mode 100644 target/linux/ath79/dts/ar9344_araknis_an-300-ap-i-n.dts create mode 100644 target/linux/ath79/dts/ar9344_atheros_db120.dts create mode 100644 target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts create mode 100644 target/linux/ath79/dts/ar9344_compex_wpj344-16m.dts create mode 100644 target/linux/ath79/dts/ar9344_devolo_dlan-pro-1200plus-ac.dts create mode 100644 target/linux/ath79/dts/ar9344_devolo_dlan_wifi.dtsi create mode 100644 target/linux/ath79/dts/ar9344_devolo_magic-2-wifi.dts create mode 100644 target/linux/ath79/dts/ar9344_dlink_dir-825-c1.dts create mode 100644 target/linux/ath79/dts/ar9344_dlink_dir-835-a1.dts create mode 100644 target/linux/ath79/dts/ar9344_dlink_dir-8x5.dtsi create mode 100644 target/linux/ath79/dts/ar9344_embeddedwireless_balin.dts create mode 100644 target/linux/ath79/dts/ar9344_engenius_eap600.dts create mode 100644 target/linux/ath79/dts/ar9344_engenius_ecb600.dts create mode 100644 target/linux/ath79/dts/ar9344_engenius_exx600.dtsi create mode 100644 target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts create mode 100644 target/linux/ath79/dts/ar9344_mercury_mw4530r-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi create mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts create mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi create mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts create mode 100644 target/linux/ath79/dts/ar9344_netgear_r6100.dts create mode 100644 target/linux/ath79/dts/ar9344_netgear_wndr.dtsi create mode 100644 target/linux/ath79/dts/ar9344_netgear_wndr3700-v4.dts create mode 100644 target/linux/ath79/dts/ar9344_netgear_wndr4300.dts create mode 100644 target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts create mode 100644 target/linux/ath79/dts/ar9344_netgear_wndr4300tn.dts create mode 100644 target/linux/ath79/dts/ar9344_netgear_wndr_usb.dtsi create mode 100644 target/linux/ath79/dts/ar9344_netgear_wndr_wan.dtsi create mode 100644 target/linux/ath79/dts/ar9344_ocedo_raccoon.dts create mode 100644 target/linux/ath79/dts/ar9344_openmesh_mr600-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_openmesh_mr600-v2.dts create mode 100644 target/linux/ath79/dts/ar9344_openmesh_mr600.dtsi create mode 100644 target/linux/ath79/dts/ar9344_openmesh_om5p-an.dts create mode 100644 target/linux/ath79/dts/ar9344_openmesh_om5p.dts create mode 100644 target/linux/ath79/dts/ar9344_pcs_cap324.dts create mode 100644 target/linux/ath79/dts/ar9344_pcs_cr5000.dts create mode 100644 target/linux/ath79/dts/ar9344_qihoo_c301.dts create mode 100644 target/linux/ath79/dts/ar9344_qxwlan_e750a-v4-16m.dts create mode 100644 target/linux/ath79/dts/ar9344_qxwlan_e750a-v4-8m.dts create mode 100644 target/linux/ath79/dts/ar9344_qxwlan_e750g-v8-16m.dts create mode 100644 target/linux/ath79/dts/ar9344_qxwlan_e750g-v8-8m.dts create mode 100644 target/linux/ath79/dts/ar9344_qxwlan_e750x.dtsi create mode 100644 target/linux/ath79/dts/ar9344_ruckus_zf7372.dts create mode 100644 target/linux/ath79/dts/ar9344_samsung_wam250.dts create mode 100644 target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts create mode 100644 target/linux/ath79/dts/ar9344_teltonika_rut955.dts create mode 100644 target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe.dtsi create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe210-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe220-v2.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe510-v2.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe510-v3.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe610-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe610-v2.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe_1port.dtsi create mode 100644 target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdr3500-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdr3600-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1-il.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdr4300-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdr4310-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wdrxxxx.dtsi create mode 100644 target/linux/ath79/dts/ar9344_tplink_tl-wr841hp-v2.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_wbs210-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_wbs210-v2.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_wbs510-v1.dts create mode 100644 target/linux/ath79/dts/ar9344_tplink_wbs510-v2.dts create mode 100644 target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts create mode 100644 target/linux/ath79/dts/ar9344_wd_mynet-n600.dts create mode 100644 target/linux/ath79/dts/ar9344_wd_mynet-n750.dts create mode 100644 target/linux/ath79/dts/ar9344_wd_mynet-nxxx.dtsi create mode 100644 target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts create mode 100644 target/linux/ath79/dts/ar9344_winchannel_wb2000.dts create mode 100644 target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts create mode 100644 target/linux/ath79/dts/ar934x.dtsi create mode 100644 target/linux/ath79/dts/ar934x_ruckus_zf73xx.dtsi create mode 100644 target/linux/ath79/dts/ar934x_senao_loader.dtsi create mode 100644 target/linux/ath79/dts/ath79.dtsi create mode 100644 target/linux/ath79/dts/qca9531_8dev_lima.dts create mode 100644 target/linux/ath79/dts/qca9531_alfa-network_n2q.dts create mode 100644 target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts create mode 100644 target/linux/ath79/dts/qca9531_alfa-network_r36a.dts create mode 100644 target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi create mode 100644 target/linux/ath79/dts/qca9531_alfa-network_tube-2hq.dts create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e5.dts create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts create mode 100644 target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts create mode 100644 target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts create mode 100644 target/linux/ath79/dts/qca9531_dlink_dch-g020-a1.dts create mode 100644 target/linux/ath79/dts/qca9531_engenius_ews511ap.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar300m-lite.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nand.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar300m-nor.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar300m16.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-e750.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-x300b.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-x750.dts create mode 100644 target/linux/ath79/dts/qca9531_glinet_gl-xe300.dts create mode 100644 target/linux/ath79/dts/qca9531_joyit_jt-or750i.dts create mode 100644 target/linux/ath79/dts/qca9531_letv_lba-047-ch.dts create mode 100644 target/linux/ath79/dts/qca9531_mikrotik_routerboard-951ui-2nd.dts create mode 100644 target/linux/ath79/dts/qca9531_qxwlan_e600g-v2-16m.dts create mode 100644 target/linux/ath79/dts/qca9531_qxwlan_e600g-v2-8m.dts create mode 100644 target/linux/ath79/dts/qca9531_qxwlan_e600g.dtsi create mode 100644 target/linux/ath79/dts/qca9531_qxwlan_e600gac-v2-16m.dts create mode 100644 target/linux/ath79/dts/qca9531_qxwlan_e600gac-v2-8m.dts create mode 100644 target/linux/ath79/dts/qca9531_telco_t1.dts create mode 100644 target/linux/ath79/dts/qca9531_tplink_archer-d50-v1.dts create mode 100644 target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts create mode 100644 target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts create mode 100644 target/linux/ath79/dts/qca9531_tplink_tl-wr810n-v1.dts create mode 100644 target/linux/ath79/dts/qca9531_tplink_tl-wr902ac-v1.dts create mode 100644 target/linux/ath79/dts/qca9531_wallys_dr531.dts create mode 100644 target/linux/ath79/dts/qca9531_yuncore_a770.dts create mode 100644 target/linux/ath79/dts/qca9533_comfast_cf-e110n-v2.dts create mode 100644 target/linux/ath79/dts/qca9533_dlink_dap-1330-a1.dts create mode 100644 target/linux/ath79/dts/qca9533_dlink_dap-1365-a1.dts create mode 100644 target/linux/ath79/dts/qca9533_dlink_dap-13xx.dtsi create mode 100644 target/linux/ath79/dts/qca9533_dlink_dap-2230-a1.dts create mode 100644 target/linux/ath79/dts/qca9533_dlink_dap-3320-a1.dts create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-16m.dtsi create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-952ui-5ac2nd.dts create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-95x.dtsi create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-lhg-2nd.dts create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-lhg-hb.dtsi create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-map-2nd.dts create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-mapl-2nd.dts create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-wap-2nd.dts create mode 100644 target/linux/ath79/dts/qca9533_mikrotik_routerboard-wapr-2nd.dts create mode 100644 target/linux/ath79/dts/qca9533_openmesh_om2p-hs-v4.dts create mode 100644 target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dts create mode 100644 target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi create mode 100644 target/linux/ath79/dts/qca9533_plasmacloud_pa300.dts create mode 100644 target/linux/ath79/dts/qca9533_plasmacloud_pa300.dtsi create mode 100644 target/linux/ath79/dts/qca9533_plasmacloud_pa300e.dts create mode 100644 target/linux/ath79/dts/qca9533_qca_ap143-16m.dts create mode 100644 target/linux/ath79/dts/qca9533_qca_ap143-8m.dts create mode 100644 target/linux/ath79/dts/qca9533_qca_ap143.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_cpe210-v2.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_cpe210-v3.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_cpe210.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_cpe220-v3.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_cpexxx.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wa801nd-v3.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wa801nd-v4.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wa801nd.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wa850re-v2.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr802n-v1.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr802n-v2.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr810n-v2.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841-v10.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841-v12.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841-v9.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr841hp-v3.dts create mode 100644 target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts create mode 100644 target/linux/ath79/dts/qca9533_ubnt_aircube-isp.dts create mode 100644 target/linux/ath79/dts/qca9533_yuncore_a930.dts create mode 100644 target/linux/ath79/dts/qca953x.dtsi create mode 100644 target/linux/ath79/dts/qca953x_dlink_dap-2xxx.dtsi create mode 100644 target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi create mode 100644 target/linux/ath79/dts/qca9550_airtight_c-75.dts create mode 100644 target/linux/ath79/dts/qca9556_avm_fritz-repeater.dtsi create mode 100644 target/linux/ath79/dts/qca9556_avm_fritz1750e.dts create mode 100644 target/linux/ath79/dts/qca9556_avm_fritz450e.dts create mode 100644 target/linux/ath79/dts/qca9556_avm_fritzdvbc.dts create mode 100644 target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts create mode 100644 target/linux/ath79/dts/qca9557_8dev_rambutan.dts create mode 100644 target/linux/ath79/dts/qca9557_araknis_an-500-ap-i-ac.dts create mode 100644 target/linux/ath79/dts/qca9557_buffalo_bhr-4grv2.dts create mode 100644 target/linux/ath79/dts/qca9557_dlink_dap-2660-a1.dts create mode 100644 target/linux/ath79/dts/qca9557_dongwon_dw02-412h-128m.dts create mode 100644 target/linux/ath79/dts/qca9557_dongwon_dw02-412h-64m.dts create mode 100644 target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi create mode 100644 target/linux/ath79/dts/qca9557_engenius_eap1200h.dts create mode 100644 target/linux/ath79/dts/qca9557_engenius_ecb1200.dts create mode 100644 target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts create mode 100644 target/linux/ath79/dts/qca9557_extreme-networks_ws-ap3805i.dts create mode 100644 target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi create mode 100644 target/linux/ath79/dts/qca9557_iodata_wn-ac1167dgr.dts create mode 100644 target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr.dts create mode 100644 target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr2.dts create mode 100644 target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts create mode 100644 target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts create mode 100644 target/linux/ath79/dts/qca9558_araknis_an-700-ap-i-ac.dts create mode 100644 target/linux/ath79/dts/qca9558_belkin_f9j1108-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_belkin_f9k1115-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi create mode 100644 target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_comfast_cf-wr650ac-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_comfast_cf-wr650ac.dtsi create mode 100644 target/linux/ath79/dts/qca9558_compex_wpj558-16m.dts create mode 100644 target/linux/ath79/dts/qca9558_devolo_dvl1200e.dts create mode 100644 target/linux/ath79/dts/qca9558_devolo_dvl1200i.dts create mode 100644 target/linux/ath79/dts/qca9558_devolo_dvl1750c.dts create mode 100644 target/linux/ath79/dts/qca9558_devolo_dvl1750e.dts create mode 100644 target/linux/ath79/dts/qca9558_devolo_dvl1750i.dts create mode 100644 target/linux/ath79/dts/qca9558_devolo_dvl1750x.dts create mode 100644 target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-2695-a1.dts create mode 100644 target/linux/ath79/dts/qca9558_dlink_dap-3662-a1.dts create mode 100644 target/linux/ath79/dts/qca9558_domywifi_dw33d.dts create mode 100644 target/linux/ath79/dts/qca9558_engenius_ecb1750.dts create mode 100644 target/linux/ath79/dts/qca9558_engenius_epg5000.dts create mode 100644 target/linux/ath79/dts/qca9558_jjplus_jwap230.dts create mode 100644 target/linux/ath79/dts/qca9558_librerouter_librerouter-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_linksys_ea4500-v3.dts create mode 100644 target/linux/ath79/dts/qca9558_mikrotik_routerboard-921gs-5hpacd-15s.dts create mode 100644 target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts create mode 100644 target/linux/ath79/dts/qca9558_mikrotik_routerboard-92x.dtsi create mode 100644 target/linux/ath79/dts/qca9558_mikrotik_routerboard-962uigs-5hact2hnt.dts create mode 100644 target/linux/ath79/dts/qca9558_mikrotik_routerboard-96x.dtsi create mode 100644 target/linux/ath79/dts/qca9558_netgear_ex6400.dts create mode 100644 target/linux/ath79/dts/qca9558_netgear_ex7300.dts create mode 100644 target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi create mode 100644 target/linux/ath79/dts/qca9558_ocedo_koala.dts create mode 100644 target/linux/ath79/dts/qca9558_ocedo_ursus.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_a40.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_a60.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_a60.dtsi create mode 100644 target/linux/ath79/dts/qca9558_openmesh_mr.dtsi create mode 100644 target/linux/ath79/dts/qca9558_openmesh_mr1750-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_mr1750-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_mr900-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_mr900-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_qxwlan_e558-v2-16m.dts create mode 100644 target/linux/ath79/dts/qca9558_qxwlan_e558-v2-8m.dts create mode 100644 target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi create mode 100644 target/linux/ath79/dts/qca9558_sitecom_wlr-8100.dts create mode 100644 target/linux/ath79/dts/qca9558_sophos_ap.dtsi create mode 100644 target/linux/ath79/dts/qca9558_sophos_ap100.dts create mode 100644 target/linux/ath79/dts/qca9558_sophos_ap100c.dts create mode 100644 target/linux/ath79/dts/qca9558_sophos_ap55.dts create mode 100644 target/linux/ath79/dts/qca9558_sophos_ap55c.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-c.dtsi create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-c5-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-d7.dtsi create mode 100644 target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_re350k-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_re355-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_re450-v1.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi create mode 100644 target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd-v3.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi create mode 100644 target/linux/ath79/dts/qca9558_tplink_tl-wr1045nd-v2.dts create mode 100644 target/linux/ath79/dts/qca9558_tplink_tl-wr941n-v7-cn.dts create mode 100644 target/linux/ath79/dts/qca9558_trendnet_tew-823dru.dts create mode 100644 target/linux/ath79/dts/qca9558_ubnt_nanobeam-ac-xc.dts create mode 100644 target/linux/ath79/dts/qca9558_ubnt_powerbeam-5ac-500.dts create mode 100644 target/linux/ath79/dts/qca9558_ubnt_rocket-5ac-lite.dts create mode 100644 target/linux/ath79/dts/qca9558_zyxel_emg2926_q10a.dts create mode 100644 target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts create mode 100644 target/linux/ath79/dts/qca955x.dtsi create mode 100644 target/linux/ath79/dts/qca955x_dlink_dap-2xxx.dtsi create mode 100644 target/linux/ath79/dts/qca955x_engenius_ecb1xxx.dtsi create mode 100644 target/linux/ath79/dts/qca955x_senao_loader.dtsi create mode 100644 target/linux/ath79/dts/qca955x_ubnt_xc.dtsi create mode 100644 target/linux/ath79/dts/qca955x_zyxel_nbg6x16.dtsi create mode 100644 target/linux/ath79/dts/qca9561_avm_fritz4020.dts create mode 100644 target/linux/ath79/dts/qca9561_nec_wf1200cr.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c5x.dtsi create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts create mode 100644 target/linux/ath79/dts/qca9561_tplink_archer-c6x.dtsi create mode 100644 target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts create mode 100644 target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts create mode 100644 target/linux/ath79/dts/qca9563_asus_rp-ac66.dts create mode 100644 target/linux/ath79/dts/qca9563_comfast_cf-e375ac.dts create mode 100644 target/linux/ath79/dts/qca9563_compex_wpj563.dts create mode 100644 target/linux/ath79/dts/qca9563_dlink_dir-842-c.dtsi create mode 100644 target/linux/ath79/dts/qca9563_dlink_dir-842-c1.dts create mode 100644 target/linux/ath79/dts/qca9563_dlink_dir-842-c2.dts create mode 100644 target/linux/ath79/dts/qca9563_dlink_dir-842-c3.dts create mode 100644 target/linux/ath79/dts/qca9563_dlink_dir-859-a1.dts create mode 100644 target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts create mode 100644 target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts create mode 100644 target/linux/ath79/dts/qca9563_elecom_wrc-ghbk2-i.dtsi create mode 100644 target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor-nand.dts create mode 100644 target/linux/ath79/dts/qca9563_glinet_gl-ar750s-nor.dts create mode 100644 target/linux/ath79/dts/qca9563_glinet_gl-ar750s.dtsi create mode 100644 target/linux/ath79/dts/qca9563_nec_wg1200cr.dts create mode 100644 target/linux/ath79/dts/qca9563_nec_wg800hp.dts create mode 100644 target/linux/ath79/dts/qca9563_netgear_wndr.dtsi create mode 100644 target/linux/ath79/dts/qca9563_netgear_wndr4300-v2.dts create mode 100644 target/linux/ath79/dts/qca9563_netgear_wndr4500-v3.dts create mode 100644 target/linux/ath79/dts/qca9563_phicomm_k2t.dts create mode 100644 target/linux/ath79/dts/qca9563_qxwlan_e1700ac-v2-16m.dts create mode 100644 target/linux/ath79/dts/qca9563_qxwlan_e1700ac-v2-8m.dts create mode 100644 target/linux/ath79/dts/qca9563_qxwlan_e1700ac.dtsi create mode 100644 target/linux/ath79/dts/qca9563_rosinson_wr818.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-a7-v5.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-c2-v3.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-c6-v2-us.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-c6-v2.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-c7-v4.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-c7-v5.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-x6-v2.dtsi create mode 100644 target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi create mode 100644 target/linux/ath79/dts/qca9563_tplink_cpe710-v1.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_deco-m4r-v1.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v1.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_eap225-v1.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_eap225-v3.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_eap245-v1.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi create mode 100644 target/linux/ath79/dts/qca9563_tplink_re450-v2.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_re450-v3.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_re450.dtsi create mode 100644 target/linux/ath79/dts/qca9563_tplink_re455-v1.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wa1201-v2.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wpa8630-v1.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wpa8630.dtsi create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2-int.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.0-eu.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wpa8630p-v2.1-eu.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wr1043n-v5.dts create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wr1043n.dtsi create mode 100644 target/linux/ath79/dts/qca9563_tplink_tl-wr1043nd-v4.dts create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dts create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dtsi create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac-lr.dts create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac-mesh-pro.dts create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac-mesh.dts create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac-pro.dts create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac-pro.dtsi create mode 100644 target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi create mode 100644 target/linux/ath79/dts/qca9563_xiaomi_aiot-ac2350.dts create mode 100644 target/linux/ath79/dts/qca9563_yuncore_a782.dts create mode 100644 target/linux/ath79/dts/qca9563_yuncore_xd3200.dts create mode 100644 target/linux/ath79/dts/qca9563_yuncore_xd4200.dts create mode 100644 target/linux/ath79/dts/qca9563_yuncore_xd4200.dtsi create mode 100644 target/linux/ath79/dts/qca9563_zte_mf281.dts create mode 100644 target/linux/ath79/dts/qca9563_zte_mf286.dts create mode 100644 target/linux/ath79/dts/qca9563_zte_mf286.dtsi create mode 100644 target/linux/ath79/dts/qca9563_zte_mf286a.dts create mode 100644 target/linux/ath79/dts/qca9563_zte_mf286ar.dtsi create mode 100644 target/linux/ath79/dts/qca9563_zte_mf286r.dts create mode 100644 target/linux/ath79/dts/qca956x.dtsi create mode 100644 target/linux/ath79/dts/qcn5502_netgear_ex7300-v2.dts create mode 100644 target/linux/ath79/dts/qcn5502_tplink_archer-a9-v6.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wa901nd-v4.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wa901nd-v5.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wa901nd.dtsi create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v3.dtsi create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v4.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wr941hp-v1.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wr941nd-v6.dts create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wr94x.dtsi create mode 100644 target/linux/ath79/dts/tp9343_tplink_tl-wx.dtsi create mode 100644 target/linux/ath79/files/arch/mips/include/asm/fw/myloader/myloader.h create mode 100644 target/linux/ath79/files/drivers/gpio/gpio-latch.c create mode 100644 target/linux/ath79/files/drivers/gpio/gpio-rb4xx.c create mode 100644 target/linux/ath79/files/drivers/gpio/gpio-rb91x-key.c create mode 100644 target/linux/ath79/files/drivers/mfd/rb4xx-cpld.c create mode 100644 target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c create mode 100644 target/linux/ath79/files/drivers/mtd/nand/raw/nand_rb4xx.c create mode 100644 target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c create mode 100644 target/linux/ath79/files/drivers/mtd/parsers/parser_cybertan.c create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/Kconfig create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/Makefile create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_debugfs.c create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_gmac.c create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c create mode 100644 target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c create mode 100644 target/linux/ath79/files/include/mfd/rb4xx-cpld.h create mode 100644 target/linux/ath79/generic/base-files/etc/board.d/01_leds create mode 100644 target/linux/ath79/generic/base-files/etc/board.d/02_network create mode 100644 target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom create mode 100644 target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata create mode 100644 target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac create mode 100755 target/linux/ath79/generic/base-files/etc/init.d/bootcount create mode 100644 target/linux/ath79/generic/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ath79/generic/base-files/etc/uci-defaults/05_fix-compat-version create mode 100644 target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum create mode 100644 target/linux/ath79/generic/base-files/lib/functions/k2t.sh create mode 100644 target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh create mode 100644 target/linux/ath79/generic/base-files/lib/upgrade/dualboot_datachk.sh create mode 100644 target/linux/ath79/generic/base-files/lib/upgrade/failsafe_datachk.sh create mode 100644 target/linux/ath79/generic/base-files/lib/upgrade/openmesh.sh create mode 100644 target/linux/ath79/generic/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ath79/generic/base-files/lib/upgrade/redboot-fis.sh create mode 100644 target/linux/ath79/generic/config-default create mode 100644 target/linux/ath79/generic/target.mk create mode 100644 target/linux/ath79/image/Makefile create mode 100644 target/linux/ath79/image/bin/pisen_wmb001n_factory-header.bin create mode 100644 target/linux/ath79/image/common-buffalo.mk create mode 100644 target/linux/ath79/image/common-mikrotik.mk create mode 100644 target/linux/ath79/image/common-netgear.mk create mode 100644 target/linux/ath79/image/common-senao.mk create mode 100644 target/linux/ath79/image/common-tp-link.mk create mode 100644 target/linux/ath79/image/common-ubnt.mk create mode 100644 target/linux/ath79/image/common-yuncore.mk create mode 100644 target/linux/ath79/image/generic-tp-link.mk create mode 100644 target/linux/ath79/image/generic-ubnt.mk create mode 100644 target/linux/ath79/image/generic.mk create mode 100644 target/linux/ath79/image/lzma-loader/Makefile create mode 100644 target/linux/ath79/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/ath79/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/ath79/image/lzma-loader/src/LzmaTypes.h create mode 100644 target/linux/ath79/image/lzma-loader/src/Makefile create mode 100644 target/linux/ath79/image/lzma-loader/src/ar71xx_regs.h create mode 100644 target/linux/ath79/image/lzma-loader/src/board.c create mode 100644 target/linux/ath79/image/lzma-loader/src/cache.c create mode 100644 target/linux/ath79/image/lzma-loader/src/cache.h create mode 100644 target/linux/ath79/image/lzma-loader/src/cacheops.h create mode 100644 target/linux/ath79/image/lzma-loader/src/config.h create mode 100644 target/linux/ath79/image/lzma-loader/src/cp0regdef.h create mode 100644 target/linux/ath79/image/lzma-loader/src/head.S create mode 100644 target/linux/ath79/image/lzma-loader/src/loader.c create mode 100644 target/linux/ath79/image/lzma-loader/src/loader.lds create mode 100644 target/linux/ath79/image/lzma-loader/src/loader2.lds create mode 100644 target/linux/ath79/image/lzma-loader/src/lzma-data.lds create mode 100644 target/linux/ath79/image/lzma-loader/src/printf.c create mode 100644 target/linux/ath79/image/lzma-loader/src/printf.h create mode 100644 target/linux/ath79/image/mikrotik.mk create mode 100644 target/linux/ath79/image/nand.mk create mode 100644 target/linux/ath79/image/tiny-netgear.mk create mode 100644 target/linux/ath79/image/tiny-tp-link.mk create mode 100644 target/linux/ath79/image/tiny-ubnt.mk create mode 100644 target/linux/ath79/image/tiny.mk create mode 100644 target/linux/ath79/mikrotik/base-files/etc/board.d/01_leds create mode 100644 target/linux/ath79/mikrotik/base-files/etc/board.d/02_network create mode 100644 target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom create mode 100644 target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata create mode 100644 target/linux/ath79/mikrotik/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ath79/mikrotik/config-default create mode 100644 target/linux/ath79/mikrotik/target.mk create mode 100644 target/linux/ath79/modules.mk create mode 100644 target/linux/ath79/nand/base-files/etc/board.d/01_leds create mode 100644 target/linux/ath79/nand/base-files/etc/board.d/02_network create mode 100644 target/linux/ath79/nand/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom create mode 100644 target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata create mode 100644 target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac create mode 100755 target/linux/ath79/nand/base-files/etc/init.d/bootcount create mode 100644 target/linux/ath79/nand/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh create mode 100644 target/linux/ath79/nand/base-files/lib/upgrade/glinet.sh create mode 100644 target/linux/ath79/nand/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ath79/nand/config-default create mode 100644 target/linux/ath79/nand/target.mk create mode 100644 target/linux/ath79/patches-5.10/0003-leds-add-reset-controller-based-driver.patch create mode 100644 target/linux/ath79/patches-5.10/0004-phy-add-ath79-usb-phys.patch create mode 100644 target/linux/ath79/patches-5.10/0005-usb-add-more-OF-quirk-properties.patch create mode 100644 target/linux/ath79/patches-5.10/0007-irqchip-irq-ath79-intc-add-irq-cascade-driver-for-QC.patch create mode 100644 target/linux/ath79/patches-5.10/0008-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch create mode 100644 target/linux/ath79/patches-5.10/0017-dt-bindings-PCI-qcom-ar7100-adds-binding-doc.patch create mode 100644 target/linux/ath79/patches-5.10/0018-MIPS-pci-ar71xx-convert-to-OF.patch create mode 100644 target/linux/ath79/patches-5.10/0019-dt-bindings-PCI-qcom-ar7240-adds-binding-doc.patch create mode 100644 target/linux/ath79/patches-5.10/0020-MIPS-pci-ar724x-convert-to-OF.patch create mode 100644 target/linux/ath79/patches-5.10/0032-MIPS-ath79-sanitize-symbols.patch create mode 100644 target/linux/ath79/patches-5.10/0033-spi-ath79-drop-pdata-support.patch create mode 100644 target/linux/ath79/patches-5.10/0034-MIPS-ath79-ath9k-exports.patch create mode 100644 target/linux/ath79/patches-5.10/0036-MIPS-ath79-remove-irq-code-from-pci.patch create mode 100644 target/linux/ath79/patches-5.10/0037-missing-registers.patch create mode 100644 target/linux/ath79/patches-5.10/0038-MIPS-ath79-add-missing-QCA955x-GMAC-registers.patch create mode 100644 target/linux/ath79/patches-5.10/0039-MIPS-ath79-export-UART1-reference-clock.patch create mode 100644 target/linux/ath79/patches-5.10/004-register_gpio_driver_earlier.patch create mode 100644 target/linux/ath79/patches-5.10/0040-ath79-sgmii-config.patch create mode 100644 target/linux/ath79/patches-5.10/0052-mtd-spi-nor-use-4-bit-locking-for-MX25L12805D.patch create mode 100644 target/linux/ath79/patches-5.10/0062-MIPS-pci-ar724x-add-QCA9550-reset-sequence.patch create mode 100644 target/linux/ath79/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch create mode 100644 target/linux/ath79/patches-5.10/402-v5.17-spi-ar934x-fix-transfer-and-word-delays.patch create mode 100644 target/linux/ath79/patches-5.10/403-v5.17-spi-ar934x-fix-transfer-size.patch create mode 100644 target/linux/ath79/patches-5.10/404-mtd-cybertan-trx-parser.patch create mode 100644 target/linux/ath79/patches-5.10/408-mtd-redboot_partition_scan.patch create mode 100644 target/linux/ath79/patches-5.10/410-spi-ath79-Implement-the-spi_mem-interface.patch create mode 100644 target/linux/ath79/patches-5.10/412-spi-ath79-set-number-of-chipselect-lines.patch create mode 100644 target/linux/ath79/patches-5.10/420-net-use-downstream-ag71xx.patch create mode 100644 target/linux/ath79/patches-5.10/425-at803x-allow-sgmii-aneg-override.patch create mode 100644 target/linux/ath79/patches-5.10/430-drivers-link-spi-before-mtd.patch create mode 100644 target/linux/ath79/patches-5.10/440-mtd-ar934x-nand-driver.patch create mode 100644 target/linux/ath79/patches-5.10/470-MIPS-ath79-swizzle-pci-address-for-ar71xx.patch create mode 100644 target/linux/ath79/patches-5.10/900-mdio_bitbang_ignore_ta_value.patch create mode 100644 target/linux/ath79/patches-5.10/901-phy-mdio-bitbang-prevent-rescheduling-during-command.patch create mode 100644 target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch create mode 100644 target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch create mode 100644 target/linux/ath79/patches-5.10/930-ar8216-make-reg-access-atomic.patch create mode 100644 target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch create mode 100644 target/linux/ath79/patches-5.10/940-ath79-add-support-for-booting-QCN550x.patch create mode 100644 target/linux/ath79/tiny/base-files/etc/board.d/01_leds create mode 100644 target/linux/ath79/tiny/base-files/etc/board.d/02_network create mode 100644 target/linux/ath79/tiny/base-files/etc/board.d/05_compat-version create mode 100644 target/linux/ath79/tiny/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom create mode 100644 target/linux/ath79/tiny/base-files/etc/hotplug.d/firmware/11-ath10k-caldata create mode 100644 target/linux/ath79/tiny/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ath79/tiny/base-files/lib/upgrade/failsafe_datachk.sh create mode 100644 target/linux/ath79/tiny/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ath79/tiny/config-default create mode 100644 target/linux/ath79/tiny/target.mk create mode 100644 target/linux/bcm27xx/Makefile create mode 100644 target/linux/bcm27xx/base-files/etc/board.d/02_network create mode 100644 target/linux/bcm27xx/base-files/etc/diag.sh create mode 100644 target/linux/bcm27xx/base-files/etc/inittab create mode 100644 target/linux/bcm27xx/base-files/lib/preinit/05_set_preinit_iface_brcm2708 create mode 100644 target/linux/bcm27xx/base-files/lib/preinit/79_move_config create mode 100644 target/linux/bcm27xx/base-files/lib/upgrade/keep.d/platform create mode 100644 target/linux/bcm27xx/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bcm27xx/bcm2708/config-5.10 create mode 100644 target/linux/bcm27xx/bcm2708/target.mk create mode 100644 target/linux/bcm27xx/bcm2709/config-5.10 create mode 100644 target/linux/bcm27xx/bcm2709/target.mk create mode 100644 target/linux/bcm27xx/bcm2710/config-5.10 create mode 100644 target/linux/bcm27xx/bcm2710/target.mk create mode 100644 target/linux/bcm27xx/bcm2711/config-5.10 create mode 100644 target/linux/bcm27xx/bcm2711/target.mk create mode 100644 target/linux/bcm27xx/image/Makefile create mode 100644 target/linux/bcm27xx/image/cmdline.txt create mode 100644 target/linux/bcm27xx/image/config.txt create mode 100644 target/linux/bcm27xx/image/distroconfig.txt create mode 100755 target/linux/bcm27xx/image/gen_rpi_sdcard_img.sh create mode 100644 target/linux/bcm27xx/modules.mk create mode 100644 target/linux/bcm27xx/modules/hwmon.mk create mode 100644 target/linux/bcm27xx/modules/i2c.mk create mode 100644 target/linux/bcm27xx/modules/other.mk create mode 100644 target/linux/bcm27xx/modules/sound.mk create mode 100644 target/linux/bcm27xx/modules/spi.mk create mode 100644 target/linux/bcm27xx/modules/video.mk create mode 100644 target/linux/bcm27xx/patches-5.10/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0003-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0004-Revert-spi-spidev-Fix-CS-polarity-if-GPIO-descriptor.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0006-smsx95xx-fix-crimes-against-truesize.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0007-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0008-Allow-mac-address-to-be-set-in-smsc95xx.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0009-Protect-__release_resource-against-resources-without.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0010-irq-bcm2836-Avoid-Invalid-trigger-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0011-irqchip-bcm2835-Add-FIQ-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0012-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0013-spi-spidev-Completely-disable-the-spidev-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0014-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0015-firmware-Updated-mailbox-header.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0016-rtc-Add-SPI-alias-for-pcf2123-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0017-watchdog-bcm2835-Support-setting-reboot-partition.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0018-reboot-Use-power-off-rather-than-busy-spinning-when-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0019-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0020-Register-the-clocks-early-during-the-boot-process-so.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0021-bcm2835-rng-Avoid-initialising-if-already-enabled.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0022-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0023-clk-bcm2835-Add-claim-clocks-property.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0024-clk-bcm2835-Read-max-core-clock-from-firmware.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0025-sound-Demote-deferral-errors-to-INFO-level.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0026-Update-vfpmodule.c.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0027-i2c-bcm2835-Add-debug-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0028-mm-Remove-the-PFN-busy-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0029-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0031-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0032-amba_pl011-Round-input-clock-up.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0033-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0034-amba_pl011-Add-cts-event-workaround-DT-property.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0035-tty-amba-pl011-Make-TX-optimisation-conditional.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0037-tty-amba-pl011-Avoid-rare-write-when-full-error.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0038-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0039-Main-bcm2708-bcm2709-linux-port.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0040-Add-dwc_otg-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0041-bcm2708-framebuffer-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0042-Pulled-in-the-multi-frame-buffer-support-from-the-Pi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0043-fbdev-add-FBIOCOPYAREA-ioctl.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0044-Speed-up-console-framebuffer-imageblit-function.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0045-dmaengine-Add-support-for-BCM2708.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0046-MMC-added-alternative-MMC-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0047-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0048-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0049-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0050-Add-SMI-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0051-Add-Chris-Boot-s-i2c-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0052-char-broadcom-Add-vcio-module.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0053-firmware-bcm2835-Support-ARCH_BCM270x.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0054-BCM2708-Add-core-Device-Tree-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0055-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0056-Added-Device-IDs-for-August-DVB-T-205.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0057-Improve-__copy_to_user-and-__copy_from_user-performa.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0058-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0059-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0060-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0061-Fixes-a-problem-when-module-probes-before-i2c-module.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0062-rpi_display-add-backlight-driver-and-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0063-bcm2835-virtgpio-Virtual-GPIO-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0064-OF-DT-Overlay-configfs-interface.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0065-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0066-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0067-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0068-cache-export-clean-and-invalidate.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0069-AXI-performance-monitor-driver-2222.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0070-ARM-bcm2835-Set-Serial-number-and-Revision.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0071-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0072-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0073-raspberrypi-firmware-Export-the-general-transaction-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0074-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0075-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0076-lan78xx-Read-initial-EEE-status-from-DT.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0077-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0078-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0079-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0080-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0081-of-configfs-Use-of_overlay_fdt_apply-API-call.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0082-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0083-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0084-Add-rpi-poe-fan-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0085-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0086-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0087-firmware-raspberrypi-Add-backward-compatible-get_thr.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0088-sc16is7xx-Don-t-spin-if-no-data-received.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0089-drivers-thermal-step_wise-add-support-for-hysteresis.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0090-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0091-Update-issue-templates-2736.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0092-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0093-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0094-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0095-lan78xx-EEE-support-is-now-a-PHY-property.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0096-bcm2835-dma-Add-support-for-per-channel-flags.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0097-rtc-rv3028-Add-backup-switchover-mode-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0098-lan78xx-use-default-alignment-for-rx-buffers.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0099-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0100-media-ov5647-Add-support-for-PWDN-GPIO.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0101-media-ov5647-Add-support-for-non-continuous-clock-mo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0102-media-tc358743-Increase-FIFO-level-to-374.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0103-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0104-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0105-media-tc358743-Check-I2C-succeeded-during-probe.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0106-media-adv7180-Default-to-the-first-valid-input.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0107-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0108-media-videodev2-Add-helper-defines-for-printing-FOUR.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0109-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0110-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0111-media-tc358743-Return-an-appropriate-colorspace-from.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0112-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0113-staging-mmal-vchiq-Add-support-for-event-callbacks.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0114-staging-vc04_services-Support-sending-data-to-MMAL-p.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0115-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0116-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0117-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0118-media-ov5647-Use-gpiod_set_value_cansleep.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0119-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0120-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0121-staging-mmal-vchiq-Free-the-event-context-for-contro.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0122-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0123-w1-w1-gpio-Make-GPIO-an-output-for-strong-pullup.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0124-arm-bcm2835-Fix-FIQ-early-ioremap.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0125-arm-bcm2835-DMA-can-only-address-1GB.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0126-hwrng-iproc-rng200-Add-BCM2838-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0127-mmc-sdhci-iproc-Fix-vmmc-regulators-on-iProc.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0128-vchiq-Add-36-bit-address-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0129-bcm2835-pcm.c-Support-multichannel-audio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0130-bcmgenet-constrain-max-DMA-burst-length.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0131-bcmgenet-Better-coalescing-parameter-defaults.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0132-net-genet-enable-link-energy-detect-powerdown-for-ex.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0133-spi-bcm2835-enable-shared-interrupt-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0134-clk-bcm2835-Don-t-wait-for-pllh-lock.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0135-soc-bcm-bcm2835-pm-Add-support-for-2711.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0136-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0137-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0138-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0140-usbhid-call-usb_fixup_endpoint-after-mangling-interv.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0141-arm-bcm2835-Add-bcm2838-compatible-string.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0142-drm-v3d-Add-support-for-2711.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0143-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0144-drm-v3d-Hook-up-the-runtime-PM-ops.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0146-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0147-clk-bcm2835-Avoid-null-pointer-exception.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0148-drm-v3d-HACK-gut-runtime-pm-for-now.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0149-drm-v3d-Clock-V3D-down-when-not-in-use.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0150-drivers-char-add-chardev-for-mmap-ing-the-RPiVid-con.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0152-Add-HDMI1-facility-to-the-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0153-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0154-xhci-Use-more-event-ring-segment-table-entries.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0155-configs-arm64-bcm2711-Enable-V3D.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0156-arch-arm-Add-model-string-to-cpuinfo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0157-arch-arm64-Add-Revision-Serial-Model-to-cpuinfo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0158-media-dt-bindings-Add-binding-for-the-Sony-IMX219-se.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0159-v4l2-Add-a-Greyworld-AWB-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0160-staging-bcm2835-camera-Add-greyworld-AWB-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0161-drm-v3d-Delete-pm_runtime-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0162-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0163-ARM-bcm-Switch-board-clk-and-pinctrl-to-bcm2711-comp.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0164-Rename-HDMI-ALSA-device-names-check-for-enable-state.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0165-dt-bindings-Add-binding-for-the-Infineon-IRS1125-sen.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0166-media-i2c-Add-a-driver-for-the-Infineon-IRS1125-dept.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0167-drm-v3d-Don-t-clear-MMU-control-bits-on-exception.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0168-drm-v3d-Suppress-all-but-the-first-MMU-error.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0169-drm-v3d-Plug-dma_fence-leak.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0170-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0171-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0172-net-bcmgenet-The-second-IRQ-is-optional.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0173-net-phy-2711-Allow-ethernet-LED-mode-to-be-set-via-d.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0174-net-phy-2711-Change-the-default-ethernet-LED-actions.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0175-v3d_drv-Handle-missing-clock-more-gracefully.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0176-v3d_gem-Kick-the-clock-so-firmware-knows-we-are-usin.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0177-clk-raspberrypi-Allow-cpufreq-driver-to-also-adjust-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0178-clk-bcm2835-Disable-v3d-clock.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0179-drm-v3d-Set-dma_mask-as-well-as-coherent_dma_mask.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0180-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0181-staging-vchiq-Use-the-old-dma-controller-for-OF-conf.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0182-ARM-bcm-Backport-BCM2711-support-from-upstream.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0183-Initialise-rpi-firmware-before-clk-bcm2835.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0184-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0185-pinctrl-bcm2835-Remove-gpiochip-on-error.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0187-pinctrl-bcm2835-Accept-fewer-than-expected-IRQs.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0188-drivers-char-vcio-Use-common-compat-header.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0189-video-fbdev-bcm2708_fb-Use-common-compat-header.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0190-of-overlay-Correct-symbol-path-fixups.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0191-dt-bindings-pci-Add-DT-docs-for-Brcmstb-PCIe-device.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0192-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0193-bcmgenet-Disable-skip_umac_reset-by-default.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0195-media-uapi-hevc-Add-scaling-matrix-control.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0196-media-uapi-hevc-Add-segment-address-field.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0197-media-uapi-Add-hevc-ctrls-for-WPP-decoding.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0198-media-videodev2.h-Add-a-format-for-column-YUV4-2-0-m.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0199-media-dt-bindings-media-Add-binding-for-the-Raspberr.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0200-staging-media-Add-Raspberry-Pi-V4L2-H265-decoder.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0201-mmc-sdhci-Silence-MMC-warnings.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0202-dt-bindings-clock-Add-a-binding-for-the-RPi-Firmware.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0203-dt-bindings-display-vc4-hdmi-Add-BCM2711-HDMI-contro.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0204-drm-Checking-of-the-pitch-is-only-valid-for-linear-f.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0205-overlays-Fix-dtc-warnings-in-i2c-gpio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0206-driver-char-rpivid-Remove-legacy-name-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0207-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0208-driver-char-rpivid-Don-t-map-more-than-wanted.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0209-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0210-media-uapi-v4l2-core-Add-sensor-ancillary-data-V4L2-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0211-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0212-media-bcm2835-unicam-Add-support-for-mulitple-device.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0213-media-bcm2835-unicam-Add-embedded-data-node.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0214-media-bcm2835-unicam-Use-dummy-buffer-if-none-have-b.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0215-media-bcm2835-unicam-Disable-event-related-ioctls-on.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0216-media-bcm2835-unicam-Add-support-for-the-FRAME_SYNC-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0217-media-imx219-Advertise-embedded-data-node-on-media-p.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0218-media-bcm2835-unicam-Re-fetch-mbus-code-from-subdev-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0219-media-uapi-v4l2-core-Add-ISP-statistics-output-V4L2-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0220-media-uapi-v4l-ctrls-Add-CID-base-for-the-bcm2835-is.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0221-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0222-bcm2835-dma-Add-proper-40-bit-DMA-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0223-overlays-Make-the-i2c-gpio-overlay-safe-again.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0224-media-i2c-imx219-Declare-that-the-driver-can-create-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0225-media-ov5647-Fix-return-codes-from-ov5647_write-ov56.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0226-media-ov5647-Add-basic-support-for-multiple-sensor-m.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0227-media-ov5647-Add-V4L2-controls-for-analogue-gain-exp.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0228-media-ov5647-Add-extra-10-bit-sensor-modes.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0229-media-ov5647-change-defaults-to-better-match-raw-cam.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0230-media-i2c-ov5647-Add-support-for-g_selection-to-refl.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0231-media-i2c-ov5467-Fixup-error-path-to-release-mutex.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0232-media-i2c-ov5647-Support-V4L2_CID_PIXEL_RATE.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0233-media-i2c-ov5647-Set-V4L2_SUBDEV_FL_HAS_EVENTS-flag.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0234-media-i2c-ov5647-Add-support-for-V4L2_CID_VBLANK.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0235-media-i2c-ov5647-Neither-analogue-gain-nor-exposure-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0236-media-i2c-ov5647-Use-member-names-in-mode-tables.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0237-media-i2c-ov5647-Advertise-the-correct-exposure-rang.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0238-media-bcm2835-unicam-Add-support-for-VIDIOC_-S-G-_SE.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0239-media-bcm2835-unicam-Do-not-stop-streaming-in-unicam.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0240-media-bcm2835-unicam-Fix-reference-counting-in-unica.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0241-media-i2c-tc358743-Fix-fallthrough-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0242-media-bcm2835-unicam-Fix-uninitialized-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0243-video-bcm2708_fb-Disable-FB-if-no-displays-found.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0244-dt-bindings-media-i2c-Add-IMX477-CMOS-sensor-binding.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0245-media-bcm2835-unicam-Always-service-interrupts.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0247-staging-vc04_services-mmal-vchiq-Update-parameters-l.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0248-staging-vc04_services-bcm2835-camera-Request-headers.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0250-media-bcm2835-unicam-Retain-packing-information-on-G.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0251-zswap-Defer-zswap-initialisation.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0252-SQUASH-pinctrl-bcm2835-Set-base-for-bcm2711-GPIO-to-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0253-staging-vchiq_arm-Clean-up-40-bit-DMA-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0254-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0255-snd_bcm2835-disable-HDMI-audio-when-vc4-is-used-3640.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0256-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0257-PCI-brcmstb-Add-DT-property-to-control-L1SS.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0258-media-irs1125-Using-i2c_transfer-for-ic2-reads.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0259-media-irs1125-Refactoring-and-debug-messages.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0260-media-irs1125-Atomic-access-to-imager-reconfiguratio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0261-media-irs1125-Keep-HW-in-sync-after-imager-reset.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0262-staging-bcm2835-audio-Add-missing-MODULE_ALIAS.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0263-drivers-media-Remove-the-downstream-version-of-bcm28.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0264-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0265-media-bcm2835-unicam-Add-support-for-get_mbus_config.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0266-media-bcm2835-unicam-Avoid-gcc-warning-over-0-on-end.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0267-media-i2c-imx290-set-the-format-before-VIDIOC_SUBDEV.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0268-media-i2c-imx290-Add-support-for-74.25MHz-clock.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0269-media-i2c-imx290-Correct-range-for-V4L2_CID_GAIN-to-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0270-media-i2c-imx290-Convert-HMAX-setting-into-V4L2_CID_.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0271-media-i2c-imx290-Add-support-for-V4L2_CID_VBLANK.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0272-media-i2c-imx290-Add-exposure-control-to-the-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0273-media-i2c-imx290-Add-H-and-V-flip-controls.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0274-media-dt-bindings-media-i2c-Add-mono-version-to-IMX2.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0275-media-i2c-imx290-Add-support-for-the-mono-sensor-var.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0276-media-i2c-imx290-Switch-set_hmax-to-use-imx290_write.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0277-serial-8250-bcm2835aux-defer-if-clock-is-zero.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0278-media-Add-a-pixel-format-for-MIPI-packed-12bit-luma-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0279-media-Add-a-pixel-format-for-MIPI-packed-14bit-luma-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0280-media-bcm2835-unicam-Add-support-for-12bit-mono-pack.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0281-media-bcm2835-unicam-Add-support-for-14bit-mono-sour.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0282-media-bcm2835-unicam-Add-support-for-unpacked-14bit-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0283-bcm2835-dma-Add-NO_WAIT_RESP-flag.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0284-media-i2c-add-ov9281-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0285-media-i2c-ov9281-fix-mclk-issue-when-probe-multiple-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0286-media-i2c-ov9281-add-enum_frame_interval-function-fo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0287-media-i2c-ov9281-Fixup-for-recent-kernel-releases-an.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0288-media-i2c-ov9281-Read-chip-ID-via-2-reads.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0289-media-i2c-imx290-Explicitly-set-v-h-blank-on-mode-ch.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0290-media-i2c-imx290-Add-support-for-g_selection-to-repo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0291-media-i2c-imx290-Set-the-colorspace-fields-in-the-fo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0292-media-bcm2835-unicam-Reinstate-V4L2_CAP_READWRITE-in.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0293-media-bcm2835-unicam-Ensure-type-is-VIDEO_CAPTURE-in.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0294-media-bcm2835-unicam-Set-VPU-min-clock-freq-to-250Mh.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0295-dt-bindings-bcm2835-unicam-Update-documentation-with.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0296-media-i2c-ov5647-Parse-and-register-properties.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0297-leds-Add-the-actpwr-trigger.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0298-staging-vchiq_arm-children-inherit-DMA-config.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0299-bcm2835-dma-Advertise-the-full-DMA-range.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0300-ARM-proc-v7-Force-misalignment-of-early-stmia.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0301-media-bcm2835-unicam-Select-MEDIA_CONTROLLER-and-VID.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0302-staging-media-rpivid-Select-MEDIA_CONTROLLER-and-MED.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0303-media-bcm2835-unicam-Drop-WARN-on-uing-direct-cache-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0304-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0305-media-i2c-ov9281-Add-support-for-8-bit-readout.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0306-bcm2835-mmc-uninitialized_var-is-no-more.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0307-dwc_otg-whitelist_table-is-now-productlist_table.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0308-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0309-include-firmware-Add-enum-for-RPI_FIRMWARE_FRAMEBUFF.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0319-drm-vc4-Add-support-for-DRM_FORMAT_P030-to-vc4-plane.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0320-drm-vc4-Add-support-for-YUV-color-encodings-and-rang.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0321-drm-vc4-Add-firmware-kms-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0322-drm-vc4-Add-FKMS-as-an-acceptable-node-for-dma-range.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0323-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0324-media-i2c-imx477-Add-support-for-adaptive-frame-cont.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0325-media-i2c-imx477-Return-correct-result-on-sensor-id-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0326-media-i2c-imx477-Parse-and-register-properties.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0327-media-bcm2835-unicam-Always-service-interrupts.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0328-media-bcm2835-unicam-Fix-uninitialized-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0329-media-bcm2835-unicam-Fixup-review-comments-from-Hans.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0330-media-bcm2835-unicam-Retain-packing-information-on-G.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0331-media-bcm2835-unicam-change-minimum-number-of-vb2_qu.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0333-rpivid_h265-Fix-width-height-typo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0334-net-bcmgenet-Reset-RBUF-on-first-open.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0335-char-Add-broadcom-char-drivers-back-to-build-files.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0336-dwc_otg-initialise-sched_frame-for-periodic-QHs-that.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0337-staging-bcm2835-camera-Replace-deprecated-V4L2_PIX_F.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0338-staging-vc04_services-Add-new-vc-sm-cma-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0339-staging-vchiq-mmal-Add-support-for-14bit-Bayer.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0340-staging-mmal-vchiq-Add-monochrome-image-formats.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0341-staging-mmal-vchiq-Use-vc-sm-cma-to-support-zero-cop.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0342-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0343-bcm2835-dma-only-reserve-channel-0-if-legacy-dma-dri.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0344-uapi-bcm2835-isp-Add-bcm2835-isp-uapi-header-file.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0345-staging-vc04_services-ISP-Add-a-more-complex-ISP-pro.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0347-drm-vc4-Add-debugfs-node-that-dumps-the-current-disp.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0350-ARM-dts-bcm271x-Use-a53-pmu-drop-RPI364.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0351-overlays-Add-option-to-disable-composite-to-vc4-kms-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0352-overlays-imx219-Correct-link-frequency-to-match-the-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0353-dts-Add-CM4-to-arm64-dt-files.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0355-xhci-quirks-add-link-TRB-quirk-for-VL805.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0356-dts-Tidy-the-Raspberry-Pi-Makefile-entries.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0357-staging-bcm2835-audio-Add-disable-headphones-flag.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0358-ARM-dts-Disable-headphone-audio-on-Zeroes-CM4.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0359-overlays-Enable-headphone-audio-in-audremap.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0360-rpisense-fb-Set-pseudo_pallete-to-prevent-crash-on-f.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0361-ARM-dts-Expand-PCIe-space-on-BCM2711.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0362-dwc_otg-Minimise-header-and-fix-build-warnings.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0363-gpio-fsm-Fix-a-build-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0364-rpivid_h625-Fix-build-warnings.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0365-bcm2708_fb-Fix-a-build-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0366-PiFi-40-Devicetree-files.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0367-PiFi-40-driver-Makefile-and-Kconfig.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0368-bcm2835-pcm-Fix-up-multichannel-pcm-audio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0369-watchdog-bcm2835-Ignore-params-after-the-partition-n.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0370-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0371-phy-broadcom-split-out-the-BCM54213PE-from-the-BCM54.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0372-phy-broadcom-Add-bcm54213pe-configuration.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0373-overlays-Add-MAX31856-support-to-maxtherm-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0374-ARM-dts-Add-bcm2711-rpi-400.dts.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0375-overlays-Deprecate-and-delete-the-sdtweak-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0376-ARM-dts-bcm27xx-Remove-enable_headphones-setting.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0377-vc4_hdmi-Report-that-3d-stereo-is-allowed.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0378-PCI-brcmstb-Restore-initial-fundamental-reset.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0379-vc4-Clear-unused-infoframe-packet-RAM-registers.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0380-Input-edt-ft5x06-Poll-the-device-if-no-interrupt-is-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0381-dtoverlays-Add-an-overlay-for-the-EDT-FT5406-touchsc.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0382-drm-panel-raspberrypi-touchscreen-Use-independent-I2.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0383-drm-panel-raspberrypi-ts-Insert-delay-before-polling.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0384-Add-devicetree-support-for-RaspberryPi-7-panel-over-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0385-mcp251xfd-add-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0386-media-ov9281-Add-1280x720-and-640x480-modes.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0387-dt-bindings-Add-compatible-for-BCM2711-DSI1.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0388-dt-Use-compatible-string-for-BCM2711-DSI1.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0389-drm-vc4-Correct-DSI-register-definition.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0390-Allo-boss2-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0391-Add-allo-boss2-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0392-Overlay-Update-Allo-Piano-Plus-dac-driver-for-5.4.y-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0393-media-bcm2835-unicam-Correctly-handle-error-propagat.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0394-media-bcm2835-unicam-Return-early-from-stop_streamin.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0395-media-bcm2835-unicam-Clear-clock-state-when-stopping.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0396-PCI-brcmstb-Advertise-MSI-X-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0397-ARM-dts-CM4-audio-pins-are-not-connected.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0398-overlays-Add-PCF85063-and-PCF85063A-to-i2c-rtc.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0399-overlays-Fix-cut-and-paste-error-in-README.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0400-staging-bcm2835-codec-Ensure-OUTPUT-timestamps-are-a.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0401-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0402-overlays-mpu6050-Add-addr-parameter.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0403-drm-vc4-Make-normalize_zpos-conditional-on-using-fkm.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0404-overlays-Add-missing-addresses-to-ads1015-ads1115.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0405-media-i2c-imx477-Selection-compliance-fixes.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0406-staging-vc04_services-codec-Add-support-for-CID-MPEG.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0407-staging-vc04_services-codec-Clear-last-buf-dequeued-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0410-drm-atomic-Pass-the-full-state-to-CRTC-atomic-begin-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0411-drm-vc4-hvs-Align-the-HVS-atomic-hooks-to-the-new-AP.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0412-drm-vc4-Pass-the-atomic-state-to-encoder-hooks.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0414-drm-vc4-hdmi-Create-a-custom-connector-state.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0418-drm-vc4-Fixup-fkms-for-API-change.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0419-overlays-Rebuild-upstream-with-latest-ovmerge.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0420-Add-overlay-for-Seeed-Studio-CAN-BUS-FD-HAT-4034.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0421-vc-sm-cma-fixed-kbuild-problem.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0422-staging-vc04-services-codec-Fix-logical-precedence-i.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0423-staging-vc04_services-Add-additional-unpacked-raw-fo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0424-staging-bcm2835-codec-Add-the-unpacked-16bpp-raw-for.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0425-staging-bcm2835-codec-Log-the-number-of-excess-suppo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0426-staging-bcm2835-isp-Add-the-unpacked-16bpp-raw-forma.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0427-staging-bcm2835-isp-Log-the-number-of-excess-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0428-bcm2835-dma-Add-bcm2835-dma-Add-DMA_WIDE_SOURCE-and-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0429-bcm2835-dma-Move-WAIT_RESP-from-extra-to-info.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0430-bcm2835-dma-Avoid-losing-CS-flags-after-interrupt.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0431-dt-Enable-DMA_WIDE_SOURCE-and-DMA_WIDE_DEST-for-hdmi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0432-bcm2711-rpi.dtsi-Bump-hdmi-audio-dma-panic-priority-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0433-media-i2c-ov5647-Selection-compliance-fixes.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0434-overlays-give-Seeed-Studio-CAN-BUS-FD-HAT-a-v2-postf.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0435-overlays-Add-overlay-for-Seeed-Studio-CAN-BUS-FD-HAT.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0436-overlays-add-wm8960-soundcard-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0437-overlays-add-spi-override-to-merus-amp-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0438-dt-Add-a-camera-regulator-node-to-all-downstream-Pi-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0439-dtoverlays-Update-sensor-overlays-to-use-cam1_reg-wh.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0440-overlays-seeed-can-fd-hat-clarify-how-to-identify-HA.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0441-SQUASH-Revert-overlays-Make-the-i2c-gpio-overlay-saf.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0442-SQUASH-Revert-overlays-Fix-dtc-warnings-in-i2c-gpio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0443-uapi-bcm2835-isp-Add-colour-denoise-configuration.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0444-staging-vc04_services-ISP-Add-colour-denoise-control.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0445-dt-bindings-nvmem-Add-bindings-for-rmem-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0446-nvmem-Add-driver-to-expose-reserved-memory-as-nvmem.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0447-ARM-dts-bcm2711-Add-reserved-memory-template-to-hold.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0448-spi-bcm2835-Workaround-fix-for-zero-length-transfers.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0449-kbuild-Silence-unavoidable-dtc-overlay-warnings.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0450-Adds-the-DT-overlays-to-support-Hifiberry-AMP100.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0451-Enhances-the-Hifiberry-DAC-driver-for-Hifiberry-AMP1.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0452-ARM-dts-Declare-Pi400-and-CM4-have-no-audio-pins.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0453-media-i2c-imx290-Replace-V4L2_CID_GAIN-with-V4L2_CID.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0454-media-i2c-imx290-Fix-number-of-controls-in-v4l2_ctrl.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0455-ARM-bcm-Select-BRCMSTB_L2_IRQ-for-bcm2835.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0456-drm-vc4-hdmi-Update-the-CEC-clock-divider-on-HSM-rat.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0461-dt-binding-display-bcm2711-hdmi-Add-CEC-and-hotplug-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0462-ARM-dts-bcm2711-Add-the-CEC-interrupt-controller.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0463-bcm2711-Disable-bsc_intr-and-aon_intr-by-default-and.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0464-bcm2711-Remove-old-GIC-interrupt.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0465-staging-bcm2835-camera-Fix-the-cherry-pick-of-AWB-Gr.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0466-Overlays-for-PiFi-Mini-amp.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0467-Added-PiFi-Mini-to-rpi-simple-soundcard.c.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0468-bcm2835-isp-Allow-formats-with-different-colour-spac.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0469-Hifiberry-DAC-ADC-Pro-fix-for-the-PLL-when-changing-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0470-Fixed-picture-line-bug-in-all-ov9281-modes.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0471-Added-hflip-and-vflip-controls-to-ov9281.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0472-gpio-fsm-Rename-num-soft-gpios-to-avoid-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0473-overlays-Rename-gpio-fsm-property-num-soft-gpios.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0474-drm-fix-HDR-static-metadata-type-field-numbering.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0476-drm-vc4-Add-connector-check-to-trigger-mode_change-w.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0477-staging-rpivid-Fix-crash-when-CMA-alloc-fails.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0478-dt-Add-option-for-dpi-without-DE-and-PCLK-for-VGA666.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0480-drm-vc4-Change-the-default-DPI-format-to-being-18bpp.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0481-gpio-fsm-Show-state-info-in-sys-class-gpio-fsm.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0482-gpio-fsm-Fix-shutdown-timeout-handling.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0483-overlays-fsm-demo-Ensure-all-LEDs-are-turned-off.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0484-media-i2c-imx477-Remove-auto-frame-length-adjusting.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0485-media-i2c-imx477-Add-very-long-exposure-control-to-t.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0486-media-i2c-imx290-Fix-up-exposure-calcuations-and-ran.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0487-media-i2c-imx290-Handle-exposure-correctly-when-vbla.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0488-DAC-overlays-4154.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0489-media-i2c-imx477-Fix-crop-height-for-2028x1080-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0490-media-i2c-imx477-Replace-existing-1012x760-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0491-media-i2c-imx477-Remove-internal-v4l2_mbus_framefmt-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0492-media-i2c-imx477-Remove-unused-function-parameter.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0493-overlays-i2c-rtc-Add-the-Dallas-DS1340.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0494-overlays-Update-the-upstream-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0495-Revert-Bluetooth-Always-request-for-user-confirmatio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0496-Revert-Bluetooth-Always-request-for-user-confirmatio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0497-media-bcm2835-unicam-Fix-bug-in-buffer-swapping-logi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0498-Assign-crypto-aliases-to-different-AES-implementatio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0499-overlays-Improve-the-i2c-rtc-i2c_csi_dsi-option.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0500-media-v4l2_m2m-In-buffered-mode-run-jobs-if-either-p.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0501-staging-bcm2835-codec-Correct-logging-of-size_t-to-z.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0502-staging-bcm2835-codec-Add-support-for-pixel-aspect-r.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0503-staging-bcm2835-codec-Implement-additional-g_selecti.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0504-staging-bcm2835-codec-Add-VC-1-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0506-vc4-drm-Increase-hdmi-audio-axi-priority-to-avoid-lo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0507-overlays-gpio-led-new-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0508-overlays-Add-pcie-32bit-dma-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0509-ARM-dts-bcm2711-Add-aliases-for-additional-SPIs.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0510-Make-rpi-poe-fan-less-noisy-in-cool-environments.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0511-vc4-drm-Fix-source-offsets-with-DRM_FORMAT_P030.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0513-clk-raspberrypi-Also-support-HEVC-clock.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0514-dt-Switch-hevc-clock-from-fixed-to-firmware-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0515-rpivid-Request-maximum-hevc-clock.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0516-staging-bcm2835-camera-Add-support-for-DMABUFs.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0517-staging-fbtft-Add-minipitft13-variant.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0518-overlays-Add-minipitft13-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0519-overlays-ghost-amp-Minor-tweaks.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0520-overlays-Add-README-entry-for-minipitft13.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0521-ARM-dts-update-bcm2711-rpi-cm4.dts-and-400.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0522-vc4-drm-SQUASH-Fix-source-offsets-with-DRM_FORMAT_P0.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0523-dwc-otg-fix-clang-Wignored-attributes-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0524-dwc-otg-fix-clang-Wsometimes-uninitialized-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0525-dwc-otg-fix-clang-Wpointer-bool-conversion-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0526-Update-Allo-Piano-Dac-Driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0527-drm-connector-Create-a-helper-to-attach-the-hdr_outp.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0528-drm-connector-Add-helper-to-compare-HDR-metadata.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0529-drm-vc4-Use-the-new-helpers.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0530-drm-connector-Add-a-helper-to-attach-the-colorspace-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0531-drm-vc4-hdmi-Signal-the-proper-colorimetry-info-in-t.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0532-staging-vcsm-cma-Fix-memory-leak-from-not-detaching-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0533-vc4-kms-vc4_plane-Support-2020-colourspace-for-yuv-p.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0534-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0535-sound-usb-call-usb_autopm_get_interface-for-devices-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0536-overlays-ghost-amp-Add-DAC-mute-control.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0537-clk-Introduce-a-clock-request-API.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0538-drm-vc4-hdmi-Convert-to-the-new-clock-request-API.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0539-drm-vc4-hdmi-Convert-to-the-new-clock-request-API.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0540-bcm2835-unicam-Switch-to-new-clock-api.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0541-rpivid-Switch-to-new-clock-api.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0542-net-usb-r8152-Provide-missing-documentation-for-some.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0543-net-usb-r8152-Fix-a-couple-of-spelling-errors-in-fw_.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0544-net-usb-r8153_ecm-support-ECM-mode-for-RTL8153.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0545-net-usb-r8152-use-new-tasklet-API.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0546-r8152-replace-several-functions-about-phy-patch-requ.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0547-r8152-adjust-the-flow-of-power-cut-for-RTL8153B.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0548-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0549-r8152-check-if-the-pointer-of-the-function-exists.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0550-r8152-replace-netif_err-with-dev_err.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0551-r8152-spilt-rtl_set_eee_plus-and-r8153b_green_en.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0552-r8152-set-inter-fram-gap-time-depending-on-speed.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0553-r8152-adjust-rtl8152_check_firmware-function.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0554-r8152-add-help-function-to-change-mtu.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0555-r8152-support-new-chips.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0556-r8152-support-PHY-firmware-for-RTL8156-series.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0557-r8152-search-the-configuration-of-vendor-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0558-rpivid-Only-clk_request_done-once.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0559-dwc_otg-fix-an-undeclared-variable.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0563-drm-vc4-dsi-Add-support-for-DSI0.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0564-drm-vc4-dsi-Add-configuration-for-BCM2711-DSI1.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0569-drm-atomic-Don-t-fixup-modes-that-haven-t-been-reset.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0570-drm-panel-jdi-lt070me05000-Use-gpiod_set_value_cansl.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0571-dtoverlays-Add-overlays-for-JDI-LT070ME05000-1200x19.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0572-clk-requests-Ignore-if-the-pointer-is-null.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0573-drm-vc4-hvs-Make-the-HVS-bind-first.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0574-drm-vc4-hdmi-Properly-compute-the-BVB-clock-rate.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0575-drm-vc4-hdmi-Enable-the-scrambler.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0577-vc4-drm-hdmi-Handle-case-when-bvb-clock-is-null.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0578-overlays-spi-rtc-Add-ds3232-and-ds3234.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0579-drm-vc4-Fix-VEC-address-for-BCM2711-in-the-devicetre.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0580-drm-vc4-Separate-VEC-compatible-variants.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0582-staging-bcm2835-codec-Fix-support-for-levels-4.1-and.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0583-staging-bcm2835-codec-Set-the-colourspace-appropriat.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0584-staging-bcm2835-codec-Pass-corrupt-frame-flag.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0585-staging-bcm2835-camera-Add-support-for-H264-levels-4.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0586-staging-bcm2835-codec-Do-not-update-crop-from-S_FMT-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0587-staging-bcm2835-isp-Fix-compiler-warning.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0588-overlays-Allow-multiple-gpio-shutdown-instances.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0589-overlays-README-improve-the-gpio-poweroff-guide.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0590-SQUASH-overlays-Fix-typo-in-README.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0591-gpio-poweroff-Remember-the-old-poweroff-handler.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0593-overlays-Add-ugreen-dabboard-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0594-ARM-dts-bcm2711-rpi-400-Limit-MDIO-clock-speed.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0595-spi-bcm2835-Increase-the-CS-limit-to-24.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0596-clk-Always-clamp-the-rounded-rate.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0597-drm-vc4-crtc-Pass-the-drm_atomic_state-to-config_pv.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0598-drm-vc4-crtc-Fix-vc4_get_crtc_encoder-logic.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0599-drm-vc4-crtc-Lookup-the-encoder-from-the-register-at.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0600-drm-vc4-hdmi-Simplify-the-connector-state-retrieval.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0601-drm-vc4-hdmi-Rely-on-interrupts-to-handle-hotplug.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0602-drm-vc4-hdmi-Add-a-workqueue-to-set-scrambling.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0603-vc4-drm-hdmi-Fix-missing-declaration.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0604-overlays-merus-amp-remove-spi-override.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0605-media-i2c-ov5647-Correct-pixel-array-offset.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0606-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0607-media-i2c-ov5647-Fix-v4l2-compliance-failure-subscri.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0608-dtoverlays-Add-pinctrl-names-to-i2c0-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0609-dtoverlays-Update-__symbols__-i2c0-from-i2c0-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0610-media-rpivid-Remove-the-need-to-have-num_entry_point.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0611-media-rpivid-Convert-to-MPLANE.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0612-media-rpivid-Add-an-enable-count-to-irq-claim-Qs.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0613-RFC-media-Add-media_request_-pin-unpin-API.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0614-media-rpivid-Add-a-Pass0-to-accumulate-slices-and-re.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0615-media-rpivid-Map-cmd-buffer-directly.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0616-media-rpivid-Improve-values-returned-when-setting-ou.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0617-media-rpivid-Improve-stream_on-off-conformance-clock.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0618-media-rpivid-Improve-SPS-PPS-error-handling-validati.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0619-overlays-add-sensirion-sgp30-to-i2c-sensor-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0620-overlays-Remove-deleted-merus-amp-parameter.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0621-overlays-add-bh1750-and-ccs811-to-i2c-sensor-4334.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0622-Add-Raspberry-Pi-PoE-HAT-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0623-overlays-Add-rpi-poe-plus-overlay.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0624-drm-vc4-FKMS-Change-of-Broadcast-RGB-mode-needs-a-mo.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0625-overlays-Add-ssd1331-spi-support-for-OLED-screen.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0626-Fixes-an-onboard-clock-detection-problem-of-the-PRO-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0627-bcm2835-Allow-compressed-frames-to-set-sizeimage-438.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0628-media-i2c-imx477-Fix-for-long-exposure-limit-calcula.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0629-overlays-ghost-amp-Change-early-disable-sequence.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0630-drm-vc4-Make-vc4_crtc_get_encoder-public.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0632-ASoC-hdmi-codec-Rework-to-support-more-controls.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0633-snd-iec958-split-status-creation-and-fill.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0634-ASoC-hdmi-codec-Add-iec958-controls.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0635-ASoC-hdmi-codec-Add-a-prepare-hook.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0636-drm-vc4-Register-HDMI-codec.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0637-drm-vc4-hdmi-Remove-redundant-variables.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0638-ARM-dts-bcm2711-Tune-DMA-parameters-for-HDMI-audio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0639-cgroup-Disable-cgroup-memory-by-default.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0640-media-i2c-imx290-Support-60fps-in-2-lane-operation.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0641-media-i2c-imx290-Fix-the-pixel-rate-at-148.5Mpix-s.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0642-media-i2c-imx290-Fix-clock-setup-register-assignment.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0643-drm-vc4-crtc-Add-encoder-to-vc4_crtc_config_pv-proto.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0644-drm-vc4-crtc-Rework-the-encoder-retrieval-code-again.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0645-drm-vc4-crtc-Add-some-logging.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0646-drm-vc4-Leverage-the-load-tracker-on-the-BCM2711.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0648-drm-vc4-Don-t-create-hvs_load_tracker-on-fkms.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0649-media-rpivid-Fix-H265-aux-ent-reuse-of-the-same-slot.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0651-overlays-Add-dpi18cpadhi-vc4-kms-dpi-at056tn53v1.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0652-drm-vc4-Fix-pixel-wrap-issue-with-DVP-teardown.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0653-media-i2c-ov9281-Remove-override-of-subdev-name.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0654-drm-vc4-hdmi-Use-a-fixed-rate-for-the-HSM-clock-on-B.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0655-drm-vc4-hdmi-Enable-the-scrambler-on-reconnection.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0656-staging-vc04_services-isp-Set-the-YUV420-YVU420-form.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0657-Documentation-devicetree-Add-documentation-for-imx37.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0658-overlays-Add-overlay-for-imx378-sensor.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0659-media-i2c-imx477-Extend-driver-to-support-imx378-sen.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0660-overlays-Make-i2c-rtc-and-i2c-rtc-gpio-share-RTCs.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0661-dt-bindings-clk-raspberrypi-Remove-unused-property.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0662-dt-bindings-display-vc4-Add-phandle-to-the-firmware.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0663-firmware-raspberrypi-Add-RPI_FIRMWARE_NOTIFY_DISPLAY.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0664-drm-vc4-Remove-conflicting-framebuffers-before-calli.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0665-drm-vc4-Notify-the-firmware-when-DRM-is-in-charge.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0666-ARM-dts-rpi-Add-the-firmware-node-to-vc4.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0667-drm-vc4-hdmi-Put-the-device-on-error-in-pre_crtc_con.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0668-drm-vc4-hdmi-Split-the-CEC-disable-enable-functions-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0670-drm-vc4-hdmi-Add-missing-clk_disable_unprepare-on-er.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0671-drm-vc4-hdmi-Warn-if-we-access-the-controller-while-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0673-vc4-drv-Only-notify-firmware-of-display-done-with-km.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0674-dwc_otg-Update-NetBSD-usb.h-header-licence.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0676-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-hotplug.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0677-drm-vc4-hdmi-Only-call-into-DRM-framework-if-registe.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0679-media-bcm2835-unicam-Forward-input-status-from-subde.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0680-overlays-Add-overlay-for-Chipdip-I2S-master-DAC.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0681-drm-Introduce-an-atomic_commit_setup-function.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0682-drm-Document-use-after-free-gotcha-with-private-obje.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0683-drm-vc4-Simplify-a-bit-the-global-atomic_check.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0684-drm-vc4-hdmi-Don-t-poll-for-the-infoframes-status-on.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0685-drm-vc4-hvs-Align-the-HVS-atomic-hooks-to-the-new-AP.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0686-drm-Use-the-state-pointer-directly-in-atomic_check.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0687-drm-vc4-Remove-unnecessary-drm_plane_cleanup-wrapper.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0688-drm-vc4-plane-Remove-redundant-assignment.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0689-drm-automatic-legacy-gamma-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0690-drm-Pass-the-full-state-to-connectors-atomic-functio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0691-drm-vc4-replace-idr_init-by-idr_init_base.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0692-drm-vc4-vc4_hdmi_regs-Mark-some-data-sets-as-__maybe.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0693-drm-vc4-remove-unneeded-variable-ret.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0694-overlays-Add-overlay-for-cap1106-capacitive-touch-se.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0696-ydrm-vc4-fkms-Fix-margin-calculations-for-the-right-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0697-ARM-dts-bcm2711-fold-in-the-correct-interrupt.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0698-overlays-Add-overlay-for-Si446x-Transceiver-SPI.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0700-drm-vc4-Refactor-VEC-TV-mode-setting.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0701-drm-vc4-Fix-definition-of-PAL-M-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0702-drm-vc4-Add-support-for-more-analog-TV-standards.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0703-drm-vc4-Allow-setting-the-TV-norm-via-module-paramet.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0704-drm-vc4-Refactor-mode-checking-logic.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0705-drm-vc4-Fix-typo-when-getting-firmware-node.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0706-ARM-dts-bcm2711-Tidy-the-HDMI-I2C-aliases.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0707-media-i2c-imx477-Fix-framerates-for-1332x990-mode.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0708-drm-uapi-Add-USB-connector-type.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0709-drm-Add-GUD-USB-Display-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0710-drm-gud-fix-sizeof-use.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0711-drm-gud-Remove-unneeded-semicolon.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0712-drm-gud-cleanup-coding-style-a-bit.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0713-drm-gud-Free-buffers-on-device-removal.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0714-drm-gud-Use-scatter-gather-USB-bulk-transfer.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0715-drm-gud-Add-Raspberry-Pi-Pico-ID.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0716-drm-gud-Add-async_flush-module-parameter.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0717-drm-vc4-hdmi-Make-sure-the-controller-is-powered-up-.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0718-overlays-Set-CMA-to-512MB-on-Pi-4-for-vc4.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0719-ARM-dts-Correct-CM4-PHY-MDIO-address.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0720-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0721-drm-vc4-Increase-the-core-clock-to-a-minimum-of-500M.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0722-overlays-Update-and-rename-chipdip-i2s-master-dac.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0723-ASoC-bcm-Add-chipdip-dac-driver.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0724-char-vc_mem-Delete-dead-code.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0725-overlays-Add-Ablic-S35390A-to-i2c-rtc-and-gpio.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0726-dtoverlays-Add-orientation-and-rotation-parameter-to.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0727-media-i2c-imx290-Add-fwnode-properties-controls.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0728-media-i2c-ov9281-Add-fwnode-properties-controls.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0729-media-i2c-ov7251-Add-fwnode-properties-controls.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0730-overlays-Reduce-Pi-4-vc4-CMA-size-to-320MB.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0731-Revert-overlays-Update-display-GPIO-declarations-for.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0732-overlays-Add-midi-uart-2345-overlay.dts.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0733-usb-xhci-workaround-for-bogus-SET_DEQ_PENDING-endpoi.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0734-overlays-Add-TI-BQ32000-RTC-support.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0736-ARM-dts-Adapt-to-upstream-changes.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0737-overlays-rpi-poe-plus-Improve-the-cooling-levels.patch create mode 100644 target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch create mode 100644 target/linux/bcm27xx/patches-5.10/960-hwrng-iproc-set-quality-to-1000.patch create mode 100644 target/linux/bcm47xx/Makefile create mode 100644 target/linux/bcm47xx/base-files/etc/board.d/01_network create mode 100644 target/linux/bcm47xx/base-files/etc/diag.sh create mode 100755 target/linux/bcm47xx/base-files/etc/init.d/wmacfixup create mode 100644 target/linux/bcm47xx/base-files/etc/uci-defaults/03_network_migration create mode 100644 target/linux/bcm47xx/base-files/etc/uci-defaults/09_fix_crc create mode 100644 target/linux/bcm47xx/base-files/lib/preinit/01_sysinfo create mode 100644 target/linux/bcm47xx/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bcm47xx/config-5.10 create mode 100644 target/linux/bcm47xx/generic/profiles/100-Broadcom-b43.mk create mode 100644 target/linux/bcm47xx/generic/profiles/101-Broadcom-wl.mk create mode 100644 target/linux/bcm47xx/generic/profiles/104-Broadcom-ath5k.mk create mode 100644 target/linux/bcm47xx/generic/profiles/105-Broadcom-none.mk create mode 100644 target/linux/bcm47xx/generic/profiles/200-Broadcom-b44-b43.mk create mode 100644 target/linux/bcm47xx/generic/profiles/201-Broadcom-b44-wl.mk create mode 100644 target/linux/bcm47xx/generic/profiles/204-Broadcom-b44-ath5k.mk create mode 100644 target/linux/bcm47xx/generic/profiles/205-Broadcom-b44-none.mk create mode 100644 target/linux/bcm47xx/generic/profiles/210-Broadcom-tg3-b43.mk create mode 100644 target/linux/bcm47xx/generic/profiles/211-Broadcom-tg3-wl.mk create mode 100644 target/linux/bcm47xx/generic/profiles/215-Broadcom-tg3-none.mk create mode 100644 target/linux/bcm47xx/generic/profiles/220-Broadcom-bgmac-b43.mk create mode 100644 target/linux/bcm47xx/generic/profiles/221-Broadcom-bgmac-wl.mk create mode 100644 target/linux/bcm47xx/generic/profiles/225-Broadcom-bgmac-none.mk create mode 100644 target/linux/bcm47xx/generic/profiles/226-Broadcom-bgmac-brcsmac.mk create mode 100644 target/linux/bcm47xx/generic/profiles/PS-1208MFG.mk create mode 100644 target/linux/bcm47xx/generic/target.mk create mode 100644 target/linux/bcm47xx/image/Makefile create mode 100644 target/linux/bcm47xx/image/generic.mk create mode 100644 target/linux/bcm47xx/image/legacy.mk create mode 100644 target/linux/bcm47xx/image/lzma-loader/Makefile create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/Makefile create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/README create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/decompress.c create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/decompress.lds.in create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/head.S create mode 100644 target/linux/bcm47xx/image/lzma-loader/src/loader.lds.in create mode 100644 target/linux/bcm47xx/image/mips74k.mk create mode 100644 target/linux/bcm47xx/legacy/config-default create mode 100644 target/linux/bcm47xx/legacy/profiles/100-Broadcom-b43.mk create mode 100644 target/linux/bcm47xx/legacy/profiles/101-Broadcom-wl.mk create mode 100644 target/linux/bcm47xx/legacy/target.mk create mode 100644 target/linux/bcm47xx/mips74k/config-default create mode 100644 target/linux/bcm47xx/mips74k/profiles/100-Broadcom-b43.mk create mode 100644 target/linux/bcm47xx/mips74k/profiles/101-Broadcom-brcsmac.mk create mode 100644 target/linux/bcm47xx/mips74k/profiles/102-Broadcom-wl.mk create mode 100644 target/linux/bcm47xx/mips74k/profiles/103-Broadcom-none.mk create mode 100644 target/linux/bcm47xx/mips74k/target.mk create mode 100644 target/linux/bcm47xx/modules.mk create mode 100644 target/linux/bcm47xx/patches-5.10/159-cpu_fixes.patch create mode 100644 target/linux/bcm47xx/patches-5.10/160-kmap_coherent.patch create mode 100644 target/linux/bcm47xx/patches-5.10/209-b44-register-adm-switch.patch create mode 100644 target/linux/bcm47xx/patches-5.10/210-b44_phy_fix.patch create mode 100644 target/linux/bcm47xx/patches-5.10/280-activate_ssb_support_in_usb.patch create mode 100644 target/linux/bcm47xx/patches-5.10/300-fork_cacheflush.patch create mode 100644 target/linux/bcm47xx/patches-5.10/310-no_highpage.patch create mode 100644 target/linux/bcm47xx/patches-5.10/320-MIPS-BCM47XX-Devices-database-update-for-4.x.patch create mode 100644 target/linux/bcm47xx/patches-5.10/400-mtd-bcm47xxpart-get-nvram.patch create mode 100644 target/linux/bcm47xx/patches-5.10/610-pci_ide_fix.patch create mode 100644 target/linux/bcm47xx/patches-5.10/700-net-bgmac-connect-to-PHY-even-if-it-is-BGMAC_PHY_NOR.patch create mode 100644 target/linux/bcm47xx/patches-5.10/791-tg3-no-pci-sleep.patch create mode 100644 target/linux/bcm47xx/patches-5.10/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch create mode 100644 target/linux/bcm47xx/patches-5.10/820-wgt634u-nvram-fix.patch create mode 100644 target/linux/bcm47xx/patches-5.10/830-huawei_e970_support.patch create mode 100644 target/linux/bcm47xx/patches-5.10/831-old_gpio_wdt.patch create mode 100644 target/linux/bcm47xx/patches-5.10/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch create mode 100644 target/linux/bcm47xx/patches-5.10/940-bcm47xx-yenta.patch create mode 100644 target/linux/bcm47xx/patches-5.10/976-ssb_increase_pci_delay.patch create mode 100644 target/linux/bcm47xx/patches-5.10/999-wl_exports.patch create mode 100644 target/linux/bcm4908/Makefile create mode 100644 target/linux/bcm4908/base-files/etc/board.d/02_network create mode 100755 target/linux/bcm4908/base-files/etc/init.d/fastnetwork create mode 100644 target/linux/bcm4908/base-files/etc/uci-defaults/05_packet_steering create mode 100644 target/linux/bcm4908/base-files/lib/functions/bcm4908.sh create mode 100644 target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare create mode 100644 target/linux/bcm4908/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bcm4908/config-5.10 create mode 100644 target/linux/bcm4908/files-5.10/drivers/net/ethernet/broadcom/unimac.h create mode 100644 target/linux/bcm4908/generic/target.mk create mode 100644 target/linux/bcm4908/image/Makefile create mode 100644 target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_ident create mode 100644 target/linux/bcm4908/image/asus_gt-ac5300/rom/etc/image_version create mode 100644 target/linux/bcm4908/image/bootfs-bcm4908.its create mode 100644 target/linux/bcm4908/image/bootfs-bcm4912.its create mode 100644 target/linux/bcm4908/image/bootfs.itsi create mode 100644 target/linux/bcm4908/image/netgear_r8000p/etc/image_ident create mode 100644 target/linux/bcm4908/image/netgear_r8000p/etc/image_version create mode 100644 target/linux/bcm4908/image/pkgtb-bcm4908.its create mode 100644 target/linux/bcm4908/image/pkgtb-bcm4912.its create mode 100644 target/linux/bcm4908/image/tplink_archer-c2300-v1/etc/image_version create mode 100755 target/linux/bcm4908/image/tplink_archer-c2300-v1/nvram.nvm create mode 100644 target/linux/bcm4908/patches-5.10/030-v5.11-0001-dt-bindings-arm-bcm-document-BCM4908-bindings.patch create mode 100644 target/linux/bcm4908/patches-5.10/030-v5.11-0002-arm64-dts-broadcom-add-BCM4908-and-Asus-GT-AC5300-ea.patch create mode 100644 target/linux/bcm4908/patches-5.10/030-v5.11-0003-v5.11-arm64-add-config-for-Broadcom-BCM4908-SoCs.patch create mode 100644 target/linux/bcm4908/patches-5.10/031-v5.12-0001-dt-bindings-arm-bcm-document-Netgear-R8000P-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/031-v5.12-0002-arm64-dts-broadcom-bcm4908-add-BCM4906-Netgear-R8000.patch create mode 100644 target/linux/bcm4908/patches-5.10/031-v5.12-0003-arm64-dts-broadcom-bcm4908-use-proper-NAND-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/031-v5.12-0004-arm64-dts-broadcom-bcm4908-describe-PCIe-reset-contr.patch create mode 100644 target/linux/bcm4908/patches-5.10/031-v5.12-0005-arm64-dts-broadcom-bcm4908-describe-internal-switch.patch create mode 100644 target/linux/bcm4908/patches-5.10/031-v5.12-0006-arm64-dts-broadcom-bcm4908-describe-PMB-block.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0001-arm64-dts-broadcom-bcm4908-describe-USB-PHY.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0002-arm64-dts-broadcom-bcm4908-describe-Ethernet-control.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0003-arm64-dts-broadcom-bcm4908-describe-Netgear-R8000P-s.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0004-arm64-dts-broadcom-bcm4908-add-remaining-Netgear-R80.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0005-arm64-dts-broadcom-bcm4908-describe-firmware-partiti.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0006-arm64-dts-broadcom-bcm4908-fix-switch-parent-node-na.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0007-dt-bindings-arm-bcm-document-TP-Link-Archer-C2300-bi.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0008-arm64-dts-broadcom-bcm4908-add-TP-Link-Archer-C2300-.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0009-arm64-dts-broadcom-bcm4908-set-Asus-GT-AC5300-port-7.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0010-arm64-dts-broadcom-bcm4908-add-Ethernet-TX-irq.patch create mode 100644 target/linux/bcm4908/patches-5.10/032-v5.13-0011-arm64-dts-broadcom-bcm4908-add-Ethernet-MAC-addr.patch create mode 100644 target/linux/bcm4908/patches-5.10/033-v5.14-0001-ARM-dts-BCM5301X-Fix-NAND-nodes-names.patch create mode 100644 target/linux/bcm4908/patches-5.10/034-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch create mode 100644 target/linux/bcm4908/patches-5.10/034-v5.16-0002-arm64-dts-broadcom-bcm4908-Move-reboot-syscon-out-of.patch create mode 100644 target/linux/bcm4908/patches-5.10/034-v5.16-0003-arm64-dts-broadcom-bcm4908-Fix-UART-clock-name.patch create mode 100644 target/linux/bcm4908/patches-5.10/035-v5.17-0001-dt-bindings-arm-bcm-document-Netgear-RAXE500-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/035-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch create mode 100644 target/linux/bcm4908/patches-5.10/036-v5.18-0001-arm64-dts-broadcom-bcm4908-use-proper-TWD-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/036-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/036-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch create mode 100644 target/linux/bcm4908/patches-5.10/036-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0004-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63146.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0005-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6856.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0006-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6813.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0007-arm64-dts-broadcom-align-gpio-key-node-names-with-dt.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0009-arm64-dts-broadcom-bcm4908-Fix-cpu-node-for-smp-boot.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patch create mode 100644 target/linux/bcm4908/patches-5.10/037-v5.20-0011-arm64-bcmbca-add-arch-bcmbca-machine-entry.patch create mode 100644 target/linux/bcm4908/patches-5.10/038-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch create mode 100644 target/linux/bcm4908/patches-5.10/038-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch create mode 100644 target/linux/bcm4908/patches-5.10/038-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch create mode 100644 target/linux/bcm4908/patches-5.10/038-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch create mode 100644 target/linux/bcm4908/patches-5.10/038-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch create mode 100644 target/linux/bcm4908/patches-5.10/038-v6.1-0006-arm64-dts-Add-BCM4908-generic-board-dts.patch create mode 100644 target/linux/bcm4908/patches-5.10/039-v6.2-0001-arm64-dts-broadcom-bcmbca-bcm4908-add-TWD-block-time.patch create mode 100644 target/linux/bcm4908/patches-5.10/039-v6.2-0002-arm64-dts-broadcom-bcmbca-bcm6858-add-TWD-block.patch create mode 100644 target/linux/bcm4908/patches-5.10/039-v6.2-0003-arm64-dts-Update-cache-properties-for-broadcom.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.1-mtd-parsers-add-Broadcom-s-U-Boot-parser.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.4-0001-arm64-dts-broadcom-bcmbca-Add-spi-controller-node.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.4-0003-arm64-dts-broadcom-bcmbca-bcm4908-fix-LED-nodenames.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.4-0005-arm64-dts-broadcom-bcmbca-bcm4908-add-on-SoC-USB-por.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.4-0006-arm64-dts-broadcom-bcmbca-bcm4908-add-Netgear-R8000P.patch create mode 100644 target/linux/bcm4908/patches-5.10/040-v6.4-0007-arm64-dts-broadcom-bcmbca-bcm4908-add-TP-Link-C2300-.patch create mode 100644 target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch create mode 100644 target/linux/bcm4908/patches-5.10/071-v5.12-0002-net-dsa-bcm_sf2-use-2-Gbps-IMP-port-link-on-BCM4908.patch create mode 100644 target/linux/bcm4908/patches-5.10/072-v5.12-0001-dt-bindings-net-document-BCM4908-Ethernet-controller.patch create mode 100644 target/linux/bcm4908/patches-5.10/072-v5.12-0002-net-broadcom-bcm4908enet-add-BCM4908-controller-driv.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0001-dt-bindings-net-rename-BCM4908-Ethernet-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0002-dt-bindings-net-bcm4908-enet-include-ethernet-contro.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0003-net-broadcom-rename-BCM4908-driver-update-DT-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0004-net-broadcom-bcm4908_enet-drop-unneeded-memset.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0005-net-broadcom-bcm4908_enet-drop-inline-from-C-functio.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0006-net-broadcom-bcm4908_enet-fix-minor-typos.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0007-net-broadcom-bcm4908_enet-fix-received-skb-length.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0008-net-broadcom-bcm4908_enet-fix-endianness-in-xmit-cod.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0009-net-broadcom-bcm4908_enet-set-MTU-on-open-on-request.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0010-net-broadcom-bcm4908_enet-fix-RX-path-possible-mem-l.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0011-net-broadcom-bcm4908_enet-fix-NAPI-poll-returned-val.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0012-net-broadcom-bcm4908_enet-enable-RX-after-processing.patch create mode 100644 target/linux/bcm4908/patches-5.10/073-v5.12-0013-net-broadcom-BCM4908_ENET-should-not-default-to-y-un.patch create mode 100644 target/linux/bcm4908/patches-5.10/074-v5.13-0001-net-broadcom-bcm4908_enet-read-MAC-from-OF.patch create mode 100644 target/linux/bcm4908/patches-5.10/074-v5.13-0002-dt-bindings-net-bcm4908-enet-add-optional-TX-interru.patch create mode 100644 target/linux/bcm4908/patches-5.10/074-v5.13-0003-net-broadcom-bcm4908_enet-support-TX-interrupt.patch create mode 100644 target/linux/bcm4908/patches-5.10/075-v5.13-0001-net-dsa-bcm_sf2-store-PHY-interface-mode-in-port-str.patch create mode 100644 target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch create mode 100644 target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch create mode 100644 target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch create mode 100644 target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch create mode 100644 target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch create mode 100644 target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch create mode 100644 target/linux/bcm4908/patches-5.10/077-v5.14-net-broadcom-bcm4908_enet-reset-DMA-rings-sw-indexes.patch create mode 100644 target/linux/bcm4908/patches-5.10/077-v5.17-net-broadcom-bcm4908enet-remove-redundant-variable-b.patch create mode 100644 target/linux/bcm4908/patches-5.10/078-v6.1-0001-net-broadcom-bcm4908_enet-handle-EPROBE_DEFER-when-g.patch create mode 100644 target/linux/bcm4908/patches-5.10/078-v6.1-0002-net-broadcom-bcm4908_enet-update-TX-stats-after-actu.patch create mode 100644 target/linux/bcm4908/patches-5.10/079-v6.2-0001-net-broadcom-bcm4908_enet-use-build_skb.patch create mode 100644 target/linux/bcm4908/patches-5.10/079-v6.2-0002-net-broadcom-bcm4908_enet-report-queued-and-transmit.patch create mode 100644 target/linux/bcm4908/patches-5.10/080-v5.11-tty-serial-bcm63xx-lower-driver-dependencies.patch create mode 100644 target/linux/bcm4908/patches-5.10/081-v5.12-reset-simple-add-BCM4908-MISC-PCIe-reset-controller-.patch create mode 100644 target/linux/bcm4908/patches-5.10/082-v5.12-0001-dt-bindings-power-document-Broadcom-s-PMB-binding.patch create mode 100644 target/linux/bcm4908/patches-5.10/082-v5.12-0002-soc-bcm-add-PM-driver-for-Broadcom-s-PMB.patch create mode 100644 target/linux/bcm4908/patches-5.10/082-v5.12-0003-soc-bcm-brcmstb-add-stubs-for-getting-platform-IDs.patch create mode 100644 target/linux/bcm4908/patches-5.10/085-v5.18-0001-dt-bindings-pinctrl-Add-binding-for-BCM4908-pinctrl.patch create mode 100644 target/linux/bcm4908/patches-5.10/085-v5.18-0002-pinctrl-bcm-add-driver-for-BCM4908-pinmux.patch create mode 100644 target/linux/bcm4908/patches-5.10/086-v5.12-0001-phy-phy-brcm-usb-improve-getting-OF-matching-data.patch create mode 100644 target/linux/bcm4908/patches-5.10/086-v5.12-0002-phy-phy-brcm-usb-specify-init-function-format-at-str.patch create mode 100644 target/linux/bcm4908/patches-5.10/086-v5.12-0003-dt-bindings-phy-brcm-brcmstb-usb-phy-convert-to-the-.patch create mode 100644 target/linux/bcm4908/patches-5.10/086-v5.12-0004-dt-bindings-phy-brcm-brcmstb-usb-phy-add-BCM4908-bin.patch create mode 100644 target/linux/bcm4908/patches-5.10/086-v5.12-0005-phy-phy-brcm-usb-support-PHY-on-the-BCM4908.patch create mode 100644 target/linux/bcm4908/patches-5.10/086-v5.13-0001-phy-phy-brcm-usb-select-SOC_BRCMSTB-on-brcmstb-only.patch create mode 100644 target/linux/bcm4908/patches-5.10/086-v5.13-0002-dt-bindings-phy-brcm-brcmstb-usb-phy-add-power-domai.patch create mode 100644 target/linux/bcm4908/patches-5.10/087-v5.18-0001-i2c-brcmstb-allow-compiling-on-BCM4908.patch create mode 100644 target/linux/bcm4908/patches-5.10/088-v5.18-phy-phy-brcm-usb-fixup-BCM4908-support.patch create mode 100644 target/linux/bcm4908/patches-5.10/089-v5.18-watchdog-allow-building-BCM7038_WDT-for-BCM4908.patch create mode 100644 target/linux/bcm4908/patches-5.10/090-v5.20-watchdog-bcm7038_wdt-Support-BCM6345-compatible-stri.patch create mode 100644 target/linux/bcm4908/patches-5.10/300-arm64-dts-broadcom-bcmbca-bcm4908-limit-amount-of-GP.patch create mode 100644 target/linux/bcm4908/patches-5.10/400-mtd-rawnand-brcmnand-disable-WP-on-BCM4908.patch create mode 100644 target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch create mode 100644 target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch create mode 100644 target/linux/bcm53xx/Makefile create mode 100644 target/linux/bcm53xx/base-files/etc/board.d/01_leds create mode 100644 target/linux/bcm53xx/base-files/etc/board.d/02_network create mode 100644 target/linux/bcm53xx/base-files/etc/diag.sh create mode 100755 target/linux/bcm53xx/base-files/etc/init.d/fastnetwork create mode 100644 target/linux/bcm53xx/base-files/etc/uci-defaults/03_dsa_migrate create mode 100644 target/linux/bcm53xx/base-files/etc/uci-defaults/05_packet_steering create mode 100644 target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc create mode 100644 target/linux/bcm53xx/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bcm53xx/config-5.10 create mode 100644 target/linux/bcm53xx/files/arch/arm/boot/compressed/cache-v7-min.S create mode 100644 target/linux/bcm53xx/generic/target.mk create mode 100644 target/linux/bcm53xx/image/Makefile create mode 100644 target/linux/bcm53xx/modules.mk create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0001-ARM-dts-BCM5301X-Linksys-EA9500-add-port-5-and-port-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0002-ARM-dts-BCM5301X-Harmonize-EHCI-OHCI-DT-nodes-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0003-ARM-dts-BCM5310X-Harmonize-xHCI-DT-nodes-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0004-ARM-dts-BCM5301X-Linksys-EA9500-add-fixed-partitions.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0005-ARM-dts-BCM5301X-Use-corretc-pinctrl-compatible-for-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0006-ARM-dts-BCM5301X-Linksys-EA9500-make-use-of-pinctrl.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0007-ARM-dts-BCM5301X-Move-CRU-devices-to-the-CRU-node.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0008-ARM-dts-BCM5301X-Disable-USB-3-PHY-on-devices-withou.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0009-ARM-dts-BCM5301X-Enable-USB-3-PHY-on-Luxul-XWR-3150.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0010-ARM-dts-BCM5301X-Update-Ethernet-switch-node-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0011-ARM-dts-BCM5301X-Add-a-default-compatible-for-switch.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0012-ARM-dts-BCM5301X-Provide-defaults-ports-container-no.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0013-ARM-dts-NSP-Update-ethernet-switch-node-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0014-ARM-dts-NSP-Fix-Ethernet-switch-SGMII-register-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0015-ARM-dts-NSP-Add-a-SRAB-compatible-string-for-each-bo.patch create mode 100644 target/linux/bcm53xx/patches-5.10/030-v5.11-0016-ARM-dts-NSP-Provide-defaults-ports-container-node.patch create mode 100644 target/linux/bcm53xx/patches-5.10/031-v5.13-0002-ARM-dts-BCM5301X-Describe-NVMEM-NVRAM-on-Linksys-Lux.patch create mode 100644 target/linux/bcm53xx/patches-5.10/031-v5.13-0003-ARM-dts-BCM5301X-Fix-Linksys-EA9500-partitions.patch create mode 100644 target/linux/bcm53xx/patches-5.10/031-v5.13-0004-ARM-dts-BCM5301X-Set-Linksys-EA9500-power-LED.patch create mode 100644 target/linux/bcm53xx/patches-5.10/032-v5.14-0001-ARM-dts-BCM5301X-Fix-NAND-nodes-names.patch create mode 100644 target/linux/bcm53xx/patches-5.10/032-v5.14-0002-ARM-dts-BCM5301X-Fix-pinmux-subnodes-names.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0001-ARM-dts-NSP-add-device-names-to-compatible.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0002-ARM-dts-NSP-enable-DMA-on-bcm988312hr.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0003-ARM-dts-NSP-disable-qspi-node-by-default.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0004-ARM-dts-NSP-add-MDIO-bus-controller-node.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0005-ARM-dts-NSP-Move-USB3-PHY-to-internal-MDIO-bus.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0006-ARM-dts-NSP-Add-common-bindings-for-MX64-MX65.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0007-ARM-dts-NSP-Add-Ax-stepping-modifications.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0008-ARM-dts-NSP-Add-DT-files-for-Meraki-MX64-series.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0009-ARM-dts-NSP-Add-DT-files-for-Meraki-MX65-series.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0010-ARM-dts-BCM5301X-Fix-nodes-names.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.15-0011-ARM-dts-BCM5301X-Fix-MDIO-mux-binding.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0013-ARM-dts-NSP-Add-bcm958623hr-board-name-to-dts.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0015-ARM-dts-NSP-Fix-MDIO-mux-node-names.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0016-ARM-dts-NSP-Fix-MX64-MX65-eeprom-node-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0017-ARM-dts-NSP-Fix-MX65-MDIO-mux-warnings.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0018-ARM-dts-BCM5301X-Specify-switch-ports-for-more-devic.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0019-ARM-dts-BCM53573-Describe-on-SoC-BCM53125-rev-4-swit.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0020-ARM-dts-BCM53573-Add-Tenda-AC9-switch-ports.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0021-ARM-BCM53016-Specify-switch-ports-for-Meraki-MR32.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0022-ARM-BCM53016-MR32-get-mac-address-from-nvmem.patch create mode 100644 target/linux/bcm53xx/patches-5.10/033-v5.16-0023-ARM-dts-BCM5301X-Add-DT-for-Asus-RT-AC88U.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0001-ARM-dts-NSP-MX65-add-qca8k-falling-edge-PLL-properti.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0002-ARM-dts-BCM5301X-remove-unnecessary-address-size-cel.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0003-ARM-dts-BCM5301X-define-RTL8365MB-switch-on-Asus-RT-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0004-ARM-BCM53016-MR32-convert-to-Broadcom-iProc-I2C-Driv.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0005-ARM-dts-BCM5301X-update-CRU-block-description.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0006-ARM-dts-BCM5301X-use-non-deprecated-USB-2.0-PHY-bind.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0007-ARM-dts-NSP-Fixed-iProc-PCIe-MSI-sub-node.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0008-ARM-dts-NSP-Rename-SATA-unit-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0009-ARM-dts-BCM5301X-correct-RX-delay-and-enable-flow-co.patch create mode 100644 target/linux/bcm53xx/patches-5.10/034-v5.17-0010-Revert-ARM-dts-BCM5301X-define-RTL8365MB-switch-on-A.patch create mode 100644 target/linux/bcm53xx/patches-5.10/035-v5.18-0001-ARM-dts-BCM5301X-define-RTL8365MB-switch-on-Asus-RT-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/035-v5.18-0002-ARM-dts-NSP-MX6X-get-mac-address-from-eeprom.patch create mode 100644 target/linux/bcm53xx/patches-5.10/035-v5.18-0003-ARM-dts-NSP-MX6X-correct-LED-function-types.patch create mode 100644 target/linux/bcm53xx/patches-5.10/035-v5.18-0004-ARM-dts-BCM5301X-Add-Ethernet-MAC-address-to-Luxul-X.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0001-ARM-dts-BCM5301X-Update-pin-controller-node-name.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0002-ARM-dts-BCM5301X-Fix-DTC-warning-for-NAND-node.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0003-ARM-dts-BCM5301X-Remove-cell-properties-from-srab-po.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0004-ARM-dts-BCM5301X-Add-rgmii-to-port-5-of-Broadcom-swi.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0005-ARM-dts-BCM5301X-Retrieve-gmac1-MAC-address-from-NVR.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0006-ARM-dts-BCM5301X-Fix-compatible-strings-for-BCM53012.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0007-ARM-dts-BCM5301X-Disable-gmac0-and-enable-port-8-on-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0008-ARM-dts-BCM5301X-Add-DT-for-WZR-1166DHP-DHP2.patch create mode 100644 target/linux/bcm53xx/patches-5.10/036-v5.19-0009-Revert-ARM-dts-BCM5301X-Fix-DTC-warning-for-NAND-nod.patch create mode 100644 target/linux/bcm53xx/patches-5.10/037-v6.0-0001-ARM-dts-broadcom-align-gpio-key-node-names-with-dtsc.patch create mode 100644 target/linux/bcm53xx/patches-5.10/037-v6.0-0002-ARM-dts-broadcom-correct-gpio-keys-properties.patch create mode 100644 target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch create mode 100644 target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch create mode 100644 target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch create mode 100644 target/linux/bcm53xx/patches-5.10/070-v5.17-phy-bcm-ns-usb2-support-updated-DT-binding-with-PHY-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/080-v5.13-0001-dt-bindings-nvmem-add-Broadcom-s-NVRAM.patch create mode 100644 target/linux/bcm53xx/patches-5.10/080-v5.13-0002-nvmem-brcm_nvram-new-driver-exposing-Broadcom-s-NVRA.patch create mode 100644 target/linux/bcm53xx/patches-5.10/081-v5.18-nvmem-brcm_nvram-parse-NVRAM-content-into-NVMEM-cell.patch create mode 100644 target/linux/bcm53xx/patches-5.10/082-v5.19-nvmem-brcm_nvram-find-Device-Tree-nodes-for-NVMEM-ce.patch create mode 100644 target/linux/bcm53xx/patches-5.10/140-mtd-parsers-trx-parse-firmware-MTD-partitions-only.patch create mode 100644 target/linux/bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch create mode 100644 target/linux/bcm53xx/patches-5.10/300-ARM-BCM5301X-Disable-MMU-and-Dcache-during-decompres.patch create mode 100644 target/linux/bcm53xx/patches-5.10/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/310-ARM-BCM5301X-Add-DT-for-Netgear-R7900.patch create mode 100644 target/linux/bcm53xx/patches-5.10/321-ARM-dts-BCM5301X-Describe-partition-formats.patch create mode 100644 target/linux/bcm53xx/patches-5.10/331-Meraki-MR32-Status-LEDs.patch create mode 100644 target/linux/bcm53xx/patches-5.10/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch create mode 100644 target/linux/bcm53xx/patches-5.10/600-net-disable-GRO-by-default.patch create mode 100644 target/linux/bcm53xx/patches-5.10/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch create mode 100644 target/linux/bcm53xx/patches-5.10/800-0001-firmware-bcm47xx_nvram-support-init-from-IO-memory.patch create mode 100644 target/linux/bcm53xx/patches-5.10/800-0002-nvmem-brcm_nvram-provide-NVMEM-content-to-the-NVRAM-.patch create mode 100644 target/linux/bcm53xx/patches-5.10/905-BCM53573-minor-hacks.patch create mode 100644 target/linux/bcm53xx/profiles/100-Generic.mk create mode 100644 target/linux/bcm63xx/Makefile create mode 100644 target/linux/bcm63xx/base-files/etc/board.d/01_leds create mode 100644 target/linux/bcm63xx/base-files/etc/board.d/02_network create mode 100644 target/linux/bcm63xx/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom create mode 100644 target/linux/bcm63xx/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/bcm63xx/base-files/etc/uci-defaults/09_fix_crc create mode 100644 target/linux/bcm63xx/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bcm63xx/config-5.10 create mode 100644 target/linux/bcm63xx/dts/bcm3368-netgear-cvg834g.dts create mode 100644 target/linux/bcm63xx/dts/bcm3368.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-lowi.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s-vfes.dts create mode 100644 target/linux/bcm63xx/dts/bcm63167-sercomm-h500-s.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm63168-comtrend-vr-3032u.dts create mode 100644 target/linux/bcm63xx/dts/bcm63168-sky-sr102.dts create mode 100644 target/linux/bcm63xx/dts/bcm63169-comtrend-vg-8050.dts create mode 100644 target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref-p300.dts create mode 100644 target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref.dts create mode 100644 target/linux/bcm63xx/dts/bcm6318-comtrend-ar-5315u.dts create mode 100644 target/linux/bcm63xx/dts/bcm6318-d-link-dsl-275xb-d1.dts create mode 100644 target/linux/bcm63xx/dts/bcm6318-sagem-fast-2704n.dts create mode 100644 target/linux/bcm63xx/dts/bcm6318.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm63268-brcm-bcm963268bu-p300.dts create mode 100644 target/linux/bcm63xx/dts/bcm63268-inteno-vg50.dts create mode 100644 target/linux/bcm63xx/dts/bcm63268.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm63269-brcm-bcm963269bhr.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-adb-a4001n.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-adb-a4001n1.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4001n-a-000-1a1-ax.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-adb-pdg-a4101n-a-000-1a1-ae.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-brcm-bcm963281tan.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-brcm-bcm96328avng.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5381u.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-d-link-dsl-274xb-f1.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-d-link-dsl-2750u-c1.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-innacomm-w3400v6.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-sagem-fast-2704-v2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-sercomm-ad1018-nor.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-sercomm-ad1018.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-technicolor-tg582n-telecom-italia.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328-technicolor-tg582n.dts create mode 100644 target/linux/bcm63xx/dts/bcm6328.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338gw.dts create mode 100644 target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338w.dts create mode 100644 target/linux/bcm63xx/dts/bcm6338-d-link-dsl-2640u.dts create mode 100644 target/linux/bcm63xx/dts/bcm6338-dynalink-rta1320.dts create mode 100644 target/linux/bcm63xx/dts/bcm6338.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6345-brcm-bcm96345gw2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6345-dynalink-rta770bw.dts create mode 100644 target/linux/bcm63xx/dts/bcm6345-dynalink-rta770w.dts create mode 100644 target/linux/bcm63xx/dts/bcm6345.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6348-asmax-ar-1004g.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-belkin-f5d7633.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-10.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-11.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348r.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-bt-voyager-2110.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-bt-voyager-2500v-bb.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-comtrend-ct-5365.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-comtrend-ct-536plus.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-d-link-dsl-2640b-b.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-davolink-dv-201amr.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-dynalink-rta1025w.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-inventel-livebox-1.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-netgear-dg834g-v4.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-netgear-dg834gt-pn.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-sagem-fast-2404.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-sagem-fast-2604.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-t-com-speedport-w-500v.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-tecom-gw6000.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-tecom-gw6200.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-telsey-cpva502plus.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-telsey-magic.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-tp-link-td-w8900gb.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348-usrobotics-usr9108.dts create mode 100644 target/linux/bcm63xx/dts/bcm6348.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6358-alcatel-rg100a.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-bt-home-hub-2-a.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-comtrend-ct-6373.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-d-link-dsl-2650u.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-d-link-dsl-274xb-c2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-d-link-dva-g3810bn-tl.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg553.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-a.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-b.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-c.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6358-pirelli-a226.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6358-pirelli-a226g.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-pirelli-a226m.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-pirelli-agpf-s0.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-foxconn-r1.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-sercomm-r0.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6358-t-com-speedport-w-303v.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358-telsey-cpva642.dts create mode 100644 target/linux/bcm63xx/dts/bcm6358.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6359-huawei-echolife-hg520v.dts create mode 100644 target/linux/bcm63xx/dts/bcm6361-sfr-neufbox-6-sercomm-r0.dts create mode 100644 target/linux/bcm63xx/dts/bcm6362-huawei-hg253s-v2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6362-netgear-dgnd3700-v2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6362-sagem-fast-2504n.dts create mode 100644 target/linux/bcm63xx/dts/bcm6362.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6368-actiontec-r1000h.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvngr.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvwg.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025u.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025un.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3026e.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg655b.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-netgear-dgnd3700-v1.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-observa-vh4032n.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368-zyxel-p870hw-51a-v2.dts create mode 100644 target/linux/bcm63xx/dts/bcm6368.dtsi create mode 100644 target/linux/bcm63xx/dts/bcm6369-comtrend-wap-5813n.dts create mode 100644 target/linux/bcm63xx/dts/bcm6369-netgear-evg2000.dts create mode 100644 target/linux/bcm63xx/generic/target.mk create mode 100644 target/linux/bcm63xx/image/Makefile create mode 100644 target/linux/bcm63xx/image/README.images-bcm63xx create mode 100644 target/linux/bcm63xx/image/bcm63xx.mk create mode 100644 target/linux/bcm63xx/image/bcm63xx_nand.mk create mode 100644 target/linux/bcm63xx/image/lzma-loader/Makefile create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/LzmaTypes.h create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/Makefile create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/board.c create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/cache.c create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/cache.h create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/cacheops.h create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/config.h create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/cp0regdef.h create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/head.S create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/loader.c create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/loader.lds create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/loader2.lds create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/lzma-data.lds create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/printf.c create mode 100644 target/linux/bcm63xx/image/lzma-loader/src/printf.h create mode 100644 target/linux/bcm63xx/modules.mk create mode 100644 target/linux/bcm63xx/patches-5.10/020-v5.12-bcm63xx_enet-batch-process-rx-path.patch create mode 100644 target/linux/bcm63xx/patches-5.10/021-v5.12-bcm63xx_enet-add-BQL-support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/022-v5.12-bcm63xx_enet-add-xmit_more-support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/023-v5.12-bcm63xx_enet-alloc-rx-skb-with-NET_IP_ALIGN.patch create mode 100644 target/linux/bcm63xx/patches-5.10/024-v5.12-bcm63xx_enet-consolidate-rx-SKB-ring-cleanup-code.patch create mode 100644 target/linux/bcm63xx/patches-5.10/025-v5.12-bcm63xx_enet-convert-to-build_skb.patch create mode 100644 target/linux/bcm63xx/patches-5.10/026-v5.12-bcm63xx_enet-improve-rx-loop.patch create mode 100644 target/linux/bcm63xx/patches-5.10/027-v5.12-bcm63xx_enet-fix-kernel-panic.patch create mode 100644 target/linux/bcm63xx/patches-5.10/100-MIPS-BCM63XX-add-USB-host-clock-enable-delay.patch create mode 100644 target/linux/bcm63xx/patches-5.10/100-macronix_nand_block_protection_support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/101-MIPS-BCM63XX-add-USB-device-clock-enable-delay-to-cl.patch create mode 100644 target/linux/bcm63xx/patches-5.10/102-MIPS-BCM63XX-move-code-touching-the-USB-private-regi.patch create mode 100644 target/linux/bcm63xx/patches-5.10/103-MIPS-BCM63XX-add-OHCI-EHCI-configuration-bits-to-com.patch create mode 100644 target/linux/bcm63xx/patches-5.10/104-MIPS-BCM63XX-introduce-BCM63XX_OHCI-configuration-sy.patch create mode 100644 target/linux/bcm63xx/patches-5.10/105-MIPS-BCM63XX-add-support-for-the-on-chip-OHCI-contro.patch create mode 100644 target/linux/bcm63xx/patches-5.10/106-MIPS-BCM63XX-register-OHCI-controller-if-board-enabl.patch create mode 100644 target/linux/bcm63xx/patches-5.10/107-MIPS-BCM63XX-introduce-BCM63XX_EHCI-configuration-sy.patch create mode 100644 target/linux/bcm63xx/patches-5.10/108-MIPS-BCM63XX-add-support-for-the-on-chip-EHCI-contro.patch create mode 100644 target/linux/bcm63xx/patches-5.10/109-MIPS-BCM63XX-register-EHCI-controller-if-board-enabl.patch create mode 100644 target/linux/bcm63xx/patches-5.10/110-MIPS-BCM63XX-EHCI-controller-does-not-support-overcu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/130-pinctrl-add-bcm63xx-base-code.patch create mode 100644 target/linux/bcm63xx/patches-5.10/131-Documentation-add-BCM6328-pincontroller-binding-docu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/132-pinctrl-add-a-pincontrol-driver-for-BCM6328.patch create mode 100644 target/linux/bcm63xx/patches-5.10/133-Documentation-add-BCM6348-pincontroller-binding-docu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/134-pinctrl-add-a-pincontrol-driver-for-BCM6348.patch create mode 100644 target/linux/bcm63xx/patches-5.10/135-Documentation-add-BCM6358-pincontroller-binding-docu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/136-pinctrl-add-a-pincontrol-driver-for-BCM6358.patch create mode 100644 target/linux/bcm63xx/patches-5.10/137-Documentation-add-BCM6362-pincontroller-binding-docu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/138-pinctrl-add-a-pincontrol-driver-for-BCM6362.patch create mode 100644 target/linux/bcm63xx/patches-5.10/139-Documentation-add-BCM6368-pincontroller-binding-docu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/140-pinctrl-add-a-pincontrol-driver-for-BCM6368.patch create mode 100644 target/linux/bcm63xx/patches-5.10/141-Documentation-add-BCM63268-pincontroller-binding-doc.patch create mode 100644 target/linux/bcm63xx/patches-5.10/142-pinctrl-add-a-pincontrol-driver-for-BCM63268.patch create mode 100644 target/linux/bcm63xx/patches-5.10/143-gpio-fix-device-tree-gpio-hogs-on-dual-role-gpio-pin.patch create mode 100644 target/linux/bcm63xx/patches-5.10/144-add-removed-syscon_regmap_lookup_by_pdevname.patch create mode 100644 target/linux/bcm63xx/patches-5.10/145-pinctrl-BCM6362-fix-gpio-mode.patch create mode 100644 target/linux/bcm63xx/patches-5.10/206-USB-EHCI-allow-limiting-ports-for-ehci-platform.patch create mode 100644 target/linux/bcm63xx/patches-5.10/207-MIPS-BCM63XX-move-device-registration-code-into-its-.patch create mode 100644 target/linux/bcm63xx/patches-5.10/208-MIPS-BCM63XX-pass-a-mac-addresss-allocator-to-board-.patch create mode 100644 target/linux/bcm63xx/patches-5.10/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch create mode 100644 target/linux/bcm63xx/patches-5.10/321-irqchip-add-support-for-bcm6345-style-external-inter.patch create mode 100644 target/linux/bcm63xx/patches-5.10/322-MIPS-BCM63XX-switch-to-IRQ_DOMAIN.patch create mode 100644 target/linux/bcm63xx/patches-5.10/323-MIPS-BCM63XX-wire-up-BCM6358-s-external-interrupts-4.patch create mode 100644 target/linux/bcm63xx/patches-5.10/324-irqchip-bcm6345-periph-fix-block-uninitialized.patch create mode 100644 target/linux/bcm63xx/patches-5.10/325-irqchip-bcm6345-external-fix-base-uninitialized.patch create mode 100644 target/linux/bcm63xx/patches-5.10/326-irqchip-bcm6345-report-eff-affinity.patch create mode 100644 target/linux/bcm63xx/patches-5.10/327-irqchip-bcm6345-periph-clear-on-init.patch create mode 100644 target/linux/bcm63xx/patches-5.10/330-MIPS-BCM63XX-add-a-new-cpu-variant-helper.patch create mode 100644 target/linux/bcm63xx/patches-5.10/331-MIPS-BCM63XX-define-variant-id-field.patch create mode 100644 target/linux/bcm63xx/patches-5.10/332-MIPS-BCM63XX-detect-BCM6328-variants.patch create mode 100644 target/linux/bcm63xx/patches-5.10/333-MIPS-BCM63XX-detect-BCM6362-variants.patch create mode 100644 target/linux/bcm63xx/patches-5.10/334-MIPS-BCM63XX-detect-BCM6368-variants.patch create mode 100644 target/linux/bcm63xx/patches-5.10/335-MIPS-BCM63XX-fix-PCIe-memory-window-size.patch create mode 100644 target/linux/bcm63xx/patches-5.10/336-MIPS-BCM63XX-dynamically-set-the-pcie-memory-windows.patch create mode 100644 target/linux/bcm63xx/patches-5.10/337-MIPS-BCM63XX-widen-cpuid-field.patch create mode 100644 target/linux/bcm63xx/patches-5.10/338-MIPS-BCM63XX-increase-number-of-IRQs.patch create mode 100644 target/linux/bcm63xx/patches-5.10/339-MIPS-BCM63XX-add-support-for-BCM63268.patch create mode 100644 target/linux/bcm63xx/patches-5.10/340-MIPS-BCM63XX-add-pcie-support-for-BCM63268.patch create mode 100644 target/linux/bcm63xx/patches-5.10/341-MIPS-BCM63XX-add-support-for-BCM6318.patch create mode 100644 target/linux/bcm63xx/patches-5.10/342-MIPS-BCM63XX-split-PCIe-reset-signals.patch create mode 100644 target/linux/bcm63xx/patches-5.10/343-MIPS-BCM63XX-add-PCIe-support-for-BCM6318.patch create mode 100644 target/linux/bcm63xx/patches-5.10/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch create mode 100644 target/linux/bcm63xx/patches-5.10/345-MIPS-BCM63XX-fixup-mapped-SPI-flash-access-on-boot.patch create mode 100644 target/linux/bcm63xx/patches-5.10/346-MIPS-BCM63XX-USB-ENETSW-6318-clocks.patch create mode 100644 target/linux/bcm63xx/patches-5.10/347-MIPS-BCM6318-USB-support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/348-MIPS-BCM63XX-fix-BCM63268-USB-clock.patch create mode 100644 target/linux/bcm63xx/patches-5.10/349-MIPS-BCM63XX-add-BCM63268-USB-support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/350-MIPS-BCM63XX-support-settings-num-usbh-ports.patch create mode 100644 target/linux/bcm63xx/patches-5.10/351-set-board-usbh-ports.patch create mode 100644 target/linux/bcm63xx/patches-5.10/354-MIPS-BCM63XX-allow-building-support-for-more-than-on.patch create mode 100644 target/linux/bcm63xx/patches-5.10/355-MIPS-BCM63XX-allow-board-implementations-to-force-fl.patch create mode 100644 target/linux/bcm63xx/patches-5.10/356-MIPS-BCM63XX-move-fallback-sprom-support-into-its-ow.patch create mode 100644 target/linux/bcm63xx/patches-5.10/357-MIPS-BCM63XX-use-platform-data-for-the-sprom.patch create mode 100644 target/linux/bcm63xx/patches-5.10/358-MIPS-BCM63XX-make-fallback-sprom-optional.patch create mode 100644 target/linux/bcm63xx/patches-5.10/359-MIPS-BCM63XX-allow-different-types-of-sprom.patch create mode 100644 target/linux/bcm63xx/patches-5.10/360-MIPS-BCM63XX-add-support-for-raw-sproms.patch create mode 100644 target/linux/bcm63xx/patches-5.10/361-MIPS-BCM63XX-add-raw-fallback-sproms-for-most-common.patch create mode 100644 target/linux/bcm63xx/patches-5.10/362-MIPS-BCM63XX-also-register-a-fallback-sprom-for-bcma.patch create mode 100644 target/linux/bcm63xx/patches-5.10/363-MIPS-BCM63XX-add-BCMA-based-sprom-templates.patch create mode 100644 target/linux/bcm63xx/patches-5.10/364-MIPS-BCM63XX-allow-board-files-to-provide-sprom-fixu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/365-MIPS-BCM63XX-allow-setting-a-pci-bus-device-for-fall.patch create mode 100644 target/linux/bcm63xx/patches-5.10/366-MIPS-BCM63XX-fallback-sprom-override-devid.patch create mode 100644 target/linux/bcm63xx/patches-5.10/367-MIPS-BCM63XX-add-support-for-loading-DTB.patch create mode 100644 target/linux/bcm63xx/patches-5.10/368-MIPS-BCM63XX-add-support-for-matching-the-board_info.patch create mode 100644 target/linux/bcm63xx/patches-5.10/371_add_of_node_available_by_alias.patch create mode 100644 target/linux/bcm63xx/patches-5.10/372_dont_register_pflash_when_available_in_dtb.patch create mode 100644 target/linux/bcm63xx/patches-5.10/373-MIPS-BCM63XX-register-interrupt-controllers-through-.patch create mode 100644 target/linux/bcm63xx/patches-5.10/374-gpio-add-a-simple-GPIO-driver-for-bcm63xx.patch create mode 100644 target/linux/bcm63xx/patches-5.10/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch create mode 100644 target/linux/bcm63xx/patches-5.10/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch create mode 100644 target/linux/bcm63xx/patches-5.10/378-MIPS-BCM63XX-do-not-register-gpio-controller-if-pres.patch create mode 100644 target/linux/bcm63xx/patches-5.10/379-MIPS-BCM63XX-provide-a-gpio-lookup-for-the-pcmcia-re.patch create mode 100644 target/linux/bcm63xx/patches-5.10/380-pcmcia-bcm63xx_pmcia-use-the-new-named-gpio.patch create mode 100644 target/linux/bcm63xx/patches-5.10/381-Documentation-add-BCM6318-pincontroller-binding-docu.patch create mode 100644 target/linux/bcm63xx/patches-5.10/382-pinctrl-add-a-pincontrol-driver-for-BCM6318.patch create mode 100644 target/linux/bcm63xx/patches-5.10/383-bcm63xx_select_pinctrl.patch create mode 100644 target/linux/bcm63xx/patches-5.10/389-MIPS-BCM63XX-add-clkdev-lookups-for-device-tree.patch create mode 100644 target/linux/bcm63xx/patches-5.10/390-MIPS-BCM63XX-do-not-register-SPI-controllers.patch create mode 100644 target/linux/bcm63xx/patches-5.10/391-MIPS-BCM63XX-do-not-register-uart.patch create mode 100644 target/linux/bcm63xx/patches-5.10/392-MIPS-BCM63XX-remove-leds-and-buttons.patch create mode 100644 target/linux/bcm63xx/patches-5.10/400-bcm963xx_flashmap.patch create mode 100644 target/linux/bcm63xx/patches-5.10/401-bcm963xx_real_rootfs_length.patch create mode 100644 target/linux/bcm63xx/patches-5.10/402_bcm63xx_enet_vlan_incoming_fixed.patch create mode 100644 target/linux/bcm63xx/patches-5.10/403-6358-enet1-external-mii-clk.patch create mode 100644 target/linux/bcm63xx/patches-5.10/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch create mode 100644 target/linux/bcm63xx/patches-5.10/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch create mode 100644 target/linux/bcm63xx/patches-5.10/411-MIPS-BCM63XX-Register-SPI-flash-if-present.patch create mode 100644 target/linux/bcm63xx/patches-5.10/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch create mode 100644 target/linux/bcm63xx/patches-5.10/415-MIPS-BCM63XX-export-the-attached-flash-type.patch create mode 100644 target/linux/bcm63xx/patches-5.10/416-BCM63XX-add-a-fixup-for-ath9k-devices.patch create mode 100644 target/linux/bcm63xx/patches-5.10/420-BCM63XX-add-endian-check-for-ath9k.patch create mode 100644 target/linux/bcm63xx/patches-5.10/421-BCM63XX-add-led-pin-for-ath9k.patch create mode 100644 target/linux/bcm63xx/patches-5.10/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch create mode 100644 target/linux/bcm63xx/patches-5.10/423-bcm63xx_enet_add_b53_support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/424-bcm63xx_enet_no_request_mem_region.patch create mode 100644 target/linux/bcm63xx/patches-5.10/427-boards_probe_switch.patch create mode 100644 target/linux/bcm63xx/patches-5.10/428-bcm63xx_enet-rgmii-ctrl-fix.patch create mode 100644 target/linux/bcm63xx/patches-5.10/430-MIPS-BCM63XX-add-nand-clocks.patch create mode 100644 target/linux/bcm63xx/patches-5.10/431-MIPS-BCM63XX-add-nand-rset.patch create mode 100644 target/linux/bcm63xx/patches-5.10/432-MIPS-BCM63XX-detect-nand-nvram.patch create mode 100644 target/linux/bcm63xx/patches-5.10/433-MIPS-BCM63XX-enable-nand-support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/500-MIPS-BCM63XX-populate-the-compatible-to-board_info-l.patch create mode 100644 target/linux/bcm63xx/patches-5.10/501-board_bcm6328-extend-96328avng-reference-board.patch create mode 100644 target/linux/bcm63xx/patches-5.10/511-board_bcm6318.patch create mode 100644 target/linux/bcm63xx/patches-5.10/512-board_bcm6328.patch create mode 100644 target/linux/bcm63xx/patches-5.10/513-board-bcm6338.patch create mode 100644 target/linux/bcm63xx/patches-5.10/514-board_bcm6345.patch create mode 100644 target/linux/bcm63xx/patches-5.10/515-board-bcm6348.patch create mode 100644 target/linux/bcm63xx/patches-5.10/516-board-bcm6358.patch create mode 100644 target/linux/bcm63xx/patches-5.10/517-board_bcm6362.patch create mode 100644 target/linux/bcm63xx/patches-5.10/518-board_bcm6368.patch create mode 100644 target/linux/bcm63xx/patches-5.10/519-board_bcm63268.patch create mode 100644 target/linux/bcm63xx/patches-5.10/531-board_bcm6348-bt-voyager-2500v-bb.patch create mode 100644 target/linux/bcm63xx/patches-5.10/532-MIPS-BCM63XX-add-inventel-Livebox-support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/800-wl_exports.patch create mode 100644 target/linux/bcm63xx/patches-5.10/801-ssb_export_fallback_sprom.patch create mode 100644 target/linux/bcm63xx/patches-5.10/802-rtl8367r_fix_RGMII_support.patch create mode 100644 target/linux/bcm63xx/patches-5.10/803-jffs2-work-around-unaligned-accesses-failing-on-bcm6.patch create mode 100644 target/linux/bcm63xx/profiles/default.mk create mode 100644 target/linux/bcm63xx/smp/config-default create mode 100644 target/linux/bcm63xx/smp/target.mk create mode 100644 target/linux/bmips/Makefile create mode 100644 target/linux/bmips/config-5.10 create mode 100644 target/linux/bmips/dts/bcm63168-comtrend-vr-3032u.dts create mode 100644 target/linux/bmips/dts/bcm6318-comtrend-ar-5315u.dts create mode 100644 target/linux/bmips/dts/bcm6318.dtsi create mode 100644 target/linux/bmips/dts/bcm63268.dtsi create mode 100644 target/linux/bmips/dts/bcm6328-comtrend-ar-5387un.dts create mode 100644 target/linux/bmips/dts/bcm6328.dtsi create mode 100644 target/linux/bmips/dts/bcm6358-huawei-hg556a-b.dts create mode 100644 target/linux/bmips/dts/bcm6358.dtsi create mode 100644 target/linux/bmips/dts/bcm6362-netgear-dgnd3700-v2.dts create mode 100644 target/linux/bmips/dts/bcm6362.dtsi create mode 100644 target/linux/bmips/dts/bcm6368-comtrend-vr-3025u.dts create mode 100644 target/linux/bmips/dts/bcm6368.dtsi create mode 100644 target/linux/bmips/files/arch/mips/bmips/ath9k-fixup.c create mode 100644 target/linux/bmips/files/arch/mips/bmips/b43-sprom.c create mode 100644 target/linux/bmips/files/arch/mips/pci/fixup-bmips.c create mode 100644 target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c create mode 100644 target/linux/bmips/files/drivers/pci/controller/pci-bcm6348.c create mode 100644 target/linux/bmips/files/drivers/pci/controller/pcie-bcm6318.c create mode 100644 target/linux/bmips/files/drivers/pci/controller/pcie-bcm6328.c create mode 100644 target/linux/bmips/files/include/dt-bindings/interrupt-controller/bcm6318-interrupt-controller.h create mode 100644 target/linux/bmips/files/include/dt-bindings/interrupt-controller/bcm63268-interrupt-controller.h create mode 100644 target/linux/bmips/files/include/dt-bindings/interrupt-controller/bcm6328-interrupt-controller.h create mode 100644 target/linux/bmips/files/include/dt-bindings/interrupt-controller/bcm6358-interrupt-controller.h create mode 100644 target/linux/bmips/files/include/dt-bindings/interrupt-controller/bcm6362-interrupt-controller.h create mode 100644 target/linux/bmips/files/include/dt-bindings/interrupt-controller/bcm6368-interrupt-controller.h create mode 100644 target/linux/bmips/generic/base-files/etc/board.d/01_leds create mode 100644 target/linux/bmips/generic/base-files/etc/board.d/02_network create mode 100644 target/linux/bmips/generic/base-files/etc/uci-defaults/09_fix_crc create mode 100644 target/linux/bmips/generic/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bmips/generic/config-default create mode 100644 target/linux/bmips/generic/target.mk create mode 100644 target/linux/bmips/image/Makefile create mode 100644 target/linux/bmips/image/bcm63xx_generic.mk create mode 100644 target/linux/bmips/image/bcm63xx_nand.mk create mode 100644 target/linux/bmips/image/lzma-loader/Makefile create mode 100644 target/linux/bmips/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/bmips/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/bmips/image/lzma-loader/src/LzmaTypes.h create mode 100644 target/linux/bmips/image/lzma-loader/src/Makefile create mode 100644 target/linux/bmips/image/lzma-loader/src/board.c create mode 100644 target/linux/bmips/image/lzma-loader/src/cache.c create mode 100644 target/linux/bmips/image/lzma-loader/src/cache.h create mode 100644 target/linux/bmips/image/lzma-loader/src/cacheops.h create mode 100644 target/linux/bmips/image/lzma-loader/src/config.h create mode 100644 target/linux/bmips/image/lzma-loader/src/cp0regdef.h create mode 100644 target/linux/bmips/image/lzma-loader/src/head.S create mode 100644 target/linux/bmips/image/lzma-loader/src/loader.c create mode 100644 target/linux/bmips/image/lzma-loader/src/loader.lds create mode 100644 target/linux/bmips/image/lzma-loader/src/loader2.lds create mode 100644 target/linux/bmips/image/lzma-loader/src/lzma-data.lds create mode 100644 target/linux/bmips/image/lzma-loader/src/printf.c create mode 100644 target/linux/bmips/image/lzma-loader/src/printf.h create mode 100644 target/linux/bmips/nand/base-files/etc/board.d/01_leds create mode 100644 target/linux/bmips/nand/base-files/etc/board.d/02_network create mode 100644 target/linux/bmips/nand/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/bmips/nand/config-default create mode 100644 target/linux/bmips/nand/target.mk create mode 100644 target/linux/bmips/patches-5.10/001-v5.11-mips-bmips-select-ARCH_HAS_RESET_CONTROLLER.patch create mode 100644 target/linux/bmips/patches-5.10/002-v5.11-dt-bindings-reset-add-BCM6345-reset-controller-bindi.patch create mode 100644 target/linux/bmips/patches-5.10/003-v5.11-reset-add-BCM6345-reset-controller-driver.patch create mode 100644 target/linux/bmips/patches-5.10/004-v5.11-mips-bmips-dts-add-BCM6328-reset-controller-support.patch create mode 100644 target/linux/bmips/patches-5.10/005-v5.11-mips-bmips-dts-add-BCM6358-reset-controller-support.patch create mode 100644 target/linux/bmips/patches-5.10/006-v5.11-mips-bmips-dts-add-BCM6362-reset-controller-support.patch create mode 100644 target/linux/bmips/patches-5.10/007-v5.11-mips-bmips-dts-add-BCM6368-reset-controller-support.patch create mode 100644 target/linux/bmips/patches-5.10/008-v5.11-mips-bmips-dts-add-BCM63268-reset-controller-support.patch create mode 100644 target/linux/bmips/patches-5.10/009-v5.11-mips-bmips-add-BCM6318-reset-controller-definitions.patch create mode 100644 target/linux/bmips/patches-5.10/020-v5.12-mips-bmips-init-clocks-earlier.patch create mode 100644 target/linux/bmips/patches-5.10/021-v5.12-spi-bcm63xx-spi-fix-pm_runtime.patch create mode 100644 target/linux/bmips/patches-5.10/040-v5.13-mips-smp-bmips-fix-CPU-mappings.patch create mode 100644 target/linux/bmips/patches-5.10/042-v5.13-dt-bindings-rng-bcm2835-add-clock-constraints.patch create mode 100644 target/linux/bmips/patches-5.10/043-v5.13-dt-bindings-rng-bcm2835-document-reset-support.patch create mode 100644 target/linux/bmips/patches-5.10/044-v5.13-hwrng-bcm2835-add-reset-support.patch create mode 100644 target/linux/bmips/patches-5.10/046-v5.13-dt-bindings-net-Add-bcm6368-mdio-mux-bindings.patch create mode 100644 target/linux/bmips/patches-5.10/047-v5.13-net-mdio-Add-BCM6368-MDIO-mux-bus-controller.patch create mode 100644 target/linux/bmips/patches-5.10/053-v5.13-gpio-regmap-set-gpio_chip-of_node.patch create mode 100644 target/linux/bmips/patches-5.10/054-v5.13-dt-bindings-improve-BCM6345-GPIO-binding-documentati.patch create mode 100644 target/linux/bmips/patches-5.10/055-v5.13-pinctrl-bcm-add-bcm63xx-base-code.patch create mode 100644 target/linux/bmips/patches-5.10/056-v5.13-dt-bindings-add-BCM6328-pincontroller-binding-docume.patch create mode 100644 target/linux/bmips/patches-5.10/057-v5.13-dt-bindings-add-BCM6328-GPIO-sysctl-binding-document.patch create mode 100644 target/linux/bmips/patches-5.10/058-v5.13-pinctrl-add-a-pincontrol-driver-for-BCM6328.patch create mode 100644 target/linux/bmips/patches-5.10/059-v5.13-dt-bindings-add-BCM6358-pincontroller-binding-docume.patch create mode 100644 target/linux/bmips/patches-5.10/060-v5.13-dt-bindings-add-BCM6358-GPIO-sysctl-binding-document.patch create mode 100644 target/linux/bmips/patches-5.10/061-v5.13-pinctrl-add-a-pincontrol-driver-for-BCM6358.patch create mode 100644 target/linux/bmips/patches-5.10/062-v5.13-dt-bindings-add-BCM6362-pincontroller-binding-docume.patch create mode 100644 target/linux/bmips/patches-5.10/063-v5.13-dt-bindings-add-BCM6362-GPIO-sysctl-binding-document.patch create mode 100644 target/linux/bmips/patches-5.10/064-v5.13-pinctrl-add-a-pincontrol-driver-for-BCM6362.patch create mode 100644 target/linux/bmips/patches-5.10/065-v5.13-dt-bindings-add-BCM6368-pincontroller-binding-docume.patch create mode 100644 target/linux/bmips/patches-5.10/066-v5.13-dt-bindings-add-BCM6368-GPIO-sysctl-binding-document.patch create mode 100644 target/linux/bmips/patches-5.10/067-v5.13-pinctrl-add-a-pincontrol-driver-for-BCM6368.patch create mode 100644 target/linux/bmips/patches-5.10/068-v5.13-dt-bindings-add-BCM63268-pincontroller-binding-docum.patch create mode 100644 target/linux/bmips/patches-5.10/069-v5.13-dt-bindings-add-BCM63268-GPIO-sysctl-binding-documen.patch create mode 100644 target/linux/bmips/patches-5.10/070-v5.13-pinctrl-add-a-pincontrol-driver-for-BCM63268.patch create mode 100644 target/linux/bmips/patches-5.10/071-v5.13-dt-bindings-add-BCM6318-pincontroller-binding-docume.patch create mode 100644 target/linux/bmips/patches-5.10/072-v5.13-dt-bindings-add-BCM6318-GPIO-sysctl-binding-document.patch create mode 100644 target/linux/bmips/patches-5.10/073-v5.13-pinctrl-add-a-pincontrol-driver-for-BCM6318.patch create mode 100644 target/linux/bmips/patches-5.10/074-v5.13-pinctrl-bcm-bcm6362-fix-warning.patch create mode 100644 target/linux/bmips/patches-5.10/075-v5.13-pinctrl-bcm63xx-Fix-dependencies.patch create mode 100644 target/linux/bmips/patches-5.10/080-v5.14-watchdog-bcm7038_wdt-add-big-endian-support.patch create mode 100644 target/linux/bmips/patches-5.10/100-irqchip-add-support-for-bcm6345-style-external-inter.patch create mode 100644 target/linux/bmips/patches-5.10/110-mips-bmips-add-BCM63268-timer-clock-definitions.patch create mode 100644 target/linux/bmips/patches-5.10/111-mips-bmips-add-BCM63268-timer-reset-definitions.patch create mode 100644 target/linux/bmips/patches-5.10/112-dt-bindings-clock-Add-BCM63268-timer-binding.patch create mode 100644 target/linux/bmips/patches-5.10/113-clk-bcm-Add-BCM63268-timer-clock-and-reset-driver.patch create mode 100644 target/linux/bmips/patches-5.10/200-mips-bmips-automatically-detect-CPU-frequency.patch create mode 100644 target/linux/bmips/patches-5.10/201-mips-bmips-automatically-detect-RAM-size.patch create mode 100644 target/linux/bmips/patches-5.10/202-mips-bmips-disable-ARCH_HAS_SYNC_DMA_FOR_CPU_ALL.patch create mode 100644 target/linux/bmips/patches-5.10/500-net-broadcom-add-BCM6368-enetsw-controller-driver.patch create mode 100644 target/linux/bmips/patches-5.10/510-net-dsa-b53-add-support-for-BCM63xx-RGMIIs.patch create mode 100644 target/linux/bmips/patches-5.10/600-mips-bmips-add-pci-support.patch create mode 100644 target/linux/bmips/patches-5.10/601-pci-controllers-add-bcm6328-pcie-support.patch create mode 100644 target/linux/bmips/patches-5.10/602-pci-controllers-add-bcm6318-pcie-support.patch create mode 100644 target/linux/bmips/patches-5.10/603-pci-controllers-add-bcm6348-pci-support.patch create mode 100644 target/linux/bmips/patches-5.10/610-mips-bmips-add-pci-fixups.patch create mode 100644 target/linux/bmips/patches-5.10/800-jffs2-work-around-unaligned-accesses-failing-on-bcm6.patch create mode 100644 target/linux/bmips/profiles/default.mk create mode 100644 target/linux/gemini/Makefile create mode 100644 target/linux/gemini/base-files/etc/board.d/02_network create mode 100644 target/linux/gemini/base-files/etc/board.d/03_hdparm create mode 100644 target/linux/gemini/base-files/etc/board.d/03_splash create mode 100644 target/linux/gemini/base-files/etc/uci-defaults/09_fix-checksum create mode 100644 target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini create mode 100644 target/linux/gemini/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/gemini/config-5.10 create mode 100644 target/linux/gemini/image/ImageInfo-itian_sq201 create mode 100644 target/linux/gemini/image/ImageInfo-raidsonic_ib-4220-b create mode 100644 target/linux/gemini/image/ImageInfo-storlink_sl93512r create mode 100644 target/linux/gemini/image/Makefile create mode 100644 target/linux/gemini/image/copy-kernel/.gitignore create mode 100644 target/linux/gemini/image/copy-kernel/Makefile create mode 100644 target/linux/gemini/image/copy-kernel/copy-kernel.S create mode 100755 target/linux/gemini/image/dns313_gen_hdd_img.sh create mode 100644 target/linux/gemini/patches-5.10/0001-usb-host-fotg2-add-Gemini-specific-handling.patch create mode 100644 target/linux/gemini/patches-5.10/0002-ARM-dts-Augment-DIR-685-partition-table-for-OpenWrt.patch create mode 100644 target/linux/generic/PATCHES create mode 100644 target/linux/generic/backport-5.10/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch create mode 100644 target/linux/generic/backport-5.10/011-kbuild-export-SUBARCH.patch create mode 100644 target/linux/generic/backport-5.10/026-power-reset-linkstation-poweroff-add-missing-put_dev.patch create mode 100644 target/linux/generic/backport-5.10/050-v5.16-00-MIPS-uasm-Enable-muhu-opcode-for-MIPS-R6.patch create mode 100644 target/linux/generic/backport-5.10/050-v5.16-01-mips-uasm-Add-workaround-for-Loongson-2F-nop-CPU-err.patch create mode 100644 target/linux/generic/backport-5.10/050-v5.16-02-mips-bpf-Add-eBPF-JIT-for-32-bit-MIPS.patch create mode 100644 target/linux/generic/backport-5.10/050-v5.16-03-mips-bpf-Add-new-eBPF-JIT-for-64-bit-MIPS.patch create mode 100644 target/linux/generic/backport-5.10/050-v5.16-04-mips-bpf-Add-JIT-workarounds-for-CPU-errata.patch create mode 100644 target/linux/generic/backport-5.10/050-v5.16-05-mips-bpf-Enable-eBPF-JITs.patch create mode 100644 target/linux/generic/backport-5.10/050-v5.16-06-mips-bpf-Remove-old-BPF-JIT-implementations.patch create mode 100644 target/linux/generic/backport-5.10/071-crypto-arm-chacha-neon-optimize-for-non-block-size-m.patch create mode 100644 target/linux/generic/backport-5.10/072-crypto-arm-chacha-neon-add-missing-counter-increment.patch create mode 100644 target/linux/generic/backport-5.10/080-wireguard-peer-put-frequently-used-members-above-cac.patch create mode 100644 target/linux/generic/backport-5.10/081-net-next-regmap-allow-to-define-reg_update_bits-for-no-bus.patch create mode 100644 target/linux/generic/backport-5.10/103-v5.13-MIPS-select-CPU_MIPS64-for-remaining-MIPS64-CPUs.patch create mode 100644 target/linux/generic/backport-5.10/311-v5.11-MIPS-zboot-put-appended-dtb-into-a-section.patch create mode 100644 target/linux/generic/backport-5.10/343-netfilter-nft_flow_offload-handle-netdevice-events-f.patch create mode 100644 target/linux/generic/backport-5.10/401-v5.11-dt-bindings-mtd-convert-fixed-partitions-to-the-json.patch create mode 100644 target/linux/generic/backport-5.10/402-v5.12-0001-dt-bindings-mtd-move-partition-binding-to-its-own-fi.patch create mode 100644 target/linux/generic/backport-5.10/402-v5.12-0002-dt-bindings-mtd-add-binding-for-BCM4908-partitions.patch create mode 100644 target/linux/generic/backport-5.10/403-v5.13-mtd-parsers-ofpart-support-BCM4908-fixed-partitions.patch create mode 100644 target/linux/generic/backport-5.10/404-v5.13-mtd-parsers-ofpart-limit-parsing-of-deprecated-DT-sy.patch create mode 100644 target/linux/generic/backport-5.10/405-v5.13-mtd-parsers-ofpart-make-symbol-bcm4908_partitions_qu.patch create mode 100644 target/linux/generic/backport-5.10/406-v5.13-0001-mtd-core-add-nvmem-cells-compatible-to-parse-mtd-as-.patch create mode 100644 target/linux/generic/backport-5.10/406-v5.13-0002-dt-bindings-nvmem-drop-nodename-restriction.patch create mode 100644 target/linux/generic/backport-5.10/406-v5.13-0003-dt-bindings-mtd-Document-use-of-nvmem-cells-compatib.patch create mode 100644 target/linux/generic/backport-5.10/407-v5.13-0001-dt-bindings-mtd-add-binding-for-Linksys-Northstar-pa.patch create mode 100644 target/linux/generic/backport-5.10/407-v5.13-0002-mtd-parsers-ofpart-support-Linksys-Northstar-partiti.patch create mode 100644 target/linux/generic/backport-5.10/408-v5.13-mtd-cfi_cmdset_0002-Disable-buffered-writes-for-AMD.patch create mode 100644 target/linux/generic/backport-5.10/409-v5.14-0001-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch create mode 100644 target/linux/generic/backport-5.10/409-v5.14-0002-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch create mode 100644 target/linux/generic/backport-5.10/409-v5.14-0003-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch create mode 100644 target/linux/generic/backport-5.10/410-mtd-next-mtd-parsers-trx-allow-to-use-on-MediaTek-MIPS-SoCs.patch create mode 100644 target/linux/generic/backport-5.10/412-v5.19-mtd-call-of_platform_populate-for-MTD-partitions.patch create mode 100644 target/linux/generic/backport-5.10/413-v6.0-mtd-next-mtd-core-introduce-of-support-for-dynamic-partitions.patch create mode 100644 target/linux/generic/backport-5.10/414-v6.1-mtd-allow-getting-MTD-device-associated-with-a-speci.patch create mode 100644 target/linux/generic/backport-5.10/415-v6.0-mtd-core-check-partition-before-dereference.patch create mode 100644 target/linux/generic/backport-5.10/416-v6.1-mtd-core-add-missing-of_node_get-in-dynamic-partitio.patch create mode 100644 target/linux/generic/backport-5.10/417-v6.2-0001-mtd-core-simplify-a-bit-code-find-partition-matching.patch create mode 100644 target/linux/generic/backport-5.10/417-v6.2-0002-mtd-core-try-to-find-OF-node-for-every-MTD-partition.patch create mode 100644 target/linux/generic/backport-5.10/418-v6.2-mtd-core-set-ROOT_DEV-for-partitions-marked-as-rootf.patch create mode 100644 target/linux/generic/backport-5.10/421-v6.2-mtd-parsers-add-TP-Link-SafeLoader-partitions-table-.patch create mode 100644 target/linux/generic/backport-5.10/430-v6.3-ubi-Fix-failure-attaching-when-vid_hdr-offset-equals.patch create mode 100644 target/linux/generic/backport-5.10/500-v5.13-ubifs-default-to-zstd-compression.patch create mode 100644 target/linux/generic/backport-5.10/600-v5.12-net-extract-napi-poll-functionality-to-__napi_poll.patch create mode 100644 target/linux/generic/backport-5.10/601-v5.12-net-implement-threaded-able-napi-poll-loop-support.patch create mode 100644 target/linux/generic/backport-5.10/602-v5.12-net-add-sysfs-attribute-to-control-napi-threaded-mod.patch create mode 100644 target/linux/generic/backport-5.10/603-v5.12-net-fix-race-between-napi-kthread-mode-and-busy-poll.patch create mode 100644 target/linux/generic/backport-5.10/604-v5.12-net-fix-hangup-on-napi_disable-for-threaded-napi.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-00-netfilter-flowtable-add-hash-offset-field-to-tuple.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-01-netfilter-flowtable-separate-replace-destroy-and-sta.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-03-netfilter-conntrack-Remove-unused-variable-declarati.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-04-netfilter-flowtable-consolidate-skb_try_make_writabl.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-05-netfilter-flowtable-move-skb_try_make_writable-befor.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-06-netfilter-flowtable-move-FLOW_OFFLOAD_DIR_MAX-away-f.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-07-netfilter-flowtable-fast-NAT-functions-never-fail.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-08-netfilter-flowtable-call-dst_check-to-fall-back-to-c.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-09-netfilter-flowtable-refresh-timeout-after-dst-and-wr.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-11-net-resolve-forwarding-path-from-virtual-netdevice-a.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-12-net-8021q-resolve-forwarding-path-for-vlan-devices.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-13-net-bridge-resolve-forwarding-path-for-bridge-device.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-14-net-bridge-resolve-forwarding-path-for-VLAN-tag-acti.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-15-net-ppp-resolve-forwarding-path-for-bridge-pppoe-dev.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-16-net-dsa-resolve-forwarding-path-for-dsa-slave-ports.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-17-netfilter-flowtable-add-xmit-path-types.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-18-netfilter-flowtable-use-dev_fill_forward_path-to-obt.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-19-netfilter-flowtable-use-dev_fill_forward_path-to-obt.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-20-netfilter-flowtable-add-vlan-support.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-21-netfilter-flowtable-add-bridge-vlan-filtering-suppor.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-22-netfilter-flowtable-add-pppoe-support.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-23-netfilter-flowtable-add-dsa-support.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-24-selftests-netfilter-flowtable-bridge-and-vlan-suppor.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-25-netfilter-flowtable-add-offload-support-for-xmit-pat.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-26-netfilter-nft_flow_offload-use-direct-xmit-if-hardwa.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-27-netfilter-flowtable-bridge-vlan-hardware-offload-and.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-28-net-flow_offload-add-FLOW_ACTION_PPPOE_PUSH.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-29-netfilter-flowtable-support-for-FLOW_ACTION_PPPOE_PU.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-30-dsa-slave-add-support-for-TC_SETUP_FT.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-31-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-33-net-ethernet-mtk_eth_soc-add-flow-offloading-support.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-34-docs-nf_flowtable-update-documentation-with-enhancem.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-35-net-ethernet-mediatek-ppe-fix-busy-wait-loop.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-36-net-ethernet-mediatek-fix-a-typo-bug-in-flow-offload.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-38-net-ethernet-mtk_eth_soc-unmap-RX-data-before-callin.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-39-net-ethernet-mtk_eth_soc-fix-build_skb-cleanup.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-40-net-ethernet-mtk_eth_soc-use-napi_consume_skb.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-41-net-ethernet-mtk_eth_soc-reduce-MDIO-bus-access-late.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-42-net-ethernet-mtk_eth_soc-remove-unnecessary-TX-queue.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-43-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-Q.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-44-net-ethernet-mtk_eth_soc-increase-DMA-ring-sizes.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-45-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-46-net-ethernet-mtk_eth_soc-cache-HW-pointer-of-last-fr.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-47-net-ethernet-mtk_eth_soc-only-read-the-full-RX-descr.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-48-net-ethernet-mtk_eth_soc-reduce-unnecessary-interrup.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-49-net-ethernet-mtk_eth_soc-rework-NAPI-callbacks.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-50-net-ethernet-mtk_eth_soc-set-PPE-flow-hash-as-skb-ha.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-51-net-ethernet-mtk_eth_soc-use-iopoll.h-macro-for-DMA-.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-52-net-ethernet-mtk_eth_soc-missing-mutex.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-53-net-ethernet-mtk_eth_soc-handle-VLAN-pop-action.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-54-netfilter-flowtable-dst_check-from-garbage-collector.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-55-netfilter-conntrack-Introduce-tcp-offload-timeout-co.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-56-netfilter-conntrack-Introduce-udp-offload-timeout-co.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-57-netfilter-flowtable-Set-offload-timeouts-according-t.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.13-58-netfilter-flowtable-Add-FLOW_OFFLOAD_XMIT_UNSPEC-xmi.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.15-58-netfilter-flowtable-avoid-possible-false-sharing.patch create mode 100644 target/linux/generic/backport-5.10/610-v5.18-netfilter-flowtable-move-dst_check-to-packet-path.patch create mode 100644 target/linux/generic/backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch create mode 100644 target/linux/generic/backport-5.10/612-v5.15-netfilter-conntrack-sanitize-table-size-default-sett.patch create mode 100644 target/linux/generic/backport-5.10/613-v5.15-01-netfilter-flowtable-remove-nf_ct_l4proto_find-call.patch create mode 100644 target/linux/generic/backport-5.10/613-v5.15-02-netfilter-conntrack-remove-offload_pickup-sysctl-aga.patch create mode 100644 target/linux/generic/backport-5.10/614-v5.18-netfilter-flowtable-fix-TCP-flow-teardown.patch create mode 100644 target/linux/generic/backport-5.10/705-net-phy-at803x-select-correct-page-on-config-init.patch create mode 100644 target/linux/generic/backport-5.10/706-net-phy-at803x-fix-probe-error-if-copper-page-is-sel.patch create mode 100644 target/linux/generic/backport-5.10/710-v5.12-net-phy-Add-100-base-x-mode.patch create mode 100644 target/linux/generic/backport-5.10/711-v5.12-sfp-add-support-for-100-base-x-SFPs.patch create mode 100644 target/linux/generic/backport-5.10/712-v5.13-net-phy-marvell-refactor-HWMON-OOP-style.patch create mode 100644 target/linux/generic/backport-5.10/713-v5.15-net-phy-marvell-add-SFP-support-for-88E1510.patch create mode 100644 target/linux/generic/backport-5.10/719-v5.12-net-dsa-automatically-bring-up-DSA-master-when-openi.patch create mode 100644 target/linux/generic/backport-5.10/720-v5.12-net-bridge-notify-switchdev-of-disappearance-of-old-.patch create mode 100644 target/linux/generic/backport-5.10/721-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch create mode 100644 target/linux/generic/backport-5.10/722-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch create mode 100644 target/linux/generic/backport-5.10/723-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch create mode 100644 target/linux/generic/backport-5.10/724-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch create mode 100644 target/linux/generic/backport-5.10/725-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch create mode 100644 target/linux/generic/backport-5.10/730-net-dsa-mt7530-setup-core-clock-even-in-TRGMII-mode.patch create mode 100644 target/linux/generic/backport-5.10/731-v5.12-net-dsa-mt7530-MT7530-optional-GPIO-support.patch create mode 100644 target/linux/generic/backport-5.10/731-v5.13-net-dsa-mt7530-Add-support-for-EEE-features.patch create mode 100644 target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch create mode 100644 target/linux/generic/backport-5.10/732-net-next-2-of-net-fix-of_get_mac_addr_nvmem-for-non-platform-devices.patch create mode 100644 target/linux/generic/backport-5.10/733-v5.15-0001-net-bgmac-bcma-handle-deferred-probe-error-due-to-ma.patch create mode 100644 target/linux/generic/backport-5.10/733-v5.15-0002-net-bgmac-platform-handle-mac-address-deferral.patch create mode 100644 target/linux/generic/backport-5.10/734-v5.16-0001-net-bgmac-improve-handling-PHY.patch create mode 100644 target/linux/generic/backport-5.10/734-v5.16-0002-net-bgmac-support-MDIO-described-in-DT.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-01-net-dsa-qca8k-change-simple-print-to-dev-variant.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-02-net-dsa-qca8k-use-iopoll-macro-for-qca8k_busy_wait.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-03-net-dsa-qca8k-improve-qca8k-read-write-rmw-bus-acces.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-04-net-dsa-qca8k-handle-qca8k_set_page-errors.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-05-net-dsa-qca8k-handle-error-with-qca8k_read-operation.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-06-net-dsa-qca8k-handle-error-with-qca8k_write-operatio.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-07-net-dsa-qca8k-handle-error-with-qca8k_rmw-operation.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-08-net-dsa-qca8k-handle-error-from-qca8k_busy_wait.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-09-net-dsa-qca8k-add-support-for-qca8327-switch.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-10-devicetree-net-dsa-qca8k-Document-new-compatible-qca.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-11-net-dsa-qca8k-add-priority-tweak-to-qca8337-switch.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-12-net-dsa-qca8k-limit-port5-delay-to-qca8337.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-13-net-dsa-qca8k-add-GLOBAL_FC-settings-needed-for-qca8.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-14-net-dsa-qca8k-add-support-for-switch-rev.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-15-net-dsa-qca8k-add-ethernet-ports-fallback-to-setup_m.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-16-net-dsa-qca8k-make-rgmii-delay-configurable.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-17-net-dsa-qca8k-clear-MASTER_EN-after-phy-read-write.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-18-net-dsa-qca8k-dsa-qca8k-protect-MASTER-busy_wait-wit.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-19-net-dsa-qca8k-enlarge-mdio-delay-and-timeout.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-20-net-dsa-qca8k-add-support-for-internal-phy-and-inter.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-21-devicetree-bindings-dsa-qca8k-Document-internal-mdio.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-22-net-dsa-qca8k-improve-internal-mdio-read-write-bus-a.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-23-net-dsa-qca8k-pass-switch_revision-info-to-phy-dev_f.patch create mode 100644 target/linux/generic/backport-5.10/735-v5.14-25-net-phy-add-support-for-qca8k-switch-internal-PHY-in.patch create mode 100644 target/linux/generic/backport-5.10/736-v5.14-net-dsa-qca8k-fix-missing-unlock-on-error-in-qca8k-vlan.patch create mode 100644 target/linux/generic/backport-5.10/737-v5.14-01-net-dsa-qca8k-check-return-value-of-read-functions-c.patch create mode 100644 target/linux/generic/backport-5.10/737-v5.14-02-net-dsa-qca8k-add-missing-check-return-value-in-qca8.patch create mode 100644 target/linux/generic/backport-5.10/738-v5.14-01-net-dsa-qca8k-fix-an-endian-bug-in-qca8k-get-ethtool.patch create mode 100644 target/linux/generic/backport-5.10/738-v5.14-02-net-dsa-qca8k-check-the-correct-variable-in-qca8k-se.patch create mode 100644 target/linux/generic/backport-5.10/739-v5.15-net-dsa-qca8k-fix-kernel-panic-with-legacy-mdio-mapping.patch create mode 100644 target/linux/generic/backport-5.10/740-v5.13-0001-net-dsa-b53-Add-debug-prints-in-b53_vlan_enable.patch create mode 100644 target/linux/generic/backport-5.10/740-v5.13-0002-net-dsa-b53-spi-allow-device-tree-probing.patch create mode 100644 target/linux/generic/backport-5.10/740-v5.13-0003-net-dsa-b53-relax-is63xx-condition.patch create mode 100644 target/linux/generic/backport-5.10/740-v5.13-0004-net-dsa-tag_brcm-add-support-for-legacy-tags.patch create mode 100644 target/linux/generic/backport-5.10/740-v5.13-0005-net-dsa-b53-support-legacy-tags.patch create mode 100644 target/linux/generic/backport-5.10/740-v5.13-0006-net-dsa-b53-mmap-Add-device-tree-support.patch create mode 100644 target/linux/generic/backport-5.10/740-v5.13-0007-net-dsa-b53-spi-add-missing-MODULE_DEVICE_TABLE.patch create mode 100644 target/linux/generic/backport-5.10/741-v5.14-0001-net-dsa-b53-Do-not-force-CPU-to-be-always-tagged.patch create mode 100644 target/linux/generic/backport-5.10/741-v5.14-0002-net-dsa-b53-remove-redundant-null-check-on-dev.patch create mode 100644 target/linux/generic/backport-5.10/741-v5.14-0003-net-dsa-b53-Create-default-VLAN-entry-explicitly.patch create mode 100644 target/linux/generic/backport-5.10/742-v5.16-net-phy-at803x-add-support-for-qca-8327-internal-phy.patch create mode 100644 target/linux/generic/backport-5.10/743-v5.16-0001-net-dsa-b53-Include-all-ports-in-enabled_ports.patch create mode 100644 target/linux/generic/backport-5.10/743-v5.16-0002-net-dsa-b53-Drop-BCM5301x-workaround-for-a-wrong-CPU.patch create mode 100644 target/linux/generic/backport-5.10/743-v5.16-0003-net-dsa-b53-Improve-flow-control-setup-on-BCM5301x.patch create mode 100644 target/linux/generic/backport-5.10/743-v5.16-0004-net-dsa-b53-Drop-unused-cpu_port-field.patch create mode 100644 target/linux/generic/backport-5.10/744-v5.15-net-dsa-don-t-set-skb-offload_fwd_mark-when-not-offl.patch create mode 100644 target/linux/generic/backport-5.10/745-v5.16-01-net-phy-at803x-add-support-for-qca-8327-A-variant.patch create mode 100644 target/linux/generic/backport-5.10/745-v5.16-02-net-phy-at803x-add-resume-suspend-function-to-qca83x.patch create mode 100644 target/linux/generic/backport-5.10/745-v5.16-03-net-phy-at803x-fix-spacing-and-improve-name-for-83xx.patch create mode 100644 target/linux/generic/backport-5.10/746-v5.16-01-net-phy-at803x-fix-resume-for-QCA8327-phy.patch create mode 100644 target/linux/generic/backport-5.10/746-v5.16-02-net-phy-at803x-add-DAC-amplitude-fix-for-8327-phy.patch create mode 100644 target/linux/generic/backport-5.10/746-v5.16-03-net-phy-at803x-enable-prefer-master-for-83xx-interna.patch create mode 100644 target/linux/generic/backport-5.10/746-v5.16-04-net-phy-at803x-better-describe-debug-regs.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-01-dsa-qca8k-add-mac-power-sel-support.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-02-dt-bindings-net-dsa-qca8k-Add-SGMII-clock-phase-prop.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-03-net-dsa-qca8k-add-support-for-sgmii-falling-edge.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-04-dt-bindings-net-dsa-qca8k-Document-support-for-CPU-p.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-05-net-dsa-qca8k-add-support-for-cpu-port-6.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-06-net-dsa-qca8k-rework-rgmii-delay-logic-and-scan-for-.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-07-dt-bindings-net-dsa-qca8k-Document-qca-sgmii-enable-.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-08-net-dsa-qca8k-add-explicit-SGMII-PLL-enable.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-09-dt-bindings-net-dsa-qca8k-Document-qca-led-open-drai.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-10-net-dsa-qca8k-add-support-for-pws-config-reg.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-11-dt-bindings-net-dsa-qca8k-document-support-for-qca83.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-12-net-dsa-qca8k-add-support-for-QCA8328.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-13-net-dsa-qca8k-set-internal-delay-also-for-sgmii.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-14-net-dsa-qca8k-move-port-config-to-dedicated-struct.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-15-dt-bindings-net-ipq8064-mdio-fix-warning-with-new-qc.patch create mode 100644 target/linux/generic/backport-5.10/747-v5.16-16-dt-bindings-net-dsa-qca8k-convert-to-YAML-schema.patch create mode 100644 target/linux/generic/backport-5.10/748-v5.16-net-dsa-qca8k-fix-delay-applied-to-wrong-cpu-in-parse-p.patch create mode 100644 target/linux/generic/backport-5.10/749-v5.16-net-dsa-qca8k-tidy-for-loop-in-setup-and-add-cpu-port-c.patch create mode 100644 target/linux/generic/backport-5.10/750-v5.16-net-dsa-qca8k-make-sure-pad0-mac06-exchange-is-disabled.patch create mode 100644 target/linux/generic/backport-5.10/751-v5.16-net-dsa-qca8k-fix-internal-delay-applied-to-the-wrong-PAD.patch create mode 100644 target/linux/generic/backport-5.10/752-v5.16-net-dsa-qca8k-fix-MTU-calculation.patch create mode 100644 target/linux/generic/backport-5.10/753-net-next-net-dsa-qca8k-remove-redundant-check-in-parse_port_config.patch create mode 100644 target/linux/generic/backport-5.10/754-net-next-net-dsa-qca8k-convert-to-GENMASK_FIELD_PREP_FIELD_GET.patch create mode 100644 target/linux/generic/backport-5.10/755-net-next-net-dsa-qca8k-remove-extra-mutex_init-in-qca8k_setup.patch create mode 100644 target/linux/generic/backport-5.10/756-net-next-net-dsa-qca8k-move-regmap-init-in-probe-and-set-it.patch create mode 100644 target/linux/generic/backport-5.10/757-net-next-net-dsa-qca8k-initial-conversion-to-regmap-heper.patch create mode 100644 target/linux/generic/backport-5.10/758-net-next-net-dsa-qca8k-add-additional-MIB-counter-and-.patch create mode 100644 target/linux/generic/backport-5.10/759-net-next-net-dsa-qca8k-add-support-for-port-fast-aging.patch create mode 100644 target/linux/generic/backport-5.10/760-net-next-net-dsa-qca8k-add-set_ageing_time-support.patch create mode 100644 target/linux/generic/backport-5.10/761-net-next-net-dsa-qca8k-add-support-for-mdb_add-del.patch create mode 100644 target/linux/generic/backport-5.10/762-v5.11-net-dsa-mt7530-support-setting-MTU.patch create mode 100644 target/linux/generic/backport-5.10/763-v5.11-net-dsa-mt7530-enable-MTU-normalization.patch create mode 100644 target/linux/generic/backport-5.10/764-v5.11-net-dsa-mt7530-support-setting-ageing-time.patch create mode 100644 target/linux/generic/backport-5.10/770-v5.15-net-dsa-mt7530-support-MDB-operations.patch create mode 100644 target/linux/generic/backport-5.10/771-v5.14-net-phy-add-MediaTek-Gigabit-Ethernet-PHY-driver.patch create mode 100644 target/linux/generic/backport-5.10/772-v5.14-net-dsa-mt7530-add-interrupt-support.patch create mode 100644 target/linux/generic/backport-5.10/773-v5.18-1-net-dsa-Move-VLAN-filtering-syncing-out-of-dsa_switc.patch create mode 100644 target/linux/generic/backport-5.10/773-v5.18-2-net-dsa-Avoid-cross-chip-syncing-of-VLAN-filtering.patch create mode 100644 target/linux/generic/backport-5.10/800-v5.13-0001-firmware-bcm47xx_nvram-rename-finding-function-and-i.patch create mode 100644 target/linux/generic/backport-5.10/800-v5.13-0002-firmware-bcm47xx_nvram-add-helper-checking-for-NVRAM.patch create mode 100644 target/linux/generic/backport-5.10/800-v5.13-0003-firmware-bcm47xx_nvram-extract-code-copying-NVRAM.patch create mode 100644 target/linux/generic/backport-5.10/800-v5.13-0004-firmware-bcm47xx_nvram-look-for-NVRAM-with-for-inste.patch create mode 100644 target/linux/generic/backport-5.10/800-v5.13-0005-firmware-bcm47xx_nvram-inline-code-checking-NVRAM-si.patch create mode 100644 target/linux/generic/backport-5.10/801-v6.1-0001-nvmem-add-driver-handling-U-Boot-environment-variabl.patch create mode 100644 target/linux/generic/backport-5.10/801-v6.1-0002-nvmem-u-boot-env-find-Device-Tree-nodes-for-NVMEM-ce.patch create mode 100644 target/linux/generic/backport-5.10/801-v6.1-0003-nvmem-u-boot-env-fix-crc32-casting-type.patch create mode 100644 target/linux/generic/backport-5.10/802-v5.19-nvmem-core-support-passing-DT-node-in-cell-info.patch create mode 100644 target/linux/generic/backport-5.10/803-v6.2-0001-nvmem-u-boot-env-fix-crc32_data_offset-on-redundant-.patch create mode 100644 target/linux/generic/backport-5.10/803-v6.2-0002-nvmem-u-boot-env-align-endianness-of-crc32-values.patch create mode 100644 target/linux/generic/backport-5.10/803-v6.2-0003-nvmem-u-boot-env-add-Broadcom-format-support.patch create mode 100644 target/linux/generic/backport-5.10/810-v5.13-usb-ehci-add-spurious-flag-to-disable-overcurrent-ch.patch create mode 100644 target/linux/generic/backport-5.10/811-v5.13-usb-host-ehci-platform-add-spurious_oc-DT-support.patch create mode 100644 target/linux/generic/backport-5.10/820-v5.13-make-pci_host_common_probe-declare-its-reliance-on-msi-domains.patch create mode 100644 target/linux/generic/backport-5.10/821-v5.13-let-pci-host-bridges-declar-their-reliance-on-msi-domains.patch create mode 100644 target/linux/generic/backport-5.10/822-v5.13-advertise-lack-of-built-in-msi-handling.patch create mode 100644 target/linux/generic/backport-5.10/830-v5.14-leds-lp55xx-Initialize-enable-GPIO-direction-to-outp.patch create mode 100644 target/linux/generic/backport-5.10/845-v6.0-0001-dt-bindings-leds-add-Broadcom-s-BCM63138-controller.patch create mode 100644 target/linux/generic/backport-5.10/845-v6.0-0002-leds-bcm63138-add-support-for-BCM63138-controller.patch create mode 100644 target/linux/generic/backport-5.10/846-v6.0-0001-dt-bindings-leds-leds-bcm63138-unify-full-stops-in-d.patch create mode 100644 target/linux/generic/backport-5.10/846-v6.0-0002-leds-add-help-info-about-BCM63138-module-name.patch create mode 100644 target/linux/generic/backport-5.10/846-v6.0-0003-leds-leds-bcm63138-get-rid-of-LED_OFF.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0001-PCI-pci-bridge-emul-Add-description-for-class_revisi.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0002-PCI-pci-bridge-emul-Add-definitions-for-missing-capa.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0003-PCI-aardvark-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch create mode 100644 target/linux/generic/backport-5.10/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch create mode 100644 target/linux/generic/backport-5.10/851-v5.15-0001-phy-marvell-phy-mvebu-a3700-comphy-Rename-HS-SGMMI-t.patch create mode 100644 target/linux/generic/backport-5.10/851-v5.15-0002-phy-marvell-phy-mvebu-a3700-comphy-Remove-unsupporte.patch create mode 100644 target/linux/generic/backport-5.10/860-v5.17-MIPS-ath79-drop-_machine_restart-again.patch create mode 100644 target/linux/generic/backport-5.10/870-hwmon-next-hwmon-lm70-Add-ti-tmp125-support.patch create mode 100644 target/linux/generic/backport-5.10/880-v5.19-cdc_ether-export-usbnet_cdc_zte_rx_fixup.patch create mode 100644 target/linux/generic/backport-5.10/881-v5.19-rndis_host-enable-the-bogus-MAC-fixup-for-ZTE-device.patch create mode 100644 target/linux/generic/backport-5.10/882-v5.19-rndis_host-limit-scope-of-bogus-MAC-address-detectio.patch create mode 100644 target/linux/generic/backport-5.10/890-v5.11-net-dsa-mv88e6xxx-Export-VTU-as-devlink-region.patch create mode 100644 target/linux/generic/backport-5.10/891-v5.11-net-dsa-mv88e6xxx-Add-helper-to-get-a-chip-s-max_vid.patch create mode 100644 target/linux/generic/backport-5.10/891-v5.13-net-dsa-mv88e6xxx-Fix-off-by-one-in-VTU-devlink-regi.patch create mode 100644 target/linux/generic/config-5.10 create mode 100644 target/linux/generic/config-filter create mode 100644 target/linux/generic/files/Documentation/devicetree/bindings/mtd/partitions/openwrt,uimage.yaml create mode 100644 target/linux/generic/files/Documentation/networking/adm6996.txt create mode 100644 target/linux/generic/files/arch/mips/fw/myloader/Makefile create mode 100644 target/linux/generic/files/arch/mips/fw/myloader/myloader.c create mode 100644 target/linux/generic/files/block/partitions/fit.c create mode 100644 target/linux/generic/files/drivers/leds/leds-ubnt-ledbar.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/Kconfig create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/Makefile create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit.h create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_bcm63xx.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_bcm_wfi.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_brnimage.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_cfe_bootfs.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_elf.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_eva.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_jimage.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_lzma.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_minor.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_squashfs.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_tplink.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_trx.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c create mode 100644 target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_wrgg.c create mode 100644 target/linux/generic/files/drivers/mtd/nand/mtk_bmt.c create mode 100644 target/linux/generic/files/drivers/mtd/nand/mtk_bmt.h create mode 100644 target/linux/generic/files/drivers/mtd/nand/mtk_bmt_bbt.c create mode 100644 target/linux/generic/files/drivers/mtd/nand/mtk_bmt_nmbm.c create mode 100644 target/linux/generic/files/drivers/mtd/nand/mtk_bmt_v2.c create mode 100644 target/linux/generic/files/drivers/mtd/parsers/routerbootpart.c create mode 100644 target/linux/generic/files/drivers/net/phy/adm6996.c create mode 100644 target/linux/generic/files/drivers/net/phy/adm6996.h create mode 100644 target/linux/generic/files/drivers/net/phy/ar8216.c create mode 100644 target/linux/generic/files/drivers/net/phy/ar8216.h create mode 100644 target/linux/generic/files/drivers/net/phy/ar8327.c create mode 100644 target/linux/generic/files/drivers/net/phy/ar8327.h create mode 100644 target/linux/generic/files/drivers/net/phy/b53/Kconfig create mode 100644 target/linux/generic/files/drivers/net/phy/b53/Makefile create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_common.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_mmap.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_phy_fixup.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_priv.h create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_regs.h create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_spi.c create mode 100644 target/linux/generic/files/drivers/net/phy/b53/b53_srab.c create mode 100644 target/linux/generic/files/drivers/net/phy/ip17xx.c create mode 100644 target/linux/generic/files/drivers/net/phy/psb6970.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8306.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366_smi.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366_smi.h create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366rb.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8366s.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8367.c create mode 100644 target/linux/generic/files/drivers/net/phy/rtl8367b.c create mode 100644 target/linux/generic/files/drivers/net/phy/swconfig.c create mode 100644 target/linux/generic/files/drivers/net/phy/swconfig_leds.c create mode 100644 target/linux/generic/files/drivers/platform/mikrotik/Kconfig create mode 100644 target/linux/generic/files/drivers/platform/mikrotik/Makefile create mode 100644 target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c create mode 100644 target/linux/generic/files/drivers/platform/mikrotik/rb_softconfig.c create mode 100644 target/linux/generic/files/drivers/platform/mikrotik/routerboot.c create mode 100644 target/linux/generic/files/drivers/platform/mikrotik/routerboot.h create mode 100644 target/linux/generic/files/include/dt-bindings/mtd/partitions/uimage.h create mode 100644 target/linux/generic/files/include/linux/ar8216_platform.h create mode 100644 target/linux/generic/files/include/linux/ath5k_platform.h create mode 100644 target/linux/generic/files/include/linux/ath9k_platform.h create mode 100644 target/linux/generic/files/include/linux/mtd/mtk_bmt.h create mode 100644 target/linux/generic/files/include/linux/myloader.h create mode 100644 target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h create mode 100644 target/linux/generic/files/include/linux/routerboot.h create mode 100644 target/linux/generic/files/include/linux/rt2x00_platform.h create mode 100644 target/linux/generic/files/include/linux/rtl8366.h create mode 100644 target/linux/generic/files/include/linux/rtl8367.h create mode 100644 target/linux/generic/files/include/linux/switch.h create mode 100644 target/linux/generic/files/include/uapi/linux/switch.h create mode 100644 target/linux/generic/hack-5.10/204-module_strip.patch create mode 100644 target/linux/generic/hack-5.10/205-kconfig-exit.patch create mode 100644 target/linux/generic/hack-5.10/210-darwin_scripts_include.patch create mode 100644 target/linux/generic/hack-5.10/211-darwin-uuid-typedef-clash.patch create mode 100644 target/linux/generic/hack-5.10/212-tools_portability.patch create mode 100644 target/linux/generic/hack-5.10/214-spidev_h_portability.patch create mode 100644 target/linux/generic/hack-5.10/220-arm-gc_sections.patch create mode 100644 target/linux/generic/hack-5.10/221-module_exports.patch create mode 100644 target/linux/generic/hack-5.10/230-openwrt_lzma_options.patch create mode 100644 target/linux/generic/hack-5.10/249-udp-tunnel-selection.patch create mode 100644 target/linux/generic/hack-5.10/250-netfilter_depends.patch create mode 100644 target/linux/generic/hack-5.10/251-kconfig.patch create mode 100644 target/linux/generic/hack-5.10/253-ksmbd-config.patch create mode 100644 target/linux/generic/hack-5.10/259-regmap_dynamic.patch create mode 100644 target/linux/generic/hack-5.10/260-crypto_test_dependencies.patch create mode 100644 target/linux/generic/hack-5.10/261-lib-arc4-unhide.patch create mode 100644 target/linux/generic/hack-5.10/280-rfkill-stubs.patch create mode 100644 target/linux/generic/hack-5.10/300-MIPS-r4k_cache-use-more-efficient-cache-blast.patch create mode 100644 target/linux/generic/hack-5.10/301-mips_image_cmdline_hack.patch create mode 100644 target/linux/generic/hack-5.10/321-powerpc_crtsavres_prereq.patch create mode 100644 target/linux/generic/hack-5.10/401-mtd-super-don-t-reply-on-mtdblock-device-minor.patch create mode 100644 target/linux/generic/hack-5.10/402-mtd-blktrans-call-add-disks-after-mtd-device.patch create mode 100644 target/linux/generic/hack-5.10/410-block-fit-partition-parser.patch create mode 100644 target/linux/generic/hack-5.10/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch create mode 100644 target/linux/generic/hack-5.10/421-mtd-fix-squashfs-root-on-targets-with-CONFIG_FIT_PAR.patch create mode 100644 target/linux/generic/hack-5.10/422-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch create mode 100644 target/linux/generic/hack-5.10/430-mtk-bmt-support.patch create mode 100644 target/linux/generic/hack-5.10/531-debloat_lzma.patch create mode 100644 target/linux/generic/hack-5.10/600-bridge_offload.patch create mode 100644 target/linux/generic/hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch create mode 100644 target/linux/generic/hack-5.10/650-netfilter-add-xt_FLOWOFFLOAD-target.patch create mode 100644 target/linux/generic/hack-5.10/651-wireless_mesh_header.patch create mode 100644 target/linux/generic/hack-5.10/660-fq_codel_defaults.patch create mode 100644 target/linux/generic/hack-5.10/661-kernel-ct-size-the-hashtable-more-adequately.patch create mode 100644 target/linux/generic/hack-5.10/700-swconfig_switch_drivers.patch create mode 100644 target/linux/generic/hack-5.10/710-net-dsa-mv88e6xxx-default-VID-1.patch create mode 100644 target/linux/generic/hack-5.10/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch create mode 100644 target/linux/generic/hack-5.10/720-net-phy-add-aqr-phys.patch create mode 100644 target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch create mode 100644 target/linux/generic/hack-5.10/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch create mode 100644 target/linux/generic/hack-5.10/723-net-phy-aquantia-fix-system-side-protocol-mi.patch create mode 100644 target/linux/generic/hack-5.10/724-net-phy-aquantia-Add-AQR113-driver-support.patch create mode 100644 target/linux/generic/hack-5.10/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch create mode 100644 target/linux/generic/hack-5.10/760-net-usb-r8152-add-LED-configuration-from-OF.patch create mode 100644 target/linux/generic/hack-5.10/761-dt-bindings-net-add-RTL8152-binding-documentation.patch create mode 100644 target/linux/generic/hack-5.10/773-bgmac-add-srab-switch.patch create mode 100644 target/linux/generic/hack-5.10/780-usb-net-MeigLink_modem_support.patch create mode 100644 target/linux/generic/hack-5.10/800-GPIO-add-named-gpio-exports.patch create mode 100644 target/linux/generic/hack-5.10/800-ubnt-ledbar-driver.patch create mode 100644 target/linux/generic/hack-5.10/901-debloat_sock_diag.patch create mode 100644 target/linux/generic/hack-5.10/902-debloat_proc.patch create mode 100644 target/linux/generic/hack-5.10/904-debloat_dma_buf.patch create mode 100644 target/linux/generic/hack-5.10/910-kobject_uevent.patch create mode 100644 target/linux/generic/hack-5.10/911-kobject_add_broadcast_uevent.patch create mode 100644 target/linux/generic/hack-5.10/920-device_tree_cmdline.patch create mode 100644 target/linux/generic/image/Makefile create mode 100644 target/linux/generic/image/initramfs-base-files.txt create mode 100644 target/linux/generic/image/lzma-loader/Makefile create mode 100644 target/linux/generic/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/generic/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/generic/image/lzma-loader/src/Makefile create mode 100644 target/linux/generic/image/lzma-loader/src/decompress.c create mode 100644 target/linux/generic/image/lzma-loader/src/lzma-copy.lds.in create mode 100644 target/linux/generic/image/lzma-loader/src/lzma.lds.in create mode 100644 target/linux/generic/image/lzma-loader/src/print.c create mode 100644 target/linux/generic/image/lzma-loader/src/print.h create mode 100644 target/linux/generic/image/lzma-loader/src/printf.c create mode 100644 target/linux/generic/image/lzma-loader/src/printf.h create mode 100644 target/linux/generic/image/lzma-loader/src/start.S create mode 100644 target/linux/generic/image/lzma-loader/src/uart16550.c create mode 100644 target/linux/generic/image/lzma-loader/src/uart16550.h create mode 100644 target/linux/generic/image/relocate/Makefile create mode 100644 target/linux/generic/image/relocate/cacheops.h create mode 100644 target/linux/generic/image/relocate/cp0regdef.h create mode 100644 target/linux/generic/image/relocate/head.S create mode 100644 target/linux/generic/image/relocate/loader.lds create mode 100755 target/linux/generic/other-files/init create mode 100644 target/linux/generic/pending-5.10/050-dtc-checks-Drop-interrupt-provider-address-cells-check.patch create mode 100644 target/linux/generic/pending-5.10/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch create mode 100644 target/linux/generic/pending-5.10/102-MIPS-only-process-negative-stack-offsets-on-stack-tr.patch create mode 100644 target/linux/generic/pending-5.10/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch create mode 100644 target/linux/generic/pending-5.10/130-add-linux-spidev-compatible-si3210.patch create mode 100644 target/linux/generic/pending-5.10/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch create mode 100644 target/linux/generic/pending-5.10/141-jffs2-add-RENAME_EXCHANGE-support.patch create mode 100644 target/linux/generic/pending-5.10/142-jffs2-add-splice-ops.patch create mode 100644 target/linux/generic/pending-5.10/150-bridge_allow_receiption_on_disabled_port.patch create mode 100644 target/linux/generic/pending-5.10/190-rtc-rs5c372-support_alarms_up_to_1_week.patch create mode 100644 target/linux/generic/pending-5.10/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch create mode 100644 target/linux/generic/pending-5.10/203-kallsyms_uncompressed.patch create mode 100644 target/linux/generic/pending-5.10/205-backtrace_module_info.patch create mode 100644 target/linux/generic/pending-5.10/240-remove-unsane-filenames-from-deps_initramfs-list.patch create mode 100644 target/linux/generic/pending-5.10/261-enable_wilink_platform_without_drivers.patch create mode 100644 target/linux/generic/pending-5.10/270-platform-mikrotik-build-bits.patch create mode 100644 target/linux/generic/pending-5.10/300-mips_expose_boot_raw.patch create mode 100644 target/linux/generic/pending-5.10/301-MIPS-Add-barriers-between-dcache-icache-flushes.patch create mode 100644 target/linux/generic/pending-5.10/302-mips_no_branch_likely.patch create mode 100644 target/linux/generic/pending-5.10/305-mips_module_reloc.patch create mode 100644 target/linux/generic/pending-5.10/307-mips_highmem_offset.patch create mode 100644 target/linux/generic/pending-5.10/308-mips32r2_tune.patch create mode 100644 target/linux/generic/pending-5.10/309-MIPS-Add-CPU-option-reporting-to-proc-cpuinfo.patch create mode 100644 target/linux/generic/pending-5.10/310-arm_module_unresolved_weak_sym.patch create mode 100644 target/linux/generic/pending-5.10/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch create mode 100644 target/linux/generic/pending-5.10/332-arc-add-OWRTDTB-section.patch create mode 100644 target/linux/generic/pending-5.10/333-arc-enable-unaligned-access-in-kernel-mode.patch create mode 100644 target/linux/generic/pending-5.10/342-powerpc-Enable-kernel-XZ-compression-option-on-PPC_8.patch create mode 100644 target/linux/generic/pending-5.10/400-mtd-mtdsplit-support.patch create mode 100644 target/linux/generic/pending-5.10/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch create mode 100644 target/linux/generic/pending-5.10/410-mtd-parsers-ofpart-fix-parsing-subpartitions.patch create mode 100644 target/linux/generic/pending-5.10/419-mtd-redboot-add-of_match_table-with-DT-binding.patch create mode 100644 target/linux/generic/pending-5.10/420-mtd-redboot_space.patch create mode 100644 target/linux/generic/pending-5.10/430-mtd-add-myloader-partition-parser.patch create mode 100644 target/linux/generic/pending-5.10/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch create mode 100644 target/linux/generic/pending-5.10/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch create mode 100644 target/linux/generic/pending-5.10/435-mtd-add-routerbootpart-parser-config.patch create mode 100644 target/linux/generic/pending-5.10/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch create mode 100644 target/linux/generic/pending-5.10/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch create mode 100644 target/linux/generic/pending-5.10/465-m25p80-mx-disable-software-protection.patch create mode 100644 target/linux/generic/pending-5.10/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch create mode 100644 target/linux/generic/pending-5.10/476-mtd-spi-nor-add-eon-en25q128.patch create mode 100644 target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch create mode 100644 target/linux/generic/pending-5.10/479-mtd-spi-nor-add-xtx-xt25f128b.patch create mode 100644 target/linux/generic/pending-5.10/482-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch create mode 100644 target/linux/generic/pending-5.10/483-mtd-spi-nor-add-gd25q512.patch create mode 100644 target/linux/generic/pending-5.10/483-mtd-spinand-add-support-for-xtx-xt26g0xa.patch create mode 100644 target/linux/generic/pending-5.10/484-mtd-spi-nor-add-esmt-f25l16pa.patch create mode 100644 target/linux/generic/pending-5.10/485-mtd-spi-nor-add-xmc-xm25qh128c.patch create mode 100644 target/linux/generic/pending-5.10/488-mtd-spi-nor-add-xmc-xm25qh64c.patch create mode 100644 target/linux/generic/pending-5.10/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch create mode 100644 target/linux/generic/pending-5.10/491-ubi-auto-create-ubiblock-device-for-rootfs.patch create mode 100644 target/linux/generic/pending-5.10/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch create mode 100644 target/linux/generic/pending-5.10/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch create mode 100644 target/linux/generic/pending-5.10/494-mtd-ubi-add-EOF-marker-support.patch create mode 100644 target/linux/generic/pending-5.10/495-mtd-core-add-get_mtd_device_by_node.patch create mode 100644 target/linux/generic/pending-5.10/496-dt-bindings-add-bindings-for-mtd-concat-devices.patch create mode 100644 target/linux/generic/pending-5.10/497-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch create mode 100644 target/linux/generic/pending-5.10/498-mtd-spi-nor-locking-support-for-MX25L6405D.patch create mode 100644 target/linux/generic/pending-5.10/499-mtd-spi-nor-disable-16-bit-sr-for-macronix.patch create mode 100644 target/linux/generic/pending-5.10/500-fs_cdrom_dependencies.patch create mode 100644 target/linux/generic/pending-5.10/530-jffs2_make_lzma_available.patch create mode 100644 target/linux/generic/pending-5.10/532-jffs2_eofdetect.patch create mode 100644 target/linux/generic/pending-5.10/600-netfilter_conntrack_flush.patch create mode 100644 target/linux/generic/pending-5.10/610-netfilter_match_bypass_default_checks.patch create mode 100644 target/linux/generic/pending-5.10/611-netfilter_match_bypass_default_table.patch create mode 100644 target/linux/generic/pending-5.10/612-netfilter_match_reduce_memory_access.patch create mode 100644 target/linux/generic/pending-5.10/620-net_sched-codel-do-not-defer-queue-length-update.patch create mode 100644 target/linux/generic/pending-5.10/630-packet_socket_type.patch create mode 100644 target/linux/generic/pending-5.10/655-increase_skb_pad.patch create mode 100644 target/linux/generic/pending-5.10/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch create mode 100644 target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch create mode 100644 target/linux/generic/pending-5.10/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch create mode 100644 target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch create mode 100644 target/linux/generic/pending-5.10/682-of_net-add-mac-address-increment-support.patch create mode 100644 target/linux/generic/pending-5.10/683-of_net-add-mac-address-to-of-tree.patch create mode 100644 target/linux/generic/pending-5.10/700-net-ethernet-mtk_eth_soc-avoid-creating-duplicate-of.patch create mode 100644 target/linux/generic/pending-5.10/701-00-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch create mode 100644 target/linux/generic/pending-5.10/701-01-arm64-dts-mediatek-mt7622-add-support-for-coherent-D.patch create mode 100644 target/linux/generic/pending-5.10/701-02-net-ethernet-mtk_eth_soc-add-support-for-Wireless-Et.patch create mode 100644 target/linux/generic/pending-5.10/701-03-net-ethernet-mtk_eth_soc-implement-flow-offloading-t.patch create mode 100644 target/linux/generic/pending-5.10/701-04-arm64-dts-mediatek-mt7622-introduce-nodes-for-Wirele.patch create mode 100644 target/linux/generic/pending-5.10/701-05-net-ethernet-mtk_eth_soc-add-ipv6-flow-offload-suppo.patch create mode 100644 target/linux/generic/pending-5.10/701-06-net-ethernet-mtk_eth_soc-support-TC_SETUP_BLOCK-for-.patch create mode 100644 target/linux/generic/pending-5.10/701-07-net-ethernet-mtk_eth_soc-allocate-struct-mtk_ppe-sep.patch create mode 100644 target/linux/generic/pending-5.10/701-08-net-ethernet-mtk_eth_soc-rework-hardware-flow-table-.patch create mode 100644 target/linux/generic/pending-5.10/701-09-net-ethernet-mtk_eth_soc-remove-bridge-flow-offload-.patch create mode 100644 target/linux/generic/pending-5.10/701-10-net-ethernet-mtk_eth_soc-support-creating-mac-addres.patch create mode 100644 target/linux/generic/pending-5.10/703-phy-add-detach-callback-to-struct-phy_driver.patch create mode 100644 target/linux/generic/pending-5.10/704-00-netfilter-flowtable-fix-excessive-hw-offload-attempt.patch create mode 100644 target/linux/generic/pending-5.10/704-01-netfilter-nft_flow_offload-skip-dst-neigh-lookup-for.patch create mode 100644 target/linux/generic/pending-5.10/704-02-net-fix-dev_fill_forward_path-with-pppoe-bridge.patch create mode 100644 target/linux/generic/pending-5.10/704-03-netfilter-nft_flow_offload-fix-offload-with-pppoe-vl.patch create mode 100644 target/linux/generic/pending-5.10/705-net-dsa-tag_mtk-add-padding-for-tx-packets.patch create mode 100644 target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch create mode 100644 target/linux/generic/pending-5.10/730-net-phy-at803x-fix-feature-detection.patch create mode 100644 target/linux/generic/pending-5.10/760-net-dsa-mv88e6xxx-fix-vlan-setup.patch create mode 100644 target/linux/generic/pending-5.10/762-net-bridge-switchdev-Refactor-br_switchdev_fdb_notif.patch create mode 100644 target/linux/generic/pending-5.10/763-net-bridge-switchdev-Include-local-flag-in-FDB-notif.patch create mode 100644 target/linux/generic/pending-5.10/764-net-bridge-switchdev-Send-FDB-notifications-for-host.patch create mode 100644 target/linux/generic/pending-5.10/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch create mode 100644 target/linux/generic/pending-5.10/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch create mode 100644 target/linux/generic/pending-5.10/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch create mode 100644 target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch create mode 100644 target/linux/generic/pending-5.10/780-ARM-kirkwood-add-missing-linux-if_ether.h-for-ETH_AL.patch create mode 100644 target/linux/generic/pending-5.10/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch create mode 100644 target/linux/generic/pending-5.10/801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch create mode 100644 target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch create mode 100644 target/linux/generic/pending-5.10/811-pci_disable_usb_common_quirks.patch create mode 100644 target/linux/generic/pending-5.10/820-w1-gpio-fix-problem-with-platfom-data-in-w1-gpio.patch create mode 100644 target/linux/generic/pending-5.10/834-ledtrig-libata.patch create mode 100644 target/linux/generic/pending-5.10/840-hwrng-bcm2835-set-quality-to-1000.patch create mode 100644 target/linux/generic/pending-5.10/842-net-qmi_wwan-add-ZTE-MF286D-modem-19d2-1485.patch create mode 100644 target/linux/generic/pending-5.10/850-0001-PCI-aardvark-Replace-custom-PCIE_CORE_INT_-macros-wi.patch create mode 100644 target/linux/generic/pending-5.10/850-0004-PCI-aardvark-Rewrite-IRQ-code-to-chained-IRQ-handler.patch create mode 100644 target/linux/generic/pending-5.10/850-0005-PCI-aardvark-Check-return-value-of-generic_handle_do.patch create mode 100644 target/linux/generic/pending-5.10/850-0006-PCI-aardvark-Make-MSI-irq_chip-structures-static-dri.patch create mode 100644 target/linux/generic/pending-5.10/850-0007-PCI-aardvark-Make-msi_domain_info-structure-a-static.patch create mode 100644 target/linux/generic/pending-5.10/850-0008-PCI-aardvark-Use-dev_fwnode-instead-of-of_node_to_fw.patch create mode 100644 target/linux/generic/pending-5.10/850-0009-PCI-aardvark-Refactor-unmasking-summary-MSI-interrup.patch create mode 100644 target/linux/generic/pending-5.10/850-0010-PCI-aardvark-Add-support-for-masking-MSI-interrupts.patch create mode 100644 target/linux/generic/pending-5.10/850-0011-PCI-aardvark-Fix-setting-MSI-address.patch create mode 100644 target/linux/generic/pending-5.10/850-0012-PCI-aardvark-Enable-MSI-X-support.patch create mode 100644 target/linux/generic/pending-5.10/850-0013-PCI-aardvark-Add-support-for-ERR-interrupt-on-emulat.patch create mode 100644 target/linux/generic/pending-5.10/850-0015-PCI-aardvark-Optimize-writing-PCI_EXP_RTCTL_PMEIE-an.patch create mode 100644 target/linux/generic/pending-5.10/850-0016-PCI-aardvark-Add-support-for-PME-interrupts.patch create mode 100644 target/linux/generic/pending-5.10/850-0017-PCI-aardvark-Fix-support-for-PME-requester-on-emulat.patch create mode 100644 target/linux/generic/pending-5.10/850-0018-PCI-aardvark-Use-separate-INTA-interrupt-for-emulate.patch create mode 100644 target/linux/generic/pending-5.10/850-0019-PCI-aardvark-Remove-irq_mask_ack-callback-for-INTx-i.patch create mode 100644 target/linux/generic/pending-5.10/850-0020-PCI-aardvark-Don-t-mask-irq-when-mapping.patch create mode 100644 target/linux/generic/pending-5.10/850-0021-PCI-aardvark-Drop-__maybe_unused-from-advk_pcie_disa.patch create mode 100644 target/linux/generic/pending-5.10/850-0022-PCI-aardvark-Update-comment-about-link-going-down-af.patch create mode 100644 target/linux/generic/pending-5.10/850-0023-PCI-aardvark-Make-main-irq_chip-structure-a-static-d.patch create mode 100644 target/linux/generic/pending-5.10/851-0001-phy-marvell-phy-mvebu-a3700-comphy-Remove-port-from-.patch create mode 100644 target/linux/generic/pending-5.10/851-0002-phy-marvell-phy-mvebu-a3700-comphy-Add-native-kernel.patch create mode 100644 target/linux/generic/pending-5.10/851-0003-arm64-dts-marvell-armada-37xx-Add-xtal-clock-to-comp.patch create mode 100644 target/linux/generic/pending-5.10/851-0004-Revert-ata-ahci-mvebu-Make-SATA-PHY-optional-for-Arm.patch create mode 100644 target/linux/generic/pending-5.10/851-0005-Revert-usb-host-xhci-mvebu-make-USB-3.0-PHY-optional.patch create mode 100644 target/linux/generic/pending-5.10/851-0006-Revert-PCI-aardvark-Fix-initialization-with-old-Marv.patch create mode 100644 target/linux/generic/pending-5.10/920-mangle_bootargs.patch create mode 100644 target/linux/imx/Makefile create mode 100644 target/linux/imx/base-files/etc/inittab create mode 100644 target/linux/imx/config-5.10 create mode 100644 target/linux/imx/cortexa7/base-files/etc/board.d/02_network create mode 100644 target/linux/imx/cortexa7/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/imx/cortexa7/config-default create mode 100644 target/linux/imx/cortexa7/target.mk create mode 100644 target/linux/imx/cortexa9/base-files/etc/board.d/02_network create mode 100644 target/linux/imx/cortexa9/base-files/lib/imx.sh create mode 100644 target/linux/imx/cortexa9/base-files/lib/preinit/79_move_config create mode 100755 target/linux/imx/cortexa9/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/imx/cortexa9/config-default create mode 100644 target/linux/imx/cortexa9/target.mk create mode 100644 target/linux/imx/files/firmware/imx/sdma/sdma-imx6q.bin create mode 100644 target/linux/imx/image/Makefile create mode 100644 target/linux/imx/image/bootscript-solidrun_cubox-i create mode 100644 target/linux/imx/image/bootscript-toradex_apalis create mode 100644 target/linux/imx/image/bootscript-ventana create mode 100644 target/linux/imx/image/cortexa7.mk create mode 100644 target/linux/imx/image/cortexa9.mk create mode 100644 target/linux/imx/image/recovery-toradex_apalis create mode 100644 target/linux/imx/patches-5.10/100-bootargs.patch create mode 100644 target/linux/imx/patches-5.10/300-ARM-dts-imx6q-apalis-ixora-add-status-LEDs-aliases.patch create mode 100644 target/linux/imx/patches-5.10/301-ARM-dts-imx6q-apalis-ixora-make-switch3-reset-button.patch create mode 100644 target/linux/imx/profiles/100-default.mk create mode 100644 target/linux/ipq40xx/Makefile create mode 100644 target/linux/ipq40xx/base-files/etc/board.d/01_leds create mode 100644 target/linux/ipq40xx/base-files/etc/board.d/02_network create mode 100644 target/linux/ipq40xx/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata create mode 100755 target/linux/ipq40xx/base-files/etc/init.d/bootcount create mode 100644 target/linux/ipq40xx/base-files/etc/inittab create mode 100644 target/linux/ipq40xx/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ipq40xx/base-files/etc/uci-defaults/05_fix-compat-version create mode 100644 target/linux/ipq40xx/base-files/lib/preinit/05_set_iface_mac_ipq40xx.sh create mode 100644 target/linux/ipq40xx/base-files/lib/preinit/06_set_preinit_iface_ipq40xx.sh create mode 100644 target/linux/ipq40xx/base-files/lib/upgrade/dualboot_datachk.sh create mode 100644 target/linux/ipq40xx/base-files/lib/upgrade/linksys.sh create mode 100644 target/linux/ipq40xx/base-files/lib/upgrade/netgear.sh create mode 100644 target/linux/ipq40xx/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ipq40xx/config-5.10 create mode 100644 target/linux/ipq40xx/files-5.10/drivers/net/mdio/ar40xx.c create mode 100644 target/linux/ipq40xx/files-5.10/drivers/net/mdio/ar40xx.h create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-a42.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ap120c-ac.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cap-ac.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-cs-w3-wd1200g-eup.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-dap-2610.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ea6350v3.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ecw5211.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emd1.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-emr3500.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ens620ext.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex6100v2.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex6150v2.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-fritzbox-4040.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-gl-ap1300.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-hap-ac2.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-magic-2-wifi-next.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-meshpoint-one.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-pa1200.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-rutx.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-rutx10.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-sxtsq-5-ac.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wac510.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-wrtq-329acn.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-a62.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-cm520-79f.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c1.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac-c2.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-e2600ac.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-ea8300.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-eap2200.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-1200.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzrepeater-3000.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-gl-b2200.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-habanero-dvk.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-hap-ac3.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-lhgg-60ad.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-map-ac2200.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf286d.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mf289f.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-mr8300.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-oap100.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-orbi.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-pa2200.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-r619ac-128m.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-r619ac-64m.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-r619ac.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbr50.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rbs50.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rt-ac42u.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-rtl30vw.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-srr60.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-srs60.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019-32m.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-u4019.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wpj419.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-wtr-m2133hp.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-x1pro.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-xx8300.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-303h.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-ap-365.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-aruba-glenmorangie.dtsi create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-gl-s1300.dts create mode 100644 target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4029-mr33.dts create mode 100644 target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/Makefile create mode 100644 target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.c create mode 100644 target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h create mode 100644 target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c create mode 100644 target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_ethtool.c create mode 100644 target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/ess_edma.h create mode 100644 target/linux/ipq40xx/files/drivers/net/phy/qca807x.c create mode 100644 target/linux/ipq40xx/generic/target.mk create mode 100644 target/linux/ipq40xx/image/Makefile create mode 100644 target/linux/ipq40xx/image/generic.mk create mode 100644 target/linux/ipq40xx/image/mikrotik.mk create mode 100644 target/linux/ipq40xx/mikrotik/config-default create mode 100644 target/linux/ipq40xx/mikrotik/target.mk create mode 100644 target/linux/ipq40xx/patches-5.10/0001-v5.12-ARM-dts-qcom-ipq4019-add-USB-devicetree-nodes.patch create mode 100644 target/linux/ipq40xx/patches-5.10/0002-v5.12-ARM-dts-qcom-ipq4019-add-more-labels.patch create mode 100644 target/linux/ipq40xx/patches-5.10/0003-v5.12-ARM-dts-qcom-ipq4019-add-SDHCI-VQMMC-LDO-node.patch create mode 100644 target/linux/ipq40xx/patches-5.10/104-clk-fix-apss-cpu-overclocking.patch create mode 100644 target/linux/ipq40xx/patches-5.10/300-clk-qcom-ipq4019-add-ess-reset.patch create mode 100644 target/linux/ipq40xx/patches-5.10/301-arm-compressed-add-appended-DTB-section.patch create mode 100644 target/linux/ipq40xx/patches-5.10/302-arm-compressed-set-ipq40xx-watchdog-to-allow-boot.patch create mode 100644 target/linux/ipq40xx/patches-5.10/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch create mode 100644 target/linux/ipq40xx/patches-5.10/444-mtd-nand-rawnand-add-support-for-Toshiba-TC58NVG0S3H.patch create mode 100644 target/linux/ipq40xx/patches-5.10/702-dts-ipq4019-add-PHY-switch-nodes.patch create mode 100644 target/linux/ipq40xx/patches-5.10/703-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch create mode 100644 target/linux/ipq40xx/patches-5.10/705-net-add-qualcomm-ar40xx-phy.patch create mode 100644 target/linux/ipq40xx/patches-5.10/706-dt-bindings-net-add-QCA807x-PHY.patch create mode 100644 target/linux/ipq40xx/patches-5.10/707-net-phy-Add-Qualcom-QCA807x-driver.patch create mode 100644 target/linux/ipq40xx/patches-5.10/708-arm-dts-ipq4019-QCA807x-properties.patch create mode 100644 target/linux/ipq40xx/patches-5.10/710-net-add-qualcomm-essedma-ethernet-driver.patch create mode 100644 target/linux/ipq40xx/patches-5.10/711-dts-ipq4019-add-ethernet-essedma-node.patch create mode 100644 target/linux/ipq40xx/patches-5.10/850-soc-add-qualcomm-syscon.patch create mode 100644 target/linux/ipq40xx/patches-5.10/900-dts-ipq4019-ap-dk01.1.patch create mode 100644 target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch create mode 100644 target/linux/ipq40xx/patches-5.10/902-dts-ipq4019-ap-dk04.1.patch create mode 100644 target/linux/ipq806x/Makefile create mode 100644 target/linux/ipq806x/base-files/etc/board.d/01_leds create mode 100644 target/linux/ipq806x/base-files/etc/board.d/02_network create mode 100644 target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata create mode 100644 target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac create mode 100755 target/linux/ipq806x/base-files/etc/init.d/bootcount create mode 100755 target/linux/ipq806x/base-files/etc/init.d/cpufreq create mode 100644 target/linux/ipq806x/base-files/etc/inittab create mode 100644 target/linux/ipq806x/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ipq806x/base-files/etc/uci-defaults/05_fix-compat-version create mode 100644 target/linux/ipq806x/base-files/lib/preinit/04_reorder_eth create mode 100644 target/linux/ipq806x/base-files/lib/preinit/05_set_iface_mac_ipq806x.sh create mode 100644 target/linux/ipq806x/base-files/lib/upgrade/asrock.sh create mode 100644 target/linux/ipq806x/base-files/lib/upgrade/buffalo.sh create mode 100644 target/linux/ipq806x/base-files/lib/upgrade/linksys.sh create mode 100644 target/linux/ipq806x/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ipq806x/base-files/lib/upgrade/zyxel.sh create mode 100755 target/linux/ipq806x/base-files/sbin/asrock_g10_back_to_factory create mode 100644 target/linux/ipq806x/config-5.10 create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062-wg2600hp3.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062.dtsi create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ap148.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ap161.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-c2600.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-db149.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ea7500-v1.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ea8500.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-g10.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-unifi-ac-hd.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-v2.0.dtsi create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wg2600hp.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wpq864.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-wxr-2533dhp.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nighthawk.dtsi create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-rt4230w-rev6.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-tr4400-v2.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-xr500.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-cryptid-common.dtsi create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-ecw5410.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-mr42.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8068-mr52.dts create mode 100644 target/linux/ipq806x/files/include/linux/regulator/nss-volt-ipq806x.h create mode 100644 target/linux/ipq806x/generic/target.mk create mode 100644 target/linux/ipq806x/image/Makefile create mode 100644 target/linux/ipq806x/image/generic.mk create mode 100644 target/linux/ipq806x/modules.mk create mode 100644 target/linux/ipq806x/patches-5.10/0001-dtbindings-qcom_adm-Fix-channel-specifiers.patch create mode 100644 target/linux/ipq806x/patches-5.10/0033-ARM-qcom-automatically-select-PCI_DOMAINS-if-PCI-is-.patch create mode 100644 target/linux/ipq806x/patches-5.10/0060-HACK-arch-arm-force-ZRELADDR-on-arch-qcom.patch create mode 100644 target/linux/ipq806x/patches-5.10/0065-arm-override-compiler-flags.patch create mode 100644 target/linux/ipq806x/patches-5.10/0067-generic-Mangle-bootloader-s-kernel-arguments.patch create mode 100644 target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch create mode 100644 target/linux/ipq806x/patches-5.10/0072-add-ipq806x-with-no-clocks.patch create mode 100644 target/linux/ipq806x/patches-5.10/082-ipq8064-dtsi-tweaks.patch create mode 100644 target/linux/ipq806x/patches-5.10/083-ipq8064-dtsi-additions.patch create mode 100644 target/linux/ipq806x/patches-5.10/084-ipq8064-v1.0-dtsi-cleanup.patch create mode 100644 target/linux/ipq806x/patches-5.10/085-ipq8064-v1.0-dtsi-additions.patch create mode 100644 target/linux/ipq806x/patches-5.10/086-ipq8064-fix-duplicate-node.patch create mode 100644 target/linux/ipq806x/patches-5.10/093-drivers-cpufreq-qcom-cpufreq-nvmem-support-specific-.patch create mode 100644 target/linux/ipq806x/patches-5.10/097-1-ipq806x-gcc-add-missing-clk-flag.patch create mode 100644 target/linux/ipq806x/patches-5.10/097-2-ipq806x-lcc-add-missing-reset.patch create mode 100644 target/linux/ipq806x/patches-5.10/097-3-clk-qcom-krait-add-missing-enable-disable.patch create mode 100644 target/linux/ipq806x/patches-5.10/097-4-ipq806x-gcc-add-missing-clk-and-reset-for-crypto-eng.patch create mode 100644 target/linux/ipq806x/patches-5.10/098-1-cpufreq-add-Krait-dedicated-scaling-driver.patch create mode 100644 target/linux/ipq806x/patches-5.10/098-2-Documentation-cpufreq-add-qcom-krait-cpufreq-binding.patch create mode 100644 target/linux/ipq806x/patches-5.10/098-3-add-fab-scaling-support-with-cpufreq.patch create mode 100644 target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch create mode 100644 target/linux/ipq806x/patches-5.10/099-2-Documentation-devicetree-mtd-qcom_nandc-document-qco.patch create mode 100644 target/linux/ipq806x/patches-5.10/100-v5.11-dmaengine-qcom-add_ADM_driver.patch create mode 100644 target/linux/ipq806x/patches-5.10/101-5.12-mtd-parsers-Add-Qcom-SMEM-parser.patch create mode 100644 target/linux/ipq806x/patches-5.10/101-dwmac-ipq806x-qsgmii-pcs-all-ch-ctl.patch create mode 100644 target/linux/ipq806x/patches-5.10/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch create mode 100644 target/linux/ipq806x/patches-5.10/103-ARM-dts-qcom-reduce-pci-IO-size-to-64K.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-1-drivers-thermal-tsens-Add-VER_0-tsens-version.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-2-drivers-thermal-tsens-Don-t-hardcode-sensor-slope.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-3-drivers-thermal-tsens-Convert-msm8960-to-reg_field.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-4-drivers-thermal-tsens-Use-init_common-for-msm8960.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-5-drivers-thermal-tsens-Fix-bug-in-sensor-enable-for-m.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-6-drivers-thermal-tsens-Replace-custom-8960-apis-with-.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-7-drivers-thermal-tsens-Drop-unused-define-for-msm8960.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-8-drivers-thermal-tsens-Add-support-for-ipq8064-tsens.patch create mode 100644 target/linux/ipq806x/patches-5.10/104-9-dt-bindings-thermal-tsens-Document-ipq8064-bindings.patch create mode 100644 target/linux/ipq806x/patches-5.10/105-10-drivers-thermal-tsens-Fix-wrong-slope-on-msm-8960.patch create mode 100644 target/linux/ipq806x/patches-5.10/107-1-thermal-qcom-tsens-init-debugfs-only-with-successful.patch create mode 100644 target/linux/ipq806x/patches-5.10/107-2-thermal-qcom-tsens-simplify-debugfs-init-function.patch create mode 100644 target/linux/ipq806x/patches-5.10/108-v5.14-net-stmmac-explicitly-deassert-gmac-ahb-reset.patch create mode 100644 target/linux/ipq806x/patches-5.10/109-v5.15-arm-dts-qcom-add-ahb-reset-to-ipq806x-gmac.patch create mode 100644 target/linux/ipq806x/patches-5.10/850-soc-add-qualcomm-syscon.patch create mode 100644 target/linux/ipq806x/patches-5.10/900-arm-add-cmdline-override.patch create mode 100644 target/linux/ipq806x/patches-5.10/990-00-Add-required-entries-in-dts-files-for-NSS-support.patch.patch create mode 100644 target/linux/ipq806x/patches-5.10/990-01-Add-required-entries-in-dts-files-for-NSS-support.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-00-Regulator-Add-NSS-VOLT.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-00a-qca-nss-add-chain-events-support.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-01-Revert-ARM-dma-mapping-remove-dmac_clean_range-and-d.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-01a-nss_sfe-support.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-01a-qca-nss-ecm-support-CORE.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-02-nss-core-and-crypto-clocks.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-03-qca-nss-pppoe-offload-support.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-04-qca-nss-cfi-support.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-07b-qca-nss-clients-qdisc-support.patch create mode 100644 target/linux/ipq806x/patches-5.10/999-09-of-net-return.patch create mode 100644 target/linux/kirkwood/Makefile create mode 100644 target/linux/kirkwood/base-files/etc/board.d/01_leds create mode 100644 target/linux/kirkwood/base-files/etc/board.d/02_network create mode 100644 target/linux/kirkwood/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/kirkwood/base-files/etc/board.d/05_compat-version create mode 100755 target/linux/kirkwood/base-files/etc/init.d/bootcount create mode 100755 target/linux/kirkwood/base-files/etc/init.d/hwmon_fancontrol create mode 100644 target/linux/kirkwood/base-files/lib/preinit/07_set_iface_mac create mode 100644 target/linux/kirkwood/base-files/lib/upgrade/linksys.sh create mode 100644 target/linux/kirkwood/base-files/lib/upgrade/platform.sh create mode 100755 target/linux/kirkwood/base-files/sbin/ctera_c200-v1_back_to_factory create mode 100644 target/linux/kirkwood/config-5.10 create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-4i-edge-200.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-c200-v1.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-e4200-v2.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-ea3500.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-ea4500.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-goflexhome.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-nas1.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-nsa310b.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-nsa310s.dts create mode 100644 target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-on100.dts create mode 100644 target/linux/kirkwood/image/Makefile create mode 100644 target/linux/kirkwood/modules.mk create mode 100644 target/linux/kirkwood/patches-5.10/100-ib62x0.patch create mode 100644 target/linux/kirkwood/patches-5.10/101-iconnect.patch create mode 100644 target/linux/kirkwood/patches-5.10/102-dockstar.patch create mode 100644 target/linux/kirkwood/patches-5.10/103-iomega-ix2-200.patch create mode 100644 target/linux/kirkwood/patches-5.10/105-linksys-viper-dts.patch create mode 100644 target/linux/kirkwood/patches-5.10/106-goflexnet.patch create mode 100644 target/linux/kirkwood/patches-5.10/107-01-zyxel-nsa3x0-common-nand-partitions.patch create mode 100644 target/linux/kirkwood/patches-5.10/107-03-nsa325.patch create mode 100644 target/linux/kirkwood/patches-5.10/109-pogoplug_v4.patch create mode 100644 target/linux/kirkwood/patches-5.10/110-pogo_e02.patch create mode 100644 target/linux/kirkwood/patches-5.10/111-l-50.patch create mode 100644 target/linux/kirkwood/patches-5.10/112-sheevaplug.patch create mode 100644 target/linux/kirkwood/patches-5.10/113-readynas_duo_v2.patch create mode 100644 target/linux/kirkwood/patches-5.10/201-enable-sata-port-specific-led-triggers.patch create mode 100644 target/linux/kirkwood/patches-5.10/202-linksys-find-active-root.patch create mode 100644 target/linux/kirkwood/patches-5.10/203-blackarmor-nas220.patch create mode 100644 target/linux/kirkwood/patches-5.10/800-power-reset-linkstation-poweroff-prepare-for-new-dev.patch create mode 100644 target/linux/kirkwood/patches-5.10/801-power-reset-linkstation-poweroff-add-new-device.patch create mode 100644 target/linux/lantiq/Makefile create mode 100644 target/linux/lantiq/ase/base-files/etc/board.d/01_leds create mode 100644 target/linux/lantiq/ase/base-files/etc/board.d/02_network create mode 100644 target/linux/lantiq/ase/base-files/etc/uci-defaults/01_led_migration create mode 100644 target/linux/lantiq/ase/base-files/lib/preinit/05_set_preinit_iface_lantiq create mode 100755 target/linux/lantiq/ase/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/lantiq/ase/config-5.10 create mode 100644 target/linux/lantiq/ase/profiles/00-default.mk create mode 100644 target/linux/lantiq/ase/target.mk create mode 100644 target/linux/lantiq/base-files/etc/inittab create mode 100644 target/linux/lantiq/base-files/etc/uci-defaults/02_migrate_xdsl_iface create mode 100644 target/linux/lantiq/base-files/lib/functions/lantiq.sh create mode 100644 target/linux/lantiq/config-5.10 create mode 100644 target/linux/lantiq/falcon/base-files/etc/board.d/02_network create mode 100644 target/linux/lantiq/falcon/base-files/etc/uci-defaults/01_led_migration create mode 100755 target/linux/lantiq/falcon/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/lantiq/falcon/config-5.10 create mode 100644 target/linux/lantiq/falcon/profiles/00-default.mk create mode 100644 target/linux/lantiq/falcon/target.mk create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3390.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360-v2.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7430.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts create mode 100644 target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi create mode 100644 target/linux/lantiq/files/firmware/lantiq/xrx200_phy11g_a14.bin create mode 100644 target/linux/lantiq/files/firmware/lantiq/xrx200_phy11g_a22.bin create mode 100644 target/linux/lantiq/files/firmware/lantiq/xrx200_phy22f_a14.bin create mode 100644 target/linux/lantiq/files/firmware/lantiq/xrx200_phy22f_a22.bin create mode 100644 target/linux/lantiq/image/Makefile create mode 100644 target/linux/lantiq/image/amazonse.mk create mode 100644 target/linux/lantiq/image/ar9.mk create mode 100644 target/linux/lantiq/image/danube.mk create mode 100644 target/linux/lantiq/image/eva.dummy.squashfs create mode 100644 target/linux/lantiq/image/falcon.mk create mode 100644 target/linux/lantiq/image/lzma-loader/Makefile create mode 100644 target/linux/lantiq/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/lantiq/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/lantiq/image/lzma-loader/src/LzmaTypes.h create mode 100644 target/linux/lantiq/image/lzma-loader/src/Makefile create mode 100644 target/linux/lantiq/image/lzma-loader/src/board-lantiq.c create mode 100644 target/linux/lantiq/image/lzma-loader/src/cache.c create mode 100644 target/linux/lantiq/image/lzma-loader/src/cache.h create mode 100644 target/linux/lantiq/image/lzma-loader/src/cacheops.h create mode 100644 target/linux/lantiq/image/lzma-loader/src/config.h create mode 100644 target/linux/lantiq/image/lzma-loader/src/cp0regdef.h create mode 100644 target/linux/lantiq/image/lzma-loader/src/head.S create mode 100644 target/linux/lantiq/image/lzma-loader/src/lantiq.mk create mode 100644 target/linux/lantiq/image/lzma-loader/src/loader.c create mode 100644 target/linux/lantiq/image/lzma-loader/src/loader.lds create mode 100644 target/linux/lantiq/image/lzma-loader/src/loader2.lds create mode 100644 target/linux/lantiq/image/lzma-loader/src/lzma-data.lds create mode 100644 target/linux/lantiq/image/lzma-loader/src/printf.c create mode 100644 target/linux/lantiq/image/lzma-loader/src/printf.h create mode 100644 target/linux/lantiq/image/tp-link.mk create mode 100644 target/linux/lantiq/image/ubinize-overlay.cfg create mode 100644 target/linux/lantiq/image/ubinize.cfg create mode 100644 target/linux/lantiq/image/vr9.mk create mode 100644 target/linux/lantiq/image/xway_legacy.mk create mode 100644 target/linux/lantiq/modules.mk create mode 100644 target/linux/lantiq/patches-5.10/0001-MIPS-lantiq-add-pcie-driver.patch create mode 100644 target/linux/lantiq/patches-5.10/0004-MIPS-lantiq-add-atm-hack.patch create mode 100644 target/linux/lantiq/patches-5.10/0008-MIPS-lantiq-backport-old-timer-code.patch create mode 100644 target/linux/lantiq/patches-5.10/0018-MTD-nand-lots-of-xrx200-fixes.patch create mode 100644 target/linux/lantiq/patches-5.10/0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch create mode 100644 target/linux/lantiq/patches-5.10/0023-NET-PHY-add-led-support-for-intel-xway.patch create mode 100644 target/linux/lantiq/patches-5.10/0028-NET-lantiq-various-etop-fixes.patch create mode 100644 target/linux/lantiq/patches-5.10/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch create mode 100644 target/linux/lantiq/patches-5.10/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch create mode 100644 target/linux/lantiq/patches-5.10/0042-arch-mips-increase-io_space_limit.patch create mode 100644 target/linux/lantiq/patches-5.10/0050-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch create mode 100644 target/linux/lantiq/patches-5.10/0051-MIPS-lantiq-improve-USB-initialization.patch create mode 100644 target/linux/lantiq/patches-5.10/0101-find_active_root.patch create mode 100644 target/linux/lantiq/patches-5.10/0151-lantiq-ifxmips_pcie-use-of.patch create mode 100644 target/linux/lantiq/patches-5.10/0152-lantiq-VPE.patch create mode 100644 target/linux/lantiq/patches-5.10/0154-lantiq-pci-bar11mask-fix.patch create mode 100644 target/linux/lantiq/patches-5.10/0155-lantiq-VPE-nosmp.patch create mode 100644 target/linux/lantiq/patches-5.10/0160-owrt-lantiq-multiple-flash.patch create mode 100644 target/linux/lantiq/patches-5.10/0300-MTD-cfi-cmdset-0001-disable-buffered-writes.patch create mode 100644 target/linux/lantiq/patches-5.10/0301-xrx200-add-gphy-clk-src-device-tree-binding.patch create mode 100644 target/linux/lantiq/patches-5.10/0310-v5.16-MIPS-lantiq-dma-make-the-burst-length-configurable-b.patch create mode 100644 target/linux/lantiq/patches-5.10/0320-v6.1-MIPS-lantiq-enable-all-hardware-interrupts-on-second.patch create mode 100644 target/linux/lantiq/patches-5.10/0400-mtd-rawnand-xway-don-t-yield-while-holding-spinlock.patch create mode 100644 target/linux/lantiq/patches-5.10/0701-NET-lantiq-etop-of-mido.patch create mode 100644 target/linux/lantiq/patches-5.10/0702-v5.16-net-lantiq-add-support-for-jumbo-frames.patch create mode 100644 target/linux/lantiq/patches-5.10/0703-v5.16-net-lantiq_xrx200-increase-buffer-reservation.patch create mode 100644 target/linux/lantiq/patches-5.10/0704-v5.17-net-lantiq_xrx200-add-ingress-SG-DMA-support.patch create mode 100644 target/linux/lantiq/patches-5.10/0705-v5.13-net-dsa-lantiq-allow-to-use-all-GPHYs-on-xRX300-and-.patch create mode 100644 target/linux/lantiq/patches-5.10/0706-v5.18-net-lantiq-enable-jumbo-frames-on-GSWIP.patch create mode 100644 target/linux/lantiq/patches-5.10/0710-v5.16-net-lantiq-configure-the-burst-length-in-ethernet-dr.patch create mode 100644 target/linux/lantiq/patches-5.10/0711-v5.16-net-lantiq_xrx200-Hardcode-the-burst-length-value.patch create mode 100644 target/linux/lantiq/patches-5.10/0712-v5.16-net-ethernet-lantiq_etop-Fix-compilation-error.patch create mode 100644 target/linux/lantiq/patches-5.10/0713-v5.17-MIPS-lantiq-dma-increase-descritor-count.patch create mode 100644 target/linux/lantiq/patches-5.10/0714-v5.17-net-lantiq_xrx200-increase-napi-poll-weigth.patch create mode 100644 target/linux/lantiq/patches-5.10/0715-v5.17-net-lantiq_xrx200-convert-to-build_skb.patch create mode 100644 target/linux/lantiq/patches-5.10/0716-v5.17-net-lantiq_xrx200-fix-use-after-free-bug.patch create mode 100644 target/linux/lantiq/patches-5.10/0717-v6.0-net-lantiq_xrx200-confirm-skb-is-allocated-before-us.patch create mode 100644 target/linux/lantiq/patches-5.10/0718-v6.0-net-lantiq_xrx200-fix-lock-under-memory-pressure.patch create mode 100644 target/linux/lantiq/patches-5.10/0719-v6.0-net-lantiq_xrx200-restore-buffer-if-memory-allocatio.patch create mode 100644 target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds create mode 100644 target/linux/lantiq/xrx200/base-files/etc/board.d/02_network create mode 100644 target/linux/lantiq/xrx200/base-files/etc/board.d/05_compat-version create mode 100644 target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/11-ath10k-caldata create mode 100644 target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom create mode 100644 target/linux/lantiq/xrx200/base-files/etc/uci-defaults/01_led_migration create mode 100755 target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/lantiq/xrx200/config-5.10 create mode 100644 target/linux/lantiq/xrx200/profiles/00-default.mk create mode 100644 target/linux/lantiq/xrx200/target.mk create mode 100644 target/linux/lantiq/xway/base-files/etc/board.d/01_leds create mode 100644 target/linux/lantiq/xway/base-files/etc/board.d/02_network create mode 100644 target/linux/lantiq/xway/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom create mode 100644 target/linux/lantiq/xway/base-files/etc/uci-defaults/01_led_migration create mode 100644 target/linux/lantiq/xway/base-files/lib/preinit/05_set_preinit_iface_lantiq create mode 100755 target/linux/lantiq/xway/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/lantiq/xway/config-5.10 create mode 100644 target/linux/lantiq/xway/profiles/00-default.mk create mode 100644 target/linux/lantiq/xway/target.mk create mode 100644 target/linux/lantiq/xway_legacy/base-files/etc/board.d/01_leds create mode 100644 target/linux/lantiq/xway_legacy/base-files/etc/board.d/02_network create mode 100644 target/linux/lantiq/xway_legacy/base-files/etc/uci-defaults/01_led_migration create mode 100644 target/linux/lantiq/xway_legacy/base-files/lib/preinit/05_set_preinit_iface_lantiq create mode 100755 target/linux/lantiq/xway_legacy/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/lantiq/xway_legacy/config-5.10 create mode 100644 target/linux/lantiq/xway_legacy/profiles/00-default.mk create mode 100644 target/linux/lantiq/xway_legacy/target.mk create mode 100644 target/linux/layerscape/Makefile create mode 100644 target/linux/layerscape/README create mode 100644 target/linux/layerscape/armv7/config-5.10 create mode 100644 target/linux/layerscape/armv7/target.mk create mode 100644 target/linux/layerscape/armv8_64b/config-5.10 create mode 100644 target/linux/layerscape/armv8_64b/target.mk create mode 100644 target/linux/layerscape/base-files/etc/board.d/01_led create mode 100644 target/linux/layerscape/base-files/etc/board.d/02_network create mode 100644 target/linux/layerscape/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/layerscape/base-files/etc/uci-defaults/05_fix-compat-version create mode 100644 target/linux/layerscape/base-files/lib/preinit/02_sysinfo_fixup create mode 100644 target/linux/layerscape/base-files/lib/preinit/05_layerscape_reorder_eth create mode 100644 target/linux/layerscape/base-files/lib/preinit/79_move_config create mode 100644 target/linux/layerscape/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts create mode 100644 target/linux/layerscape/files/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts create mode 100644 target/linux/layerscape/image/Makefile create mode 100644 target/linux/layerscape/image/armv7.mk create mode 100644 target/linux/layerscape/image/armv8_64b.mk create mode 100755 target/linux/layerscape/image/gen_sdcard_head_img.sh create mode 100755 target/linux/layerscape/image/mkits-multiple-config.sh create mode 100644 target/linux/layerscape/modules.mk create mode 100644 target/linux/layerscape/patches-5.10/300-add-DTS-for-Traverse-LS1043-Boards.patch create mode 100644 target/linux/layerscape/patches-5.10/301-arm-dts-ls1021a-Add-LS1021A-IOT-board-support.patch create mode 100644 target/linux/layerscape/patches-5.10/302-arm64-dts-ls1012a-update-with-ppfe-support.patch create mode 100644 target/linux/layerscape/patches-5.10/303-arm64-dts-ls1012a-frdm-workaround-by-updating-qspi-f.patch create mode 100644 target/linux/layerscape/patches-5.10/304-arm64-dts-ls1012a-rdb-workaround-by-updating-qspi-fl.patch create mode 100644 target/linux/layerscape/patches-5.10/305-arm64-dts-ls1046a-rdb-Update-qspi-spi-rx-bus-width-t.patch create mode 100644 target/linux/layerscape/patches-5.10/400-LF-20-3-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch create mode 100644 target/linux/layerscape/patches-5.10/701-staging-add-fsl_ppfe-driver.patch create mode 100644 target/linux/layerscape/patches-5.10/702-phy-Add-2.5G-SGMII-interface-mode.patch create mode 100644 target/linux/malta/Makefile create mode 100644 target/linux/malta/README create mode 100644 target/linux/malta/base-files/etc/board.d/00_model create mode 100644 target/linux/malta/base-files/etc/inittab create mode 100644 target/linux/malta/be/config-default create mode 100644 target/linux/malta/be/target.mk create mode 100644 target/linux/malta/be64/config-default create mode 100644 target/linux/malta/be64/target.mk create mode 100644 target/linux/malta/config-5.10 create mode 100644 target/linux/malta/image/Makefile create mode 100644 target/linux/malta/le/config-default create mode 100644 target/linux/malta/le/target.mk create mode 100644 target/linux/malta/le64/config-default create mode 100644 target/linux/malta/le64/target.mk create mode 100644 target/linux/mediatek/Makefile create mode 100755 target/linux/mediatek/base-files/etc/hotplug.d/iface/99-mtk-lro create mode 100644 target/linux/mediatek/base-files/etc/inittab create mode 100644 target/linux/mediatek/base-files/etc/uci-defaults/99_fwenv-store-ethaddr.sh create mode 100644 target/linux/mediatek/base-files/lib/preinit/05_set_preinit_iface create mode 100644 target/linux/mediatek/base-files/lib/preinit/06_set_rps_sock_flow create mode 100644 target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts create mode 100644 target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts create mode 100644 target/linux/mediatek/dts/mt7622-linksys-e8450-ubi.dts create mode 100644 target/linux/mediatek/dts/mt7622-linksys-e8450.dts create mode 100644 target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi create mode 100644 target/linux/mediatek/dts/mt7622-rfb1-ubi.dts create mode 100644 target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200gx-pro.dts create mode 100644 target/linux/mediatek/dts/mt7622-totolink-a8000ru.dts create mode 100644 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1-ubootmod.dts create mode 100644 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1.dts create mode 100644 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v1.dtsi create mode 100644 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts create mode 100644 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dts create mode 100644 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dtsi create mode 100644 target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr.dtsi create mode 100644 target/linux/mediatek/dts/mt7622-xiaomi-redmi-router-ax6s.dts create mode 100644 target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc-512m.dts create mode 100644 target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts create mode 100644 target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dtsi create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/Kconfig create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/Makefile create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-def.h create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-ecc.c create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-ids.c create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-os.c create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-os.h create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand.c create mode 100644 target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/Kconfig create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/Makefile create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt7530.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt7530.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt7531.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt7531.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_common.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_mdio.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_nl.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_nl.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_regs.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_swconfig.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_swconfig.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_vlan.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/mtk/mt753x/mt753x_vlan.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/Makefile create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/modules.builtin create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/acl.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/cpu.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/dot1x.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/eee.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/i2c.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/igmp.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/acl.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/cpu.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/dot1x.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/eee.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/i2c.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/igmp.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/interrupt.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/l2.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/leaky.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/led.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/mirror.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/oam.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/port.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/ptp.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/qos.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rate.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rldp.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtk_error.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtk_hal.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtk_switch.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtk_types.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_acl.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_cputag.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_dot1x.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_eav.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_eee.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_fc.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_green.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_hsb.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_i2c.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_igmp.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_inbwctrl.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_interrupt.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_led.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_lut.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_meter.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mib.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mirror.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_misc.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_oam.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_phy.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_port.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_portIsolation.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_qos.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_rldp.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_rma.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_scheduling.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_storm.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_svlan.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_trunking.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_unknownMulticast.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_vlan.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_base.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_reg.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/smi.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/stat.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/storm.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/svlan.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/trap.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/trunk.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/include/vlan.h create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/interrupt.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/l2.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/leaky.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/led.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/mirror.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/oam.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/port.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/ptp.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/qos.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rate.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rldp.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtk_hal.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtk_switch.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_acl.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_cputag.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_dot1x.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_eav.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_eee.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_fc.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_green.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_hsb.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_igmp.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_inbwctrl.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_interrupt.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_led.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_lut.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_meter.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_mib.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_mirror.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_misc.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_oam.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_phy.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_port.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_portIsolation.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_qos.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_rldp.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_rma.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_scheduling.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_storm.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_svlan.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_trunking.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_unknownMulticast.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_vlan.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/smi.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/stat.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/storm.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/svlan.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/trap.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/trunk.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367c/vlan.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367s.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367s_dbg.c create mode 100644 target/linux/mediatek/files-5.10/drivers/net/phy/rtk/rtl8367s_mdio.c create mode 100644 target/linux/mediatek/image/Makefile create mode 100755 target/linux/mediatek/image/gen_scatterfile.sh create mode 100644 target/linux/mediatek/image/mt7622.mk create mode 100644 target/linux/mediatek/image/mt7623.mk create mode 100644 target/linux/mediatek/image/mt7629.mk create mode 100644 target/linux/mediatek/modules.mk create mode 100644 target/linux/mediatek/mt7622/base-files/etc/board.d/01_leds create mode 100644 target/linux/mediatek/mt7622/base-files/etc/board.d/02_network create mode 100644 target/linux/mediatek/mt7622/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac create mode 100755 target/linux/mediatek/mt7622/base-files/etc/init.d/bootcount create mode 100644 target/linux/mediatek/mt7622/base-files/etc/uci-defaults/09_fix_crc create mode 100644 target/linux/mediatek/mt7622/base-files/lib/upgrade/buffalo.sh create mode 100755 target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/mediatek/mt7622/config-5.10 create mode 100644 target/linux/mediatek/mt7622/target.mk create mode 100644 target/linux/mediatek/mt7623/base-files/etc/board.d/02_network create mode 100644 target/linux/mediatek/mt7623/base-files/etc/inittab create mode 100644 target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac create mode 100644 target/linux/mediatek/mt7623/base-files/lib/preinit/79_move_config create mode 100755 target/linux/mediatek/mt7623/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/mediatek/mt7623/config-5.10 create mode 100644 target/linux/mediatek/mt7623/target.mk create mode 100644 target/linux/mediatek/mt7629/base-files/etc/board.d/02_network create mode 100755 target/linux/mediatek/mt7629/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/mediatek/mt7629/config-5.10 create mode 100644 target/linux/mediatek/mt7629/target.mk create mode 100644 target/linux/mediatek/patches-5.10/100-dts-update-mt7622-rfb1.patch create mode 100644 target/linux/mediatek/patches-5.10/101-dts-update-mt7629-rfb.patch create mode 100644 target/linux/mediatek/patches-5.10/105-dts-mt7622-enable-pstore.patch create mode 100644 target/linux/mediatek/patches-5.10/110-dts-fix-bpi2-console.patch create mode 100644 target/linux/mediatek/patches-5.10/111-dts-fix-bpi64-console.patch create mode 100644 target/linux/mediatek/patches-5.10/112-dts-fix-bpi64-lan-names.patch create mode 100644 target/linux/mediatek/patches-5.10/113-dts-fix-bpi64-leds-and-buttons.patch create mode 100644 target/linux/mediatek/patches-5.10/114-dts-bpi64-disable-rtc.patch create mode 100644 target/linux/mediatek/patches-5.10/115-dts-bpi64-add-snand-support.patch create mode 100644 target/linux/mediatek/patches-5.10/130-dts-mt7629-add-snand-support.patch create mode 100644 target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch create mode 100644 target/linux/mediatek/patches-5.10/140-dts-fix-wmac-support-for-mt7622-rfb1.patch create mode 100644 target/linux/mediatek/patches-5.10/150-dts-mt7623-eip97-inside-secure-support.patch create mode 100644 target/linux/mediatek/patches-5.10/160-dts-mt7623-bpi-r2-earlycon.patch create mode 100644 target/linux/mediatek/patches-5.10/161-dts-mt7623-bpi-r2-mmc-device-order.patch create mode 100644 target/linux/mediatek/patches-5.10/162-dts-mt7623-bpi-r2-led-aliases.patch create mode 100644 target/linux/mediatek/patches-5.10/163-dts-mt7623-bpi-r2-ethernet-alias.patch create mode 100644 target/linux/mediatek/patches-5.10/171-dt-bindings-usb-convert-mediatek-musb.txt-to-YAML-sc.patch create mode 100644 target/linux/mediatek/patches-5.10/172-dt-bindings-usb-mediatek-musb-add-mt8516-compatbile.patch create mode 100644 target/linux/mediatek/patches-5.10/172-dt-bindings-usb-mtk-musb-add-MT7623-compatible.patch create mode 100644 target/linux/mediatek/patches-5.10/173-arm-dts-mt7623-add-musb-device-nodes.patch create mode 100644 target/linux/mediatek/patches-5.10/180-dts-mt7622-bpi-r64-add-mt7531-irq.patch create mode 100644 target/linux/mediatek/patches-5.10/200-phy-phy-mtk-tphy-Add-hifsys-support.patch create mode 100644 target/linux/mediatek/patches-5.10/330-mtk-snand-bmt-support.patch create mode 100644 target/linux/mediatek/patches-5.10/331-mt7622-rfb1-enable-bmt.patch create mode 100644 target/linux/mediatek/patches-5.10/360-mtd-add-mtk-snand-driver.patch create mode 100644 target/linux/mediatek/patches-5.10/400-crypto-add-eip97-inside-secure-support.patch create mode 100644 target/linux/mediatek/patches-5.10/401-crypto-fix-eip97-cache-incoherent.patch create mode 100644 target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch create mode 100644 target/linux/mediatek/patches-5.10/420-mtd-spi-nor-add-support-for-Winbond-W25Q512JV.patch create mode 100644 target/linux/mediatek/patches-5.10/500-gsw-rtl8367s-mt7622-support.patch create mode 100644 target/linux/mediatek/patches-5.10/510-net-mediatek-add-flow-offload-for-mt7623.patch create mode 100644 target/linux/mediatek/patches-5.10/600-dt-bindings-PCI-Mediatek-Update-PCIe-binding.patch create mode 100644 target/linux/mediatek/patches-5.10/601-PCI-mediatek-Use-regmap-to-get-shared-pcie-cfg-base.patch create mode 100644 target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch create mode 100644 target/linux/mediatek/patches-5.10/603-ARM-dts-mediatek-Update-mt7629-PCIe-node.patch create mode 100644 target/linux/mediatek/patches-5.10/610-pcie-mediatek-fix-clearing-interrupt-status.patch create mode 100644 target/linux/mediatek/patches-5.10/701-v5.17-net-ethernet-mtk_eth_soc-fix-return-values-and-refac.patch create mode 100644 target/linux/mediatek/patches-5.10/702-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch create mode 100644 target/linux/mediatek/patches-5.10/703-v5.17-net-ethernet-mtk_eth_soc-implement-Clause-45-MDIO-ac.patch create mode 100644 target/linux/mediatek/patches-5.10/704-net-ethernet-mtk_eth_soc-announce-2500baseT.patch create mode 100644 target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch create mode 100644 target/linux/mediatek/patches-5.10/721-dts-mt7622-mediatek-fix-300mhz.patch create mode 100644 target/linux/mediatek/patches-5.10/722-remove-300Hz-to-prevent-freeze.patch create mode 100644 target/linux/mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch create mode 100644 target/linux/mediatek/patches-5.10/910-dts-mt7622-bpi-r64-wifi-eeprom.patch create mode 100644 target/linux/mpc85xx/Makefile create mode 100644 target/linux/mpc85xx/base-files/etc/board.d/01_leds create mode 100644 target/linux/mpc85xx/base-files/etc/board.d/02_network create mode 100644 target/linux/mpc85xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom create mode 100644 target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/05-wifi-migrate create mode 100644 target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac create mode 100644 target/linux/mpc85xx/base-files/etc/uci-defaults/05_fix-compat-version create mode 100644 target/linux/mpc85xx/base-files/lib/preinit/05_set_preinit_iface_mpc85xx create mode 100644 target/linux/mpc85xx/base-files/lib/preinit/10_fix_eth_mac.sh create mode 100755 target/linux/mpc85xx/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/mpc85xx/config-5.10 create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/firebox-t10.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/panda.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/red-15w-rev1.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3825i.dts create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/firebox_t10.c create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/hiveap-330.c create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/panda.c create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/red15w_rev1.c create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/tl_wdr4900_v1.c create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3710i.c create mode 100644 target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/ws-ap3825i.c create mode 100644 target/linux/mpc85xx/image/Makefile create mode 100644 target/linux/mpc85xx/image/p1010.mk create mode 100644 target/linux/mpc85xx/image/p1020.mk create mode 100644 target/linux/mpc85xx/image/p2020.mk create mode 100644 target/linux/mpc85xx/image/spi-loader/.gitignore create mode 100644 target/linux/mpc85xx/image/spi-loader/Makefile create mode 100644 target/linux/mpc85xx/image/spi-loader/config/tplink_tl-wdr4900-v1.h create mode 100644 target/linux/mpc85xx/image/spi-loader/config/tplink_tl-wdr4900-v1.mk create mode 100644 target/linux/mpc85xx/image/spi-loader/drivers/serial/ns16550.c create mode 100644 target/linux/mpc85xx/image/spi-loader/drivers/spi/fsl_espi.c create mode 100644 target/linux/mpc85xx/image/spi-loader/drivers/spi/spi-nor.c create mode 100644 target/linux/mpc85xx/image/spi-loader/head.S create mode 100644 target/linux/mpc85xx/image/spi-loader/include/image.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/init.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/io.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/ppc_asm.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/serial.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/spi-nor.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/spi.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/stdio.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/string.h create mode 100644 target/linux/mpc85xx/image/spi-loader/include/types.h create mode 100644 target/linux/mpc85xx/image/spi-loader/loader.c create mode 100644 target/linux/mpc85xx/image/spi-loader/loader.lds create mode 100644 target/linux/mpc85xx/image/spi-loader/stdio.c create mode 100644 target/linux/mpc85xx/image/spi-loader/string.S create mode 100644 target/linux/mpc85xx/p1010/config-default create mode 100644 target/linux/mpc85xx/p1010/profiles/00-default.mk create mode 100644 target/linux/mpc85xx/p1010/target.mk create mode 100644 target/linux/mpc85xx/p1020/config-default create mode 100644 target/linux/mpc85xx/p1020/profiles/00-default.mk create mode 100644 target/linux/mpc85xx/p1020/target.mk create mode 100644 target/linux/mpc85xx/p2020/config-default create mode 100644 target/linux/mpc85xx/p2020/profiles/00-default.mk create mode 100644 target/linux/mpc85xx/p2020/target.mk create mode 100644 target/linux/mpc85xx/patches-5.10/001-powerpc-85xx-add-gpio-keys-to-of-match-table.patch create mode 100644 target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-support.patch create mode 100644 target/linux/mpc85xx/patches-5.10/101-powerpc-85xx-hiveap-330-support.patch create mode 100644 target/linux/mpc85xx/patches-5.10/102-powerpc-add-cmdline-override.patch create mode 100644 target/linux/mpc85xx/patches-5.10/103-powerpc-85xx-red-15w-rev1.patch create mode 100644 target/linux/mpc85xx/patches-5.10/104-powerpc-mpc85xx-change-P2020RDB-dts-file-for-OpenWRT.patch create mode 100644 target/linux/mpc85xx/patches-5.10/105-powerpc-85xx-panda-support.patch create mode 100644 target/linux/mpc85xx/patches-5.10/106-powerpc-85xx-ws-ap3710i-support.patch create mode 100644 target/linux/mpc85xx/patches-5.10/107-powerpc-85xx-add-ws-ap3825i-support.patch create mode 100644 target/linux/mpc85xx/patches-5.10/108-powerpc-85xx-firebox-t10-support.patch.patch create mode 100644 target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-disable-uImage-generation.patch create mode 100644 target/linux/mvebu/Makefile create mode 100644 target/linux/mvebu/base-files/lib/preinit/79_move_config create mode 100644 target/linux/mvebu/config-5.10 create mode 100644 target/linux/mvebu/cortexa53/base-files/etc/board.d/01_leds create mode 100644 target/linux/mvebu/cortexa53/base-files/etc/board.d/02_network create mode 100644 target/linux/mvebu/cortexa53/base-files/lib/preinit/82_uDPU create mode 100755 target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/mvebu/cortexa53/base-files/lib/upgrade/uDPU.sh create mode 100644 target/linux/mvebu/cortexa53/config-5.10 create mode 100644 target/linux/mvebu/cortexa53/target.mk create mode 100644 target/linux/mvebu/cortexa72/base-files/etc/board.d/01_leds create mode 100644 target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network create mode 100755 target/linux/mvebu/cortexa72/base-files/lib/upgrade/emmc-puzzle.sh create mode 100755 target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/mvebu/cortexa72/config-5.10 create mode 100644 target/linux/mvebu/cortexa72/target.mk create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/board.d/01_leds create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/board.d/02_network create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/board.d/05_compat-version create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/hotplug.d/ieee80211/00-wifi-config-migrate create mode 100755 target/linux/mvebu/cortexa9/base-files/etc/init.d/bootcount create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/03_wireless create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/04_mambafan create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/05_fix-compat-version create mode 100644 target/linux/mvebu/cortexa9/base-files/etc/uci-defaults/35_turris-omnia_uboot-env create mode 100644 target/linux/mvebu/cortexa9/base-files/lib/preinit/81_linksys_syscfg create mode 100644 target/linux/mvebu/cortexa9/base-files/lib/upgrade/linksys.sh create mode 100755 target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh create mode 100755 target/linux/mvebu/cortexa9/base-files/sbin/fan_ctrl.sh create mode 100644 target/linux/mvebu/cortexa9/config-5.10 create mode 100644 target/linux/mvebu/cortexa9/target.mk create mode 100644 target/linux/mvebu/files/arch/arm/boot/dts/armada-370-buffalo-ls421de.dts create mode 100644 target/linux/mvebu/files/arch/arm/boot/dts/armada-370-c200-v2.dts create mode 100644 target/linux/mvebu/files/arch/arm/boot/dts/armada-385-linksys-venom.dts create mode 100644 target/linux/mvebu/files/arch/arm/boot/dts/armada-385-nas1dual.dts create mode 100644 target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts create mode 100644 target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts create mode 100644 target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-7040-mochabin.dts create mode 100644 target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9131-puzzle-m901.dts create mode 100644 target/linux/mvebu/files/arch/arm64/boot/dts/marvell/cn9132-puzzle-m902.dts create mode 100644 target/linux/mvebu/image/Makefile create mode 100644 target/linux/mvebu/image/clearfog.bootscript create mode 100644 target/linux/mvebu/image/cortexa53.mk create mode 100644 target/linux/mvebu/image/cortexa72.mk create mode 100644 target/linux/mvebu/image/cortexa9.mk create mode 100644 target/linux/mvebu/image/espressobin.bootscript create mode 100755 target/linux/mvebu/image/gen_mvebu_sdcard_img.sh create mode 100644 target/linux/mvebu/image/generic-arm64.bootscript create mode 100644 target/linux/mvebu/image/turris-omnia.bootscript create mode 100644 target/linux/mvebu/image/udpu.bootscript create mode 100644 target/linux/mvebu/modules.mk create mode 100644 target/linux/mvebu/patches-5.10/001-v5.11-arm64-dts-mcbin-singleshot-add-heartbeat-LED.patch create mode 100644 target/linux/mvebu/patches-5.10/002-v5.11-ARM-dts-turris-omnia-enable-HW-buffer-management.patch create mode 100644 target/linux/mvebu/patches-5.10/003-v5.11-ARM-dts-turris-omnia-add-comphy-handle-to-eth2.patch create mode 100644 target/linux/mvebu/patches-5.10/004-v5.11-ARM-dts-turris-omnia-describe-switch-interrupt.patch create mode 100644 target/linux/mvebu/patches-5.10/005-v5.11-ARM-dts-turris-omnia-add-SFP-node.patch create mode 100644 target/linux/mvebu/patches-5.10/006-v5.11-ARM-dts-turris-omnia-add-LED-controller-node.patch create mode 100644 target/linux/mvebu/patches-5.10/007-v5.11-ARM-dts-turris-omnia-update-ethernet-phy-node-and-handle-name.patch create mode 100644 target/linux/mvebu/patches-5.10/008-v5.12-ARM-dts-turris-omnia-fix-hardware-buffer-management.patch create mode 100644 target/linux/mvebu/patches-5.10/100-mvebu-dt-ARM-dts-turris-omnia-configure-LED-0-pin-function-to.patch create mode 100644 target/linux/mvebu/patches-5.10/101-mvebu-dt-ARM-dts-turris-omnia-enable-LED-controller-node.patch create mode 100644 target/linux/mvebu/patches-5.10/102-leds-turris-omnia-support-HW-controlled-mode-via-pri.patch create mode 100644 target/linux/mvebu/patches-5.10/103-leds-turris-omnia-initialize-multi-intensity-to-full.patch create mode 100644 target/linux/mvebu/patches-5.10/104-leds-turris-omnia-change-max-brightness-from-255-to-.patch create mode 100644 target/linux/mvebu/patches-5.10/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch create mode 100644 target/linux/mvebu/patches-5.10/301-mvebu-armada-38x-enable-libata-leds.patch create mode 100644 target/linux/mvebu/patches-5.10/302-add_powertables.patch create mode 100644 target/linux/mvebu/patches-5.10/303-linksys_hardcode_nand_ecc_settings.patch create mode 100644 target/linux/mvebu/patches-5.10/304-revert_i2c_delay.patch create mode 100644 target/linux/mvebu/patches-5.10/305-armada-385-rd-mtd-partitions.patch create mode 100644 target/linux/mvebu/patches-5.10/306-ARM-mvebu-385-ap-Add-partitions.patch create mode 100644 target/linux/mvebu/patches-5.10/307-armada-xp-linksys-mamba-broken-idle.patch create mode 100644 target/linux/mvebu/patches-5.10/308-armada-xp-linksys-mamba-wan.patch create mode 100644 target/linux/mvebu/patches-5.10/309-linksys-status-led.patch create mode 100644 target/linux/mvebu/patches-5.10/310-linksys-use-eth0-as-cpu-port.patch create mode 100644 target/linux/mvebu/patches-5.10/311-adjust-compatible-for-linksys.patch create mode 100644 target/linux/mvebu/patches-5.10/312-ARM-dts-armada388-clearfog-emmc-on-clearfog-base.patch create mode 100644 target/linux/mvebu/patches-5.10/313-helios4-dts-status-led-alias.patch create mode 100644 target/linux/mvebu/patches-5.10/314-arm64-dts-uDPU-switch-PHY-operation-mode-to-2500base.patch create mode 100644 target/linux/mvebu/patches-5.10/315-armada-xp-linksys-mamba-resize-kernel.patch create mode 100644 target/linux/mvebu/patches-5.10/316-armada-370-dts-fix-crypto-engine.patch create mode 100644 target/linux/mvebu/patches-5.10/400-find_active_root.patch create mode 100644 target/linux/mvebu/patches-5.10/700-mvneta-tx-queue-workaround.patch create mode 100644 target/linux/mvebu/patches-5.10/701-v5.14-net-ethernet-marvell-mvnetaMQPrio.patch create mode 100644 target/linux/mvebu/patches-5.10/702-net-next-ethernet-marvell-mvnetaMQPrioOffload.patch create mode 100644 target/linux/mvebu/patches-5.10/703-net-next-ethernet-marvell-mvnetaMQPrioFlag.patch create mode 100644 target/linux/mvebu/patches-5.10/704-net-next-ethernet-marvell-mvnetaMQPrioQueue.patch create mode 100644 target/linux/mvebu/patches-5.10/705-net-next-ethernet-marvell-mvnetaMQPrioTCOffload.patch create mode 100644 target/linux/mvebu/patches-5.10/800-cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep.patch create mode 100644 target/linux/mvebu/patches-5.10/801-pci-mvebu-time-out-reset-on-link-up.patch create mode 100644 target/linux/mvebu/patches-5.10/901-dt-bindings-Add-IEI-vendor-prefix-and-IEI-WT61P803-P.patch create mode 100644 target/linux/mvebu/patches-5.10/902-drivers-mfd-Add-a-driver-for-IEI-WT61P803-PUZZLE-MCU.patch create mode 100644 target/linux/mvebu/patches-5.10/903-drivers-hwmon-Add-the-IEI-WT61P803-PUZZLE-HWMON-driv.patch create mode 100644 target/linux/mvebu/patches-5.10/904-drivers-leds-Add-the-IEI-WT61P803-PUZZLE-LED-driver.patch create mode 100644 target/linux/mvebu/patches-5.10/905-Documentation-ABI-Add-iei-wt61p803-puzzle-driver-sys.patch create mode 100644 target/linux/mvebu/patches-5.10/906-Documentation-hwmon-Add-iei-wt61p803-puzzle-hwmon-dr.patch create mode 100644 target/linux/mvebu/patches-5.10/907-MAINTAINERS-Add-an-entry-for-the-IEI-WT61P803-PUZZLE.patch create mode 100644 target/linux/mvebu/patches-5.10/910-drivers-leds-wt61p803-puzzle-improvements.patch create mode 100644 target/linux/mxs/Makefile create mode 100644 target/linux/mxs/base-files/etc/board.d/02_network create mode 100644 target/linux/mxs/base-files/etc/diag.sh create mode 100644 target/linux/mxs/base-files/etc/inittab create mode 100644 target/linux/mxs/config-5.10 create mode 100644 target/linux/mxs/image/Config.in create mode 100644 target/linux/mxs/image/Makefile create mode 100755 target/linux/mxs/image/gen_sdcard_ext4_ext4.sh create mode 100755 target/linux/mxs/image/gen_sdcard_vfat_ext4.sh create mode 100644 target/linux/mxs/profiles/01-duckbill.mk create mode 100644 target/linux/mxs/profiles/02-olinuxino-maxi.mk create mode 100644 target/linux/mxs/profiles/03-olinuxino-micro.mk create mode 100644 target/linux/octeon/Makefile create mode 100644 target/linux/octeon/base-files/etc/board.d/01_network create mode 100644 target/linux/octeon/base-files/lib/preinit/01_sysinfo create mode 100644 target/linux/octeon/base-files/lib/preinit/79_move_config create mode 100755 target/linux/octeon/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/octeon/config-5.10 create mode 100644 target/linux/octeon/files/arch/mips/boot/dts/cavium-octeon/cn7130_ubnt_edgerouter-4.dts create mode 100644 target/linux/octeon/files/arch/mips/boot/dts/cavium-octeon/cn7130_ubnt_edgerouter-6p.dts create mode 100644 target/linux/octeon/files/arch/mips/boot/dts/cavium-octeon/cn7130_ubnt_edgerouter-e300.dtsi create mode 100644 target/linux/octeon/files/arch/mips/boot/dts/cavium-octeon/cn71xx.dtsi create mode 100644 target/linux/octeon/generic/target.mk create mode 100644 target/linux/octeon/image/Makefile create mode 100644 target/linux/octeon/patches-5.10/100-ubnt_edgerouter2_support.patch create mode 100644 target/linux/octeon/patches-5.10/110-er200-ethernet_probe_order.patch create mode 100644 target/linux/octeon/patches-5.10/120-cmdline-hack.patch create mode 100644 target/linux/octeon/patches-5.10/130-itus_shield_support.patch create mode 100644 target/linux/octeon/patches-5.10/140-octeon_e300_support.patch create mode 100644 target/linux/octeon/patches-5.10/700-allocate_interface_by_label.patch create mode 100644 target/linux/octeon/patches-5.10/701-honor_sgmii_node_device_tree_status.patch create mode 100644 target/linux/octeon/profiles/000-Generic.mk create mode 100644 target/linux/octeontx/Makefile create mode 100644 target/linux/octeontx/base-files/etc/board.d/02_network create mode 100644 target/linux/octeontx/base-files/etc/inittab create mode 100644 target/linux/octeontx/config-5.10 create mode 100644 target/linux/octeontx/image/Makefile create mode 100644 target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch create mode 100644 target/linux/omap/Makefile create mode 100644 target/linux/omap/base-files/etc/inittab create mode 100644 target/linux/omap/base-files/lib/preinit/79_move_config create mode 100644 target/linux/omap/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/omap/config-5.10 create mode 100644 target/linux/omap/image/Config.in create mode 100644 target/linux/omap/image/Makefile create mode 100755 target/linux/omap/image/gen_omap_sdcard_img.sh create mode 100644 target/linux/omap/image/ubinize.cfg create mode 100644 target/linux/omap/profiles/00-default.mk create mode 100644 target/linux/oxnas/Makefile create mode 100644 target/linux/oxnas/base-files/etc/board.d/02_network create mode 100755 target/linux/oxnas/base-files/etc/init.d/set-irq-affinity create mode 100644 target/linux/oxnas/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/oxnas/config-5.10 create mode 100644 target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio-mycloud.dts create mode 100644 target/linux/oxnas/files/arch/arm/boot/dts/ox820-cloudengines-pogoplugpro.dts create mode 100644 target/linux/oxnas/files/arch/arm/boot/dts/ox820-mitrastar-stg-212.dts create mode 100644 target/linux/oxnas/files/arch/arm/boot/dts/ox820-shuttle-kd20.dts create mode 100644 target/linux/oxnas/files/arch/arm/include/debug/uncompress-ox820.h create mode 100644 target/linux/oxnas/files/drivers/ata/sata_oxnas.c create mode 100644 target/linux/oxnas/files/drivers/pci/controller/pcie-oxnas.c create mode 100644 target/linux/oxnas/files/drivers/phy/phy-oxnas-pcie.c create mode 100644 target/linux/oxnas/files/drivers/power/reset/oxnas-restart.c create mode 100644 target/linux/oxnas/files/drivers/usb/host/ehci-oxnas.c create mode 100644 target/linux/oxnas/image/Makefile create mode 100644 target/linux/oxnas/image/ox810se.mk create mode 100644 target/linux/oxnas/image/ox820.mk create mode 100644 target/linux/oxnas/modules.mk create mode 100644 target/linux/oxnas/ox810se/config-default create mode 100644 target/linux/oxnas/ox810se/profiles/00-default.mk create mode 100644 target/linux/oxnas/ox810se/target.mk create mode 100644 target/linux/oxnas/ox820/config-default create mode 100644 target/linux/oxnas/ox820/profiles/00-default.mk create mode 100644 target/linux/oxnas/ox820/target.mk create mode 100644 target/linux/oxnas/patches-5.10/010-pogoplug-series-3.patch create mode 100644 target/linux/oxnas/patches-5.10/050-ox820-remove-left-overs.patch create mode 100644 target/linux/oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch create mode 100644 target/linux/oxnas/patches-5.10/150-oxnas-restart.patch create mode 100644 target/linux/oxnas/patches-5.10/320-oxnas-phy-pcie.patch create mode 100644 target/linux/oxnas/patches-5.10/340-oxnas-pcie.patch create mode 100644 target/linux/oxnas/patches-5.10/500-oxnas-sata.patch create mode 100644 target/linux/oxnas/patches-5.10/510-ox820-libata-leds.patch create mode 100644 target/linux/oxnas/patches-5.10/800-oxnas-ehci.patch create mode 100644 target/linux/oxnas/patches-5.10/996-generic-Mangle-bootloader-s-kernel-arguments.patch create mode 100644 target/linux/oxnas/patches-5.10/999-libata-hacks.patch create mode 100644 target/linux/pistachio/Makefile create mode 100644 target/linux/pistachio/base-files/etc/board.d/02_network create mode 100644 target/linux/pistachio/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/pistachio/config-5.10 create mode 100644 target/linux/pistachio/image/Makefile create mode 100644 target/linux/pistachio/patches-5.10/101-dmaengine-img-mdc-Handle-early-status-read.patch create mode 100644 target/linux/pistachio/patches-5.10/102-spi-img-spfi-Implement-dual-and-quad-mode.patch create mode 100644 target/linux/pistachio/patches-5.10/104-spi-img-spfi-use-device-0-configuration-for-all-devi.patch create mode 100644 target/linux/pistachio/patches-5.10/105-spi-img-spfi-RX-maximum-burst-size-for-DMA-is-8.patch create mode 100644 target/linux/pistachio/patches-5.10/106-spi-img-spfi-finish-every-transfer-cleanly.patch create mode 100644 target/linux/pistachio/patches-5.10/108-clk-pistachio-Fix-wrong-SDHost-card-speed.patch create mode 100644 target/linux/pistachio/patches-5.10/109-MIPS-DTS-img-marduk-switch-mmc-to-1-bit-mode.patch create mode 100644 target/linux/pistachio/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch create mode 100644 target/linux/pistachio/patches-5.10/901-MIPS-DTS-img-marduk-Add-SPI-NAND-flash.patch create mode 100644 target/linux/pistachio/patches-5.10/902-MIPS-DTS-img-marduk-Add-Cascoda-CA8210-6LoWPAN.patch create mode 100644 target/linux/pistachio/patches-5.10/903-MIPS-DTS-img-marduk-Add-NXP-SC16IS752IPW.patch create mode 100644 target/linux/pistachio/patches-5.10/904-MIPS-DTS-img-marduk-Add-partition-name.patch create mode 100644 target/linux/pistachio/patches-5.10/905-MIPS-DTS-img-marduk-Add-led-aliases.patch create mode 100644 target/linux/pistachio/profiles/00-default.mk create mode 100644 target/linux/qoriq/Makefile create mode 100644 target/linux/qoriq/base-files/etc/board.d/02_network create mode 100644 target/linux/qoriq/base-files/lib/preinit/79_move_config create mode 100755 target/linux/qoriq/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/qoriq/config-5.10 create mode 100644 target/linux/qoriq/files/arch/powerpc/boot/dts/fsl/watchguard-firebox-m300.dts create mode 100644 target/linux/qoriq/generic/target.mk create mode 100644 target/linux/qoriq/image/Makefile create mode 100644 target/linux/qoriq/image/generic.mk create mode 100644 target/linux/ramips/Makefile create mode 100644 target/linux/ramips/base-files/etc/hotplug.d/usb/10-motion create mode 100644 target/linux/ramips/base-files/etc/inittab create mode 100644 target/linux/ramips/base-files/etc/uci-defaults/04_led_migration create mode 100644 target/linux/ramips/base-files/etc/uci-defaults/09_fix-checksum create mode 100644 target/linux/ramips/dts/mt7620a.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts create mode 100644 target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts create mode 100644 target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts create mode 100644 target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts create mode 100644 target/linux/ramips/dts/mt7620a_asus_rp-n53.dts create mode 100644 target/linux/ramips/dts/mt7620a_asus_rt-ac51u.dts create mode 100644 target/linux/ramips/dts/mt7620a_asus_rt-ac54u.dts create mode 100644 target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts create mode 100644 target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts create mode 100644 target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts create mode 100644 target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts create mode 100644 target/linux/ramips/dts/mt7620a_cameo_810.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dwr-960.dts create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dwr-961-a1.dts create mode 100644 target/linux/ramips/dts/mt7620a_dlink_dwr-96x.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_domywifi.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_domywifi_dm202.dts create mode 100644 target/linux/ramips/dts/mt7620a_domywifi_dm203.dts create mode 100644 target/linux/ramips/dts/mt7620a_domywifi_dw22d.dts create mode 100644 target/linux/ramips/dts/mt7620a_dovado_tiny-ac.dts create mode 100644 target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts create mode 100644 target/linux/ramips/dts/mt7620a_edimax_ew-7476rpc.dts create mode 100644 target/linux/ramips/dts/mt7620a_edimax_ew-7478ac.dts create mode 100644 target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts create mode 100644 target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_engenius_esr600.dts create mode 100644 target/linux/ramips/dts/mt7620a_fon_fon2601.dts create mode 100644 target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts create mode 100644 target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts create mode 100644 target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts create mode 100644 target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts create mode 100644 target/linux/ramips/dts/mt7620a_hiwifi_hc5661.dts create mode 100644 target/linux/ramips/dts/mt7620a_hiwifi_hc5761.dts create mode 100644 target/linux/ramips/dts/mt7620a_hiwifi_hc5861.dts create mode 100644 target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_hnet_c108.dts create mode 100644 target/linux/ramips/dts/mt7620a_humax_e2.dts create mode 100644 target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts create mode 100644 target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts create mode 100644 target/linux/ramips/dts/mt7620a_iptime.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_iptime_a1004ns.dts create mode 100644 target/linux/ramips/dts/mt7620a_iptime_a104ns.dts create mode 100644 target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts create mode 100644 target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts create mode 100644 target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts create mode 100644 target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dts create mode 100644 target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_lenovo_newifi-y1s.dts create mode 100644 target/linux/ramips/dts/mt7620a_linksys_e1700.dts create mode 100644 target/linux/ramips/dts/mt7620a_microduino_microwrt.dts create mode 100644 target/linux/ramips/dts/mt7620a_netgear_ex2700.dts create mode 100644 target/linux/ramips/dts/mt7620a_netgear_ex3700.dts create mode 100644 target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_netgear_ex6120.dts create mode 100644 target/linux/ramips/dts/mt7620a_netgear_ex6130.dts create mode 100644 target/linux/ramips/dts/mt7620a_netgear_wn3000rp-v3.dts create mode 100644 target/linux/ramips/dts/mt7620a_netgear_wn3100rp-v2.dts create mode 100644 target/linux/ramips/dts/mt7620a_netgear_wn3x00rp.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_netis_wf2770.dts create mode 100644 target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts create mode 100644 target/linux/ramips/dts/mt7620a_phicomm_k2-v22.4.dts create mode 100644 target/linux/ramips/dts/mt7620a_phicomm_k2-v22.5.dts create mode 100644 target/linux/ramips/dts/mt7620a_phicomm_k2g.dts create mode 100644 target/linux/ramips/dts/mt7620a_phicomm_k2x.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts create mode 100644 target/linux/ramips/dts/mt7620a_phicomm_psg1218b.dts create mode 100644 target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts create mode 100644 target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts create mode 100644 target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts create mode 100644 target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts create mode 100644 target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts create mode 100644 target/linux/ramips/dts/mt7620a_ralink_mt7620a-evb.dts create mode 100644 target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7530-evb.dts create mode 100644 target/linux/ramips/dts/mt7620a_ralink_mt7620a-mt7610e-evb.dts create mode 100644 target/linux/ramips/dts/mt7620a_ralink_mt7620a-v22sg-evb.dts create mode 100644 target/linux/ramips/dts/mt7620a_sanlinking_d240.dts create mode 100644 target/linux/ramips/dts/mt7620a_sercomm_na930.dts create mode 100644 target/linux/ramips/dts/mt7620a_sitecom_wlr-4100-v1-002.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_archer.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_tplink_re200-v1.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_re210-v1.dts create mode 100644 target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_trendnet_tew-810dr.dts create mode 100644 target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts create mode 100644 target/linux/ramips/dts/mt7620a_wavlink_wl-wn535k1.dts create mode 100644 target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts create mode 100644 target/linux/ramips/dts/mt7620a_wevo_air-duo.dts create mode 100644 target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts create mode 100644 target/linux/ramips/dts/mt7620a_youku_yk-l1.dts create mode 100644 target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_youku_yk-l1c.dts create mode 100644 target/linux/ramips/dts/mt7620a_yukai_bocco.dts create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-5g-16m.dts create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-5g.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h-32m.dts create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026-h.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826-16m.dts create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826-32m.dts create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826-e.dts create mode 100644 target/linux/ramips/dts/mt7620a_zbtlink_zbt-we826.dtsi create mode 100644 target/linux/ramips/dts/mt7620a_zte_q7.dts create mode 100644 target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts create mode 100644 target/linux/ramips/dts/mt7620n.dtsi create mode 100644 target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts create mode 100644 target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts create mode 100644 target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts create mode 100644 target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts create mode 100644 target/linux/ramips/dts/mt7620n_dlink_dwr-116-a1.dts create mode 100644 target/linux/ramips/dts/mt7620n_dlink_dwr-921-c1.dts create mode 100644 target/linux/ramips/dts/mt7620n_dlink_dwr-922-e2.dts create mode 100644 target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts create mode 100644 target/linux/ramips/dts/mt7620n_hootoo_ht-tm05.dts create mode 100644 target/linux/ramips/dts/mt7620n_kimax_u35wf.dts create mode 100644 target/linux/ramips/dts/mt7620n_kingston_mlw221.dts create mode 100644 target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts create mode 100644 target/linux/ramips/dts/mt7620n_netgear_jwnr2010-v5.dts create mode 100644 target/linux/ramips/dts/mt7620n_netgear_n300.dtsi create mode 100644 target/linux/ramips/dts/mt7620n_nexx_wt3020-4m.dts create mode 100644 target/linux/ramips/dts/mt7620n_nexx_wt3020-8m.dts create mode 100644 target/linux/ramips/dts/mt7620n_nexx_wt3020.dtsi create mode 100644 target/linux/ramips/dts/mt7620n_ravpower_rp-wd03.dts create mode 100644 target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi create mode 100644 target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts create mode 100644 target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts create mode 100644 target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts create mode 100644 target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts create mode 100644 target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts create mode 100644 target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts create mode 100644 target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts create mode 100644 target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts create mode 100644 target/linux/ramips/dts/mt7621.dtsi create mode 100644 target/linux/ramips/dts/mt7621_adslr_g7.dts create mode 100644 target/linux/ramips/dts/mt7621_afoundry_ew1200.dts create mode 100644 target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts create mode 100644 target/linux/ramips/dts/mt7621_ampedwireless_ally-00x19k.dts create mode 100644 target/linux/ramips/dts/mt7621_ampedwireless_ally-r1900k.dts create mode 100644 target/linux/ramips/dts/mt7621_ampedwireless_ally.dtsi create mode 100644 target/linux/ramips/dts/mt7621_arcadyan_wg4xx223.dtsi create mode 100644 target/linux/ramips/dts/mt7621_asiarf_ap7621-001.dts create mode 100644 target/linux/ramips/dts/mt7621_asiarf_ap7621-nv1.dts create mode 100644 target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-ax53u.dts create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts create mode 100644 target/linux/ramips/dts/mt7621_beeline_smartbox-flash.dts create mode 100644 target/linux/ramips/dts/mt7621_bolt_arion.dts create mode 100644 target/linux/ramips/dts/mt7621_buffalo_wsr-1166dhp.dts create mode 100644 target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts create mode 100644 target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts create mode 100644 target/linux/ramips/dts/mt7621_cudy_wr1300.dts create mode 100644 target/linux/ramips/dts/mt7621_cudy_wr2100.dts create mode 100644 target/linux/ramips/dts/mt7621_cudy_x6.dts create mode 100644 target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts create mode 100644 target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dap-x1860-a1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-1960-a1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-853-a3.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-853-r1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-860l-b1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-867-a1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-878-a1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-878-r1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-882-a1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-882-r1.dts create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-8xx.dtsi create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi create mode 100644 target/linux/ramips/dts/mt7621_dlink_flash-16m-a1.dtsi create mode 100644 target/linux/ramips/dts/mt7621_dlink_flash-16m-r1.dtsi create mode 100644 target/linux/ramips/dts/mt7621_dual-q_h721.dts create mode 100644 target/linux/ramips/dts/mt7621_edimax_ra21s.dts create mode 100644 target/linux/ramips/dts/mt7621_edimax_re23s.dts create mode 100644 target/linux/ramips/dts/mt7621_edimax_rg21s.dts create mode 100644 target/linux/ramips/dts/mt7621_edimax_rx21s.dtsi create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-1167ghbk2-s.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-1167gs2-b.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-1167gst2.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-1750gs.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-1750gst2.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-1750gsv.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-1900gst.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-2533ghbk-i.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-2533gs2.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-2533gst.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-2533gst2.dts create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-gs-1pci.dtsi create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-gs-2pci.dtsi create mode 100644 target/linux/ramips/dts/mt7621_elecom_wrc-gs.dtsi create mode 100644 target/linux/ramips/dts/mt7621_firefly_firewrt.dts create mode 100644 target/linux/ramips/dts/mt7621_gehua_ghl-r-001.dts create mode 100644 target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts create mode 100644 target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts create mode 100644 target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts create mode 100644 target/linux/ramips/dts/mt7621_hilink_hlk-7621a-evb.dts create mode 100644 target/linux/ramips/dts/mt7621_hiwifi_hc5962.dts create mode 100644 target/linux/ramips/dts/mt7621_humax_e10.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-ax1167gr2.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-ax2033gr.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-dx1167r.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-dx1200gr.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-dx2033gr.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-gx300gr.dts create mode 100644 target/linux/ramips/dts/mt7621_iodata_wn-xx-xr.dtsi create mode 100644 target/linux/ramips/dts/mt7621_iodata_wnpr2600g.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_a3002mesh.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_a3004ns-dual.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_a3004t.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_a6004ns-m.dtsi create mode 100644 target/linux/ramips/dts/mt7621_iptime_a6ns-m.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_a8004t.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_ax2004m.dts create mode 100644 target/linux/ramips/dts/mt7621_iptime_t5004.dts create mode 100644 target/linux/ramips/dts/mt7621_jcg_jhr-ac876m.dts create mode 100644 target/linux/ramips/dts/mt7621_jcg_q20.dts create mode 100644 target/linux/ramips/dts/mt7621_jcg_y2.dts create mode 100644 target/linux/ramips/dts/mt7621_lenovo_newifi-d1.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_e5600.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea6350-v4.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea7300-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea7300-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea7500-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea7xxx.dtsi create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea8100-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_ea8100-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_linksys_re6500.dts create mode 100644 target/linux/ramips/dts/mt7621_mediatek_ap-mt7621a-v60.dts create mode 100644 target/linux/ramips/dts/mt7621_mediatek_mt7621-eval-board.dts create mode 100644 target/linux/ramips/dts/mt7621_mercusys_mr70x-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_mikrotik.dtsi create mode 100644 target/linux/ramips/dts/mt7621_mikrotik_routerboard-750gr3.dts create mode 100644 target/linux/ramips/dts/mt7621_mikrotik_routerboard-760igs.dts create mode 100644 target/linux/ramips/dts/mt7621_mikrotik_routerboard-7xx.dtsi create mode 100644 target/linux/ramips/dts/mt7621_mikrotik_routerboard-m11g.dts create mode 100644 target/linux/ramips/dts/mt7621_mikrotik_routerboard-m33g.dts create mode 100644 target/linux/ramips/dts/mt7621_mqmaker_witi.dts create mode 100644 target/linux/ramips/dts/mt7621_mtc_wr1201.dts create mode 100644 target/linux/ramips/dts/mt7621_mts_wg430223.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_ex6150.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r6220.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r6260.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r6350.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r6700-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r6800.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r6850.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r6900-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r7200.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_r7450.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_sercomm_ayx.dtsi create mode 100644 target/linux/ramips/dts/mt7621_netgear_sercomm_bzv.dtsi create mode 100644 target/linux/ramips/dts/mt7621_netgear_sercomm_chj.dtsi create mode 100644 target/linux/ramips/dts/mt7621_netgear_wac104.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_wac124.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_wax202.dts create mode 100644 target/linux/ramips/dts/mt7621_netgear_wndr3700-v5.dts create mode 100644 target/linux/ramips/dts/mt7621_netis_wf2881.dts create mode 100644 target/linux/ramips/dts/mt7621_oraybox_x3a.dts create mode 100644 target/linux/ramips/dts/mt7621_phicomm_k2p.dts create mode 100644 target/linux/ramips/dts/mt7621_planex_vr500.dts create mode 100644 target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts create mode 100644 target/linux/ramips/dts/mt7621_renkforce_ws-wn530hp3-a.dts create mode 100644 target/linux/ramips/dts/mt7621_samknows_whitebox-v8.dts create mode 100644 target/linux/ramips/dts/mt7621_sercomm_na502.dts create mode 100644 target/linux/ramips/dts/mt7621_sercomm_na502s.dts create mode 100644 target/linux/ramips/dts/mt7621_storylink_sap-g3200u3.dts create mode 100644 target/linux/ramips/dts/mt7621_telco-electronics_x1.dts create mode 100644 target/linux/ramips/dts/mt7621_tenbay_t-mb5eu-v01.dts create mode 100644 target/linux/ramips/dts/mt7621_thunder_timecloud.dts create mode 100644 target/linux/ramips/dts/mt7621_totolink_a7000r.dts create mode 100644 target/linux/ramips/dts/mt7621_totolink_x5000r.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_archer-a6-v3.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_archer-c6-v3.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_archer-c6u-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_archer-x6-v3.dtsi create mode 100644 target/linux/ramips/dts/mt7621_tplink_eap235-wall-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_eap615-wall-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_re350-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_re500-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_re650-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_re650-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_tplink_rexx0-v1.dtsi create mode 100644 target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts create mode 100644 target/linux/ramips/dts/mt7621_ubnt_edgerouter-x-sfp.dts create mode 100644 target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dts create mode 100644 target/linux/ramips/dts/mt7621_ubnt_edgerouter-x.dtsi create mode 100644 target/linux/ramips/dts/mt7621_ubnt_unifi-6-lite.dts create mode 100644 target/linux/ramips/dts/mt7621_ubnt_unifi-flexhd.dts create mode 100644 target/linux/ramips/dts/mt7621_ubnt_unifi-nanohd.dts create mode 100644 target/linux/ramips/dts/mt7621_ubnt_unifi.dtsi create mode 100644 target/linux/ramips/dts/mt7621_ubnt_usw-flex.dts create mode 100644 target/linux/ramips/dts/mt7621_unielec_u7621-01-16m.dts create mode 100644 target/linux/ramips/dts/mt7621_unielec_u7621-01.dtsi create mode 100644 target/linux/ramips/dts/mt7621_unielec_u7621-06-16m.dts create mode 100644 target/linux/ramips/dts/mt7621_unielec_u7621-06-64m.dts create mode 100644 target/linux/ramips/dts/mt7621_unielec_u7621-06.dtsi create mode 100644 target/linux/ramips/dts/mt7621_wavlink_wl-wn531a6.dts create mode 100644 target/linux/ramips/dts/mt7621_wavlink_wl-wn533a8.dts create mode 100644 target/linux/ramips/dts/mt7621_wavlink_wl-wn53xax.dtsi create mode 100644 target/linux/ramips/dts/mt7621_wavlink_ws-wn572hp3-4g.dts create mode 100644 target/linux/ramips/dts/mt7621_wevo_11acnas.dts create mode 100644 target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_wevo_w2914ns-v2.dtsi create mode 100644 target/linux/ramips/dts/mt7621_winstars_ws-wn583a6.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-3-pro.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g-v2.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-3g.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-4.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-3g-v2.dtsi create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-4a-gigabit.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-ac2100.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6606.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6608.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr6609.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_mi-router-cr660x.dtsi create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_nand_128m.dtsi create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_redmi-router-ac2100.dts create mode 100644 target/linux/ramips/dts/mt7621_xiaomi_router-ac2100.dtsi create mode 100644 target/linux/ramips/dts/mt7621_xiaoyu_xy-c5.dts create mode 100644 target/linux/ramips/dts/mt7621_xzwifi_creativebox-v1.dts create mode 100644 target/linux/ramips/dts/mt7621_youhua_wr1200js.dts create mode 100644 target/linux/ramips/dts/mt7621_youku_yk-l2.dts create mode 100644 target/linux/ramips/dts/mt7621_yuncore_ax820.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-we1326.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-we3526.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602-16m.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1602.dtsi create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608-16m.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg1608.dtsi create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg2626.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526-16m.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526-32m.dts create mode 100644 target/linux/ramips/dts/mt7621_zbtlink_zbt-wg3526.dtsi create mode 100644 target/linux/ramips/dts/mt7621_zio_freezio.dts create mode 100644 target/linux/ramips/dts/mt7621_zyxel_nr7101.dts create mode 100644 target/linux/ramips/dts/mt7621_zyxel_nwa-ax.dtsi create mode 100644 target/linux/ramips/dts/mt7621_zyxel_nwa50ax.dts create mode 100644 target/linux/ramips/dts/mt7621_zyxel_nwa55axe.dts create mode 100644 target/linux/ramips/dts/mt7621_zyxel_wap6805.dts create mode 100644 target/linux/ramips/dts/mt7628an.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_alfa-network_awusfree1.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-ac1200-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-ac1200.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n10p-v3.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n11p-b1.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts create mode 100644 target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac-v1.dts create mode 100644 target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_comfast_cf-wr758ac.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_cudy_wr1000.dts create mode 100644 target/linux/ramips/dts/mt7628an_d-team_pbr-d1.dts create mode 100644 target/linux/ramips/dts/mt7628an_dlink_dap-1325-a1.dts create mode 100644 target/linux/ramips/dts/mt7628an_duzun_dm06.dts create mode 100644 target/linux/ramips/dts/mt7628an_elecom_wrc-1167fs.dts create mode 100644 target/linux/ramips/dts/mt7628an_glinet_gl-mt300n-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_glinet_microuter-n300.dts create mode 100644 target/linux/ramips/dts/mt7628an_glinet_vixmini.dts create mode 100644 target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_hak5_wifi-pineapple-mk7.dts create mode 100644 target/linux/ramips/dts/mt7628an_hilink_hlk-7628n.dts create mode 100644 target/linux/ramips/dts/mt7628an_hilink_hlk-7688a.dts create mode 100644 target/linux/ramips/dts/mt7628an_hiwifi_hc5661a.dts create mode 100644 target/linux/ramips/dts/mt7628an_hiwifi_hc5761a.dts create mode 100644 target/linux/ramips/dts/mt7628an_hiwifi_hc5861b.dts create mode 100644 target/linux/ramips/dts/mt7628an_hiwifi_hc5x61a.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_iptime.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_iptime_a3.dts create mode 100644 target/linux/ramips/dts/mt7628an_iptime_a604m.dts create mode 100644 target/linux/ramips/dts/mt7628an_jotale_js76x8-16m.dts create mode 100644 target/linux/ramips/dts/mt7628an_jotale_js76x8-32m.dts create mode 100644 target/linux/ramips/dts/mt7628an_jotale_js76x8-8m.dts create mode 100644 target/linux/ramips/dts/mt7628an_jotale_js76x8.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_mediatek_linkit-smart-7688.dts create mode 100644 target/linux/ramips/dts/mt7628an_mediatek_mt7628an-eval-board.dts create mode 100644 target/linux/ramips/dts/mt7628an_mercury_mac1200r-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_minew_g1-c.dts create mode 100644 target/linux/ramips/dts/mt7628an_motorola_mwr03.dts create mode 100644 target/linux/ramips/dts/mt7628an_netgear_r6020.dts create mode 100644 target/linux/ramips/dts/mt7628an_netgear_r6080.dts create mode 100644 target/linux/ramips/dts/mt7628an_netgear_r6120.dts create mode 100644 target/linux/ramips/dts/mt7628an_netgear_r6xxx.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_onion_omega2.dts create mode 100644 target/linux/ramips/dts/mt7628an_onion_omega2.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_onion_omega2p.dts create mode 100644 target/linux/ramips/dts/mt7628an_rakwireless_rak633.dts create mode 100644 target/linux/ramips/dts/mt7628an_ravpower_rp-wd009.dts create mode 100644 target/linux/ramips/dts/mt7628an_skylab_skw92a.dts create mode 100644 target/linux/ramips/dts/mt7628an_tama_w06.dts create mode 100644 target/linux/ramips/dts/mt7628an_totolink_a3.dts create mode 100644 target/linux/ramips/dts/mt7628an_totolink_lr1200.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_8m-split-uboot.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_tplink_8m.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_tplink_archer-c20-v4.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_archer-c20-v5.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_archer-c50-v3.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_archer-c50-v4.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re200-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re200-v3.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re200-v4.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re200.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re220-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re305-v1.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re305-v3.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re305.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-mr3020-v3.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-mr3420-v5.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v4.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-mr6400-v5.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wa801nd-v5.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr802n-v4.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v4.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr840n-v5.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v13.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr842n-v5.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr850n-v2.dts create mode 100644 target/linux/ramips/dts/mt7628an_tplink_tl-wr902ac-v3.dts create mode 100644 target/linux/ramips/dts/mt7628an_unielec_u7628-01-16m.dts create mode 100644 target/linux/ramips/dts/mt7628an_unielec_u7628-01.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_vocore_vocore2-lite.dts create mode 100644 target/linux/ramips/dts/mt7628an_vocore_vocore2.dts create mode 100644 target/linux/ramips/dts/mt7628an_vocore_vocore2.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_wavlink_wl-wn531a3.dts create mode 100644 target/linux/ramips/dts/mt7628an_wavlink_wl-wn570ha1.dts create mode 100644 target/linux/ramips/dts/mt7628an_wavlink_wl-wn575a3.dts create mode 100644 target/linux/ramips/dts/mt7628an_wavlink_wl-wn576a2.dts create mode 100644 target/linux/ramips/dts/mt7628an_wavlink_wl-wn577a2.dts create mode 100644 target/linux/ramips/dts/mt7628an_wavlink_wl-wn578a2.dts create mode 100644 target/linux/ramips/dts/mt7628an_widora_neo-16m.dts create mode 100644 target/linux/ramips/dts/mt7628an_widora_neo-32m.dts create mode 100644 target/linux/ramips/dts/mt7628an_widora_neo.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_wiznet_wizfi630s.dts create mode 100644 target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2p.dts create mode 100644 target/linux/ramips/dts/mt7628an_wrtnode_wrtnode2r.dts create mode 100644 target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4.dtsi create mode 100644 target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m-intl.dts create mode 100644 target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4a-100m.dts create mode 100644 target/linux/ramips/dts/mt7628an_xiaomi_mi-router-4c.dts create mode 100644 target/linux/ramips/dts/mt7628an_xiaomi_miwifi-3c.dts create mode 100644 target/linux/ramips/dts/mt7628an_xiaomi_miwifi-nano.dts create mode 100644 target/linux/ramips/dts/mt7628an_zbtlink_zbt-we1226.dts create mode 100644 target/linux/ramips/dts/mt7628an_zyxel_keenetic-extra-ii.dts create mode 100644 target/linux/ramips/dts/rt2880.dtsi create mode 100644 target/linux/ramips/dts/rt2880_airlink101_ar670w.dts create mode 100644 target/linux/ramips/dts/rt2880_airlink101_ar725w.dts create mode 100644 target/linux/ramips/dts/rt2880_asus_rt-n15.dts create mode 100644 target/linux/ramips/dts/rt2880_belkin_f5d8235-v1.dts create mode 100644 target/linux/ramips/dts/rt2880_buffalo_wli-tx4-ag300n.dts create mode 100644 target/linux/ramips/dts/rt2880_buffalo_wzr-agl300nh.dts create mode 100644 target/linux/ramips/dts/rt2880_dlink_dap-1522-a1.dts create mode 100644 target/linux/ramips/dts/rt2880_ralink_v11st-fe.dts create mode 100644 target/linux/ramips/dts/rt3050.dtsi create mode 100644 target/linux/ramips/dts/rt3050_8devices_carambola.dts create mode 100644 target/linux/ramips/dts/rt3050_allnet_all0256n-4m.dts create mode 100644 target/linux/ramips/dts/rt3050_allnet_all0256n-8m.dts create mode 100644 target/linux/ramips/dts/rt3050_allnet_all0256n.dtsi create mode 100644 target/linux/ramips/dts/rt3050_alphanetworks_asl26555-16m.dts create mode 100644 target/linux/ramips/dts/rt3050_alphanetworks_asl26555-8m.dts create mode 100644 target/linux/ramips/dts/rt3050_alphanetworks_asl26555.dtsi create mode 100644 target/linux/ramips/dts/rt3050_arcwireless_freestation5.dts create mode 100644 target/linux/ramips/dts/rt3050_asus_rt-g32-b1.dts create mode 100644 target/linux/ramips/dts/rt3050_asus_rt-n10-plus.dts create mode 100644 target/linux/ramips/dts/rt3050_asus_wl-330n.dts create mode 100644 target/linux/ramips/dts/rt3050_asus_wl-330n3g.dts create mode 100644 target/linux/ramips/dts/rt3050_dlink_dcs-930.dts create mode 100644 target/linux/ramips/dts/rt3050_dlink_dir-300-b1.dts create mode 100644 target/linux/ramips/dts/rt3050_dlink_dir-600-b1.dts create mode 100644 target/linux/ramips/dts/rt3050_dlink_dir-615-d.dts create mode 100644 target/linux/ramips/dts/rt3050_dlink_dir-620-a1.dts create mode 100644 target/linux/ramips/dts/rt3050_edimax_3g-6200n.dts create mode 100644 target/linux/ramips/dts/rt3050_edimax_3g-6200nl.dts create mode 100644 target/linux/ramips/dts/rt3050_huawei_d105.dts create mode 100644 target/linux/ramips/dts/rt3050_jcg_jhr-n805r.dts create mode 100644 target/linux/ramips/dts/rt3050_netcore_nw718.dts create mode 100644 target/linux/ramips/dts/rt3050_sparklan_wcr-150gn.dts create mode 100644 target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts create mode 100644 target/linux/ramips/dts/rt3050_tenda_w150m.dts create mode 100644 target/linux/ramips/dts/rt3050_trendnet_tew-638apb-v2.dts create mode 100644 target/linux/ramips/dts/rt3052_accton_wr6202.dts create mode 100644 target/linux/ramips/dts/rt3052_alfa-network_w502u.dts create mode 100644 target/linux/ramips/dts/rt3052_argus_atp-52b.dts create mode 100644 target/linux/ramips/dts/rt3052_asiarf_awapn2403.dts create mode 100644 target/linux/ramips/dts/rt3052_asus_rt-n13u.dts create mode 100644 target/linux/ramips/dts/rt3052_aximcom_mr-102n.dts create mode 100644 target/linux/ramips/dts/rt3052_aztech_hw550-3g.dts create mode 100644 target/linux/ramips/dts/rt3052_belkin_f5d8235-v2.dts create mode 100644 target/linux/ramips/dts/rt3052_buffalo_whr-g300n.dts create mode 100644 target/linux/ramips/dts/rt3052_dlink_dap-1350.dts create mode 100644 target/linux/ramips/dts/rt3052_engenius_esr-9753.dts create mode 100644 target/linux/ramips/dts/rt3052_fon_fonera-20n.dts create mode 100644 target/linux/ramips/dts/rt3052_hauppauge_broadway.dts create mode 100644 target/linux/ramips/dts/rt3052_huawei_hg255d.dts create mode 100644 target/linux/ramips/dts/rt3052_jcg_jhr-n825r.dts create mode 100644 target/linux/ramips/dts/rt3052_jcg_jhr-n926r.dts create mode 100644 target/linux/ramips/dts/rt3052_mofinetwork_mofi3500-3gn.dts create mode 100644 target/linux/ramips/dts/rt3052_netgear_wnce2001.dts create mode 100644 target/linux/ramips/dts/rt3052_nexaira_bc2.dts create mode 100644 target/linux/ramips/dts/rt3052_omnima_miniembwifi.dts create mode 100644 target/linux/ramips/dts/rt3052_petatel_psr-680w.dts create mode 100644 target/linux/ramips/dts/rt3052_planex_mzk-w300nh2.dts create mode 100644 target/linux/ramips/dts/rt3052_planex_mzk-wdpr.dts create mode 100644 target/linux/ramips/dts/rt3052_poray_ip2202.dts create mode 100644 target/linux/ramips/dts/rt3052_prolink_pwh2004.dts create mode 100644 target/linux/ramips/dts/rt3052_ralink_v22rw-2x2.dts create mode 100644 target/linux/ramips/dts/rt3052_sitecom_wl-351.dts create mode 100644 target/linux/ramips/dts/rt3052_skyline_sl-r7205.dts create mode 100644 target/linux/ramips/dts/rt3052_tenda_3g300m.dts create mode 100644 target/linux/ramips/dts/rt3052_tenda_w306r-v2.dts create mode 100644 target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-4m.dts create mode 100644 target/linux/ramips/dts/rt3052_unbranded_wr512-3gn-8m.dts create mode 100644 target/linux/ramips/dts/rt3052_unbranded_wr512-3gn.dtsi create mode 100644 target/linux/ramips/dts/rt3052_unbranded_xdx-rn502j.dts create mode 100644 target/linux/ramips/dts/rt3052_upvel_ur-326n4g.dts create mode 100644 target/linux/ramips/dts/rt3052_upvel_ur-336un.dts create mode 100644 target/linux/ramips/dts/rt3052_zyxel_keenetic.dts create mode 100644 target/linux/ramips/dts/rt3052_zyxel_nbg-419n.dts create mode 100644 target/linux/ramips/dts/rt3352.dtsi create mode 100644 target/linux/ramips/dts/rt3352_allnet_all5002.dts create mode 100644 target/linux/ramips/dts/rt3352_dlink_dir-615-h1.dts create mode 100644 target/linux/ramips/dts/rt3352_dlink_dir-620-d1.dts create mode 100644 target/linux/ramips/dts/rt3352_zte_mf283plus.dts create mode 100644 target/linux/ramips/dts/rt3352_zyxel_nbg-419n-v2.dts create mode 100644 target/linux/ramips/dts/rt3662_asus_rt-n56u.dts create mode 100644 target/linux/ramips/dts/rt3662_dlink_dir-645.dts create mode 100644 target/linux/ramips/dts/rt3662_edimax_br-6475nd.dts create mode 100644 target/linux/ramips/dts/rt3662_engenius_esr600h.dts create mode 100644 target/linux/ramips/dts/rt3662_loewe_wmdr-143n.dts create mode 100644 target/linux/ramips/dts/rt3662_omnima_hpm.dts create mode 100644 target/linux/ramips/dts/rt3662_samsung_cy-swr1100.dts create mode 100644 target/linux/ramips/dts/rt3883.dtsi create mode 100644 target/linux/ramips/dts/rt3883_belkin_f9k1109v1.dts create mode 100644 target/linux/ramips/dts/rt3883_belkin_f9k110x.dtsi create mode 100644 target/linux/ramips/dts/rt3883_sitecom_wlr-6000.dts create mode 100644 target/linux/ramips/dts/rt3883_trendnet_tew-691gr.dts create mode 100644 target/linux/ramips/dts/rt3883_trendnet_tew-692gr.dts create mode 100644 target/linux/ramips/dts/rt5350.dtsi create mode 100644 target/linux/ramips/dts/rt5350_7links_px-4885-4m.dts create mode 100644 target/linux/ramips/dts/rt5350_7links_px-4885-8m.dts create mode 100644 target/linux/ramips/dts/rt5350_7links_px-4885.dtsi create mode 100644 target/linux/ramips/dts/rt5350_airlive_air3gii.dts create mode 100644 target/linux/ramips/dts/rt5350_allnet_all5003.dts create mode 100644 target/linux/ramips/dts/rt5350_asiarf_awm002-evb-4m.dts create mode 100644 target/linux/ramips/dts/rt5350_asiarf_awm002-evb-8m.dts create mode 100644 target/linux/ramips/dts/rt5350_asiarf_awm002-evb.dtsi create mode 100644 target/linux/ramips/dts/rt5350_belkin_f7c027.dts create mode 100644 target/linux/ramips/dts/rt5350_dlink_dcs-930l-b1.dts create mode 100644 target/linux/ramips/dts/rt5350_dlink_dir-300-b7.dts create mode 100644 target/linux/ramips/dts/rt5350_dlink_dir-320-b1.dts create mode 100644 target/linux/ramips/dts/rt5350_dlink_dir-610-a1.dts create mode 100644 target/linux/ramips/dts/rt5350_dlink_dwr-512-b.dts create mode 100644 target/linux/ramips/dts/rt5350_easyacc_wizard-8800.dts create mode 100644 target/linux/ramips/dts/rt5350_hame_mpr-a1.dts create mode 100644 target/linux/ramips/dts/rt5350_hame_mpr-a2.dts create mode 100644 target/linux/ramips/dts/rt5350_hilink_hlk-rm04.dts create mode 100644 target/linux/ramips/dts/rt5350_hootoo_ht-tm02.dts create mode 100644 target/linux/ramips/dts/rt5350_intenso_memory2move.dts create mode 100644 target/linux/ramips/dts/rt5350_nexx_wt1520-4m.dts create mode 100644 target/linux/ramips/dts/rt5350_nexx_wt1520-8m.dts create mode 100644 target/linux/ramips/dts/rt5350_nexx_wt1520.dtsi create mode 100644 target/linux/ramips/dts/rt5350_nixcore_x1-16m.dts create mode 100644 target/linux/ramips/dts/rt5350_nixcore_x1-8m.dts create mode 100644 target/linux/ramips/dts/rt5350_nixcore_x1.dtsi create mode 100644 target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino-evb.dts create mode 100644 target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dts create mode 100644 target/linux/ramips/dts/rt5350_olimex_rt5350f-olinuxino.dtsi create mode 100644 target/linux/ramips/dts/rt5350_omnima_miniembplug.dts create mode 100644 target/linux/ramips/dts/rt5350_planex_mzk-dp150n.dts create mode 100644 target/linux/ramips/dts/rt5350_poray_m3.dts create mode 100644 target/linux/ramips/dts/rt5350_poray_m4-4m.dts create mode 100644 target/linux/ramips/dts/rt5350_poray_m4-8m.dts create mode 100644 target/linux/ramips/dts/rt5350_poray_m4.dtsi create mode 100644 target/linux/ramips/dts/rt5350_poray_x5.dts create mode 100644 target/linux/ramips/dts/rt5350_poray_x8.dts create mode 100644 target/linux/ramips/dts/rt5350_tenda_3g150b.dts create mode 100644 target/linux/ramips/dts/rt5350_trendnet_tew-714tru.dts create mode 100644 target/linux/ramips/dts/rt5350_unbranded_a5-v11.dts create mode 100644 target/linux/ramips/dts/rt5350_vocore_vocore-16m.dts create mode 100644 target/linux/ramips/dts/rt5350_vocore_vocore-8m.dts create mode 100644 target/linux/ramips/dts/rt5350_vocore_vocore.dtsi create mode 100644 target/linux/ramips/dts/rt5350_wansview_ncs601w.dts create mode 100644 target/linux/ramips/dts/rt5350_wiznet_wizfi630a.dts create mode 100644 target/linux/ramips/dts/rt5350_zorlik_zl5900v2.dts create mode 100644 target/linux/ramips/dts/rt5350_zyxel_keenetic-lite-b.dts create mode 100644 target/linux/ramips/dts/rt5350_zyxel_keenetic-start.dts create mode 100644 target/linux/ramips/files/drivers/mmc/host/mtk-mmc/Kconfig create mode 100644 target/linux/ramips/files/drivers/mmc/host/mtk-mmc/Makefile create mode 100644 target/linux/ramips/files/drivers/mmc/host/mtk-mmc/board.h create mode 100644 target/linux/ramips/files/drivers/mmc/host/mtk-mmc/dbg.c create mode 100644 target/linux/ramips/files/drivers/mmc/host/mtk-mmc/dbg.h create mode 100644 target/linux/ramips/files/drivers/mmc/host/mtk-mmc/mt6575_sd.h create mode 100644 target/linux/ramips/files/drivers/mmc/host/mtk-mmc/sd.c create mode 100644 target/linux/ramips/files/drivers/mtd/nand/raw/mt7621_nand.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/Kconfig create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/Makefile create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/esw_rt3050.h create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/ethtool.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/ethtool.h create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620.h create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.h create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_mt7620.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_rt2880.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_rt2880.h create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mt7530.h create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.h create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt2880.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3050.c create mode 100644 target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3883.c create mode 100644 target/linux/ramips/files/drivers/pinctrl/pinctrl-aw9523.c create mode 100644 target/linux/ramips/image/Makefile create mode 100644 target/linux/ramips/image/common-tp-link.mk create mode 100644 target/linux/ramips/image/lzma-loader/Makefile create mode 100644 target/linux/ramips/image/lzma-loader/src/LzmaDecode.c create mode 100644 target/linux/ramips/image/lzma-loader/src/LzmaDecode.h create mode 100644 target/linux/ramips/image/lzma-loader/src/LzmaTypes.h create mode 100644 target/linux/ramips/image/lzma-loader/src/Makefile create mode 100644 target/linux/ramips/image/lzma-loader/src/board-mt7621.c create mode 100644 target/linux/ramips/image/lzma-loader/src/board-ralink.c create mode 100644 target/linux/ramips/image/lzma-loader/src/cache.c create mode 100644 target/linux/ramips/image/lzma-loader/src/cache.h create mode 100644 target/linux/ramips/image/lzma-loader/src/cacheops.h create mode 100644 target/linux/ramips/image/lzma-loader/src/config.h create mode 100644 target/linux/ramips/image/lzma-loader/src/cp0regdef.h create mode 100644 target/linux/ramips/image/lzma-loader/src/head.S create mode 100644 target/linux/ramips/image/lzma-loader/src/lantiq.mk create mode 100644 target/linux/ramips/image/lzma-loader/src/loader.c create mode 100644 target/linux/ramips/image/lzma-loader/src/loader.lds create mode 100644 target/linux/ramips/image/lzma-loader/src/loader2.lds create mode 100644 target/linux/ramips/image/lzma-loader/src/lzma-data.lds create mode 100644 target/linux/ramips/image/lzma-loader/src/mt7621.mk create mode 100644 target/linux/ramips/image/lzma-loader/src/printf.c create mode 100644 target/linux/ramips/image/lzma-loader/src/printf.h create mode 100644 target/linux/ramips/image/lzma-loader/src/ralink.mk create mode 100644 target/linux/ramips/image/mt7620.mk create mode 100644 target/linux/ramips/image/mt7621.mk create mode 100644 target/linux/ramips/image/mt76x8.mk create mode 100644 target/linux/ramips/image/rt288x.mk create mode 100644 target/linux/ramips/image/rt305x.mk create mode 100644 target/linux/ramips/image/rt3883.mk create mode 100644 target/linux/ramips/modules.mk create mode 100644 target/linux/ramips/mt7620/base-files/etc/board.d/01_leds create mode 100644 target/linux/ramips/mt7620/base-files/etc/board.d/02_network create mode 100644 target/linux/ramips/mt7620/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/ramips/mt7620/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom create mode 100755 target/linux/ramips/mt7620/base-files/etc/init.d/bootcount create mode 100644 target/linux/ramips/mt7620/base-files/etc/uci-defaults/05_fix-compat-version create mode 100755 target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ramips/mt7620/config-5.10 create mode 100644 target/linux/ramips/mt7620/target.mk create mode 100644 target/linux/ramips/mt7621/base-files/etc/board.d/01_leds create mode 100644 target/linux/ramips/mt7621/base-files/etc/board.d/02_network create mode 100644 target/linux/ramips/mt7621/base-files/etc/board.d/03_gpio_switches create mode 100644 target/linux/ramips/mt7621/base-files/etc/board.d/05_compat-version create mode 100644 target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac create mode 100755 target/linux/ramips/mt7621/base-files/etc/init.d/bootcount create mode 100755 target/linux/ramips/mt7621/base-files/etc/init.d/set-irq-affinity create mode 100644 target/linux/ramips/mt7621/base-files/etc/uci-defaults/01_enable_packet_steering create mode 100644 target/linux/ramips/mt7621/base-files/lib/upgrade/iodata.sh create mode 100755 target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ramips/mt7621/base-files/lib/upgrade/ubnt.sh create mode 100755 target/linux/ramips/mt7621/base-files/sbin/fixup-mac-address create mode 100644 target/linux/ramips/mt7621/config-5.10 create mode 100644 target/linux/ramips/mt7621/target.mk create mode 100644 target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds create mode 100644 target/linux/ramips/mt76x8/base-files/etc/board.d/02_network create mode 100755 target/linux/ramips/mt76x8/base-files/etc/init.d/bootcount create mode 100755 target/linux/ramips/mt76x8/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ramips/mt76x8/config-5.10 create mode 100644 target/linux/ramips/mt76x8/target.mk create mode 100644 target/linux/ramips/patches-5.10/020-mips-ralink-manage-low-reset-lines.patch create mode 100644 target/linux/ramips/patches-5.10/200-add-ralink-eth.patch create mode 100644 target/linux/ramips/patches-5.10/201-MIPS-ralink-rt288x-select-MIPS_AUTO_PFN_OFFSET.patch create mode 100644 target/linux/ramips/patches-5.10/203-staging-mt7621-pci-phy-kconfig-select-regmap-mmio.patch create mode 100644 target/linux/ramips/patches-5.10/300-mt7620-export-chip-version-and-pkg.patch create mode 100644 target/linux/ramips/patches-5.10/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch create mode 100644 target/linux/ramips/patches-5.10/312-MIPS-ralink-add-cpu-frequency-scaling.patch create mode 100644 target/linux/ramips/patches-5.10/314-MIPS-add-bootargs-override-property.patch create mode 100644 target/linux/ramips/patches-5.10/315-owrt-hack-fix-mt7688-cache-issue.patch create mode 100644 target/linux/ramips/patches-5.10/316-arch-mips-do-not-select-illegal-access-driver-by-def.patch create mode 100644 target/linux/ramips/patches-5.10/320-MIPS-add-support-for-buggy-MT7621S-core-detection.patch create mode 100644 target/linux/ramips/patches-5.10/322-mt7621-fix-cpu-clk-add-clkdev.patch create mode 100644 target/linux/ramips/patches-5.10/323-mt7621-memory-detect.patch create mode 100644 target/linux/ramips/patches-5.10/324-mt7621-perfctr-fix.patch create mode 100644 target/linux/ramips/patches-5.10/325-mt7621-fix-memory-detect.patch create mode 100644 target/linux/ramips/patches-5.10/400-mtd-cfi-cmdset-0002-force-word-write.patch create mode 100644 target/linux/ramips/patches-5.10/405-mtd-spi-nor-Add-support-for-BoHong-bh25q128as.patch create mode 100644 target/linux/ramips/patches-5.10/410-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch create mode 100644 target/linux/ramips/patches-5.10/411-dt-bindings-add-documentation-for-mt7621-nand-driver.patch create mode 100644 target/linux/ramips/patches-5.10/700-net-ethernet-mediatek-support-net-labels.patch create mode 100644 target/linux/ramips/patches-5.10/710-at803x.patch create mode 100644 target/linux/ramips/patches-5.10/720-Revert-net-phy-simplify-phy_link_change-arguments.patch create mode 100644 target/linux/ramips/patches-5.10/721-NET-no-auto-carrier-off-support.patch create mode 100644 target/linux/ramips/patches-5.10/801-DT-Add-documentation-for-gpio-ralink.patch create mode 100644 target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch create mode 100644 target/linux/ramips/patches-5.10/803-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch create mode 100644 target/linux/ramips/patches-5.10/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch create mode 100644 target/linux/ramips/patches-5.10/805-pinctrl-AW9523.patch create mode 100644 target/linux/ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch create mode 100644 target/linux/ramips/patches-5.10/820-DT-Add-documentation-for-spi-rt2880.patch create mode 100644 target/linux/ramips/patches-5.10/821-SPI-ralink-add-Ralink-SoC-spi-driver.patch create mode 100644 target/linux/ramips/patches-5.10/825-i2c-MIPS-adds-ralink-I2C-driver.patch create mode 100644 target/linux/ramips/patches-5.10/830-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch create mode 100644 target/linux/ramips/patches-5.10/835-asoc-add-mt7620-support.patch create mode 100644 target/linux/ramips/patches-5.10/840-serial-add-ugly-custom-baud-rate-hack.patch create mode 100644 target/linux/ramips/patches-5.10/845-pwm-add-mediatek-support.patch create mode 100644 target/linux/ramips/patches-5.10/850-awake-rt305x-dwc2-controller.patch create mode 100644 target/linux/ramips/patches-5.10/855-linkit_bootstrap.patch create mode 100644 target/linux/ramips/rt288x/base-files/etc/board.d/01_leds create mode 100644 target/linux/ramips/rt288x/base-files/etc/board.d/02_network create mode 100755 target/linux/ramips/rt288x/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ramips/rt288x/config-5.10 create mode 100644 target/linux/ramips/rt288x/target.mk create mode 100644 target/linux/ramips/rt305x/base-files/etc/board.d/01_leds create mode 100644 target/linux/ramips/rt305x/base-files/etc/board.d/02_network create mode 100644 target/linux/ramips/rt305x/base-files/lib/preinit/04_handle_checksumming create mode 100755 target/linux/ramips/rt305x/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ramips/rt305x/config-5.10 create mode 100644 target/linux/ramips/rt305x/target.mk create mode 100644 target/linux/ramips/rt3883/base-files/etc/board.d/01_leds create mode 100644 target/linux/ramips/rt3883/base-files/etc/board.d/02_network create mode 100644 target/linux/ramips/rt3883/base-files/lib/preinit/04_handle_checksumming create mode 100755 target/linux/ramips/rt3883/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/ramips/rt3883/config-5.10 create mode 100644 target/linux/ramips/rt3883/target.mk create mode 100644 target/linux/realtek/Makefile create mode 100644 target/linux/realtek/base-files/etc/board.d/01_leds create mode 100644 target/linux/realtek/base-files/etc/board.d/02_network create mode 100644 target/linux/realtek/base-files/etc/inittab create mode 100644 target/linux/realtek/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit_1xx.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl8380_netgear_gigabit_3xx.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl8380_netgear_gs108t-v3.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_netgear_gs110tpp-v1.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_netgear_gs308t-v1.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_netgear_gs310tp-v1.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_panasonic_m8eg-pn28080k.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900-10hp.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900-8.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900-8hp-v1.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900-8hp-v2.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8380_zyxel_gs1900.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl8382_allnet_all-sg8208m.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210-10p.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210-16.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210-28.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_d-link_dgs-1210.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl8382_inaba_aml2-17gp.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_iodata_bsh-g24mb.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_zyxel_gs1900-16.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_zyxel_gs1900-24-v1.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_zyxel_gs1900-24e.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_zyxel_gs1900-24hp-v1.dts create mode 100644 target/linux/realtek/dts-5.10/rtl8382_zyxel_gs1900-24hp-v2.dts create mode 100644 target/linux/realtek/dts-5.10/rtl838x.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl8393_zyxel_gs1900-48.dts create mode 100644 target/linux/realtek/dts-5.10/rtl839x.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl83xx_panasonic_mxxeg-pn28xx0k.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl9302_zyxel_xgs1250-12.dts create mode 100644 target/linux/realtek/dts-5.10/rtl930x.dtsi create mode 100644 target/linux/realtek/dts-5.10/rtl931x.dtsi create mode 100644 target/linux/realtek/files-5.10/arch/mips/include/asm/mach-rtl838x/ioremap.h create mode 100644 target/linux/realtek/files-5.10/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h create mode 100644 target/linux/realtek/files-5.10/arch/mips/kernel/cevt-rtl9300.c create mode 100644 target/linux/realtek/files-5.10/arch/mips/rtl838x/Makefile create mode 100644 target/linux/realtek/files-5.10/arch/mips/rtl838x/Platform create mode 100644 target/linux/realtek/files-5.10/arch/mips/rtl838x/prom.c create mode 100644 target/linux/realtek/files-5.10/arch/mips/rtl838x/setup.c create mode 100644 target/linux/realtek/files-5.10/drivers/gpio/gpio-rtl8231.c create mode 100644 target/linux/realtek/files-5.10/drivers/i2c/busses/i2c-rtl9300.c create mode 100644 target/linux/realtek/files-5.10/drivers/i2c/busses/i2c-rtl9300.h create mode 100644 target/linux/realtek/files-5.10/drivers/i2c/muxes/i2c-mux-rtl9300.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/Kconfig create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/Makefile create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/common.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/debugfs.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/qos.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/rtl838x.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/rtl838x.h create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/rtl839x.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/rtl83xx.h create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/rtl930x.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/rtl931x.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/tc.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.h create mode 100644 target/linux/realtek/files-5.10/drivers/net/phy/rtl83xx-phy.c create mode 100644 target/linux/realtek/files-5.10/drivers/net/phy/rtl83xx-phy.h create mode 100644 target/linux/realtek/files/firmware/rtl838x_phy/rtl838x_8214fc.fw create mode 100644 target/linux/realtek/files/firmware/rtl838x_phy/rtl838x_8218b.fw create mode 100644 target/linux/realtek/files/firmware/rtl838x_phy/rtl838x_8380.fw create mode 100644 target/linux/realtek/image/Makefile create mode 100644 target/linux/realtek/image/rtl838x.mk create mode 100644 target/linux/realtek/image/rtl839x.mk create mode 100644 target/linux/realtek/image/rtl930x.mk create mode 100644 target/linux/realtek/image/rtl931x.mk create mode 100644 target/linux/realtek/patches-5.10/001-5.13-dt-bindings-gpio-binding-for-realtek-otto-gpio.patch create mode 100644 target/linux/realtek/patches-5.10/002-5.13-gpio-add-realtek-otto-gpio-support.patch create mode 100644 target/linux/realtek/patches-5.10/003-5.12-spi-realtek-rtl838x-rtl839x-spi-controller.patch create mode 100644 target/linux/realtek/patches-5.10/004-5.12-spi-realtek-rtl-add-support-for-realtek-rtl838x-rtl839x-spi-controllers.patch create mode 100644 target/linux/realtek/patches-5.10/005-5.12-dt-bindings-interrupt-controller-add-realtek-rtl838x-rtl839x-support.patch create mode 100644 target/linux/realtek/patches-5.10/006-5.12-irqchip-add-support-for-realtek-rtl838x-rtl839x-interrupt-controller.patch create mode 100644 target/linux/realtek/patches-5.10/007-5.16-gpio-realtek-realtek-otto-fix-gpio-line-irq-offset.patch create mode 100644 target/linux/realtek/patches-5.10/008-5.17-watchdog-add-realtek-otto-watchdog-timer.patch create mode 100644 target/linux/realtek/patches-5.10/020-v5.17-net-mdio-add-helpers-to-extract-clause-45-regad-and-.patch create mode 100644 target/linux/realtek/patches-5.10/300-mips-add-rtl838x-platform.patch create mode 100644 target/linux/realtek/patches-5.10/301-gpio-add-rtl8231-driver.patch create mode 100644 target/linux/realtek/patches-5.10/303-gpio-update-dependencies-for-gpio-realtek-otto.patch create mode 100644 target/linux/realtek/patches-5.10/304-spi-update-dependency-for-spi-realtek-rtl.patch create mode 100644 target/linux/realtek/patches-5.10/305-irqchip-update-dependency-for-irq-realtek-rtl.patch create mode 100644 target/linux/realtek/patches-5.10/307-wdt-update-dependency-for-realtek-otto-wdt.patch create mode 100644 target/linux/realtek/patches-5.10/308-otto-wdt-fix-missing-math-header.patch create mode 100644 target/linux/realtek/patches-5.10/309-cevt-rtl9300-support.patch create mode 100644 target/linux/realtek/patches-5.10/310-add-i2c-rtl9300-support.patch create mode 100644 target/linux/realtek/patches-5.10/311-add-i2c-mux-rtl9300-support.patch create mode 100644 target/linux/realtek/patches-5.10/312-rt9313-support.patch create mode 100644 target/linux/realtek/patches-5.10/315-irqchip-irq-realtek-rtl-add-VPE-support.patch create mode 100644 target/linux/realtek/patches-5.10/320-gpio-add-support-for-RTL930X-and-RTL931X.patch create mode 100644 target/linux/realtek/patches-5.10/700-net-dsa-add-support-for-rtl838x-switch.patch create mode 100644 target/linux/realtek/patches-5.10/701-net-dsa-add-rtl838x-support-for-tag-trailer.patch create mode 100644 target/linux/realtek/patches-5.10/702-net-dsa-increase-dsa-max-ports-for-rtl838x.patch create mode 100644 target/linux/realtek/patches-5.10/702-net-ethernet-add-support-for-rtl838x-ethernet.patch create mode 100644 target/linux/realtek/patches-5.10/703-include-linux-add-phy-ops-for-rtl838x.patch create mode 100644 target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch create mode 100644 target/linux/realtek/patches-5.10/704-include-linux-add-phy-hsgmii-mode.patch create mode 100644 target/linux/realtek/patches-5.10/705-add-rtl-phy.patch create mode 100644 target/linux/realtek/patches-5.10/705-include-linux-phy-increase-phy-address-number-for-rtl839x.patch create mode 100644 target/linux/realtek/patches-5.10/708-brflood-api.patch create mode 100644 target/linux/realtek/patches-5.10/709-lag-offloading.patch create mode 100644 target/linux/realtek/patches-5.10/710-net-phy-sfp-re-probe-modules-on-DEV_UP-event.patch create mode 100644 target/linux/realtek/patches-5.10/711-net-phy-add-an-MDIO-SMBus-library.patch create mode 100644 target/linux/realtek/patches-5.10/712-net-phy-sfp-add-support-for-SMBus.patch create mode 100644 target/linux/realtek/patches-5.10/713-v5.12-net-dsa-configure-better-brport-flags-when-ports-lea.patch create mode 100644 target/linux/realtek/patches-5.10/800-net-mdio-support-hardware-assisted-indirect-access.patch create mode 100644 target/linux/realtek/profiles/00-default.mk create mode 100644 target/linux/realtek/rtl838x/config-5.10 create mode 100644 target/linux/realtek/rtl838x/target.mk create mode 100644 target/linux/realtek/rtl839x/config-5.10 create mode 100644 target/linux/realtek/rtl839x/target.mk create mode 100644 target/linux/realtek/rtl930x/config-5.10 create mode 100644 target/linux/realtek/rtl930x/target.mk create mode 100644 target/linux/realtek/rtl931x/config-5.10 create mode 100644 target/linux/realtek/rtl931x/target.mk create mode 100644 target/linux/rockchip/Makefile create mode 100644 target/linux/rockchip/armv8/base-files/etc/board.d/01_leds create mode 100644 target/linux/rockchip/armv8/base-files/etc/board.d/02_network create mode 100644 target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity create mode 100644 target/linux/rockchip/armv8/base-files/lib/preinit/79_move_config create mode 100644 target/linux/rockchip/armv8/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/rockchip/armv8/config-5.10 create mode 100644 target/linux/rockchip/armv8/target.mk create mode 100644 target/linux/rockchip/image/Makefile create mode 100644 target/linux/rockchip/image/armv8.mk create mode 100644 target/linux/rockchip/image/mmc.bootscript create mode 100644 target/linux/rockchip/image/nanopi-r2s.bootscript create mode 100644 target/linux/rockchip/image/nanopi-r4s.bootscript create mode 100644 target/linux/rockchip/patches-5.10/004-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch create mode 100644 target/linux/rockchip/patches-5.10/005-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch create mode 100644 target/linux/rockchip/patches-5.10/100-rockchip-use-system-LED-for-OpenWrt.patch create mode 100644 target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch create mode 100644 target/linux/rockchip/patches-5.10/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch create mode 100644 target/linux/rockchip/patches-5.10/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch create mode 100644 target/linux/rockchip/patches-5.10/104-rockchip-use-USB-host-by-default-on-rk3399-rock-pi-4.patch create mode 100644 target/linux/rockchip/patches-5.10/105-nanopi-r4s-sd-signalling.patch create mode 100644 target/linux/rockchip/patches-5.10/106-r4s-openwrt-leds.patch create mode 100644 target/linux/sunxi/Makefile create mode 100644 target/linux/sunxi/base-files/etc/board.d/01_leds create mode 100644 target/linux/sunxi/base-files/etc/board.d/02_network create mode 100644 target/linux/sunxi/base-files/etc/board.d/05_compat-version create mode 100644 target/linux/sunxi/base-files/etc/inittab create mode 100644 target/linux/sunxi/base-files/lib/firmware/brcm/brcmfmac4329-sdio.txt create mode 100644 target/linux/sunxi/base-files/lib/firmware/brcm/brcmfmac43362-sdio.txt create mode 100644 target/linux/sunxi/base-files/lib/firmware/brcm/brcmfmac43430-sdio.txt create mode 120000 target/linux/sunxi/base-files/lib/firmware/brcm/brcmfmac43430a0-sdio.txt create mode 100644 target/linux/sunxi/base-files/lib/preinit/79_move_config create mode 100644 target/linux/sunxi/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/sunxi/config-5.10 create mode 100644 target/linux/sunxi/cortexa53/config-5.10 create mode 100644 target/linux/sunxi/cortexa53/target.mk create mode 100644 target/linux/sunxi/cortexa7/config-5.10 create mode 100644 target/linux/sunxi/cortexa7/target.mk create mode 100644 target/linux/sunxi/cortexa8/config-5.10 create mode 100644 target/linux/sunxi/cortexa8/target.mk create mode 100644 target/linux/sunxi/image/Config.in create mode 100644 target/linux/sunxi/image/Makefile create mode 100644 target/linux/sunxi/image/cortexa53.mk create mode 100644 target/linux/sunxi/image/cortexa7.mk create mode 100644 target/linux/sunxi/image/cortexa8.mk create mode 100755 target/linux/sunxi/image/gen_sunxi_sdcard_img.sh create mode 100644 target/linux/sunxi/modules.mk create mode 100644 target/linux/sunxi/patches-5.10/062-add-sun8i-h3-zeropi-support.patch create mode 100644 target/linux/sunxi/patches-5.10/100-sunxi-h3-add-support-for-nanopi-r1.patch create mode 100644 target/linux/sunxi/patches-5.10/101-sunxi-h5-add-support-for-nanopi-r1s-h5.patch create mode 100644 target/linux/sunxi/patches-5.10/102-sunxi-add-OF-node-for-USB-eth-on-NanoPi-R1S-H5.patch create mode 100644 target/linux/sunxi/patches-5.10/301-orangepi_pc2_usb_otg_to_host_key_power.patch create mode 100644 target/linux/sunxi/patches-5.10/400-arm64-allwinner-a64-sopine-Add-Sopine-flash-partitio.patch create mode 100644 target/linux/sunxi/patches-5.10/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch create mode 100644 target/linux/sunxi/patches-5.10/431-arm64-dts-allwinner-nanopi-r1s-h5-add-status-LED.patch create mode 100644 target/linux/sunxi/patches-5.10/442-arm64-dts-orangepi-one-plus-enable-PWM.patch create mode 100644 target/linux/sunxi/patches-5.10/450-arm64-dts-enable-wifi-on-pine64-boards.patch create mode 100644 target/linux/sunxi/profiles/00-default.mk create mode 100644 target/linux/tegra/Makefile create mode 100644 target/linux/tegra/base-files/etc/inittab create mode 100644 target/linux/tegra/base-files/lib/preinit/79_move_config create mode 100644 target/linux/tegra/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/tegra/config-5.10 create mode 100644 target/linux/tegra/image/Makefile create mode 100644 target/linux/tegra/image/generic-bootscript create mode 100644 target/linux/tegra/patches-5.10/100-serial8250-on-tegra-hsuart-recover-from-spurious-interrupts-due-to-tegra2-silicon-bug.patch create mode 100644 target/linux/tegra/patches-5.10/101-ARM-dtc-tegra-enable-front-panel-leds-in-TrimSlice.patch create mode 100644 target/linux/uml/Makefile create mode 100644 target/linux/uml/README.md create mode 100644 target/linux/uml/base-files/etc/inittab create mode 100644 target/linux/uml/config-5.10 create mode 100644 target/linux/uml/files/arch/um/include/uapi/asm/Kbuild create mode 100644 target/linux/uml/image/Makefile create mode 100644 target/linux/uml/patches-5.10/001-um-Fix-build-w-o-CONFIG_PM_SLEEP.patch create mode 100644 target/linux/uml/patches-5.10/101-mconsole-exec.patch create mode 100644 target/linux/uml/patches-5.10/102-pseudo-random-mac.patch create mode 100644 target/linux/x86/64/base-files/lib/preinit/45_mount_xenfs create mode 100644 target/linux/x86/64/config-5.10 create mode 100644 target/linux/x86/64/target.mk create mode 100644 target/linux/x86/Makefile create mode 100644 target/linux/x86/base-files/etc/board.d/01_leds create mode 100644 target/linux/x86/base-files/etc/board.d/02_network create mode 100644 target/linux/x86/base-files/etc/diag.sh create mode 100644 target/linux/x86/base-files/etc/inittab create mode 100644 target/linux/x86/base-files/lib/preinit/01_sysinfo create mode 100644 target/linux/x86/base-files/lib/preinit/02_load_x86_ucode create mode 100644 target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 create mode 100644 target/linux/x86/base-files/lib/preinit/20_check_iso create mode 100644 target/linux/x86/base-files/lib/preinit/79_move_config create mode 100644 target/linux/x86/base-files/lib/preinit/81_upgrade_bootloader create mode 100644 target/linux/x86/base-files/lib/upgrade/platform.sh create mode 100644 target/linux/x86/config-5.10 create mode 100644 target/linux/x86/generic/base-files/lib/preinit/45_mount_xenfs create mode 100644 target/linux/x86/generic/config-5.10 create mode 100644 target/linux/x86/generic/target.mk create mode 100644 target/linux/x86/geode/config-5.10 create mode 100644 target/linux/x86/geode/target.mk create mode 100644 target/linux/x86/image/64.mk create mode 100644 target/linux/x86/image/Makefile create mode 100644 target/linux/x86/image/generic.mk create mode 100644 target/linux/x86/image/geode.mk create mode 100644 target/linux/x86/image/grub-efi.cfg create mode 100644 target/linux/x86/image/grub-iso.cfg create mode 100644 target/linux/x86/image/grub-pc.cfg create mode 100644 target/linux/x86/image/legacy.mk create mode 100644 target/linux/x86/legacy/config-5.10 create mode 100644 target/linux/x86/legacy/target.mk create mode 100644 target/linux/x86/modules.mk create mode 100644 target/linux/x86/patches-5.10/012-pcengines-apu2-detect-apuv4-board.patch create mode 100644 target/linux/x86/patches-5.10/100-fix_cs5535_clockevt.patch create mode 100644 target/linux/x86/patches-5.10/101-v5.15-mfd-lpc_ich-Enable-GPIO-driver-for-DH89xxCC.patch create mode 100644 target/linux/x86/patches-5.10/102-v5.15-platform-x86-add-meraki-mx100-platform-driver.patch create mode 100644 target/linux/x86/patches-5.10/113-v5.21-platform-x86-pmc_atom-Add-Lex-3I380NX-industrial-PC-.patch create mode 100644 target/linux/x86/patches-5.10/300-pcengines_apu1_led.patch create mode 100644 target/linux/zynq/Makefile create mode 100644 target/linux/zynq/base-files/etc/board.d/02_network create mode 100644 target/linux/zynq/base-files/etc/inittab create mode 100644 target/linux/zynq/config-5.10 create mode 100644 target/linux/zynq/image/Makefile create mode 100755 target/linux/zynq/image/gen_zynq_sdcard_img.sh create mode 100644 target/llvm-bpf/Makefile create mode 100644 target/sdk/Config.in create mode 100644 target/sdk/Makefile create mode 100755 target/sdk/convert-config.pl create mode 100644 target/sdk/files/Config.in create mode 100644 target/sdk/files/Makefile create mode 100644 target/sdk/files/README.SDK create mode 100644 target/sdk/files/include/prepare.mk create mode 100644 target/toolchain/Config.in create mode 100644 target/toolchain/Makefile create mode 100644 target/toolchain/files/README.TOOLCHAIN create mode 100755 target/toolchain/files/wrapper.sh create mode 100644 toolchain/Config.in create mode 100644 toolchain/Makefile create mode 100644 toolchain/binutils/Config.in create mode 100644 toolchain/binutils/Config.version create mode 100644 toolchain/binutils/Makefile create mode 100644 toolchain/binutils/patches/2.37/300-001_ld_makefile_patch.patch create mode 100644 toolchain/binutils/patches/2.37/400-mips_no_dynamic_linking_sym.patch create mode 100644 toolchain/binutils/patches/2.37/500-Change-default-emulation-for-mips64-linux.patch create mode 100644 toolchain/binutils/patches/2.37/600-Close_the_file_descriptor.patch create mode 100644 toolchain/binutils/patches/2.38/300-001_ld_makefile_patch.patch create mode 100644 toolchain/binutils/patches/2.38/400-mips_no_dynamic_linking_sym.patch create mode 100644 toolchain/binutils/patches/2.38/500-Change-default-emulation-for-mips64-linux.patch create mode 100644 toolchain/build_version create mode 100644 toolchain/fortify-headers/Makefile create mode 100644 toolchain/gcc/Config.in create mode 100644 toolchain/gcc/Config.version create mode 100644 toolchain/gcc/common.mk create mode 100644 toolchain/gcc/exclude-testsuite create mode 100644 toolchain/gcc/files/alternate-arch-cc.in create mode 100644 toolchain/gcc/final/Makefile create mode 100644 toolchain/gcc/initial/Makefile create mode 100644 toolchain/gcc/minimal/Makefile create mode 100644 toolchain/gcc/patches/10.3.0/002-case_insensitive.patch create mode 100644 toolchain/gcc/patches/10.3.0/010-documentation.patch create mode 100644 toolchain/gcc/patches/10.3.0/110-Fix-MIPS-PR-84790.patch create mode 100644 toolchain/gcc/patches/10.3.0/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/10.3.0/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/10.3.0/810-arm-softfloat-libgcc.patch create mode 100644 toolchain/gcc/patches/10.3.0/820-libgcc_pic.patch create mode 100644 toolchain/gcc/patches/10.3.0/840-armv4_pass_fix-v4bx_to_ld.patch create mode 100644 toolchain/gcc/patches/10.3.0/850-use_shared_libgcc.patch create mode 100644 toolchain/gcc/patches/10.3.0/851-libgcc_no_compat.patch create mode 100644 toolchain/gcc/patches/10.3.0/870-ppc_no_crtsavres.patch create mode 100644 toolchain/gcc/patches/10.3.0/881-no_tm_section.patch create mode 100644 toolchain/gcc/patches/10.3.0/900-bad-mips16-crt.patch create mode 100644 toolchain/gcc/patches/10.3.0/910-mbsd_multi.patch create mode 100644 toolchain/gcc/patches/10.3.0/920-specs_nonfatal_getenv.patch create mode 100644 toolchain/gcc/patches/10.3.0/930-fix-mips-noexecstack.patch create mode 100644 toolchain/gcc/patches/10.3.0/931-libffi-fix-MIPS-softfloat-build-issue.patch create mode 100644 toolchain/gcc/patches/10.3.0/960-gotools-fix-compilation-when-making-cross-compiler.patch create mode 100644 toolchain/gcc/patches/11.2.0/001-v11.3.0-ranger-Fix-up-fold_using_range-range_of_address-PR10.patch create mode 100644 toolchain/gcc/patches/11.2.0/002-case_insensitive.patch create mode 100644 toolchain/gcc/patches/11.2.0/010-documentation.patch create mode 100644 toolchain/gcc/patches/11.2.0/011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch create mode 100644 toolchain/gcc/patches/11.2.0/020-powerpc-Fix-asm-machine-directive-for-some-CPUs.patch create mode 100644 toolchain/gcc/patches/11.2.0/110-Fix-MIPS-PR-84790.patch create mode 100644 toolchain/gcc/patches/11.2.0/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/11.2.0/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/11.2.0/810-arm-softfloat-libgcc.patch create mode 100644 toolchain/gcc/patches/11.2.0/820-libgcc_pic.patch create mode 100644 toolchain/gcc/patches/11.2.0/840-armv4_pass_fix-v4bx_to_ld.patch create mode 100644 toolchain/gcc/patches/11.2.0/850-use_shared_libgcc.patch create mode 100644 toolchain/gcc/patches/11.2.0/851-libgcc_no_compat.patch create mode 100644 toolchain/gcc/patches/11.2.0/870-ppc_no_crtsavres.patch create mode 100644 toolchain/gcc/patches/11.2.0/881-no_tm_section.patch create mode 100644 toolchain/gcc/patches/11.2.0/900-bad-mips16-crt.patch create mode 100644 toolchain/gcc/patches/11.2.0/910-mbsd_multi.patch create mode 100644 toolchain/gcc/patches/11.2.0/920-specs_nonfatal_getenv.patch create mode 100644 toolchain/gcc/patches/11.2.0/931-libffi-fix-MIPS-softfloat-build-issue.patch create mode 100644 toolchain/gcc/patches/11.2.0/960-gotools-fix-compilation-when-making-cross-compiler.patch create mode 100644 toolchain/gcc/patches/11.2.0/970-macos_arm64-building-fix.patch create mode 100644 toolchain/gcc/patches/8.4.0/002-case_insensitive.patch create mode 100644 toolchain/gcc/patches/8.4.0/010-documentation.patch create mode 100644 toolchain/gcc/patches/8.4.0/110-Fix-MIPS-PR-84790.patch create mode 100644 toolchain/gcc/patches/8.4.0/230-musl_libssp.patch create mode 100644 toolchain/gcc/patches/8.4.0/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/8.4.0/800-arm_v5te_no_ldrd_strd.patch create mode 100644 toolchain/gcc/patches/8.4.0/810-arm-softfloat-libgcc.patch create mode 100644 toolchain/gcc/patches/8.4.0/820-libgcc_pic.patch create mode 100644 toolchain/gcc/patches/8.4.0/840-armv4_pass_fix-v4bx_to_ld.patch create mode 100644 toolchain/gcc/patches/8.4.0/850-use_shared_libgcc.patch create mode 100644 toolchain/gcc/patches/8.4.0/851-libgcc_no_compat.patch create mode 100644 toolchain/gcc/patches/8.4.0/870-ppc_no_crtsavres.patch create mode 100644 toolchain/gcc/patches/8.4.0/881-no_tm_section.patch create mode 100644 toolchain/gcc/patches/8.4.0/900-bad-mips16-crt.patch create mode 100644 toolchain/gcc/patches/8.4.0/910-mbsd_multi.patch create mode 100644 toolchain/gcc/patches/8.4.0/920-specs_nonfatal_getenv.patch create mode 100644 toolchain/gcc/patches/8.4.0/930-fix-mips-noexecstack.patch create mode 100644 toolchain/gcc/patches/8.4.0/931-libffi-fix-MIPS-softfloat-build-issue.patch create mode 100644 toolchain/gcc/patches/8.4.0/960-gotools-fix-compilation-when-making-cross-compiler.patch create mode 100644 toolchain/gdb/Makefile create mode 100644 toolchain/gdb/patches/120-fix-compile-flag-mismatch.patch create mode 100644 toolchain/glibc/Makefile create mode 100644 toolchain/glibc/common.mk create mode 100644 toolchain/glibc/headers/Makefile create mode 100644 toolchain/glibc/include/libintl.h create mode 100644 toolchain/glibc/patches/050-Revert-Disallow-use-of-DES-encryption-functions-in-n.patch create mode 100644 toolchain/glibc/patches/100-fix_cross_rpcgen.patch create mode 100644 toolchain/glibc/patches/200-add-dl-search-paths.patch create mode 100644 toolchain/info.mk create mode 100644 toolchain/kernel-headers/Makefile create mode 100644 toolchain/musl/Config.in create mode 100644 toolchain/musl/Makefile create mode 100644 toolchain/musl/common.mk create mode 100644 toolchain/musl/include/sys/queue.h create mode 100644 toolchain/musl/patches/110-read_timezone_from_fs.patch create mode 100644 toolchain/musl/patches/200-add_libssp_nonshared.patch create mode 100644 toolchain/musl/patches/300-relative.patch create mode 100644 toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch create mode 100644 toolchain/musl/patches/800-mips_pie_debug.patch create mode 100644 toolchain/musl/patches/900-iconv_size_hack.patch create mode 100644 toolchain/musl/patches/901-crypt_size_hack.patch create mode 100644 toolchain/nasm/Makefile create mode 100644 toolchain/wrapper/Makefile create mode 100644 tools/Makefile create mode 100644 tools/autoconf-archive/Makefile create mode 100644 tools/autoconf/Makefile create mode 100644 tools/autoconf/patches/000-relocatable.patch create mode 100644 tools/autoconf/patches/001-no_emacs_lib.patch create mode 100644 tools/autoconf/patches/002-musl_host_fixup.patch create mode 100644 tools/automake/Makefile create mode 100755 tools/automake/files/aclocal create mode 100644 tools/automake/patches/000-relocatable.patch create mode 100644 tools/automake/patches/100-aclocal-skip-not-existing-directories.patch create mode 100644 tools/b43-tools/Makefile create mode 100755 tools/b43-tools/files/b43-fwsquash.py create mode 100644 tools/b43-tools/patches/001-fw-dirname.patch create mode 100644 tools/b43-tools/patches/002-no_libfl.patch create mode 100644 tools/bash/Makefile create mode 100644 tools/bc/Makefile create mode 100644 tools/bc/patches/001-no_doc.patch create mode 100644 tools/bison/Makefile create mode 100755 tools/bison/scripts/yacc create mode 100644 tools/cbootimage-configs/Makefile create mode 100644 tools/cbootimage/Makefile create mode 100644 tools/ccache/Makefile create mode 100755 tools/ccache/files/ccache_cc create mode 100755 tools/ccache/files/ccache_cxx create mode 100644 tools/ccache/patches/100-honour-copts.patch create mode 100644 tools/ccache/patches/110-musl-gcc12.patch create mode 100644 tools/cmake/Makefile create mode 100644 tools/cmake/patches/100-no-testing.patch create mode 100644 tools/cmake/patches/120-curl-fix-libressl-linking.patch create mode 100644 tools/cmake/patches/130-bootstrap_parallel_make_flag.patch create mode 100644 tools/coreutils/Makefile create mode 100644 tools/cpio/Makefile create mode 100644 tools/cpio/patches/001-duplicate-program-name.patch create mode 100644 tools/cpio/patches/010-clang.patch create mode 100644 tools/dosfstools/Makefile create mode 100644 tools/dosfstools/patches/101-config-switch-to-AC_CHECK_LIB.patch create mode 100644 tools/e2fsprogs/Makefile create mode 100644 tools/e2fsprogs/patches/001-exit_0_on_corrected_errors.patch create mode 100644 tools/e2fsprogs/patches/002-dont-build-e4defrag.patch create mode 100644 tools/e2fsprogs/patches/003-no-crond.patch create mode 100644 tools/e2fsprogs/patches/004-CVE-2022-1304-libext2fs-add-sanity-check-to-extent-manipulation.patch create mode 100644 tools/elftosb/Makefile create mode 100644 tools/elftosb/patches/001-libm.patch create mode 100644 tools/elftosb/patches/002-fix-header-path.patch create mode 100644 tools/elftosb/patches/003-use-ldflags.patch create mode 100644 tools/expat/Makefile create mode 100644 tools/fakeroot/Makefile create mode 100644 tools/fakeroot/patches/000-relocatable.patch create mode 100644 tools/fakeroot/patches/200-disable-doc.patch create mode 100644 tools/fakeroot/patches/400-alpine-libc.musl-fix.patch create mode 100644 tools/fakeroot/patches/600-macOS.patch create mode 100644 tools/findutils/Makefile create mode 100644 tools/findutils/patches/010-endpwent.patch create mode 100644 tools/firmware-utils/Makefile create mode 100644 tools/firmware-utils/patches/001-tplink-safeloader-add-Archer-AX23.patch create mode 100644 tools/firmware-utils/patches/002-tplink-safeloader-Add-support-for-Mercusys-MR70X.patch create mode 100644 tools/flex/Makefile create mode 100644 tools/flex/patches/100-disable-tests-docs.patch create mode 100644 tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch create mode 100644 tools/flock/Makefile create mode 100644 tools/flock/src/flock.c create mode 100644 tools/genext2fs/Makefile create mode 100644 tools/genext2fs/patches/100-c99_scanf.patch create mode 100644 tools/genext2fs/patches/200-autoconf.patch create mode 100644 tools/genext2fs/patches/300-blocksize-creator.patch create mode 100644 tools/genext2fs/patches/400-byteswap_fix.patch create mode 100644 tools/gengetopt/Makefile create mode 100644 tools/gengetopt/patches/100-no-tests-docs.patch create mode 100644 tools/gmp/Makefile create mode 100644 tools/include/asm/types.h create mode 100644 tools/include/byteswap.h create mode 100644 tools/include/elf.h create mode 100644 tools/include/endian.h create mode 100644 tools/include/sys/sysmacros.h create mode 100644 tools/isl/Makefile create mode 100644 tools/kernel2minor/Makefile create mode 100644 tools/libressl/Makefile create mode 100644 tools/libtool/Makefile create mode 100644 tools/libtool/files/libtool-v1.5.patch create mode 100644 tools/libtool/files/libtool-v2.2.patch create mode 100644 tools/libtool/files/libtool-v2.4.patch create mode 100644 tools/libtool/patches/000-relocatable.patch create mode 100644 tools/libtool/patches/100-libdir-fixes.patch create mode 100644 tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch create mode 100644 tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch create mode 100644 tools/libtool/patches/150-trailingslash.patch create mode 100644 tools/libtool/patches/160-passthrough-ssp.patch create mode 100644 tools/libtool/patches/200-openwrt-branding.patch create mode 100644 tools/llvm-bpf/Makefile create mode 100644 tools/lzma-old/Makefile create mode 100644 tools/lzma-old/patches/100-lzma_zlib.patch create mode 100644 tools/lzma-old/patches/110-ranlib.patch create mode 100644 tools/lzma-old/patches/120-add-cflags.patch create mode 100644 tools/lzma/Makefile create mode 100644 tools/lzma/patches/001-large_files.patch create mode 100644 tools/lzma/patches/002-lzmp.patch create mode 100644 tools/lzma/patches/003-compile_fixes.patch create mode 100644 tools/lzma/patches/100-static_library.patch create mode 100644 tools/lzma/patches/101-move-copyright-to-usage-info.patch create mode 100644 tools/m4/Makefile create mode 100644 tools/make-ext4fs/Makefile create mode 100644 tools/meson/Makefile create mode 100644 tools/meson/files/openwrt-cross.txt.in create mode 100644 tools/meson/files/openwrt-native.txt.in create mode 100644 tools/meson/patches/010-wsl2.patch create mode 100644 tools/missing-macros/Makefile create mode 100644 tools/missing-macros/src/README create mode 100755 tools/missing-macros/src/bin/help2man create mode 100755 tools/missing-macros/src/bin/makeinfo create mode 100644 tools/missing-macros/src/m4/as-ac-expand.m4 create mode 100644 tools/missing-macros/src/m4/as-compiler-flag.m4 create mode 100644 tools/missing-macros/src/m4/as-unaligned-access.m4 create mode 100644 tools/missing-macros/src/m4/as-version.m4 create mode 100644 tools/missing-macros/src/m4/dnet.m4 create mode 100644 tools/missing-macros/src/m4/fake-gtk-doc-check.m4 create mode 100644 tools/missing-macros/src/m4/fake-intltool.m4 create mode 100644 tools/missing-macros/src/m4/glibc2.m4 create mode 100644 tools/missing-macros/src/m4/glibc21.m4 create mode 100644 tools/missing-macros/src/m4/intdiv0.m4 create mode 100644 tools/missing-macros/src/m4/intmax.m4 create mode 100644 tools/missing-macros/src/m4/inttypes-pri.m4 create mode 100644 tools/missing-macros/src/m4/inttypes_h.m4 create mode 100644 tools/missing-macros/src/m4/lib-ld.m4 create mode 100644 tools/missing-macros/src/m4/lib-link.m4 create mode 100644 tools/missing-macros/src/m4/lib-prefix.m4 create mode 100644 tools/missing-macros/src/m4/mfx_acc.m4 create mode 100644 tools/missing-macros/src/m4/mfx_cppflags.m4 create mode 100644 tools/missing-macros/src/m4/mfx_limits.m4 create mode 100644 tools/missing-macros/src/m4/progtest.m4 create mode 100644 tools/missing-macros/src/m4/stdint_h.m4 create mode 100644 tools/missing-macros/src/m4/uintmax_t.m4 create mode 100644 tools/missing-macros/src/m4/va_copy.m4 create mode 100644 tools/missing-macros/src/m4/wint_t.m4 create mode 100644 tools/mkimage/Makefile create mode 100644 tools/mkimage/patches/030-allow-to-use-different-magic.patch create mode 100644 tools/mkimage/patches/050-Add-compatibility-with-non-Linux-hosts.patch create mode 100644 tools/mkimage/patches/090-macos-arm64-builing-fix.patch create mode 100644 tools/mkimage/patches/095-tools-disable-TOOLS_FIT_FULL_CHECK.patch create mode 100644 tools/mkimage/patches/100-increase-tmpfile-name-length-limit.patch create mode 100644 tools/mklibs/Makefile create mode 100644 tools/mklibs/include/elf.h create mode 100644 tools/mklibs/patches/001-compile.patch create mode 100644 tools/mklibs/patches/002-disable_symbol_checks.patch create mode 100644 tools/mklibs/patches/003-no_copy.patch create mode 100644 tools/mklibs/patches/004-libpthread_link.patch create mode 100644 tools/mklibs/patches/005-duplicate_syms.patch create mode 100644 tools/mklibs/patches/007-gc_sections.patch create mode 100644 tools/mklibs/patches/008-uclibc_libgcc_link.patch create mode 100644 tools/mklibs/patches/010-remove_STT_GNU_IFUNC.patch create mode 100644 tools/mklibs/patches/011-remove_multiarch.patch create mode 100644 tools/mklibs/patches/100-apply-2to3.patch create mode 100644 tools/mpc/Makefile create mode 100644 tools/mpfr/Makefile create mode 100644 tools/mpfr/patches/001-only_src.patch create mode 100644 tools/mpfr/patches/100-freebsd-compat.patch create mode 100644 tools/mtd-utils/Makefile create mode 100644 tools/mtd-utils/include/fls.h create mode 100644 tools/mtd-utils/include/linux/types.h create mode 100644 tools/mtd-utils/patches/100-sscanf_fix.patch create mode 100644 tools/mtd-utils/patches/110-portability.patch create mode 100644 tools/mtd-utils/patches/130-lzma_jffs2.patch create mode 100644 tools/mtd-utils/patches/134-freebsd_loff_t.patch create mode 100644 tools/mtd-utils/patches/200-libubigen-add-ubigen_write_terminator-function.patch create mode 100644 tools/mtd-utils/patches/201-ubinize-add-terminator-support.patch create mode 100644 tools/mtd-utils/patches/320-mkfs.jffs2-SOURCE_DATE_EPOCH.patch create mode 100644 tools/mtools/Makefile create mode 100644 tools/ninja/Makefile create mode 100644 tools/ninja/patches/100-make_jobserver_support.patch create mode 100644 tools/padjffs2/Makefile create mode 100644 tools/padjffs2/src/Makefile create mode 100644 tools/padjffs2/src/padjffs2.c create mode 100644 tools/patch-image/Makefile create mode 100644 tools/patch-image/src/patch-cmdline.c create mode 100644 tools/patch-image/src/patch-dtb.c create mode 100644 tools/patch/Makefile create mode 100644 tools/patch/patches/010-CVE-2018-6951.patch create mode 100644 tools/patch/patches/020-CVE-2018-1000156.patch create mode 100644 tools/patch/patches/030-CVE-2018-6952.patch create mode 100644 tools/patch/patches/040-Fix-error-handling-with-git-style-patches.patch create mode 100644 tools/patch/patches/050-CVE-2019-13636.patch create mode 100644 tools/patch/patches/060-CVE-2019-13638.patch create mode 100644 tools/patch/patches/070-don-t-fail-hard-on-EACCES-when-copying-xattrs.patch create mode 100644 tools/patchelf/Makefile create mode 100644 tools/pkgconf/Makefile create mode 100755 tools/pkgconf/files/pkg-config create mode 100644 tools/quilt/Makefile create mode 100644 tools/quilt/patches/000-relocatable.patch create mode 100644 tools/quilt/patches/001-fix_compile.patch create mode 100644 tools/sdimage/Makefile create mode 100644 tools/sdimage/patches/100-deactivate-ufb.patch create mode 100644 tools/sed/Makefile create mode 100644 tools/sparse/Makefile create mode 100644 tools/squashfs/Makefile create mode 100644 tools/squashfs/patches/100-lzma.patch create mode 100644 tools/squashfs/patches/110-no_nonstatic_inline.patch create mode 100644 tools/squashfs/patches/120-add-fixed-timestamp-support.patch create mode 100644 tools/squashfs/patches/130-include_sysmacros.patch create mode 100644 tools/squashfs/patches/140-gcc-10-fix.patch create mode 100644 tools/squashfskit4/Makefile create mode 100644 tools/squashfskit4/patches/0001-fix-version.sh.patch create mode 100644 tools/squashfskit4/patches/0002-fix-build-failure-against-gcc-10.patch create mode 100644 tools/squashfskit4/patches/0010-portability.patch create mode 100644 tools/squashfskit4/patches/0020-big-endian.patch create mode 100644 tools/sstrip/Makefile create mode 100644 tools/sstrip/patches/001-disable-elftoc-compilation.patch create mode 100644 tools/tar/Makefile create mode 100644 tools/tar/patches/100-symlink-force-root-name.patch create mode 100644 tools/tar/patches/110-symlink-force-permissions.patch create mode 100644 tools/xz/Makefile create mode 100644 tools/zip/Makefile create mode 100644 tools/zip/patches/001-unix-configure-borrow-the-LFS-test-from-autotools.patch create mode 100644 tools/zip/patches/004-do-not-set-unwanted-cflags.patch create mode 100644 tools/zip/patches/006-stack-markings-to-avoid-executable-stack.patch create mode 100644 tools/zip/patches/007-fclose-in-file-not-fclose-x.patch create mode 100644 tools/zip/patches/008-hardening-build-fix-1.patch create mode 100644 tools/zip/patches/009-hardening-build-fix-2.patch create mode 100644 tools/zip/patches/010-remove-build-date.patch create mode 100644 tools/zip/patches/011-reproducible-mtime.patch create mode 100644 tools/zip/patches/012-make-encrypted-archives-reproducible.patch create mode 100644 tools/zlib/Makefile create mode 100644 tools/zlib/patches/006-fix-compressor-crash-on-certain-inputs.patch create mode 100644 tools/zlib/patches/900-overridable-pc-exec-prefix.patch create mode 100644 tools/zstd/Makefile diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fa1385d --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* -text diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..4d7a726 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: [ 'https://openwrt.org/donate' ] diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..0910d37 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,103 @@ +# target/* +"target/airoha": + - "target/linux/airoha/**" +"target/apm821xx": + - "target/linux/apm821xx/**" +"target/archs38": + - "target/linux/archs38/**" +"target/armvirt": + - "target/linux/armvirt/**" +"target/at91": + - "target/linux/at91/**" +"target/ath25": + - "target/linux/ath25/**" +"target/ath79": + - "target/linux/ath79/**" +"target/bcm27xx": + - "target/linux/bcm27xx/**" +"target/bcm47xx": + - "target/linux/bcm47xx/**" +"target/bcm4908": + - "target/linux/bcm4908/**" +"target/bcm53xx": + - "target/linux/bcm53xx/**" +"target/bcm63xx": + - "target/linux/bcm63xx/**" +"target/bmips": + - "target/linux/bmips/**" +"target/gemini": + - "target/linux/gemini/**" +"target/imx": + - "target/linux/imx/**" +"target/ipq40xx": + - "target/linux/ipq40xx/**" +"target/ipq806x": + - "target/linux/ipq806x/**" +"target/kirkwood": + - "target/linux/kirkwood/**" +"target/lantiq": + - "target/linux/lantiq/**" +"target/layerscape": + - "target/linux/layerscape/**" +"target/malta": + - "target/linux/malta/**" +"target/mediatek": + - "target/linux/mediatek/**" +"target/mpc85xx": + - "target/linux/mpc85xx/**" +"target/mvebu": + - "target/linux/mvebu/**" +"target/mxs": + - "target/linux/mxs/**" +"target/octeon": + - "target/linux/octeon/**" +"target/octeontx": + - "target/linux/octeontx/**" +"target/omap": + - "target/linux/omap/**" +"target/oxnas": + - "target/linux/oxnas/**" +"target/pistachio": + - "target/linux/pistachio/**" +"target/qoriq": + - "target/linux/qoriq/**" +"target/ramips": + - "target/linux/ramips/**" +"target/realtek": + - "target/linux/realtek/**" +"target/rockchip": + - "target/linux/rockchip/**" +"target/sunxi": + - "target/linux/sunxi/**" +"target/tegra": + - "target/linux/tegra/**" +"target/uml": + - "target/linux/uml/**" +"target/x86": + - "target/linux/x86/**" +"target/zynq": + - "target/linux/zynq/**" +# target/imagebuilder +"target/imagebuilder": + - "target/imagebuilder/**" +# kernel +"kernel": + - "target/linux/generic/**" + - "target/linux/**/config-*" + - "target/linux/**/patches-*" + - "target/linux/**/files/**" + - "package/kernel/linux/**" +# core packages +"core packages": + - "package/**" +# build/scripts/tools +"build/scripts/tools": + - "include/**" + - "scripts/**" + - "tools/**" +# toolchain +"toolchain": + - "toolchain/**" +# GitHub/CI +"GitHub/CI": + - ".github/**" diff --git a/.github/pull_request_template b/.github/pull_request_template new file mode 100644 index 0000000..a2d6bd1 --- /dev/null +++ b/.github/pull_request_template @@ -0,0 +1,8 @@ +Thanks for your contribution to OpenWrt! + +To help keep the codebase consistent and readable, +and to help people review your contribution, +we ask you to follow the rules you find in the wiki at this link +https://openwrt.org/submitting-patches + +Please remove this message before posting the pull request. diff --git a/.github/workflows/Dockerfile.tools b/.github/workflows/Dockerfile.tools new file mode 100644 index 0000000..c2ae7dc --- /dev/null +++ b/.github/workflows/Dockerfile.tools @@ -0,0 +1,3 @@ +FROM registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1 + +COPY --chown=buildbot:buildbot tools.tar /tools.tar diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..ce8f30d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,361 @@ +name: Build sub target + +on: + workflow_call: + inputs: + target: + required: true + type: string + testing: + type: boolean + build_toolchain: + type: boolean + include_feeds: + type: boolean + build_full: + type: boolean + build_all_modules: + type: boolean + build_all_kmods: + type: boolean + build_all_boards: + type: boolean + +permissions: + contents: read + +jobs: + setup_build: + name: Setup build + runs-on: ubuntu-latest + outputs: + owner_lc: ${{ steps.lower_owner.outputs.owner_lc }} + ccache_hash: ${{ steps.ccache_hash.outputs.ccache_hash }} + container_tag: ${{ steps.determine_tools_container.outputs.container_tag }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set lower case owner name + id: lower_owner + run: | + OWNER_LC=$(echo "${{ github.repository_owner }}" \ + | tr '[:upper:]' '[:lower:]') + echo "owner_lc=$OWNER_LC" >> $GITHUB_OUTPUT + + - name: Generate ccache hash + id: ccache_hash + run: | + CCACHE_HASH=$(md5sum include/kernel-* | awk '{ print $1 }' \ + | md5sum | awk '{ print $1 }') + echo "ccache_hash=$CCACHE_HASH" >> $GITHUB_OUTPUT + + # Per branch tools container tag + # By default stick to latest + # For official test targetting openwrt stable branch + # Get the branch or parse the tag and push dedicated tools containers + # For local test to use the correct container for stable release testing + # you need to use for the branch name a prefix of openwrt-[0-9][0-9].[0-9][0-9]- + - name: Determine tools container tag + id: determine_tools_container + run: | + CONTAINER_TAG=latest + if [ -n "${{ github.base_ref }}" ]; then + if echo "${{ github.base_ref }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]$'; then + CONTAINER_TAG="${{ github.base_ref }}" + fi + elif [ ${{ github.ref_type }} == "branch" ]; then + if echo "${{ github.ref_name }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]$'; then + CONTAINER_TAG=${{ github.ref_name }} + elif echo "${{ github.ref_name }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]-'; then + CONTAINER_TAG="$(echo ${{ github.ref_name }} | sed 's/^\(openwrt-[0-9][0-9]\.[0-9][0-9]\)-.*/\1/')" + fi + elif [ ${{ github.ref_type }} == "tag" ]; then + if echo "${{ github.ref_name }}" | grep -q -E '^v[0-9][0-9]\.[0-9][0-9]\..+'; then + CONTAINER_TAG=openwrt-"$(echo ${{ github.ref_name }} | sed 's/^v\([0-9][0-9]\.[0-9][0-9]\)\..\+/\1/')" + fi + fi + echo "Tools container to use tools:$CONTAINER_TAG" + echo "container_tag=$CONTAINER_TAG" >> $GITHUB_OUTPUT + + build: + name: Build with external toolchain + needs: setup_build + runs-on: ubuntu-latest + + container: ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} + + permissions: + contents: read + packages: read + + steps: + - name: Checkout master directory + uses: actions/checkout@v3 + with: + path: openwrt + + - name: Checkout packages feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/packages + path: openwrt/feeds/packages + + - name: Checkout luci feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/luci + path: openwrt/feeds/luci + + - name: Checkout routing feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/routing + path: openwrt/feeds/routing + + - name: Checkout telephony feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/telephony + path: openwrt/feeds/telephony + + - name: Fix permission + run: | + chown -R buildbot:buildbot openwrt + + - name: Initialization environment + run: | + TARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 1) + SUBTARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 2) + echo "TARGET=$TARGET" >> "$GITHUB_ENV" + echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" + + - name: Update & Install feeds + if: inputs.include_feeds == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + ./scripts/feeds update -a + ./scripts/feeds install -a + + - name: Parse toolchain file + if: inputs.build_toolchain == false + id: parse-toolchain + working-directory: openwrt + run: | + TOOLCHAIN_PATH=snapshots + + if [ -n "${{ github.base_ref }}" ]; then + if echo "${{ github.base_ref }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]$'; then + major_ver="$(echo ${{ github.base_ref }} | sed 's/^openwrt-/v/')" + fi + elif [ "${{ github.ref_type }}" = "branch" ]; then + if echo "${{ github.ref_name }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]$'; then + major_ver="$(echo ${{ github.ref_name }} | sed 's/^openwrt-/v/')" + elif echo "${{ github.ref_name }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]-'; then + major_ver="$(echo ${{ github.ref_name }} | sed 's/^openwrt-\([0-9][0-9]\.[0-9][0-9]\)-.*/v\1/')" + fi + elif [ "${{ github.ref_type }}" = "tag" ]; then + if echo "${{ github.ref_name }}" | grep -q -E '^v[0-9][0-9]\.[0-9][0-9]\..+'; then + major_ver="$(echo ${{ github.ref_name }} | sed 's/^\(v[0-9][0-9]\.[0-9][0-9]\)\..\+/\1/')" + fi + fi + + if [ -n "$major_ver" ]; then + git fetch --tags -f + latest_tag="$(git tag --sort=-creatordate -l $major_ver* | head -n1)" + if [ -n "$latest_tag" ]; then + TOOLCHAIN_PATH=releases/$(echo $latest_tag | sed 's/^v//') + fi + fi + + SUMS_FILE="https://downloads.cdn.openwrt.org/$TOOLCHAIN_PATH/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/sha256sums" + if curl $SUMS_FILE | grep -q ".*openwrt-toolchain.*tar.xz"; then + TOOLCHAIN_STRING="$( curl $SUMS_FILE | grep ".*openwrt-toolchain.*tar.xz")" + TOOLCHAIN_FILE=$(echo "$TOOLCHAIN_STRING" | sed -n -e 's/.*\(openwrt-toolchain.*\).tar.xz/\1/p') + TOOLCHAIN_SHA256=$(echo "$TOOLCHAIN_STRING" | cut -d ' ' -f 1) + + echo "toolchain-type=external_toolchain" >> $GITHUB_OUTPUT + elif curl $SUMS_FILE | grep -q ".*openwrt-sdk.*tar.xz"; then + TOOLCHAIN_STRING="$( curl $SUMS_FILE | grep ".*openwrt-sdk.*tar.xz")" + TOOLCHAIN_FILE=$(echo "$TOOLCHAIN_STRING" | sed -n -e 's/.*\(openwrt-sdk.*\).tar.xz/\1/p') + TOOLCHAIN_SHA256=$(echo "$TOOLCHAIN_STRING" | cut -d ' ' -f 1) + + echo "toolchain-type=external_sdk" >> $GITHUB_OUTPUT + fi + + echo "TOOLCHAIN_FILE=$TOOLCHAIN_FILE" >> "$GITHUB_ENV" + echo "TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256" >> "$GITHUB_ENV" + echo "TOOLCHAIN_PATH=$TOOLCHAIN_PATH" >> "$GITHUB_ENV" + + - name: Cache external toolchain/sdk + if: inputs.build_toolchain == false + id: cache-external-toolchain + uses: actions/cache@v3 + with: + path: openwrt/${{ env.TOOLCHAIN_FILE }} + key: ${{ env.TOOLCHAIN_FILE }}-${{ steps.parse-toolchain.outputs.toolchain-type }}-${{ env.TOOLCHAIN_SHA256 }} + + - name: Cache ccache + uses: actions/cache@v3 + with: + path: openwrt/.ccache + key: ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}-${{ needs.setup_build.outputs.ccache_hash }} + restore-keys: | + ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}- + + - name: Download external toolchain/sdk + if: inputs.build_toolchain == false && steps.cache-external-toolchain.outputs.cache-hit != 'true' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + wget -O - https://downloads.cdn.openwrt.org/${{ env.TOOLCHAIN_PATH }}/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${{ env.TOOLCHAIN_FILE }}.tar.xz \ + | tar --xz -xf - + + - name: Extract prebuilt tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: ./scripts/ext-tools.sh --tools /tools.tar + + - name: Configure testing kernel + if: inputs.testing == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_TESTING_KERNEL=y >> .config + + - name: Configure all kernel modules + if: inputs.build_all_kmods == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_ALL_KMODS=y >> .config + + - name: Configure all modules + if: inputs.build_all_modules == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_ALL=y >> .config + + - name: Configure all boards + if: inputs.build_all_boards == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_TARGET_MULTI_PROFILE=y >> .config + echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config + echo CONFIG_TARGET_ALL_PROFILES=y >> .config + + - name: Configure external toolchain + if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_toolchain' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + ./scripts/ext-toolchain.sh \ + --toolchain ${{ env.TOOLCHAIN_FILE }}/toolchain-* \ + --overwrite-config \ + --config ${{ env.TARGET }}/${{ env.SUBTARGET }} + + - name: Adapt external sdk to external toolchain format + if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_sdk' && steps.cache-external-toolchain.outputs.cache-hit != 'true' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + TOOLCHAIN_DIR=${{ env.TOOLCHAIN_FILE }}/staging_dir/$(ls ${{ env.TOOLCHAIN_FILE }}/staging_dir | grep toolchain) + TOOLCHAIN_BIN=$TOOLCHAIN_DIR/bin + OPENWRT_DIR=$(pwd) + + # Find target name from toolchain info.mk + GNU_TARGET_NAME=$(cat $TOOLCHAIN_DIR/info.mk | grep TARGET_CROSS | sed 's/^TARGET_CROSS=\(.*\)-$/\1/') + + cd $TOOLCHAIN_BIN + + # Revert sdk wrapper scripts applied to all the bins + for app in $(find . -name "*.bin"); do + TARGET_APP=$(echo $app | sed 's/\.\/\.\(.*\)\.bin/\1/') + rm $TARGET_APP + mv .$TARGET_APP.bin $TARGET_APP + done + + # Setup the wrapper script in the sdk toolchain dir simulating an external toolchain build + cp $OPENWRT_DIR/target/toolchain/files/wrapper.sh $GNU_TARGET_NAME-wrapper.sh + for app in cc gcc g++ c++ cpp ld as ; do + [ -f $GNU_TARGET_NAME-$app ] && mv $GNU_TARGET_NAME-$app $GNU_TARGET_NAME-$app.bin + ln -sf $GNU_TARGET_NAME-wrapper.sh $GNU_TARGET_NAME-$app + done + + - name: Configure external toolchain with sdk + if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_sdk' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + ./scripts/ext-toolchain.sh \ + --toolchain ${{ env.TOOLCHAIN_FILE }}/staging_dir/toolchain-* \ + --overwrite-config \ + --config ${{ env.TARGET }}/${{ env.SUBTARGET }} + + - name: Configure internal toolchain + if: inputs.build_toolchain == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + echo "CONFIG_TARGET_${{ env.TARGET }}=y" >> .config + echo "CONFIG_TARGET_${{ env.TARGET }}_${{ env.SUBTARGET }}=y" >> .config + + make defconfig + + - name: Show configuration + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: ./scripts/diffconfig.sh + + - name: Build tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build toolchain + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make toolchain/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build Kernel + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make target/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build Kernel Kmods + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make package/linux/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build everything + if: inputs.build_full == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v3 + with: + name: ${{ env.TARGET }}-${{ env.SUBTARGET }}-logs + path: "openwrt/logs" diff --git a/.github/workflows/check-kernel-patches.yml b/.github/workflows/check-kernel-patches.yml new file mode 100644 index 0000000..e5b6190 --- /dev/null +++ b/.github/workflows/check-kernel-patches.yml @@ -0,0 +1,131 @@ +name: Refresh kernel for target + +on: + workflow_call: + inputs: + target: + required: true + type: string + testing: + type: boolean + +permissions: + contents: read + +jobs: + setup_build: + name: Setup build + runs-on: ubuntu-latest + outputs: + owner_lc: ${{ steps.lower_owner.outputs.owner_lc }} + container_tag: ${{ steps.determine_tools_container.outputs.container_tag }} + + steps: + - name: Set lower case owner name + id: lower_owner + run: | + OWNER_LC=$(echo "${{ github.repository_owner }}" \ + | tr '[:upper:]' '[:lower:]') + echo "owner_lc=$OWNER_LC" >> $GITHUB_OUTPUT + + # Per branch tools container tag + # By default stick to latest + # For official test targetting openwrt stable branch + # Get the branch or parse the tag and push dedicated tools containers + # For local test to use the correct container for stable release testing + # you need to use for the branch name a prefix of openwrt-[0-9][0-9].[0-9][0-9]- + - name: Determine tools container tag + id: determine_tools_container + run: | + CONTAINER_TAG=latest + if [ -n "${{ github.base_ref }}" ]; then + if echo "${{ github.base_ref }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]$'; then + CONTAINER_TAG="${{ github.base_ref }}" + fi + elif [ ${{ github.ref_type }} == "branch" ]; then + if echo "${{ github.ref_name }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]$'; then + CONTAINER_TAG=${{ github.ref_name }} + elif echo "${{ github.ref_name }}" | grep -q -E '^openwrt-[0-9][0-9]\.[0-9][0-9]-'; then + CONTAINER_TAG="$(echo ${{ github.ref_name }} | sed 's/^\(openwrt-[0-9][0-9]\.[0-9][0-9]\)-.*/\1/')" + fi + elif [ ${{ github.ref_type }} == "tag" ]; then + if echo "${{ github.ref_name }}" | grep -q -E '^v[0-9][0-9]\.[0-9][0-9]\..+'; then + CONTAINER_TAG=openwrt-"$(echo ${{ github.ref_name }} | sed 's/^v\([0-9][0-9]\.[0-9][0-9]\)\..\+/\1/')" + fi + fi + echo "Tools container to use tools:$CONTAINER_TAG" + echo "container_tag=$CONTAINER_TAG" >> $GITHUB_OUTPUT + + check-patch: + name: Check Kernel patches + needs: setup_build + runs-on: ubuntu-latest + + container: ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:${{ needs.setup_build.outputs.container_tag }} + + permissions: + contents: read + packages: read + + steps: + - name: Checkout master directory + uses: actions/checkout@v3 + with: + path: openwrt + + - name: Fix permission + run: | + chown -R buildbot:buildbot openwrt + + - name: Initialization environment + run: | + TARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 1) + SUBTARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 2) + echo "TARGET=$TARGET" >> "$GITHUB_ENV" + echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" + + - name: Extract prebuilt tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: ./scripts/ext-tools.sh --tools /tools.tar + + - name: Configure testing kernel + if: inputs.testing == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_TESTING_KERNEL=y >> .config + + - name: Configure system + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_ALL_KMODS=y >> .config + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + echo "CONFIG_TARGET_${{ env.TARGET }}=y" >> .config + echo "CONFIG_TARGET_${{ env.TARGET }}_${{ env.SUBTARGET }}=y" >> .config + + make defconfig + + - name: Build tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make tools/quilt/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Refresh Kernel patches + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + make target/linux/refresh V=s + + . .github/workflows/scripts/ci_helpers.sh + + if git diff --name-only --exit-code; then + success "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} seems ok" + else + err "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} require refresh. (run 'make target/linux/refresh' and force push this pr)" + exit 1 + fi diff --git a/.github/workflows/formal.yml b/.github/workflows/formal.yml new file mode 100644 index 0000000..8083c58 --- /dev/null +++ b/.github/workflows/formal.yml @@ -0,0 +1,73 @@ +name: Test Formalities + +on: + pull_request: + +permissions: + contents: read + +jobs: + build: + name: Test Formalities + runs-on: ubuntu-latest + strategy: + fail-fast: false + + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + + - name: Determine branch name + run: | + BRANCH="${GITHUB_BASE_REF#refs/heads/}" + echo "Building for $BRANCH" + echo "BRANCH=$BRANCH" >> $GITHUB_ENV + + - name: Test formalities + run: | + source .github/workflows/scripts/ci_helpers.sh + + RET=0 + for commit in $(git rev-list HEAD ^origin/$BRANCH); do + info "=== Checking commit '$commit'" + if git show --format='%P' -s $commit | grep -qF ' '; then + err "Pull request should not include merge commits" + RET=1 + fi + + author="$(git show -s --format=%aN $commit)" + if echo $author | grep -q '\S\+\s\+\S\+'; then + success "Author name ($author) seems ok" + else + err "Author name ($author) need to be your real name 'firstname lastname'" + RET=1 + fi + + subject="$(git show -s --format=%s $commit)" + if echo "$subject" | grep -q -e '^[0-9A-Za-z,+/_\.-]\+: ' -e '^Revert '; then + success "Commit subject line seems ok ($subject)" + else + err "Commit subject line MUST start with ': ' ($subject)" + RET=1 + fi + + body="$(git show -s --format=%b $commit)" + sob="$(git show -s --format='Signed-off-by: %aN <%aE>' $commit)" + if echo "$body" | grep -qF "$sob"; then + success "Signed-off-by match author" + else + err "Signed-off-by is missing or doesn't match author (should be '$sob')" + RET=1 + fi + + if echo "$body" | grep -v "Signed-off-by:"; then + success "A commit message exists" + else + err "Missing commit message. Please describe your changes" + RET=1 + fi + done + + exit $RET diff --git a/.github/workflows/kernel.yml b/.github/workflows/kernel.yml new file mode 100644 index 0000000..0fd0374 --- /dev/null +++ b/.github/workflows/kernel.yml @@ -0,0 +1,85 @@ +name: Build Kernel + +on: + pull_request: + paths: + - '.github/workflows/check-kernel-patches.yml' + - '.github/workflows/build.yml' + - '.github/workflows/kernel.yml' + - 'include/kernel*' + - 'package/kernel/**' + - 'target/linux/generic/**' + push: + paths: + - '.github/workflows/check-kernel-patches.yml' + - '.github/workflows/build.yml' + - '.github/workflows/kernel.yml' + - 'include/kernel*' + - 'package/kernel/**' + - 'target/linux/generic/**' + +permissions: + contents: read + +jobs: + determine_targets: + name: Set targets + runs-on: ubuntu-latest + outputs: + target: ${{ steps.find_targets.outputs.target }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set targets + id: find_targets + run: | + export TARGETS="$(perl ./scripts/dump-target-info.pl targets 2>/dev/null \ + | sort -u -t '/' -k1,1 \ + | awk '{ print $1 }')" + + JSON='[' + FIRST=1 + for TARGET in $TARGETS; do + [[ $FIRST -ne 1 ]] && JSON="$JSON"',' + JSON="$JSON"'"'"${TARGET}"'"' + FIRST=0 + done + JSON="$JSON"']' + + echo -e "\n---- targets ----\n" + echo "$JSON" + echo -e "\n---- targets ----\n" + + echo "target=$JSON" >> $GITHUB_OUTPUT + + build: + name: Build Kernel with external toolchain + needs: determine_targets + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + target: ${{fromJson(needs.determine_targets.outputs.target)}} + uses: ./.github/workflows/build.yml + with: + target: ${{ matrix.target }} + build_all_kmods: true + + check-kernel-patches: + name: Check Kernel patches + needs: determine_targets + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + target: ${{fromJson(needs.determine_targets.outputs.target)}} + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: ${{ matrix.target }} + diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 0000000..5f82b88 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,33 @@ +name: 'Pull Request Labeler' +on: + - pull_request_target + +permissions: + contents: read + +jobs: + labeler: + permissions: + contents: read # to determine modified files (actions/labeler) + pull-requests: write # to add labels to PRs (actions/labeler) + + name: Pull Request Labeler + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v4 + with: + repo-token: '${{ secrets.GITHUB_TOKEN }}' + + - name: Check Branch + id: check-branch + run: | + if echo "${{ github.base_ref }}" | grep -q -E 'openwrt-[0-9][0-9]\.[0-9][0-9]'; then + echo "release-tag=$(echo ${{ github.base_ref }} | sed 's/openwrt-/release\//')" >> $GITHUB_OUTPUT + fi + + - uses: buildsville/add-remove-label@v2.0.0 + if: ${{ steps.check-branch.outputs.release-tag }} + with: + token: ${{secrets.GITHUB_TOKEN}} + labels: ${{ steps.check-branch.outputs.release-tag }} + type: add diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml new file mode 100644 index 0000000..94982ba --- /dev/null +++ b/.github/workflows/packages.yml @@ -0,0 +1,43 @@ +name: Build all core packages + +on: + pull_request: + paths: + - '.github/workflows/build.yml' + - '.github/workflows/packages.yml' + - 'config/**' + - 'include/**' + - 'package/**' + - 'target/linux/generic/**' + - 'toolchain/**' + push: + paths: + - '.github/workflows/build.yml' + - '.github/workflows/packages.yml' + - 'config/**' + - 'include/**' + - 'package/**' + - 'target/linux/generic/**' + - 'toolchain/**' + +permissions: + contents: read + +jobs: + build: + permissions: + contents: read + packages: read + strategy: + fail-fast: False + matrix: + include: + - target: malta/be + - target: x86/64 + uses: ./.github/workflows/build.yml + with: + target: ${{ matrix.target }} + build_all_kmods: true + build_all_modules: true + build_full: true + diff --git a/.github/workflows/scripts/ci_helpers.sh b/.github/workflows/scripts/ci_helpers.sh new file mode 100644 index 0000000..2f9daf8 --- /dev/null +++ b/.github/workflows/scripts/ci_helpers.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +color_out() { + printf "\e[0;$1m%s\e[0;0m\n" "$2" +} + +success() { + color_out 32 "$1" +} + +info() { + color_out 36 "$1" +} + +err() { + color_out 31 "$1" +} + +warn() { + color_out 33 "$1" +} + +err_die() { + err "$1" + exit 1 +} diff --git a/.github/workflows/scripts/show_build_failures.sh b/.github/workflows/scripts/show_build_failures.sh new file mode 100755 index 0000000..14f699c --- /dev/null +++ b/.github/workflows/scripts/show_build_failures.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +original_exit_code="${ret:-1}" +log_dir_path="${1:-logs}" +context="${2:-10}" + +show_make_build_errors() { + grep -slr 'make\[[[:digit:]]\].*Error [[:digit:]]$' "$log_dir_path" | while IFS= read -r log_file; do + printf "====== Make errors from %s ======\n" "$log_file"; + grep -r -C"$context" 'make\[[[:digit:]]\].*Error [[:digit:]]$' "$log_file" ; + done +} + +show_make_build_errors +exit "$original_exit_code" diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml new file mode 100644 index 0000000..304b5f7 --- /dev/null +++ b/.github/workflows/tools.yml @@ -0,0 +1,226 @@ +name: Build host tools + +on: + pull_request: + paths: + - 'tools/**' + - '.github/workflows/tools.yml' + push: + paths: + - 'tools/**' + - '.github/workflows/tools.yml' + +permissions: + contents: read + +jobs: + build-macos-latest: + if: github.event_name != 'push' + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + path: openwrt + + - name: Setup MacOS + run: | + echo "WORKPATH=/Volumes/OpenWrt" >> "$GITHUB_ENV" + hdiutil create -size 20g -type SPARSE -fs "Case-sensitive HFS+" -volname OpenWrt OpenWrt.sparseimage + hdiutil attach OpenWrt.sparseimage + mv "$GITHUB_WORKSPACE/openwrt" /Volumes/OpenWrt/ + + - name: Install required prereq on MacOS + working-directory: ${{ env.WORKPATH }}/openwrt + run: | + brew install \ + autoconf \ + automake \ + coreutils \ + diffutils \ + findutils \ + gawk \ + gettext \ + git-extras \ + gmp \ + gnu-getopt \ + gnu-sed \ + gnu-tar \ + grep \ + libidn2 \ + libunistring \ + m4 \ + make \ + mpfr \ + ncurses \ + openssl@1.1 \ + pcre \ + pkg-config \ + quilt \ + readline \ + wget \ + zstd + + echo "/bin" >> "$GITHUB_PATH" + echo "/sbin/Library/Apple/usr/bin" >> "$GITHUB_PATH" + echo "/usr/bin" >> "$GITHUB_PATH" + echo "/usr/local/bin" >> "$GITHUB_PATH" + echo "/usr/local/opt/coreutils/bin" >> "$GITHUB_PATH" + echo "/usr/local/opt/findutils/libexec/gnubin" >> "$GITHUB_PATH" + echo "/usr/local/opt/gettext/bin" >> "$GITHUB_PATH" + echo "/usr/local/opt/gnu-getopt/bin" >> "$GITHUB_PATH" + echo "/usr/local/opt/make/libexec/gnubin" >> "$GITHUB_PATH" + echo "/usr/local/opt/make/libexec/gnubin" >> "$GITHUB_PATH" + echo "/usr/sbin" >> "$GITHUB_PATH" + + - name: Make prereq + working-directory: ${{ env.WORKPATH }}/openwrt + run: make defconfig + + - name: Build tools MacOS + working-directory: ${{ env.WORKPATH }}/openwrt + run: make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Upload logs + if: always() + uses: actions/upload-artifact@v3 + with: + name: macos-latest-logs + path: ${{ env.WORKPATH }}/openwrt/logs + + - name: Upload config + if: always() + uses: actions/upload-artifact@v3 + with: + name: macos-latest-config + path: ${{ env.WORKPATH }}/openwrt/.config + + build-linux-buildbot: + runs-on: ubuntu-latest + container: registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1 + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + path: 'openwrt' + + - name: Fix permission + run: | + chown -R buildbot:buildbot openwrt + + - name: Set configs for tools container + if: github.event_name == 'push' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + touch .config + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + - name: Make prereq + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make defconfig + + - name: Build tools BuildBot Container + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Upload logs + if: always() + uses: actions/upload-artifact@v3 + with: + name: linux-buildbot-logs + path: openwrt/logs + + - name: Upload config + if: always() + uses: actions/upload-artifact@v3 + with: + name: linux-buildbot-config + path: openwrt/.config + + - name: Archive prebuilt tools + if: github.event_name == 'push' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: tar --mtime=now -cf tools.tar staging_dir/host build_dir/host dl + + - name: Upload prebuilt tools + if: github.event_name == 'push' + uses: actions/upload-artifact@v3 + with: + name: linux-buildbot-prebuilt-tools + path: openwrt/tools.tar + retention-days: 1 + + push-tools-container: + needs: build-linux-buildbot + runs-on: ubuntu-latest + if: github.event_name == 'push' + + permissions: + contents: read + packages: write + + steps: + - name: Set lower case owner name + env: + OWNER: ${{ github.repository_owner }} + run: | + echo "OWNER_LC=${OWNER,,}" >> "$GITHUB_ENV" + + # Per branch tools container tag + # By default stick to latest + # For official test targetting openwrt stable branch + # Get the branch or parse the tag and push dedicated tools containers + # Any branch that will match this pattern openwrt-[0-9][0-9].[0-9][0-9] + # will refresh the tools container with the matching tag. + # (example branch openwrt-22.03 -> tools:openwrt-22.03) + # (example branch openwrt-22.03-test -> tools:openwrt-22.03) + - name: Determine tools container tag + run: | + CONTAINER_TAG=latest + + if [ ${{ github.ref_type }} == "branch" ]; then + if echo "${{ github.ref_name }}" | grep -q -E 'openwrt-[0-9][0-9]\.[0-9][0-9]'; then + CONTAINER_TAG="$(echo ${{ github.ref_name }} | sed 's/^\(openwrt-[0-9][0-9]\.[0-9][0-9]\).*/\1/')" + fi + elif [ ${{ github.ref_type }} == "tag" ]; then + if echo "${{ github.ref_name }}" | grep -q -E 'v[0-9][0-9]\.[0-9][0-9]\..+'; then + CONTAINER_TAG=openwrt-"$(echo ${{ github.ref_name }} | sed 's/v\([0-9][0-9]\.[0-9][0-9]\)\..\+/\1/')" + fi + fi + + echo "Tools container to push tools:$CONTAINER_TAG" + echo "CONTAINER_TAG=$CONTAINER_TAG" >> "$GITHUB_ENV" + + - name: Checkout + uses: actions/checkout@v3 + with: + path: 'openwrt' + + - name: Download prebuilt tools from build job + uses: actions/download-artifact@v3 + with: + name: linux-buildbot-prebuilt-tools + path: openwrt + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: openwrt + push: true + tags: ghcr.io/${{ env.OWNER_LC }}/tools:${{ env.CONTAINER_TAG }} + file: openwrt/.github/workflows/Dockerfile.tools diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a80cdbb --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +*.o +.DS_Store +.*.swp +/env +/dl +/.config +/.config.old +/.toolchain_build_ver +/bin +/build_dir +/staging_dir +/tmp +/logs +/feeds +/feeds.conf +/files +/overlay +/package/feeds +/package/openwrt-packages +/*.patch +/llvm-bpf* +key-build* +*.orig +*.rej +*~ +.#* +*# +.emacs.desktop* +TAGS*~ +git-src +.project +.cproject +.ccache +.vscode* diff --git a/BSDmakefile b/BSDmakefile new file mode 100644 index 0000000..66fe088 --- /dev/null +++ b/BSDmakefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006 OpenWrt.org + +world ${.TARGETS}: + @gmake $@ diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..ea81124 --- /dev/null +++ b/COPYING @@ -0,0 +1,12 @@ +OpenWrt is provided under: + + SPDX-License-Identifier: GPL-2.0-only + +Being under the terms of the GNU General Public License version 2 only, +according with: + + LICENSES/GPL-2.0 + +In addition, other licenses may also apply. + +All contributions to OpenWrt are subject to this COPYING file. diff --git a/Config.in b/Config.in new file mode 100644 index 0000000..6d71d4c --- /dev/null +++ b/Config.in @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2013 OpenWrt.org + +mainmenu "OpenWrt Configuration" + +config MODULES + modules + bool + default y + +config HAVE_DOT_CONFIG + bool + default y + +HOST_OS := $(shell, uname) + +config HOST_OS_LINUX + def_bool $(shell, ./config/check-uname.sh Linux) + +config HOST_OS_MACOS + def_bool $(shell, ./config/check-uname.sh Darwin) + +source "target/Config.in" + +source "config/Config-images.in" + +source "config/Config-build.in" + +source "config/Config-devel.in" + +source "toolchain/Config.in" + +source "target/imagebuilder/Config.in" + +source "target/sdk/Config.in" + +source "target/toolchain/Config.in" + +source "tmp/.config-package.in" diff --git a/LICENSES/BSD-2-Clause b/LICENSES/BSD-2-Clause new file mode 100644 index 0000000..da366e2 --- /dev/null +++ b/LICENSES/BSD-2-Clause @@ -0,0 +1,32 @@ +Valid-License-Identifier: BSD-2-Clause +SPDX-URL: https://spdx.org/licenses/BSD-2-Clause.html +Usage-Guide: + To use the BSD 2-clause "Simplified" License put the following SPDX + tag/value pair into a comment according to the placement guidelines in + the licensing rules documentation: + SPDX-License-Identifier: BSD-2-Clause +License-Text: + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/BSD-3-Clause b/LICENSES/BSD-3-Clause new file mode 100644 index 0000000..34c7f05 --- /dev/null +++ b/LICENSES/BSD-3-Clause @@ -0,0 +1,36 @@ +Valid-License-Identifier: BSD-3-Clause +SPDX-URL: https://spdx.org/licenses/BSD-3-Clause.html +Usage-Guide: + To use the BSD 3-clause "New" or "Revised" License put the following SPDX + tag/value pair into a comment according to the placement guidelines in + the licensing rules documentation: + SPDX-License-Identifier: BSD-3-Clause +License-Text: + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/GPL-1.0 b/LICENSES/GPL-1.0 new file mode 100644 index 0000000..1c50e3b --- /dev/null +++ b/LICENSES/GPL-1.0 @@ -0,0 +1,261 @@ +Valid-License-Identifier: GPL-1.0-or-later +Valid-License-Identifier: GPL-1.0+ +SPDX-URL: https://spdx.org/licenses/GPL-1.0.html +Usage-Guide: + The GNU General Public License (GPL) version 1 should not be used in new + code. For existing kernel code the 'or any later version' option is + required to be compatible with the general license of the project: GPLv2. + To use the license in source code, put the following SPDX tag/value pair + into a comment according to the placement guidelines in the licensing + rules documentation: + SPDX-License-Identifier: GPL-1.0-or-later +License-Text: + + GNU GENERAL PUBLIC LICENSE + Version 1, February 1989 + + Copyright (C) 1989 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The license agreements of most software companies try to keep users +at the mercy of those companies. By contrast, our General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. The +General Public License applies to the Free Software Foundation's +software and to any other program whose authors commit to using it. +You can use it for your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Specifically, the General Public License is designed to make +sure that you have the freedom to give away or sell copies of free +software, that you receive source code or can get it if you want it, +that you can change the software or use pieces of it in new free +programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of a such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must tell them their rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work based +on the Program" means either the Program or any work containing the +Program or a portion of it, either verbatim or with modifications. Each +licensee is addressed as "you". + + 1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this +General Public License and to the absence of any warranty; and give any +other recipients of the Program a copy of this General Public License +along with the Program. You may charge a fee for the physical act of +transferring a copy. + + 2. You may modify your copy or copies of the Program or any portion of +it, and copy and distribute such modifications under the terms of Paragraph +1 above, provided that you also do the following: + + a) cause the modified files to carry prominent notices stating that + you changed the files and the date of any change; and + + b) cause the whole of any work that you distribute or publish, that + in whole or in part contains the Program or any part thereof, either + with or without modifications, to be licensed at no charge to all + third parties under the terms of this General Public License (except + that you may choose to grant warranty protection to some or all + third parties, at your option). + + c) If the modified program normally reads commands interactively when + run, you must cause it, when started running for such interactive use + in the simplest and most usual way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this General + Public License. + + d) You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + +Mere aggregation of another independent work with the Program (or its +derivative) on a volume of a storage or distribution medium does not bring +the other work under the scope of these terms. + + 3. You may copy and distribute the Program (or a portion or derivative of +it, under Paragraph 2) in object code or executable form under the terms of +Paragraphs 1 and 2 above provided that you also do one of the following: + + a) accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Paragraphs 1 and 2 above; or, + + b) accompany it with a written offer, valid for at least three + years, to give any third party free (except for a nominal charge + for the cost of distribution) a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of + Paragraphs 1 and 2 above; or, + + c) accompany it with the information you received as to where the + corresponding source code may be obtained. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form alone.) + +Source code for a work means the preferred form of the work for making +modifications to it. For an executable file, complete source code means +all the source code for all modules it contains; but, as a special +exception, it need not include source code for modules which are standard +libraries that accompany the operating system on which the executable +file runs, or for standard header files or definitions files that +accompany that operating system. + + 4. You may not copy, modify, sublicense, distribute or transfer the +Program except as expressly provided under this General Public License. +Any attempt otherwise to copy, modify, sublicense, distribute or transfer +the Program is void, and will automatically terminate your rights to use +the Program under this License. However, parties who have received +copies, or rights to use copies, from you under this General Public +License will not have their licenses terminated so long as such parties +remain in full compliance. + + 5. By copying, distributing or modifying the Program (or any work based +on the Program) you indicate your acceptance of this license to do so, +and all its terms and conditions. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the original +licensor to copy, distribute or modify the Program subject to these +terms and conditions. You may not impose any further restrictions on the +recipients' exercise of the rights granted herein. + + 7. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of the license which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +the license, you may choose any version ever published by the Free Software +Foundation. + + 8. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to humanity, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19xx name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (a program to direct compilers to make passes + at assemblers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/LICENSES/GPL-2.0 b/LICENSES/GPL-2.0 new file mode 100644 index 0000000..4d90dc1 --- /dev/null +++ b/LICENSES/GPL-2.0 @@ -0,0 +1,355 @@ +Valid-License-Identifier: GPL-2.0-only +Valid-License-Identifier: GPL-2.0 +Valid-License-Identifier: GPL-2.0-or-later +Valid-License-Identifier: GPL-2.0+ +SPDX-URL: https://spdx.org/licenses/GPL-2.0.html +Usage-Guide: + To use this license in source code, put one of the following SPDX + tag/value pairs into a comment according to the placement + guidelines in the licensing rules documentation. + For 'GNU General Public License (GPL) version 2 only' use: + SPDX-License-Identifier: GPL-2.0-only + For 'GNU General Public License (GPL) version 2 or any later version' use: + SPDX-License-Identifier: GPL-2.0-or-later +License-Text: + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/LICENSES/ISC b/LICENSES/ISC new file mode 100644 index 0000000..8953c31 --- /dev/null +++ b/LICENSES/ISC @@ -0,0 +1,24 @@ +Valid-License-Identifier: ISC +SPDX-URL: https://spdx.org/licenses/ISC.html +Usage-Guide: + To use the ISC License put the following SPDX tag/value pair into a + comment according to the placement guidelines in the licensing rules + documentation: + SPDX-License-Identifier: ISC +License-Text: + +ISC License + +Copyright (c) + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENSES/Linux-syscall-note b/LICENSES/Linux-syscall-note new file mode 100644 index 0000000..eb17068 --- /dev/null +++ b/LICENSES/Linux-syscall-note @@ -0,0 +1,25 @@ +SPDX-Exception-Identifier: Linux-syscall-note +SPDX-URL: https://spdx.org/licenses/Linux-syscall-note.html +SPDX-Licenses: GPL-2.0-only, GPL-2.0, GPL-2.0-or-later, GPL-2.0+, GPL-1.0-or-later, GPL-1.0+, LGPL-2.0, LGPL-2.0+, LGPL-2.1, LGPL-2.1+ +Usage-Guide: + This exception is used together with one of the above SPDX-Licenses + to mark user space API (uapi) header files so they can be included + into non GPL compliant user space application code. + To use this exception add it with the keyword WITH to one of the + identifiers in the SPDX-Licenses tag: + SPDX-License-Identifier: WITH Linux-syscall-note +License-Text: + + NOTE! This copyright does *not* cover user programs that use kernel + services by normal system calls - this is merely considered normal use + of the kernel, and does *not* fall under the heading of "derived work". + Also note that the GPL below is copyrighted by the Free Software + Foundation, but the instance of code that it refers to (the Linux + kernel) is copyrighted by me and others who actually wrote it. + + Also note that the only valid version of the GPL as far as the kernel + is concerned is _this_ particular version of the license (ie v2, not + v2.2 or v3.x or whatever), unless explicitly otherwise stated. + + Linus Torvalds + diff --git a/LICENSES/MIT b/LICENSES/MIT new file mode 100644 index 0000000..f33a68c --- /dev/null +++ b/LICENSES/MIT @@ -0,0 +1,30 @@ +Valid-License-Identifier: MIT +SPDX-URL: https://spdx.org/licenses/MIT.html +Usage-Guide: + To use the MIT License put the following SPDX tag/value pair into a + comment according to the placement guidelines in the licensing rules + documentation: + SPDX-License-Identifier: MIT +License-Text: + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a3085ae --- /dev/null +++ b/Makefile @@ -0,0 +1,138 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007 OpenWrt.org + +TOPDIR:=${CURDIR} +LC_ALL:=C +LANG:=C +TZ:=UTC +export TOPDIR LC_ALL LANG TZ + +empty:= +space:= $(empty) $(empty) +$(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt directory must not include any spaces)) + +world: + +DISTRO_PKG_CONFIG:=$(shell $(TOPDIR)/scripts/command_all.sh pkg-config | grep '/usr' | head -n 1) +export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH) + +ifneq ($(OPENWRT_BUILD),1) + _SINGLE=export MAKEFLAGS=$(space); + + override OPENWRT_BUILD=1 + export OPENWRT_BUILD + GREP_OPTIONS= + export GREP_OPTIONS + CDPATH= + export CDPATH + include $(TOPDIR)/include/debug.mk + include $(TOPDIR)/include/depends.mk + include $(TOPDIR)/include/toplevel.mk +else + include rules.mk + include $(INCLUDE_DIR)/depends.mk + include $(INCLUDE_DIR)/subdir.mk + include target/Makefile + include package/Makefile + include tools/Makefile + include toolchain/Makefile + +$(toolchain/stamp-compile): $(tools/stamp-compile) $(if $(CONFIG_BUILDBOT),toolchain_rebuild_check) +$(target/stamp-compile): $(toolchain/stamp-compile) $(tools/stamp-compile) $(BUILD_DIR)/.prepared +$(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup) +$(package/stamp-install): $(package/stamp-compile) +$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) +check: $(tools/stamp-check) $(toolchain/stamp-check) $(package/stamp-check) + +printdb: + @true + +prepare: $(target/stamp-compile) + +_clean: FORCE + rm -rf $(BUILD_DIR) $(STAGING_DIR) $(BIN_DIR) $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES) $(TOPDIR)/staging_dir/packages + +clean: _clean + rm -rf $(BUILD_LOG_DIR) + +targetclean: _clean + rm -rf $(TOOLCHAIN_DIR) $(BUILD_DIR_BASE)/hostpkg $(BUILD_DIR_TOOLCHAIN) + +dirclean: targetclean clean + rm -rf $(STAGING_DIR_HOST) $(STAGING_DIR_HOSTPKG) $(BUILD_DIR_BASE)/host + rm -rf $(TMP_DIR) + $(MAKE) -C $(TOPDIR)/scripts/config clean + +toolchain_rebuild_check: + $(SCRIPT_DIR)/check-toolchain-clean.sh + +cacheclean: +ifneq ($(CONFIG_CCACHE),) + $(STAGING_DIR_HOST)/bin/ccache -C +endif + +ifndef DUMP_TARGET_DB +$(BUILD_DIR)/.prepared: Makefile + @mkdir -p $$(dirname $@) + @touch $@ + +tmp/.prereq_packages: .config + unset ERROR; \ + for package in $(sort $(prereq-y) $(prereq-m)); do \ + $(_SINGLE)$(NO_TRACE_MAKE) -s -r -C package/$$package prereq || ERROR=1; \ + done; \ + if [ -n "$$ERROR" ]; then \ + echo "Package prerequisite check failed."; \ + false; \ + fi + touch $@ +endif + +# check prerequisites before starting to build +prereq: $(target/stamp-prereq) tmp/.prereq_packages + @if [ ! -f "$(INCLUDE_DIR)/site/$(ARCH)" ]; then \ + echo 'ERROR: Missing site config for architecture "$(ARCH)" !'; \ + echo ' The missing file will cause configure scripts to fail during compilation.'; \ + echo ' Please provide a "$(INCLUDE_DIR)/site/$(ARCH)" file and restart the build.'; \ + exit 1; \ + fi + +$(BIN_DIR)/profiles.json: FORCE + $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \ + WORK_DIR=$(BUILD_DIR)/json_info_files \ + $(SCRIPT_DIR)/json_overview_image_info.py $@ \ + ) + +json_overview_image_info: $(BIN_DIR)/profiles.json + +checksum: FORCE + $(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT)) + +buildversion: FORCE + $(SCRIPT_DIR)/getver.sh > $(BIN_DIR)/version.buildinfo + +feedsversion: FORCE + $(SCRIPT_DIR)/feeds list -fs > $(BIN_DIR)/feeds.buildinfo + +diffconfig: FORCE + mkdir -p $(BIN_DIR) + $(SCRIPT_DIR)/diffconfig.sh > $(BIN_DIR)/config.buildinfo + +buildinfo: FORCE + $(_SINGLE)$(SUBMAKE) -r diffconfig buildversion feedsversion + +prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile) + $(_SINGLE)$(SUBMAKE) -r buildinfo + +world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE + $(_SINGLE)$(SUBMAKE) -r package/index + $(_SINGLE)$(SUBMAKE) -r json_overview_image_info + $(_SINGLE)$(SUBMAKE) -r checksum +ifneq ($(CONFIG_CCACHE),) + $(STAGING_DIR_HOST)/bin/ccache -s +endif + +.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean + +endif diff --git a/README.md b/README.md new file mode 100644 index 0000000..2eff292 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +![OpenWrt logo](include/logo.png) + +OpenWrt Project is a Linux operating system targeting embedded devices. Instead +of trying to create a single, static firmware, OpenWrt provides a fully +writable filesystem with package management. This frees you from the +application selection and configuration provided by the vendor and allows you +to customize the device through the use of packages to suit any application. +For developers, OpenWrt is the framework to build an application without having +to build a complete firmware around it; for users this means the ability for +full customization, to use the device in ways never envisioned. + +Sunshine! + +## Development + +To build your own firmware you need a GNU/Linux, BSD or MacOSX system (case +sensitive filesystem required). Cygwin is unsupported because of the lack of a +case sensitive file system. + +### Requirements + +You need the following tools to compile OpenWrt, the package names vary between +distributions. A complete list with distribution specific packages is found in +the [Build System Setup](https://openwrt.org/docs/guide-developer/build-system/install-buildsystem) +documentation. + +``` +binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev +make4.1+ perl python3.6+ rsync subversion unzip which +``` + +### Quickstart + +1. Run `./scripts/feeds update -a` to obtain all the latest package definitions + defined in feeds.conf / feeds.conf.default + +2. Run `./scripts/feeds install -a` to install symlinks for all obtained + packages into package/feeds/ + +3. Run `make menuconfig` to select your preferred configuration for the + toolchain, target system & firmware packages. + +4. Run `make` to build your firmware. This will download all sources, build the + cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen + applications for your target system. + +### Related Repositories + +The main repository uses multiple sub-repositories to manage packages of +different categories. All packages are installed via the OpenWrt package +manager called `opkg`. If you're looking to develop the web interface or port +packages to OpenWrt, please find the fitting repository below. + +* [LuCI Web Interface](https://github.com/openwrt/luci): Modern and modular + interface to control the device via a web browser. + +* [OpenWrt Packages](https://github.com/openwrt/packages): Community repository + of ported packages. + +* [OpenWrt Routing](https://github.com/openwrt/routing): Packages specifically + focused on (mesh) routing. + +* [OpenWrt Video](https://github.com/openwrt/video): Packages specifically + focused on display servers and clients (Xorg and Wayland). + +## Support Information + +For a list of supported devices see the [OpenWrt Hardware Database](https://openwrt.org/supported_devices) + +### Documentation + +* [Quick Start Guide](https://openwrt.org/docs/guide-quick-start/start) +* [User Guide](https://openwrt.org/docs/guide-user/start) +* [Developer Documentation](https://openwrt.org/docs/guide-developer/start) +* [Technical Reference](https://openwrt.org/docs/techref/start) + +### Support Community + +* [Forum](https://forum.openwrt.org): For usage, projects, discussions and hardware advise. +* [Support Chat](https://webchat.oftc.net/#openwrt): Channel `#openwrt` on **oftc.net**. + +### Developer Community + +* [Bug Reports](https://bugs.openwrt.org): Report bugs in OpenWrt +* [Dev Mailing List](https://lists.openwrt.org/mailman/listinfo/openwrt-devel): Send patches +* [Dev Chat](https://webchat.oftc.net/#openwrt-devel): Channel `#openwrt-devel` on **oftc.net**. + +## License + +OpenWrt is licensed under GPL-2.0 diff --git a/config/Config-build.in b/config/Config-build.in new file mode 100644 index 0000000..d45edca --- /dev/null +++ b/config/Config-build.in @@ -0,0 +1,390 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2013 OpenWrt.org +# Copyright (C) 2016 LEDE Project + +config EXPERIMENTAL + bool "Enable experimental features by default" + default n + help + Set this option to build with latest bleeding edge features + which may or may not work as expected. + If you would like to help the development of OpenWrt, you are + encouraged to set this option and provide feedback (both + positive and negative). But do so only if you know how to + recover your device in case of flashing potentially non-working + firmware. + + If you plan to use this build in production, say NO! + +menu "Global build settings" + + config JSON_OVERVIEW_IMAGE_INFO + bool "Create JSON info file overview per target" + default y + help + Create a JSON info file called profiles.json in the target + directory containing machine readable list of built profiles + and resulting images. + + config ALL_NONSHARED + bool "Select all target specific packages by default" + select ALL_KMODS + default BUILDBOT + + config ALL_KMODS + bool "Select all kernel module packages by default" + + config ALL + bool "Select all userspace packages by default" + select ALL_KMODS + select ALL_NONSHARED + + config BUILDBOT + bool "Set build defaults for automatic builds (e.g. via buildbot)" + default n + help + This option changes several defaults to be more suitable for + automatic builds. This includes the following changes: + - Deleting build directories after compiling (to save space) + - Enabling per-device rootfs support + ... + + config SIGNED_PACKAGES + bool "Cryptographically signed package lists" + default y + + config SIGNATURE_CHECK + bool "Enable signature checking in opkg" + default SIGNED_PACKAGES + + config DOWNLOAD_CHECK_CERTIFICATE + bool "Enable TLS certificate verification during package download" + default y + + comment "General build options" + + config TESTING_KERNEL + bool "Use the testing kernel version" + depends on HAS_TESTING_KERNEL + default EXPERIMENTAL + help + If the target supports a newer kernel version than the default, + you can use this config option to enable it + + + config DISPLAY_SUPPORT + bool "Show packages that require graphics support (local or remote)" + default n + + config BUILD_PATENTED + default n + bool "Compile with support for patented functionality" + help + When this option is disabled, software which provides patented functionality + will not be built. In case software provides optional support for patented + functionality, this optional support will get disabled for this package. + + config BUILD_NLS + default n + bool "Compile with full language support" + help + When this option is enabled, packages are built with the full versions of + iconv and GNU gettext instead of the default OpenWrt stubs. If uClibc is + used, it is also built with locale support. + + config SHADOW_PASSWORDS + bool + default y + + config CLEAN_IPKG + bool + prompt "Remove ipkg/opkg status data files in final images" + default n + help + This removes all ipkg/opkg status data files from the target directory + before building the root filesystem. + + config IPK_FILES_CHECKSUMS + bool + prompt "Record files checksums in package metadata" + default n + help + This makes file checksums part of package metadata. It increases size + but provides you with pkg_check command to check for flash corruptions. + + config INCLUDE_CONFIG + bool "Include build configuration in firmware" if DEVEL + default n + help + If enabled, buildinfo files will be stored in /etc/build.* of firmware. + + config REPRODUCIBLE_DEBUG_INFO + bool "Make debug information reproducible" + default BUILDBOT + help + This strips the local build path out of debug information. This has the + advantage of making it reproducible, but the disadvantage of making local + debugging using ./scripts/remote-gdb harder, since the debug data will + no longer point to the full path on the build host. + + config COLLECT_KERNEL_DEBUG + bool + prompt "Collect kernel debug information" + select KERNEL_DEBUG_INFO + default BUILDBOT + help + This collects debugging symbols from the kernel and all compiled modules. + Useful for release builds, so that kernel issues can be debugged offline + later. + + menu "Kernel build options" + + source "config/Config-kernel.in" + + endmenu + + comment "Package build options" + + config DEBUG + bool + prompt "Compile packages with debugging info" + default n + help + Adds -g3 to the CFLAGS. + + config IPV6 + bool + prompt "Enable IPv6 support in packages" + default y + help + Enables IPv6 support in kernel (builtin) and packages. + + comment "Stripping options" + + choice + prompt "Binary stripping method" + default USE_STRIP if USE_GLIBC + default USE_SSTRIP + help + Select the binary stripping method you wish to use. + + config NO_STRIP + bool "none" + help + This will install unstripped binaries (useful for native + compiling/debugging). + + config USE_STRIP + bool "strip" + help + This will install binaries stripped using strip from binutils. + + + config USE_SSTRIP + bool "sstrip" + depends on !USE_GLIBC + help + This will install binaries stripped using sstrip. + endchoice + + config STRIP_ARGS + string + prompt "Strip arguments" + depends on USE_STRIP + default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG + default "--strip-all" + help + Specifies arguments passed to the strip command when stripping binaries. + + config SSTRIP_ARGS + string + prompt "Sstrip arguments" + depends on USE_SSTRIP + default "-z" + help + Specifies arguments passed to the sstrip command when stripping binaries. + + config STRIP_KERNEL_EXPORTS + bool "Strip unnecessary exports from the kernel image" + help + Reduces kernel size by stripping unused kernel exports from the kernel + image. Note that this might make the kernel incompatible with any kernel + modules that were not selected at the time the kernel image was created. + + config USE_MKLIBS + bool "Strip unnecessary functions from libraries" + help + Reduces libraries to only those functions that are necessary for using all + selected packages (including those selected as ). Note that this will + make the system libraries incompatible with most of the packages that are + not selected during the build process. + + comment "Hardening build options" + + config PKG_CHECK_FORMAT_SECURITY + bool + prompt "Enable gcc format-security" + default y + help + Add -Wformat -Werror=format-security to the CFLAGS. You can disable + this per package by adding PKG_CHECK_FORMAT_SECURITY:=0 in the package + Makefile. + + choice + prompt "User space ASLR PIE compilation" + default PKG_ASLR_PIE_NONE if ((SMALL_FLASH || LOW_MEMORY_FOOTPRINT) && !SDK) + default PKG_ASLR_PIE_REGULAR + help + Add -fPIC to CFLAGS and -specs=hardened-build-ld to LDFLAGS. + This enables package build as Position Independent Executables (PIE) + to protect against "return-to-text" attacks. This belongs to the + feature of Address Space Layout Randomisation (ASLR), which is + implemented by the kernel and the ELF loader by randomising the + location of memory allocations. This makes memory addresses harder + to predict when an attacker is attempting a memory-corruption exploit. + You can disable this per package by adding PKG_ASLR_PIE:=0 in the package + Makefile. + Be ware that ASLR increases the binary size. + config PKG_ASLR_PIE_NONE + bool "None" + help + PIE is deactivated for all applications + config PKG_ASLR_PIE_REGULAR + bool "Regular" + help + PIE is activated for some binaries, mostly network exposed applications + config PKG_ASLR_PIE_ALL + bool "All" + select BUSYBOX_DEFAULT_PIE + help + PIE is activated for all applications + endchoice + + choice + prompt "User space Stack-Smashing Protection" + default PKG_CC_STACKPROTECTOR_REGULAR + help + Enable GCC Stack Smashing Protection (SSP) for userspace applications + config PKG_CC_STACKPROTECTOR_NONE + bool "None" + config PKG_CC_STACKPROTECTOR_REGULAR + bool "Regular" + config PKG_CC_STACKPROTECTOR_STRONG + bool "Strong" + endchoice + + choice + prompt "Kernel space Stack-Smashing Protection" + default KERNEL_CC_STACKPROTECTOR_REGULAR + help + Enable GCC Stack-Smashing Protection (SSP) for the kernel + config KERNEL_CC_STACKPROTECTOR_NONE + bool "None" + config KERNEL_CC_STACKPROTECTOR_REGULAR + bool "Regular" + config KERNEL_CC_STACKPROTECTOR_STRONG + bool "Strong" + endchoice + + config KERNEL_STACKPROTECTOR + bool + default KERNEL_CC_STACKPROTECTOR_REGULAR || KERNEL_CC_STACKPROTECTOR_STRONG + + config KERNEL_STACKPROTECTOR_STRONG + bool + default KERNEL_CC_STACKPROTECTOR_STRONG + + choice + prompt "Enable buffer-overflows detection (FORTIFY_SOURCE)" + default PKG_FORTIFY_SOURCE_1 + help + Enable the _FORTIFY_SOURCE macro which introduces additional + checks to detect buffer-overflows in the following standard library + functions: memcpy, mempcpy, memmove, memset, strcpy, stpcpy, + strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf, + gets. "Conservative" (_FORTIFY_SOURCE set to 1) only introduces + checks that shouldn't change the behavior of conforming programs, + while "aggressive" (_FORTIFY_SOURCES set to 2) some more checking is + added, but some conforming programs might fail. + config PKG_FORTIFY_SOURCE_NONE + bool "None" + config PKG_FORTIFY_SOURCE_1 + bool "Conservative" + config PKG_FORTIFY_SOURCE_2 + bool "Aggressive" + endchoice + + choice + prompt "Enable RELRO protection" + default PKG_RELRO_FULL + help + Enable a link-time protection known as RELRO (Relocation Read Only) + which helps to protect from certain type of exploitation techniques + altering the content of some ELF sections. "Partial" RELRO makes the + .dynamic section not writeable after initialization, introducing + almost no performance penalty, while "full" RELRO also marks the GOT + as read-only at the cost of initializing all of it at startup. + config PKG_RELRO_NONE + bool "None" + config PKG_RELRO_PARTIAL + bool "Partial" + config PKG_RELRO_FULL + bool "Full" + endchoice + + config TARGET_ROOTFS_SECURITY_LABELS + bool + select KERNEL_SQUASHFS_XATTR + select KERNEL_EXT4_FS_SECURITY + select KERNEL_F2FS_FS_SECURITY + select KERNEL_UBIFS_FS_SECURITY + select KERNEL_JFFS2_FS_SECURITY + + config SELINUX + bool "Enable SELinux" + select KERNEL_SECURITY_SELINUX + select TARGET_ROOTFS_SECURITY_LABELS + select PACKAGE_procd-selinux + select PACKAGE_busybox-selinux + help + This option enables SELinux kernel features, applies security labels + in squashfs rootfs and selects the selinux-variants of busybox and procd. + + Selecting this option results in about 0.5MiB of additional flash space + usage accounting for increased kernel and rootfs size. + + choice + prompt "default SELinux type" + depends on TARGET_ROOTFS_SECURITY_LABELS + default SELINUXTYPE_dssp + help + Select SELinux policy to be installed and used for applying rootfs labels. + + config SELINUXTYPE_targeted + bool "targeted" + select PACKAGE_refpolicy + help + SELinux Reference Policy (refpolicy) + + config SELINUXTYPE_dssp + bool "dssp" + select PACKAGE_selinux-policy + help + Defensec SELinux Security Policy -- OpenWrt edition + + endchoice + + config SECCOMP + bool "Enable SECCOMP" + select KERNEL_SECCOMP + select PACKAGE_procd-seccomp + depends on (aarch64 || arm || armeb || mips || mipsel || mips64 || mips64el || i386 || powerpc || x86_64) + depends on !TARGET_uml + default y + help + This option enables seccomp kernel features to safely + execute untrusted bytecode and selects the seccomp-variants + of procd + +endmenu diff --git a/config/Config-devel.in b/config/Config-devel.in new file mode 100644 index 0000000..87f9157 --- /dev/null +++ b/config/Config-devel.in @@ -0,0 +1,143 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2013 OpenWrt.org + +menuconfig DEVEL + bool "Advanced configuration options (for developers)" + default n + + config BROKEN + bool "Show broken platforms / packages / devices" if DEVEL + default n + + config BINARY_FOLDER + string "Binary folder" if DEVEL + default "" + help + Store built firmware images and filesystem images in this directory. + If not set, uses './bin/$(BOARD)' + + config DOWNLOAD_FOLDER + string "Download folder" if DEVEL + default "" + help + Store downloaded source bundles in this directory. + If not set then defaults to './dl', which is removed by operations such as + 'git clean -xdf' or 'make distclean'. + This option is useful if you have a low bandwidth Internet connection, and by + setting a path outside the OpenWrt tree downloads will be saved. + + config LOCALMIRROR + string "Local mirror for source packages" if DEVEL + default "" + + config AUTOREBUILD + bool "Automatic rebuild of packages" if DEVEL + default y + help + Automatically rebuild packages when their files change. + + config AUTOREMOVE + bool "Automatic removal of build directories" if DEVEL + default n + help + Automatically delete build directories after make target completed. + This allows you to symlink build_dir into a scratch location, e.g. a ramdisk, + which does not have enough space to keep a complete build_dir. + + config BUILD_SUFFIX + string "Build suffix to append to the target BUILD_DIR variable" if DEVEL + default "" + help + Build suffix to append to the BUILD_DIR variable, i.e: './build_dir/{target-build-dir}_$(BUILD_SUFFIX)'. + This allows you to switch to a different .config whilst retaining all the build + objects generated by the first .config + + config TARGET_ROOTFS_DIR + string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL + default "" + help + Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with + custom path. Use this option to re-define the location of the target + root filesystem directory. + + config CCACHE + bool "Use ccache" if DEVEL + default n + help + Compiler cache; see https://ccache.samba.org/ + + config CCACHE_DIR + string "Set ccache directory" if CCACHE + default "" + help + Store ccache in this directory. + If not set, uses './.ccache' + + config KERNEL_CFLAGS + string "Kernel extra CFLAGS" if DEVEL + default "-falign-functions=32" if TARGET_bcm53xx + default "" + + config EXTERNAL_KERNEL_TREE + string "Use external kernel tree" if DEVEL + default "" + + config KERNEL_GIT_CLONE_URI + string "Enter git repository to clone" if DEVEL + default "" + help + Enter the full git repository path i.e.: + git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + This will create a git clone of the kernel in your build directory. + + config KERNEL_GIT_LOCAL_REPOSITORY + string "Enter path to local reference repository" if DEVEL + depends on (KERNEL_GIT_CLONE_URI != "") + default "" + help + Enter a full pathname to a local reference git repository. + In this instance, the --reference option of git clone will + be used thus creating a quick local clone of your repo. + + config KERNEL_GIT_REF + string "Enter git ref at which to checkout" if DEVEL + depends on (KERNEL_GIT_CLONE_URI != "") + default "" + help + Enter the git ref at which to checkout the git repository + after it is cloned, and before making it a tar-ball. + It can be a git hash or a branch name. + If unused, the clone's repository HEAD will be checked-out. + + config KERNEL_GIT_MIRROR_HASH + string "Enter hash of Git kernel tree source checkout tarball" if DEVEL + depends on (KERNEL_GIT_CLONE_URI != "") + default "" + + config BUILD_LOG + bool "Enable log files during build process" if DEVEL + help + If enabled, log files will be written to the ./log directory. + + config BUILD_LOG_DIR + string "Log folder" if DEVEL + default "" + help + Store build logs in this directory. + If not set, uses './logs' + + config SRC_TREE_OVERRIDE + bool "Enable package source tree override" if DEVEL + help + If enabled, you can force a package to use a git tree as source + code instead of the normal tarball. Create a symlink 'git-src' + in the package directory, pointing to the .git tree that you want + to pull the source code from. + + config EXTRA_OPTIMIZATION + string "Additional compiler options" if DEVEL + default "-fno-caller-saves -fno-plt" if !CONFIG_EXTERNAL_TOOLCHAIN && !arc + default "-fno-caller-saves" + help + Extra target-independent optimizations to use when building for the target. diff --git a/config/Config-images.in b/config/Config-images.in new file mode 100644 index 0000000..abb4366 --- /dev/null +++ b/config/Config-images.in @@ -0,0 +1,321 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2013 OpenWrt.org + +menu "Target Images" + + menuconfig TARGET_ROOTFS_INITRAMFS + bool "ramdisk" + default y if USES_INITRAMFS + help + Embed the root filesystem into the kernel (initramfs). + + choice + prompt "Compression" + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ath79_mikrotik + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_lantiq + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips + default TARGET_INITRAMFS_COMPRESSION_XZ if USES_SEPARATE_INITRAMFS + default TARGET_INITRAMFS_COMPRESSION_NONE + depends on TARGET_ROOTFS_INITRAMFS + help + Select ramdisk compression. + + config TARGET_INITRAMFS_COMPRESSION_NONE + bool "none" + + config TARGET_INITRAMFS_COMPRESSION_GZIP + bool "gzip" + + config TARGET_INITRAMFS_COMPRESSION_BZIP2 + bool "bzip2" + + config TARGET_INITRAMFS_COMPRESSION_LZMA + bool "lzma" + + config TARGET_INITRAMFS_COMPRESSION_LZO + depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE + bool "lzo" + + config TARGET_INITRAMFS_COMPRESSION_LZ4 + depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE + bool "lz4" + + config TARGET_INITRAMFS_COMPRESSION_XZ + bool "xz" + + config TARGET_INITRAMFS_COMPRESSION_ZSTD + depends on !LINUX_5_4 && !LINUX_4_19 + bool "zstd" + endchoice + + config EXTERNAL_CPIO + string + prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS + default "" + help + Kernel uses specified external cpio as INITRAMFS_SOURCE. + + config TARGET_INITRAMFS_FORCE + bool "Force" + depends on TARGET_ROOTFS_INITRAMFS + default n + help + Ignore the initramfs passed by the bootloader. + + config TARGET_ROOTFS_INITRAMFS_SEPARATE + bool "separate ramdisk" + depends on USES_SEPARATE_INITRAMFS && TARGET_ROOTFS_INITRAMFS && !TARGET_INITRAMFS_FORCE + default y if USES_SEPARATE_INITRAMFS + help + Generate separate initrd.cpio instead of embedding it. + This is useful for generating images with a dedicated + ramdisk e.g. in U-Boot's uImage and uImage.FIT formats. + + comment "Root filesystem archives" + + config TARGET_ROOTFS_CPIOGZ + bool "cpio.gz" + default y if USES_CPIOGZ + help + Build a compressed cpio archive of the root filesystem. + + config TARGET_ROOTFS_TARGZ + bool "tar.gz" + default y if USES_TARGZ + help + Build a compressed tar archive of the root filesystem. + + comment "Root filesystem images" + + menuconfig TARGET_ROOTFS_EXT4FS + bool "ext4" + default y if USES_EXT4 + help + Build an ext4 root filesystem. + + config TARGET_EXT4_RESERVED_PCT + int "Percentage of reserved blocks in root filesystem" + depends on TARGET_ROOTFS_EXT4FS + default 0 + help + Select the percentage of reserved blocks in the root filesystem. + + choice + prompt "Root filesystem block size" + default TARGET_EXT4_BLOCKSIZE_4K + depends on TARGET_ROOTFS_EXT4FS + help + Select the block size of the root filesystem. + + config TARGET_EXT4_BLOCKSIZE_4K + bool "4k" + + config TARGET_EXT4_BLOCKSIZE_2K + bool "2k" + + config TARGET_EXT4_BLOCKSIZE_1K + bool "1k" + endchoice + + config TARGET_EXT4_BLOCKSIZE + int + default 4096 if TARGET_EXT4_BLOCKSIZE_4K + default 2048 if TARGET_EXT4_BLOCKSIZE_2K + default 1024 if TARGET_EXT4_BLOCKSIZE_1K + depends on TARGET_ROOTFS_EXT4FS + + config TARGET_EXT4_JOURNAL + bool "Create a journaling filesystem" + depends on TARGET_ROOTFS_EXT4FS + default n + help + Create an ext4 filesystem with a journal. + + config TARGET_ROOTFS_JFFS2 + bool "jffs2" + depends on USES_JFFS2 + help + Build a JFFS2 root filesystem. + + config TARGET_ROOTFS_JFFS2_NAND + bool "jffs2 for NAND" + default y if USES_JFFS2_NAND + depends on USES_JFFS2_NAND + help + Build a JFFS2 root filesystem for NAND flash. + + menuconfig TARGET_ROOTFS_SQUASHFS + bool "squashfs" + default y if USES_SQUASHFS + help + Build a squashfs-lzma root filesystem. + + config TARGET_SQUASHFS_BLOCK_SIZE + int "Block size (in KiB)" + depends on TARGET_ROOTFS_SQUASHFS + default 64 if LOW_MEMORY_FOOTPRINT + default 1024 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT) + default 256 + + menuconfig TARGET_ROOTFS_UBIFS + bool "ubifs" + default y if USES_UBIFS + depends on USES_UBIFS + help + Build a UBIFS root filesystem. + + choice + prompt "compression" + default TARGET_UBIFS_COMPRESSION_ZLIB + depends on TARGET_ROOTFS_UBIFS + help + Select compression type + + config TARGET_UBIFS_COMPRESSION_NONE + bool "none" + + config TARGET_UBIFS_COMPRESSION_LZO + bool "lzo" + + config TARGET_UBIFS_COMPRESSION_ZLIB + bool "zlib" + endchoice + + config TARGET_UBIFS_FREE_SPACE_FIXUP + bool "free space fixup" if TARGET_ROOTFS_UBIFS + default y + help + The filesystem free space has to be fixed up on first mount. + + config TARGET_UBIFS_JOURNAL_SIZE + string + prompt "journal size" if TARGET_ROOTFS_UBIFS + default "" + + config GRUB_IMAGES + bool "Build GRUB images (Linux x86 or x86_64 host only)" + depends on TARGET_x86 + depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS + select PACKAGE_grub2 + select PACKAGE_grub2-bios-setup + default y + + config GRUB_EFI_IMAGES + bool "Build GRUB EFI images (Linux x86 or x86_64 host only)" + depends on TARGET_x86 + depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS + select PACKAGE_grub2 + select PACKAGE_grub2-efi + select PACKAGE_grub2-bios-setup + select PACKAGE_kmod-fs-vfat + default y + + config GRUB_CONSOLE + bool "Use Console Terminal (in addition to Serial)" + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + default y + + config GRUB_SERIAL + string "Serial port device" + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + default "ttyS0" + + config GRUB_BAUDRATE + int "Serial port baud rate" + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + default 38400 if TARGET_x86_generic + default 115200 + + config GRUB_FLOWCONTROL + bool "Use RTE/CTS on serial console" + depends on GRUB_SERIAL != "" + default n + + config GRUB_BOOTOPTS + string "Extra kernel boot options" + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + help + If you don't know, just leave it blank. + + config GRUB_TIMEOUT + string "Seconds to wait before booting the default entry" + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + default "5" + help + If you don't know, 5 seconds is a reasonable default. + + config GRUB_TITLE + string "Title for the menu entry in GRUB" + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + default "OpenWrt" + help + This is the title of the GRUB menu entry. + If unspecified, it defaults to OpenWrt. + + config ISO_IMAGES + bool "Build LiveCD image (ISO)" + depends on TARGET_x86 + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + + config VDI_IMAGES + bool "Build VirtualBox image files (VDI)" + depends on TARGET_x86 + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + select PACKAGE_kmod-e1000 + + config VMDK_IMAGES + bool "Build VMware image files (VMDK)" + depends on TARGET_x86 + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + select PACKAGE_kmod-e1000 + + config VHDX_IMAGES + bool "Build Hyper-V image files (VHDX)" + depends on TARGET_x86 + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + select PACKAGE_kmod-e1000 + + config TARGET_IMAGES_GZIP + bool "GZip images" + depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta + default y + + comment "Image Options" + + source "target/linux/*/image/Config.in" + source "target/linux/*/*/image/Config.in" + + config TARGET_KERNEL_PARTSIZE + int "Kernel partition size (in MiB)" + depends on USES_BOOT_PART + default 8 if TARGET_apm821xx_sata + default 64 if TARGET_bcm27xx + default 16 + + config TARGET_ROOTFS_PARTSIZE + int "Root filesystem partition size (in MiB)" + depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS + default 104 + help + Select the root filesystem partition size. + + config TARGET_ROOTFS_PARTNAME + string "Root partition on target device" + depends on GRUB_IMAGES || GRUB_EFI_IMAGES + help + Override the root partition on the final device. If left empty, + it will be mounted by PARTUUID which makes the kernel find the + appropriate disk automatically. + + config TARGET_ROOTFS_PERSIST_VAR + bool "Make /var persistent" + default n + help + Do not symlink /var to /tmp, so that its content will persist + across reboots. When enabled, /var/run will still be linked + to /tmp/run. + +endmenu diff --git a/config/Config-kernel.in b/config/Config-kernel.in new file mode 100644 index 0000000..ab827d6 --- /dev/null +++ b/config/Config-kernel.in @@ -0,0 +1,1285 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2014 OpenWrt.org + +config KERNEL_BUILD_USER + string "Custom Kernel Build User Name" + default "builder" if BUILDBOT + default "" + help + Sets the Kernel build user string, which for example will be returned + by 'uname -a' on running systems. + If not set, uses system user at build time. + +config KERNEL_BUILD_DOMAIN + string "Custom Kernel Build Domain Name" + default "buildhost" if BUILDBOT + default "" + help + Sets the Kernel build domain string, which for example will be + returned by 'uname -a' on running systems. + If not set, uses system hostname at build time. + +config KERNEL_PRINTK + bool "Enable support for printk" + default y + +config KERNEL_SWAP + bool "Support for paging of anonymous memory (swap)" + default y if !SMALL_FLASH + +config KERNEL_PROC_STRIPPED + bool "Strip non-essential /proc functionality to reduce code size" + default y if SMALL_FLASH + +config KERNEL_DEBUG_FS + bool "Compile the kernel with debug filesystem enabled" + default y + help + debugfs is a virtual file system that kernel developers use to put + debugging files into. Enable this option to be able to read and + write to these files. Many common debugging facilities, such as + ftrace, require the existence of debugfs. + +config KERNEL_MIPS_FP_SUPPORT + bool + default y if TARGET_pistachio + +config KERNEL_ARM_PMU + bool + default n + depends on (arm || aarch64) + +config KERNEL_X86_VSYSCALL_EMULATION + bool "Enable vsyscall emulation" + default n + depends on x86_64 + help + This enables emulation of the legacy vsyscall page. Disabling + it is roughly equivalent to booting with vsyscall=none, except + that it will also disable the helpful warning if a program + tries to use a vsyscall. With this option set to N, offending + programs will just segfault, citing addresses of the form + 0xffffffffff600?00. + + This option is required by many programs built before 2013, and + care should be used even with newer programs if set to N. + + Disabling this option saves about 7K of kernel size and + possibly 4K of additional runtime pagetable memory. + +config KERNEL_PERF_EVENTS + bool "Compile the kernel with performance events and counters" + default n + select KERNEL_ARM_PMU if (arm || aarch64) + +config KERNEL_PROFILING + bool "Compile the kernel with profiling enabled" + default n + select KERNEL_PERF_EVENTS + help + Enable the extended profiling support mechanisms used by profilers such + as OProfile. + +config KERNEL_RPI_AXIPERF + bool "Compile the kernel with RaspberryPi AXI Performance monitors" + default y + depends on KERNEL_PERF_EVENTS && TARGET_bcm27xx + +config KERNEL_UBSAN + bool "Compile the kernel with undefined behaviour sanity checker" + help + This option enables undefined behaviour sanity checker + Compile-time instrumentation is used to detect various undefined + behaviours in runtime. Various types of checks may be enabled + via boot parameter ubsan_handle + (see: Documentation/dev-tools/ubsan.rst). + +config KERNEL_UBSAN_SANITIZE_ALL + bool "Enable instrumentation for the entire kernel" + depends on KERNEL_UBSAN + default y + help + This option activates instrumentation for the entire kernel. + If you don't enable this option, you have to explicitly specify + UBSAN_SANITIZE := y for the files/directories you want to check for UB. + Enabling this option will get kernel image size increased + significantly. + +config KERNEL_UBSAN_ALIGNMENT + bool "Enable checking of pointers alignment" + depends on KERNEL_UBSAN + help + This option enables detection of unaligned memory accesses. + Enabling this option on architectures that support unaligned + accesses may produce a lot of false positives. + +config KERNEL_UBSAN_BOUNDS + bool "Perform array index bounds checking" + depends on KERNEL_UBSAN + help + This option enables detection of directly indexed out of bounds array + accesses, where the array size is known at compile time. Note that + this does not protect array overflows via bad calls to the + {str,mem}*cpy() family of functions (that is addressed by + FORTIFY_SOURCE). + +config KERNEL_UBSAN_NULL + bool "Enable checking of null pointers" + depends on KERNEL_UBSAN + help + This option enables detection of memory accesses via a + null pointer. + +config KERNEL_UBSAN_TRAP + bool "On Sanitizer warnings, abort the running kernel code" + depends on KERNEL_UBSAN + help + Building kernels with Sanitizer features enabled tends to grow the + kernel size by around 5%, due to adding all the debugging text on + failure paths. To avoid this, Sanitizer instrumentation can just + issue a trap. This reduces the kernel size overhead but turns all + warnings (including potentially harmless conditions) into full + exceptions that abort the running kernel code (regardless of context, + locks held, etc), which may destabilize the system. For some system + builders this is an acceptable trade-off. + +config KERNEL_KASAN + bool "Compile the kernel with KASan: runtime memory debugger" + select KERNEL_SLUB_DEBUG + depends on (x86_64 || aarch64) + help + Enables kernel address sanitizer - runtime memory debugger, + designed to find out-of-bounds accesses and use-after-free bugs. + This is strictly a debugging feature and it requires a gcc version + of 4.9.2 or later. Detection of out of bounds accesses to stack or + global variables requires gcc 5.0 or later. + This feature consumes about 1/8 of available memory and brings about + ~x3 performance slowdown. + For better error detection enable CONFIG_STACKTRACE. + Currently CONFIG_KASAN doesn't work with CONFIG_DEBUG_SLAB + (the resulting kernel does not boot). + +config KERNEL_KASAN_EXTRA + bool "KAsan: extra checks" + depends on KERNEL_KASAN && KERNEL_DEBUG_KERNEL + help + This enables further checks in the kernel address sanitizer, for now + it only includes the address-use-after-scope check that can lead + to excessive kernel stack usage, frame size warnings and longer + compile time. + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81715 has more + +config KERNEL_KASAN_VMALLOC + bool "Back mappings in vmalloc space with real shadow memory" + depends on KERNEL_KASAN + help + By default, the shadow region for vmalloc space is the read-only + zero page. This means that KASAN cannot detect errors involving + vmalloc space. + + Enabling this option will hook in to vmap/vmalloc and back those + mappings with real shadow memory allocated on demand. This allows + for KASAN to detect more sorts of errors (and to support vmapped + stacks), but at the cost of higher memory usage. + + This option depends on HAVE_ARCH_KASAN_VMALLOC, but we can't + depend on that in here, so it is possible that enabling this + will have no effect. + +if KERNEL_KASAN + config KERNEL_KASAN_GENERIC + def_bool y + + config KERNEL_KASAN_SW_TAGS + def_bool n +endif + +choice + prompt "Instrumentation type" + depends on KERNEL_KASAN + default KERNEL_KASAN_OUTLINE + +config KERNEL_KASAN_OUTLINE + bool "Outline instrumentation" + help + Before every memory access compiler insert function call + __asan_load*/__asan_store*. These functions performs check + of shadow memory. This is slower than inline instrumentation, + however it doesn't bloat size of kernel's .text section so + much as inline does. + +config KERNEL_KASAN_INLINE + bool "Inline instrumentation" + help + Compiler directly inserts code checking shadow memory before + memory accesses. This is faster than outline (in some workloads + it gives about x2 boost over outline instrumentation), but + make kernel's .text size much bigger. + This requires a gcc version of 5.0 or later. + +endchoice + +config KERNEL_KCOV + bool "Compile the kernel with code coverage for fuzzing" + select KERNEL_DEBUG_FS + help + KCOV exposes kernel code coverage information in a form suitable + for coverage-guided fuzzing (randomized testing). + + If RANDOMIZE_BASE is enabled, PC values will not be stable across + different machines and across reboots. If you need stable PC values, + disable RANDOMIZE_BASE. + + For more details, see Documentation/kcov.txt. + +config KERNEL_KCOV_ENABLE_COMPARISONS + bool "Enable comparison operands collection by KCOV" + depends on KERNEL_KCOV + help + KCOV also exposes operands of every comparison in the instrumented + code along with operand sizes and PCs of the comparison instructions. + These operands can be used by fuzzing engines to improve the quality + of fuzzing coverage. + +config KERNEL_KCOV_INSTRUMENT_ALL + bool "Instrument all code by default" + depends on KERNEL_KCOV + default y if KERNEL_KCOV + help + If you are doing generic system call fuzzing (like e.g. syzkaller), + then you will want to instrument the whole kernel and you should + say y here. If you are doing more targeted fuzzing (like e.g. + filesystem fuzzing with AFL) then you will want to enable coverage + for more specific subsets of files, and should say n here. + +config KERNEL_TASKSTATS + bool "Compile the kernel with task resource/io statistics and accounting" + default n + help + Enable the collection and publishing of task/io statistics and + accounting. Enable this option to enable i/o monitoring in system + monitors. + +if KERNEL_TASKSTATS + + config KERNEL_TASK_DELAY_ACCT + def_bool y + + config KERNEL_TASK_IO_ACCOUNTING + def_bool y + + config KERNEL_TASK_XACCT + def_bool y + +endif + +config KERNEL_KALLSYMS + bool "Compile the kernel with symbol table information" + default y if !SMALL_FLASH + help + This will give you more information in stack traces from kernel oopses. + +config KERNEL_FTRACE + bool "Compile the kernel with tracing support" + depends on !TARGET_uml + default n + +config KERNEL_FTRACE_SYSCALLS + bool "Trace system calls" + depends on KERNEL_FTRACE + default n + +config KERNEL_ENABLE_DEFAULT_TRACERS + bool "Trace process context switches and events" + depends on KERNEL_FTRACE + default n + +config KERNEL_FUNCTION_TRACER + bool "Function tracer" + depends on KERNEL_FTRACE + default n + +config KERNEL_FUNCTION_GRAPH_TRACER + bool "Function graph tracer" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_DYNAMIC_FTRACE + bool "Enable/disable function tracing dynamically" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_FUNCTION_PROFILER + bool "Function profiler" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_IRQSOFF_TRACER + bool "Interrupts-off Latency Tracer" + depends on KERNEL_FTRACE + help + This option measures the time spent in irqs-off critical + sections, with microsecond accuracy. + + The default measurement method is a maximum search, which is + disabled by default and can be runtime (re-)started + via: + + echo 0 > /sys/kernel/debug/tracing/tracing_max_latency + + (Note that kernel size and overhead increase with this option + enabled. This option and the preempt-off timing option can be + used together or separately.) + +config KERNEL_PREEMPT_TRACER + bool "Preemption-off Latency Tracer" + depends on KERNEL_FTRACE + help + This option measures the time spent in preemption-off critical + sections, with microsecond accuracy. + + The default measurement method is a maximum search, which is + disabled by default and can be runtime (re-)started + via: + + echo 0 > /sys/kernel/debug/tracing/tracing_max_latency + + (Note that kernel size and overhead increase with this option + enabled. This option and the irqs-off timing option can be + used together or separately.) + +config KERNEL_HIST_TRIGGERS + bool "Histogram triggers" + depends on KERNEL_FTRACE + help + Hist triggers allow one or more arbitrary trace event fields to be + aggregated into hash tables and dumped to stdout by reading a + debugfs/tracefs file. They're useful for gathering quick and dirty + (though precise) summaries of event activity as an initial guide for + further investigation using more advanced tools. + + Inter-event tracing of quantities such as latencies is also + supported using hist triggers under this option. + +config KERNEL_DEBUG_KERNEL + bool + default n + +config KERNEL_DEBUG_INFO + bool "Compile the kernel with debug information" + default y if !SMALL_FLASH + select KERNEL_DEBUG_KERNEL + help + This will compile your kernel and modules with debug information. + +config KERNEL_DEBUG_LL_UART_NONE + bool + default n + depends on arm + +config KERNEL_DEBUG_LL + bool + default n + depends on arm + select KERNEL_DEBUG_LL_UART_NONE + help + ARM low level debugging. + +config KERNEL_DYNAMIC_DEBUG + bool "Compile the kernel with dynamic printk" + select KERNEL_DEBUG_FS + default n + help + Compiles debug level messages into the kernel, which would not + otherwise be available at runtime. These messages can then be + enabled/disabled based on various levels of scope - per source file, + function, module, format string, and line number. This mechanism + implicitly compiles in all pr_debug() and dev_dbg() calls, which + enlarges the kernel text size by about 2%. + +config KERNEL_EARLY_PRINTK + bool "Compile the kernel with early printk" + default y if TARGET_bcm53xx + default n + depends on arm + select KERNEL_DEBUG_KERNEL + select KERNEL_DEBUG_LL if arm + help + Compile the kernel with early printk support. This is only useful for + debugging purposes to send messages over the serial console in early boot. + Enable this to debug early boot problems. + +config KERNEL_KPROBES + bool "Compile the kernel with kprobes support" + default n + select KERNEL_FTRACE + select KERNEL_PERF_EVENTS + help + Compiles the kernel with KPROBES support, which allows you to trap + at almost any kernel address and execute a callback function. + register_kprobe() establishes a probepoint and specifies the + callback. Kprobes is useful for kernel debugging, non-intrusive + instrumentation and testing. + If in doubt, say "N". + +config KERNEL_KPROBE_EVENTS + bool + default y if KERNEL_KPROBES + +config KERNEL_BPF_KPROBE_OVERRIDE + bool + depends on KERNEL_KPROBES + default n + +config KERNEL_AIO + bool "Compile the kernel with asynchronous IO support" + default y if !SMALL_FLASH + +config KERNEL_IO_URING + bool "Compile the kernel with io_uring support" + default y if !SMALL_FLASH + +config KERNEL_FHANDLE + bool "Compile the kernel with support for fhandle syscalls" + default y if !SMALL_FLASH + +config KERNEL_FANOTIFY + bool "Compile the kernel with modern file notification support" + default y if !SMALL_FLASH + +config KERNEL_BLK_DEV_BSG + bool "Compile the kernel with SCSI generic v4 support for any block device" + default n + +config KERNEL_TRANSPARENT_HUGEPAGE + bool + +choice + prompt "Transparent Hugepage Support sysfs defaults" + depends on KERNEL_TRANSPARENT_HUGEPAGE + default KERNEL_TRANSPARENT_HUGEPAGE_ALWAYS + + config KERNEL_TRANSPARENT_HUGEPAGE_ALWAYS + bool "always" + + config KERNEL_TRANSPARENT_HUGEPAGE_MADVISE + bool "madvise" +endchoice + +config KERNEL_HUGETLBFS + bool + +config KERNEL_HUGETLB_PAGE + bool "Compile the kernel with HugeTLB support" + select KERNEL_TRANSPARENT_HUGEPAGE + select KERNEL_HUGETLBFS + default n + +config KERNEL_MAGIC_SYSRQ + bool "Compile the kernel with SysRq support" + default y + +config KERNEL_DEBUG_PINCTRL + bool "Compile the kernel with pinctrl debugging" + select KERNEL_DEBUG_KERNEL + +config KERNEL_DEBUG_GPIO + bool "Compile the kernel with gpio debugging" + select KERNEL_DEBUG_KERNEL + +config KERNEL_COREDUMP + bool + +config KERNEL_ELF_CORE + bool "Enable process core dump support" + select KERNEL_COREDUMP + default y if !SMALL_FLASH + +config KERNEL_PROVE_LOCKING + bool "Enable kernel lock checking" + select KERNEL_DEBUG_KERNEL + default n + +config KERNEL_SOFTLOCKUP_DETECTOR + bool "Compile the kernel with detect Soft Lockups" + depends on KERNEL_DEBUG_KERNEL + help + Say Y here to enable the kernel to act as a watchdog to detect + soft lockups. + + Softlockups are bugs that cause the kernel to loop in kernel + mode for more than 20 seconds, without giving other tasks a + chance to run. The current stack trace is displayed upon + detection and the system will stay locked up. + +config KERNEL_DETECT_HUNG_TASK + bool "Compile the kernel with detect Hung Tasks" + depends on KERNEL_DEBUG_KERNEL + default KERNEL_SOFTLOCKUP_DETECTOR + help + Say Y here to enable the kernel to detect "hung tasks", + which are bugs that cause the task to be stuck in + uninterruptible "D" state indefinitely. + + When a hung task is detected, the kernel will print the + current stack trace (which you should report), but the + task will stay in uninterruptible state. If lockdep is + enabled then all held locks will also be reported. This + feature has negligible overhead. + +config KERNEL_WQ_WATCHDOG + bool "Compile the kernel with detect Workqueue Stalls" + depends on KERNEL_DEBUG_KERNEL + help + Say Y here to enable stall detection on workqueues. If a + worker pool doesn't make forward progress on a pending work + item for over a given amount of time, 30s by default, a + warning message is printed along with dump of workqueue + state. This can be configured through kernel parameter + "workqueue.watchdog_thresh" and its sysfs counterpart. + +config KERNEL_DEBUG_ATOMIC_SLEEP + bool "Compile the kernel with sleep inside atomic section checking" + depends on KERNEL_DEBUG_KERNEL + help + If you say Y here, various routines which may sleep will become very + noisy if they are called inside atomic sections: when a spinlock is + held, inside an rcu read side critical section, inside preempt disabled + sections, inside an interrupt, etc... + +config KERNEL_DEBUG_VM + bool "Compile the kernel with debug VM" + depends on KERNEL_DEBUG_KERNEL + help + Enable this to turn on extended checks in the virtual-memory system + that may impact performance. + + If unsure, say N. + +config KERNEL_PRINTK_TIME + bool "Enable printk timestamps" + default y + +config KERNEL_SLUB_DEBUG + bool + +config KERNEL_SLUB_DEBUG_ON + bool + +config KERNEL_SLABINFO + select KERNEL_SLUB_DEBUG + select KERNEL_SLUB_DEBUG_ON + bool "Enable /proc slab debug info" + +config KERNEL_PROC_PAGE_MONITOR + bool "Enable /proc page monitoring" + +config KERNEL_RELAY + bool + +config KERNEL_KEXEC + bool "Enable kexec support" + +config KERNEL_PROC_VMCORE + bool + +config KERNEL_PROC_KCORE + bool + +config KERNEL_CRASH_DUMP + depends on i386 || x86_64 || arm || armeb + select KERNEL_KEXEC + select KERNEL_PROC_VMCORE + select KERNEL_PROC_KCORE + bool "Enable support for kexec crashdump" + default y + +config USE_RFKILL + bool "Enable rfkill support" + default RFKILL_SUPPORT + +config USE_SPARSE + bool "Enable sparse check during kernel build" + default n + +config KERNEL_DEVTMPFS + bool "Compile the kernel with device tmpfs enabled" + default n + help + devtmpfs is a simple, kernel-managed /dev filesystem. The kernel creates + devices nodes for all registered devices to simplify boot, but leaves more + complex tasks to userspace (e.g. udev). + +if KERNEL_DEVTMPFS + + config KERNEL_DEVTMPFS_MOUNT + bool "Automatically mount devtmpfs after root filesystem is mounted" + default n + +endif + +config KERNEL_KEYS + bool "Enable kernel access key retention support" + default !SMALL_FLASH + +config KERNEL_PERSISTENT_KEYRINGS + bool "Enable kernel persistent keyrings" + depends on KERNEL_KEYS + default n + +config KERNEL_KEYS_REQUEST_CACHE + bool "Enable temporary caching of the last request_key() result" + depends on KERNEL_KEYS + default n + +config KERNEL_BIG_KEYS + bool "Enable large payload keys on kernel keyrings" + depends on KERNEL_KEYS + default n + +# +# CGROUP support symbols +# + +config KERNEL_CGROUPS + bool "Enable kernel cgroups" + default y if !SMALL_FLASH + +if KERNEL_CGROUPS + + config KERNEL_CGROUP_DEBUG + bool "Example debug cgroup subsystem" + default n + help + This option enables a simple cgroup subsystem that + exports useful debugging information about the cgroups + framework. + + config KERNEL_FREEZER + bool + + config KERNEL_CGROUP_FREEZER + bool "legacy Freezer cgroup subsystem" + default n + select KERNEL_FREEZER + help + Provides a way to freeze and unfreeze all tasks in a + cgroup. + (legacy cgroup1-only controller, in cgroup2 freezer + is integrated in the Memory controller) + + config KERNEL_CGROUP_DEVICE + bool "legacy Device controller for cgroups" + default n + help + Provides a cgroup implementing whitelists for devices which + a process in the cgroup can mknod or open. + (legacy cgroup1-only controller) + + config KERNEL_CGROUP_HUGETLB + bool "HugeTLB controller" + default n + select KERNEL_HUGETLB_PAGE + + config KERNEL_CGROUP_PIDS + bool "PIDs cgroup subsystem" + default y + help + Provides enforcement of process number limits in the scope of a + cgroup. + + config KERNEL_CGROUP_RDMA + bool "RDMA controller for cgroups" + default y + + config KERNEL_CGROUP_BPF + bool "Support for eBPF programs attached to cgroups" + default y + + config KERNEL_CPUSETS + bool "Cpuset support" + default y + help + This option will let you create and manage CPUSETs which + allow dynamically partitioning a system into sets of CPUs and + Memory Nodes and assigning tasks to run only within those sets. + This is primarily useful on large SMP or NUMA systems. + + config KERNEL_PROC_PID_CPUSET + bool "Include legacy /proc//cpuset file" + default n + depends on KERNEL_CPUSETS + + config KERNEL_CGROUP_CPUACCT + bool "Simple CPU accounting cgroup subsystem" + default y + help + Provides a simple Resource Controller for monitoring the + total CPU consumed by the tasks in a cgroup. + + config KERNEL_RESOURCE_COUNTERS + bool "Resource counters" + default y + help + This option enables controller independent resource accounting + infrastructure that works with cgroups. + + config KERNEL_MM_OWNER + bool + default y if KERNEL_MEMCG + + config KERNEL_MEMCG + bool "Memory Resource Controller for Control Groups" + default y + select KERNEL_FREEZER + depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18 + help + Provides a memory resource controller that manages both anonymous + memory and page cache. (See Documentation/cgroups/memory.txt) + + Note that setting this option increases fixed memory overhead + associated with each page of memory in the system. By this, + 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory + usage tracking struct at boot. Total amount of this is printed out + at boot. + + Only enable when you're ok with these tradeoffs and really + sure you need the memory resource controller. Even when you enable + this, you can set "cgroup_disable=memory" at your boot option to + disable memory resource controller and you can avoid overheads + (but lose benefits of memory resource controller). + + This config option also selects MM_OWNER config option, which + could in turn add some fork/exit overhead. + + config KERNEL_MEMCG_SWAP + bool "Memory Resource Controller Swap Extension" + default y + depends on KERNEL_MEMCG + help + Add swap management feature to memory resource controller. When you + enable this, you can limit mem+swap usage per cgroup. In other words, + when you disable this, memory resource controller has no cares to + usage of swap...a process can exhaust all of the swap. This extension + is useful when you want to avoid exhaustion swap but this itself + adds more overheads and consumes memory for remembering information. + Especially if you use 32bit system or small memory system, please + be careful about enabling this. When memory resource controller + is disabled by boot option, this will be automatically disabled and + there will be no overhead from this. Even when you set this config=y, + if boot option "swapaccount=0" is set, swap will not be accounted. + Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page + size is 4096bytes, 512k per 1Gbytes of swap. + + config KERNEL_MEMCG_SWAP_ENABLED + bool "Memory Resource Controller Swap Extension enabled by default" + default n + depends on KERNEL_MEMCG_SWAP + help + Memory Resource Controller Swap Extension comes with its price in + a bigger memory consumption. General purpose distribution kernels + which want to enable the feature but keep it disabled by default + and let the user enable it by swapaccount boot command line + parameter should have this option unselected. + + Those who want to have the feature enabled by default should + select this option (if, for some reason, they need to disable it, + then swapaccount=0 does the trick). + + + config KERNEL_MEMCG_KMEM + bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)" + default y + depends on KERNEL_MEMCG + help + The Kernel Memory extension for Memory Resource Controller can limit + the amount of memory used by kernel objects in the system. Those are + fundamentally different from the entities handled by the standard + Memory Controller, which are page-based, and can be swapped. Users of + the kmem extension can use it to guarantee that no group of processes + will ever exhaust kernel resources alone. + + config KERNEL_CGROUP_PERF + bool "Enable perf_event per-cpu per-container group (cgroup) monitoring" + select KERNEL_PERF_EVENTS + default n + help + This option extends the per-cpu mode to restrict monitoring to + threads which belong to the cgroup specified and run on the + designated cpu. + + menuconfig KERNEL_CGROUP_SCHED + bool "Group CPU scheduler" + default y + help + This feature lets CPU scheduler recognize task groups and control CPU + bandwidth allocation to such task groups. It uses cgroups to group + tasks. + + if KERNEL_CGROUP_SCHED + + config KERNEL_FAIR_GROUP_SCHED + bool "Group scheduling for SCHED_OTHER" + default y + + config KERNEL_CFS_BANDWIDTH + bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED" + default y + depends on KERNEL_FAIR_GROUP_SCHED + help + This option allows users to define CPU bandwidth rates (limits) for + tasks running within the fair group scheduler. Groups with no limit + set are considered to be unconstrained and will run with no + restriction. + See tip/Documentation/scheduler/sched-bwc.txt for more information. + + config KERNEL_RT_GROUP_SCHED + bool "Group scheduling for SCHED_RR/FIFO" + default y + help + This feature lets you explicitly allocate real CPU bandwidth + to task groups. If enabled, it will also make it impossible to + schedule realtime tasks for non-root users until you allocate + realtime bandwidth for them. + + endif + + config KERNEL_BLK_CGROUP + bool "Block IO controller" + default y + help + Generic block IO controller cgroup interface. This is the common + cgroup interface which should be used by various IO controlling + policies. + + Currently, CFQ IO scheduler uses it to recognize task groups and + control disk bandwidth allocation (proportional time slice allocation) + to such task groups. It is also used by bio throttling logic in + block layer to implement upper limit in IO rates on a device. + + This option only enables generic Block IO controller infrastructure. + One needs to also enable actual IO controlling logic/policy. For + enabling proportional weight division of disk bandwidth in CFQ, set + CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set + CONFIG_BLK_DEV_THROTTLING=y. + + if KERNEL_BLK_CGROUP + + config KERNEL_CFQ_GROUP_IOSCHED + bool "Proportional weight of disk bandwidth in CFQ" + + config KERNEL_BLK_DEV_THROTTLING + bool "Enable throttling policy" + default y + + config KERNEL_BLK_DEV_THROTTLING_LOW + bool "Block throttling .low limit interface support (EXPERIMENTAL)" + depends on KERNEL_BLK_DEV_THROTTLING + endif + + config KERNEL_DEBUG_BLK_CGROUP + bool "Enable Block IO controller debugging" + default n + depends on KERNEL_BLK_CGROUP + help + Enable some debugging help. Currently it exports additional stat + files in a cgroup which can be useful for debugging. + + config KERNEL_NET_CLS_CGROUP + bool "legacy Control Group Classifier" + default n + + config KERNEL_CGROUP_NET_CLASSID + bool "legacy Network classid cgroup" + default n + + config KERNEL_CGROUP_NET_PRIO + bool "legacy Network priority cgroup" + default n + +endif + +# +# Namespace support symbols +# + +config KERNEL_NAMESPACES + bool "Enable kernel namespaces" + default y if !SMALL_FLASH + +if KERNEL_NAMESPACES + + config KERNEL_UTS_NS + bool "UTS namespace" + default y + help + In this namespace, tasks see different info provided + with the uname() system call. + + config KERNEL_IPC_NS + bool "IPC namespace" + default y + help + In this namespace, tasks work with IPC ids which correspond to + different IPC objects in different namespaces. + + config KERNEL_USER_NS + bool "User namespace (EXPERIMENTAL)" + default y + help + This allows containers, i.e. vservers, to use user namespaces + to provide different user info for different servers. + + config KERNEL_PID_NS + bool "PID Namespaces" + default y + help + Support process id namespaces. This allows having multiple + processes with the same pid as long as they are in different + pid namespaces. This is a building block of containers. + + config KERNEL_NET_NS + bool "Network namespace" + default y + help + Allow user space to create what appear to be multiple instances + of the network stack. + +endif + +config KERNEL_DEVPTS_MULTIPLE_INSTANCES + bool "Support multiple instances of devpts" + default y if !SMALL_FLASH + help + Enable support for multiple instances of devpts filesystem. + If you want to have isolated PTY namespaces (eg: in containers), + say Y here. Otherwise, say N. If enabled, each mount of devpts + filesystem with the '-o newinstance' option will create an + independent PTY namespace. + +config KERNEL_POSIX_MQUEUE + bool "POSIX Message Queues" + default y if !SMALL_FLASH + help + POSIX variant of message queues is a part of IPC. In POSIX message + queues every message has a priority which decides about succession + of receiving it by a process. If you want to compile and run + programs written e.g. for Solaris with use of its POSIX message + queues (functions mq_*) say Y here. + + POSIX message queues are visible as a filesystem called 'mqueue' + and can be mounted somewhere if you want to do filesystem + operations on message queues. + + +config KERNEL_SECCOMP_FILTER + bool + default y if !SMALL_FLASH + +config KERNEL_SECCOMP + bool "Enable seccomp support" + depends on !(TARGET_uml) + select KERNEL_SECCOMP_FILTER + default y if !SMALL_FLASH + help + Build kernel with support for seccomp. + +# +# IPv4 configuration +# + +config KERNEL_IP_MROUTE + bool "Enable IPv4 multicast routing" + default y + help + Multicast routing requires a multicast routing daemon in + addition to kernel support. + +if KERNEL_IP_MROUTE + + config KERNEL_IP_MROUTE_MULTIPLE_TABLES + def_bool y + + config KERNEL_IP_PIMSM_V1 + def_bool y + + config KERNEL_IP_PIMSM_V2 + def_bool y + +endif + +# +# IPv6 configuration +# + +config KERNEL_IPV6 + def_bool IPV6 + +if KERNEL_IPV6 + + config KERNEL_IPV6_MULTIPLE_TABLES + def_bool y + + config KERNEL_IPV6_SUBTREES + def_bool y + + config KERNEL_IPV6_MROUTE + bool "Enable IPv6 multicast routing" + default y + help + Multicast routing requires a multicast routing daemon in + addition to kernel support. + + if KERNEL_IPV6_MROUTE + + config KERNEL_IPV6_MROUTE_MULTIPLE_TABLES + def_bool y + + config KERNEL_IPV6_PIMSM_V2 + def_bool y + + endif + + config KERNEL_IPV6_SEG6_LWTUNNEL + bool "Enable support for lightweight tunnels" + default y if !SMALL_FLASH + help + Using lwtunnel (needed for IPv6 segment routing) requires ip-full package. + + config KERNEL_LWTUNNEL_BPF + def_bool n + +endif + +# +# Miscellaneous network configuration +# + +config KERNEL_NET_L3_MASTER_DEV + bool "L3 Master device support" + help + This module provides glue between core networking code and device + drivers to support L3 master devices like VRF. + +# +# NFS related symbols +# +config KERNEL_IP_PNP + bool "Compile the kernel with rootfs on NFS" + help + If you want to make your kernel boot off a NFS server as root + filesystem, select Y here. + +if KERNEL_IP_PNP + + config KERNEL_IP_PNP_DHCP + def_bool y + + config KERNEL_IP_PNP_BOOTP + def_bool n + + config KERNEL_IP_PNP_RARP + def_bool n + + config KERNEL_NFS_FS + def_bool y + + config KERNEL_NFS_V2 + def_bool y + + config KERNEL_NFS_V3 + def_bool y + + config KERNEL_ROOT_NFS + def_bool y + +endif + +menu "Filesystem ACL and attr support options" + config USE_FS_ACL_ATTR + bool "Use filesystem ACL and attr support by default" + default n + help + Make using ACLs (e.g. POSIX ACL, NFSv4 ACL) the default + for kernel and packages, except tmpfs, flash filesystems, + and old NFS. Also enable userspace extended attribute support + by default. (OpenWrt already has an expection it will be + present in the kernel). + + config KERNEL_FS_POSIX_ACL + bool "Enable POSIX ACL support" + default y if USE_FS_ACL_ATTR + + config KERNEL_BTRFS_FS_POSIX_ACL + bool "Enable POSIX ACL for BtrFS Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_EXT4_FS_POSIX_ACL + bool "Enable POSIX ACL for Ext4 Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_F2FS_FS_POSIX_ACL + bool "Enable POSIX ACL for F2FS Filesystems" + select KERNEL_FS_POSIX_ACL + default n + + config KERNEL_JFFS2_FS_POSIX_ACL + bool "Enable POSIX ACL for JFFS2 Filesystems" + select KERNEL_FS_POSIX_ACL + default n + + config KERNEL_TMPFS_POSIX_ACL + bool "Enable POSIX ACL for TMPFS Filesystems" + select KERNEL_FS_POSIX_ACL + default n + + config KERNEL_CIFS_ACL + bool "Enable CIFS ACLs" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_HFS_FS_POSIX_ACL + bool "Enable POSIX ACL for HFS Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_HFSPLUS_FS_POSIX_ACL + bool "Enable POSIX ACL for HFS+ Filesystems" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_NFS_ACL_SUPPORT + bool "Enable ACLs for NFS" + default y if USE_FS_ACL_ATTR + + config KERNEL_NFS_V3_ACL_SUPPORT + bool "Enable ACLs for NFSv3" + default n + + config KERNEL_NFSD_V2_ACL_SUPPORT + bool "Enable ACLs for NFSDv2" + default n + + config KERNEL_NFSD_V3_ACL_SUPPORT + bool "Enable ACLs for NFSDv3" + default n + + config KERNEL_REISER_FS_POSIX_ACL + bool "Enable POSIX ACLs for ReiserFS" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_XFS_POSIX_ACL + bool "Enable POSIX ACLs for XFS" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + + config KERNEL_JFS_POSIX_ACL + bool "Enable POSIX ACLs for JFS" + select KERNEL_FS_POSIX_ACL + default y if USE_FS_ACL_ATTR + +endmenu + +config KERNEL_DEVMEM + bool "/dev/mem virtual device support" + help + Say Y here if you want to support the /dev/mem device. + The /dev/mem device is used to access areas of physical + memory. + +config KERNEL_DEVKMEM + bool "/dev/kmem virtual device support" + help + Say Y here if you want to support the /dev/kmem device. The + /dev/kmem device is rarely used, but can be used for certain + kind of kernel debugging operations. + +config KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE + int "Number of squashfs fragments cached" + default 2 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT) + default 3 + +config KERNEL_SQUASHFS_XATTR + bool "Squashfs XATTR support" + +# +# compile optimization setting +# +choice + prompt "Compiler optimization level" + default KERNEL_CC_OPTIMIZE_FOR_SIZE if SMALL_FLASH + +config KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE + bool "Optimize for performance" + help + This is the default optimization level for the kernel, building + with the "-O2" compiler flag for best performance and most + helpful compile-time warnings. + +config KERNEL_CC_OPTIMIZE_FOR_SIZE + bool "Optimize for size" + help + Enabling this option will pass "-Os" instead of "-O2" to + your compiler resulting in a smaller kernel. + +endchoice + +config KERNEL_AUDIT + bool "Auditing support" + +config KERNEL_SECURITY + bool "Enable different security models" + +config KERNEL_SECURITY_NETWORK + bool "Socket and Networking Security Hooks" + select KERNEL_SECURITY + +config KERNEL_SECURITY_SELINUX + bool "NSA SELinux Support" + select KERNEL_SECURITY_NETWORK + select KERNEL_AUDIT + +config KERNEL_SECURITY_SELINUX_BOOTPARAM + bool "NSA SELinux boot parameter" + depends on KERNEL_SECURITY_SELINUX + default y + +config KERNEL_SECURITY_SELINUX_DISABLE + bool "NSA SELinux runtime disable" + depends on KERNEL_SECURITY_SELINUX + +config KERNEL_SECURITY_SELINUX_DEVELOP + bool "NSA SELinux Development Support" + depends on KERNEL_SECURITY_SELINUX + default y + +config KERNEL_SECURITY_SELINUX_SIDTAB_HASH_BITS + int + depends on KERNEL_SECURITY_SELINUX + default 9 + +config KERNEL_SECURITY_SELINUX_SID2STR_CACHE_SIZE + int + depends on KERNEL_SECURITY_SELINUX + default 256 + +config KERNEL_LSM + string + default "lockdown,yama,loadpin,safesetid,integrity,selinux" + depends on KERNEL_SECURITY_SELINUX + +config KERNEL_EXT4_FS_SECURITY + bool "Ext4 Security Labels" + +config KERNEL_F2FS_FS_SECURITY + bool "F2FS Security Labels" + +config KERNEL_UBIFS_FS_SECURITY + bool "UBIFS Security Labels" + +config KERNEL_JFFS2_FS_SECURITY + bool "JFFS2 Security Labels" diff --git a/config/check-uname.sh b/config/check-uname.sh new file mode 100755 index 0000000..1f1bf9e --- /dev/null +++ b/config/check-uname.sh @@ -0,0 +1 @@ +[ "$(uname)" = "$1" ] && echo y || echo n diff --git a/feeds.conf.default b/feeds.conf.default new file mode 100644 index 0000000..f20f9db --- /dev/null +++ b/feeds.conf.default @@ -0,0 +1,4 @@ +src-git-full packages https://git.openwrt.org/feed/packages.git;openwrt-22.03 +src-git-full luci https://git.openwrt.org/project/luci.git;openwrt-22.03 +src-git-full routing https://git.openwrt.org/feed/routing.git;openwrt-22.03 +src-git-full telephony https://git.openwrt.org/feed/telephony.git;openwrt-22.03 diff --git a/include/autotools.mk b/include/autotools.mk new file mode 100644 index 0000000..e9a7a82 --- /dev/null +++ b/include/autotools.mk @@ -0,0 +1,180 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2020 OpenWrt.org + +ifneq ($(__autotools_inc),1) +__autotools_inc=1 + +autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2)) + +# delete *.la-files from staging_dir - we can not yet remove respective lines within all package +# Makefiles, since backfire still uses libtool v1.5.x which (may) require those files +define libtool_remove_files + find $(1) -name '*.la' | $(XARGS) rm -f; +endef + + +AM_TOOL_PATHS:= \ + AUTOM4TE=$(STAGING_DIR_HOST)/bin/autom4te \ + AUTOCONF=$(STAGING_DIR_HOST)/bin/autoconf \ + AUTOMAKE=$(STAGING_DIR_HOST)/bin/automake \ + ACLOCAL=$(STAGING_DIR_HOST)/bin/aclocal \ + AUTOHEADER=$(STAGING_DIR_HOST)/bin/autoheader \ + LIBTOOLIZE=$(STAGING_DIR_HOST)/bin/libtoolize \ + LIBTOOL=$(STAGING_DIR_HOST)/bin/libtool \ + M4=$(STAGING_DIR_HOST)/bin/m4 \ + AUTOPOINT=true + +# 1: build dir +# 2: remove files +# 3: automake paths +# 4: libtool paths +# 5: extra m4 dirs +define autoreconf + (cd $(1); \ + $(patsubst %,rm -f %;,$(2)) \ + $(foreach p,$(3), \ + if [ -f $(p)/configure.ac ] || [ -f $(p)/configure.in ]; then \ + [ -d $(p)/autom4te.cache ] && rm -rf $(p)/autom4te.cache; \ + [ -e $(p)/config.rpath ] || \ + ln -s $(SCRIPT_DIR)/config.rpath $(p)/config.rpath; \ + touch NEWS AUTHORS COPYING ABOUT-NLS ChangeLog; \ + $(AM_TOOL_PATHS) \ + LIBTOOLIZE='$(STAGING_DIR_HOST)/bin/libtoolize --install' \ + $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \ + $(if $(word 2,$(3)),--no-recursive) \ + -B $(STAGING_DIR_HOST)/share/aclocal \ + $(patsubst %,-I %,$(5)) \ + $(patsubst %,-I %,$(4)) $(p) || true; \ + fi; \ + ) \ + ); +endef + +# 1: build dir +define patch_libtool + @(cd $(1); \ + for lt in $$$$($$(STAGING_DIR_HOST)/bin/find . -name ltmain.sh); do \ + lt_version="$$$$($$(STAGING_DIR_HOST)/bin/sed -ne 's,^[[:space:]]*VERSION="\?\([0-9]\.[0-9]\+\).*,\1,p' $$$$lt)"; \ + case "$$$$lt_version" in \ + 1.5|2.2|2.4) echo "autotools.mk: Found libtool v$$$$lt_version - applying patch to $$$$lt"; \ + (cd $$$$(dirname $$$$lt) && $$(PATCH) -N -s -p1 < $$(TOPDIR)/tools/libtool/files/libtool-v$$$$lt_version.patch || true) ;; \ + *) echo "autotools.mk: error: Unsupported libtool version v$$$$lt_version - cannot patch $$$$lt"; exit 1 ;; \ + esac; \ + done; \ + ); +endef + +define set_libtool_abiver + sed -i \ + -e 's,^soname_spec=.*,soname_spec="\\$$$${libname}\\$$$${shared_ext}.$(PKG_ABI_VERSION)",' \ + -e 's,^library_names_spec=.*,library_names_spec="\\$$$${libname}\\$$$${shared_ext}.$(PKG_ABI_VERSION) \\$$$${libname}\\$$$${shared_ext}",' \ + $(PKG_BUILD_DIR)/libtool +endef + +PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH) +PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH) +PKG_MACRO_PATHS?=m4 +PKG_REMOVE_FILES?=aclocal.m4 + +Hooks/InstallDev/Post += libtool_remove_files + +define autoreconf_target + $(strip $(call autoreconf, \ + $(PKG_BUILD_DIR), $(PKG_REMOVE_FILES), \ + $(PKG_AUTOMAKE_PATHS), $(PKG_LIBTOOL_PATHS), \ + $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR_HOSTPKG)/share/aclocal $(STAGING_DIR)/usr/share/aclocal $(PKG_MACRO_PATHS))) +endef + +define patch_libtool_target + $(strip $(call patch_libtool, \ + $(PKG_BUILD_DIR))) +endef + +define gettext_version_target + (cd $(PKG_BUILD_DIR) && \ + GETTEXT_VERSION=$(shell $(STAGING_DIR_HOSTPKG)/bin/gettext -V | $(STAGING_DIR_HOST)/bin/sed -rne '1s/.*\b([0-9]\.[0-9]+(\.[0-9]+)?)\b.*/\1/p' ) && \ + $(STAGING_DIR_HOST)/bin/sed \ + -i $(PKG_BUILD_DIR)/configure.ac \ + -e "s/AM_GNU_GETTEXT_VERSION(.*)/AM_GNU_GETTEXT_VERSION(\[$$$$GETTEXT_VERSION\])/g" && \ + $(STAGING_DIR_HOSTPKG)/bin/autopoint --force \ + ); +endef + +ifneq ($(filter gettext-version,$(PKG_FIXUP)),) + Hooks/Configure/Pre += gettext_version_target + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter patch-libtool,$(PKG_FIXUP)),) + Hooks/Configure/Pre += patch_libtool_target +endif + +ifneq ($(filter libtool,$(PKG_FIXUP)),) + PKG_BUILD_DEPENDS += libtool libiconv + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter libtool-abiver,$(PKG_FIXUP)),) + Hooks/Configure/Post += set_libtool_abiver +endif + +ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),) + PKG_BUILD_DEPENDS += libtool libiconv + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter autoreconf,$(PKG_FIXUP)),) + ifeq ($(filter autoreconf,$(Hooks/Configure/Pre)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + + +HOST_FIXUP?=$(PKG_FIXUP) +HOST_LIBTOOL_PATHS?=$(if $(PKG_LIBTOOL_PATHS),$(PKG_LIBTOOL_PATHS),.) +HOST_AUTOMAKE_PATHS?=$(if $(PKG_AUTOMAKE_PATHS),$(PKG_AUTOMAKE_PATHS),.) +HOST_MACRO_PATHS?=$(if $(PKG_MACRO_PATHS),$(PKG_MACRO_PATHS),m4) +HOST_REMOVE_FILES?=$(PKG_REMOVE_FILES) + +define autoreconf_host + $(strip $(call autoreconf, \ + $(HOST_BUILD_DIR), $(HOST_REMOVE_FILES), \ + $(HOST_AUTOMAKE_PATHS), $(HOST_LIBTOOL_PATHS), \ + $(HOST_MACRO_PATHS))) +endef + +define patch_libtool_host + $(strip $(call patch_libtool, \ + $(HOST_BUILD_DIR))) +endef + +ifneq ($(filter patch-libtool,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += patch_libtool_host +endif + +ifneq ($(filter libtool,$(HOST_FIXUP)),) + ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif + +ifneq ($(filter libtool-ucxx,$(HOST_FIXUP)),) + ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif + +ifneq ($(filter autoreconf,$(HOST_FIXUP)),) + ifeq ($(filter autoreconf,$(Hooks/HostConfigure/Pre)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif + +endif #__autotools_inc diff --git a/include/bpf.mk b/include/bpf.mk new file mode 100644 index 0000000..ec3f04e --- /dev/null +++ b/include/bpf.mk @@ -0,0 +1,85 @@ +BPF_DEPENDS := @HAS_BPF_TOOLCHAIN +LLVM_VER:= + +CLANG_MIN_VER:=12 + +ifneq ($(CONFIG_USE_LLVM_HOST),) + BPF_TOOLCHAIN_HOST_PATH:=$(call qstrip,$(CONFIG_BPF_TOOLCHAIN_HOST_PATH)) + ifneq ($(BPF_TOOLCHAIN_HOST_PATH),) + BPF_PATH:=$(BPF_TOOLCHAIN_HOST_PATH)/bin:$(PATH) + else + BPF_PATH:=$(PATH) + endif + CLANG:=$(firstword $(shell PATH='$(BPF_PATH)' command -v clang clang-13 clang-12 clang-11)) + LLVM_VER:=$(subst clang,,$(notdir $(CLANG))) +endif +ifneq ($(CONFIG_USE_LLVM_PREBUILT),) + CLANG:=$(TOPDIR)/llvm-bpf/bin/clang +endif +ifneq ($(CONFIG_USE_LLVM_BUILD),) + CLANG:=$(STAGING_DIR_HOST)/llvm-bpf/bin/clang +endif + +LLVM_PATH:=$(dir $(CLANG)) +LLVM_LLC:=$(LLVM_PATH)/llc$(LLVM_VER) +LLVM_DIS:=$(LLVM_PATH)/llvm-dis$(LLVM_VER) +LLVM_OPT:=$(LLVM_PATH)/opt$(LLVM_VER) +LLVM_STRIP:=$(LLVM_PATH)/llvm-strip$(LLVM_VER) + +BPF_KARCH:=mips +BPF_ARCH:=mips$(if $(CONFIG_ARCH_64BIT),64)$(if $(CONFIG_BIG_ENDIAN),,el) +BPF_TARGET:=bpf$(if $(CONFIG_BIG_ENDIAN),eb,el) + +BPF_HEADERS_DIR:=$(STAGING_DIR)/bpf-headers + +BPF_KERNEL_INCLUDE := \ + -nostdinc -isystem $(TOOLCHAIN_DIR)/include \ + -I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include \ + -I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include/asm/mach-generic \ + -I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include/generated \ + -I$(BPF_HEADERS_DIR)/include \ + -I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include/uapi \ + -I$(BPF_HEADERS_DIR)/arch/$(BPF_KARCH)/include/generated/uapi \ + -I$(BPF_HEADERS_DIR)/include/uapi \ + -I$(BPF_HEADERS_DIR)/include/generated/uapi \ + -I$(BPF_HEADERS_DIR)/tools/lib \ + -I$(BPF_HEADERS_DIR)/tools/testing/selftests \ + -I$(BPF_HEADERS_DIR)/samples/bpf \ + -include linux/kconfig.h -include asm_goto_workaround.h + +BPF_CFLAGS := \ + $(BPF_KERNEL_INCLUDE) -I$(PKG_BUILD_DIR) \ + -D__KERNEL__ -D__BPF_TRACING__ -DCONFIG_GENERIC_CSUM \ + -D__TARGET_ARCH_${BPF_KARCH} \ + -m$(if $(CONFIG_BIG_ENDIAN),big,little)-endian \ + -fno-stack-protector -Wall \ + -Wno-unused-value -Wno-pointer-sign \ + -Wno-compare-distinct-pointer-types \ + -Wno-gnu-variable-sized-type-not-at-end \ + -Wno-address-of-packed-member -Wno-tautological-compare \ + -Wno-unknown-warning-option \ + -fno-asynchronous-unwind-tables \ + -Wno-uninitialized -Wno-unused-variable \ + -Wno-unused-label \ + -O2 -emit-llvm -Xclang -disable-llvm-passes + +ifneq ($(CONFIG_HAS_BPF_TOOLCHAIN),) +ifeq ($(DUMP)$(filter download refresh,$(MAKECMDGOALS)),) + CLANG_VER:=$(shell $(CLANG) -dM -E - < /dev/null | grep __clang_major__ | cut -d' ' -f3) + CLANG_VER_VALID:=$(shell [ "$(CLANG_VER)" -ge "$(CLANG_MIN_VER)" ] && echo 1 ) + ifeq ($(CLANG_VER_VALID),) + $(error ERROR: LLVM/clang version too old. Minimum required: $(CLANG_MIN_VER), found: $(CLANG_VER)) + endif +endif +endif + +define CompileBPF + $(CLANG) -g -target $(BPF_ARCH)-linux-gnu $(BPF_CFLAGS) $(2) \ + -c $(1) -o $(patsubst %.c,%.bc,$(1)) + $(LLVM_OPT) -O2 -mtriple=$(BPF_TARGET) < $(patsubst %.c,%.bc,$(1)) > $(patsubst %.c,%.opt,$(1)) + $(LLVM_DIS) < $(patsubst %.c,%.opt,$(1)) > $(patsubst %.c,%.S,$(1)) + $(LLVM_LLC) -march=$(BPF_TARGET) -mcpu=v3 -filetype=obj -o $(patsubst %.c,%.o,$(1)) < $(patsubst %.c,%.S,$(1)) + $(CP) $(patsubst %.c,%.o,$(1)) $(patsubst %.c,%.debug.o,$(1)) + $(LLVM_STRIP) --strip-debug $(patsubst %.c,%.o,$(1)) +endef + diff --git a/include/cmake.mk b/include/cmake.mk new file mode 100644 index 0000000..9b169b0 --- /dev/null +++ b/include/cmake.mk @@ -0,0 +1,178 @@ +cmake_bool = $(patsubst %,-D%:BOOL=$(if $($(1)),ON,OFF),$(2)) + +PKG_USE_NINJA ?= 1 +HOST_USE_NINJA ?= 1 +ifeq ($(PKG_USE_NINJA),1) + PKG_BUILD_PARALLEL ?= 1 +endif +ifeq ($(HOST_USE_NINJA),1) + HOST_BUILD_PARALLEL ?= 1 +endif +PKG_INSTALL:=1 + +ifneq ($(findstring c,$(OPENWRT_VERBOSE)),) + MAKE_FLAGS+=VERBOSE=1 + HOST_MAKE_FLAGS+=VERBOSE=1 +endif + +CMAKE_BINARY_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR)) +CMAKE_SOURCE_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR)) +HOST_CMAKE_SOURCE_DIR = $(HOST_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR)) +HOST_CMAKE_BINARY_DIR = $(HOST_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR)) +MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .) + +ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1) +else + cmake_tool=$(shell command -v $(1)) +endif + +ifeq ($(CONFIG_CCACHE),) + CMAKE_C_COMPILER_LAUNCHER:= + CMAKE_CXX_COMPILER_LAUNCHER:= + CMAKE_C_COMPILER:=$(call cmake_tool,$(TARGET_CC)) + CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX)) + + CMAKE_HOST_C_COMPILER:=$(HOSTCC) + CMAKE_HOST_CXX_COMPILER:=$(HOSTCXX) +else + CCACHE:=$(STAGING_DIR_HOST)/bin/ccache + CMAKE_C_COMPILER_LAUNCHER:=$(CCACHE) + CMAKE_CXX_COMPILER_LAUNCHER:=$(CCACHE) + CMAKE_C_COMPILER:=$(TARGET_CC_NOCACHE) + CMAKE_CXX_COMPILER:=$(TARGET_CXX_NOCACHE) + + CMAKE_HOST_C_COMPILER:=$(HOSTCC_NOCACHE) + CMAKE_HOST_CXX_COMPILER:=$(HOSTCXX_NOCACHE) +endif +CMAKE_AR:=$(call cmake_tool,$(TARGET_AR)) +CMAKE_NM:=$(call cmake_tool,$(TARGET_NM)) +CMAKE_RANLIB:=$(call cmake_tool,$(TARGET_RANLIB)) + +CMAKE_FIND_ROOT_PATH:=$(STAGING_DIR)/usr;$(TOOLCHAIN_DIR)$(if $(CONFIG_EXTERNAL_TOOLCHAIN),;$(CONFIG_TOOLCHAIN_ROOT)) +CMAKE_HOST_FIND_ROOT_PATH:=$(STAGING_DIR)/host;$(STAGING_DIR_HOSTPKG);$(STAGING_DIR_HOST) +CMAKE_SHARED_LDFLAGS:=-Wl,-Bsymbolic-functions +CMAKE_HOST_INSTALL_PREFIX = $(HOST_BUILD_PREFIX) + +ifeq ($(HOST_USE_NINJA),1) + CMAKE_HOST_OPTIONS += -DCMAKE_GENERATOR="Ninja" + + define Host/Compile/Default + +$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) $(1) + endef + + define Host/Install/Default + +$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) install + endef + + define Host/Uninstall/Default + +$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) uninstall + endef +endif + +ifeq ($(PKG_USE_NINJA),1) + CMAKE_OPTIONS += -DCMAKE_GENERATOR="Ninja" + + define Build/Compile/Default + +$(NINJA) -C $(CMAKE_BINARY_DIR) $(1) + endef + + define Build/Install/Default + +DESTDIR="$(PKG_INSTALL_DIR)" $(NINJA) -C $(CMAKE_BINARY_DIR) install + endef +endif + +define Build/Configure/Default + mkdir -p $(CMAKE_BINARY_DIR) + (cd $(CMAKE_BINARY_DIR); \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + cmake \ + -DCMAKE_SYSTEM_NAME=Linux \ + -DCMAKE_SYSTEM_VERSION=1 \ + -DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ + -DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \ + -DCMAKE_CXX_COMPILER_LAUNCHER="$(CMAKE_CXX_COMPILER_LAUNCHER)" \ + -DCMAKE_CXX_COMPILER="$(CMAKE_CXX_COMPILER)" \ + -DCMAKE_ASM_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ + -DCMAKE_ASM_COMPILER="$(CMAKE_C_COMPILER)" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \ + -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ + -DCMAKE_AR="$(CMAKE_AR)" \ + -DCMAKE_NM="$(CMAKE_NM)" \ + -DCMAKE_RANLIB="$(CMAKE_RANLIB)" \ + -DCMAKE_FIND_ROOT_PATH="$(CMAKE_FIND_ROOT_PATH)" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_STRIP=: \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDL_LIBRARY=$(STAGING_DIR) \ + -DCMAKE_PREFIX_PATH=$(STAGING_DIR) \ + -DCMAKE_SKIP_RPATH=TRUE \ + -DCMAKE_EXPORT_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=TRUE \ + $(CMAKE_OPTIONS) \ + $(CMAKE_SOURCE_DIR) \ + ) +endef + +define Build/InstallDev/cmake + $(INSTALL_DIR) $(1) + $(CP) $(PKG_INSTALL_DIR)/* $(1)/ +endef + +Build/InstallDev = $(if $(CMAKE_INSTALL),$(Build/InstallDev/cmake)) + +define Host/Configure/Default + mkdir -p "$(HOST_CMAKE_BINARY_DIR)" + (cd $(HOST_CMAKE_BINARY_DIR); \ + CFLAGS="$(HOST_CFLAGS)" \ + CXXFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ + -DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ + -DCMAKE_CXX_COMPILER_LAUNCHER="$(CMAKE_CXX_COMPILER_LAUNCHER)" \ + -DCMAKE_CXX_COMPILER="$(CMAKE_HOST_CXX_COMPILER)" \ + -DCMAKE_ASM_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ + -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ + -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_FIND_ROOT_PATH="$(CMAKE_HOST_FIND_ROOT_PATH)" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_STRIP=: \ + -DCMAKE_INSTALL_PREFIX=$(CMAKE_HOST_INSTALL_PREFIX) \ + -DCMAKE_PREFIX_PATH=$(HOST_BUILD_PREFIX) \ + -DCMAKE_SKIP_RPATH=TRUE \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_EXPORT_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=TRUE \ + $(CMAKE_HOST_OPTIONS) \ + $(HOST_CMAKE_SOURCE_DIR) \ + ) +endef + +MAKE_FLAGS += \ + CMAKE_COMMAND='$$(if $$(CMAKE_DISABLE_$$@),:,$(STAGING_DIR_HOST)/bin/cmake)' \ + CMAKE_DISABLE_cmake_check_build_system=1 diff --git a/include/debug.mk b/include/debug.mk new file mode 100644 index 0000000..98a1d6e --- /dev/null +++ b/include/debug.mk @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2020 OpenWrt.org + +# debug flags: +# +# d: show subdirectory tree +# t: show added targets +# l: show legacy targets +# r: show autorebuild messages +# v: verbose (no .SILENCE for common targets) + +ifeq ($(DUMP),) + ifeq ($(DEBUG),all) + build_debug:=dltvr + else + build_debug:=$(DEBUG) + endif +endif + +ifneq ($(DEBUG),) + +define debug +$$(findstring $(2),$$(if $$(DEBUG_SCOPE_DIR),$$(if $$(filter $$(DEBUG_SCOPE_DIR)%,$(1)),$(build_debug)),$(build_debug))) +endef + +define warn +$$(if $(call debug,$(1),$(2)),$$(warning $(3))) +endef + +define debug_eval +$$(if $(call debug,$(1),$(2)),$(3)) +endef + +define warn_eval +$(call warn,$(1),$(2),$(3) $(4)) +$(4) +endef + +else + +debug:= +warn:= +debug_eval:= +warn_eval = $(4) + +endif + diff --git a/include/depends.mk b/include/depends.mk new file mode 100644 index 0000000..8ab80da --- /dev/null +++ b/include/depends.mk @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2020 OpenWrt.org + +# define a dependency on a subtree +# parameters: +# 1: directories/files +# 2: directory dependency +# 3: tempfile for file listings +# 4: find options + +DEP_FINDPARAMS := -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\\\#*" -x "*/.*_check" -x "*/.*.swp" -x "*/.pkgdir*" + +find_md5=find $(wildcard $(1)) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) -printf "%p%T@\n" | sort | $(MKHASH) md5 +find_md5_reproducible=find $(wildcard $(1)) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) -print0 | xargs -0 $(MKHASH) md5 | sort | $(MKHASH) md5 + +define rdep + .PRECIOUS: $(2) + .SILENT: $(2)_check + + $(2): $(2)_check + check-depends: $(2)_check + +ifneq ($(wildcard $(2)),) + $(2)_check:: + $(if $(3), \ + $(call find_md5,$(1),$(4)) > $(3).1; \ + { [ \! -f "$(3)" ] || diff $(3) $(3).1 >/dev/null; } && \ + ) \ + { \ + [ -f "$(2)_check.1" ] && mv "$(2)_check.1"; \ + $(TOPDIR)/scripts/timestamp.pl $(DEP_FINDPARAMS) $(4) -n $(2) $(1) && { \ + $(call debug_eval,$(SUBDIR),r,echo "No need to rebuild $(2)";) \ + touch -r "$(2)" "$(2)_check"; \ + } \ + } || { \ + $(call debug_eval,$(SUBDIR),r,echo "Need to rebuild $(2)";) \ + touch "$(2)_check"; \ + } + $(if $(3), mv $(3).1 $(3)) +else + $(2)_check:: + $(if $(3), rm -f $(3) $(3).1) + $(call debug_eval,$(SUBDIR),r,echo "Target $(2) not built") +endif + +endef + +ifeq ($(filter .%,$(MAKECMDGOALS)),$(if $(MAKECMDGOALS),$(MAKECMDGOALS),x)) + define rdep + $(2): $(2)_check + endef +endif diff --git a/include/device_table.txt b/include/device_table.txt new file mode 100644 index 0000000..f45b158 --- /dev/null +++ b/include/device_table.txt @@ -0,0 +1,5 @@ +# minimal device table file for OpenWrt + +# +/dev d 755 0 0 - - - - - +/dev/console c 600 0 0 5 1 0 0 - diff --git a/include/download.mk b/include/download.mk new file mode 100644 index 0000000..76bd374 --- /dev/null +++ b/include/download.mk @@ -0,0 +1,339 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2012 OpenWrt.org +# Copyright (C) 2016 LEDE project + +PROJECT_GIT = https://git.openwrt.org + +OPENWRT_GIT = $(PROJECT_GIT) +LEDE_GIT = $(PROJECT_GIT) + +ifdef PKG_SOURCE_VERSION + ifndef PKG_VERSION + PKG_VERSION := $(if $(PKG_SOURCE_DATE),$(PKG_SOURCE_DATE)-)$(call version_abbrev,$(PKG_SOURCE_VERSION)) + endif + PKG_SOURCE_SUBDIR ?= $(PKG_NAME)-$(PKG_VERSION) + PKG_SOURCE ?= $(PKG_SOURCE_SUBDIR).tar.xz +endif + +DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED) + +define dl_method_git +$(if $(filter https://github.com/% git://github.com/%,$(1)),github_archive,git) +endef + +# Try to guess the download method from the URL +define dl_method +$(strip \ + $(if $(filter git,$(2)),$(call dl_method_git,$(1),$(2)), + $(if $(2),$(2), \ + $(if $(filter @OPENWRT @APACHE/% @DEBIAN/% @GITHUB/% @GNOME/% @GNU/% @KERNEL/% @SF/% @SAVANNAH/% ftp://% http://% https://% file://%,$(1)),default, \ + $(if $(filter git://%,$(1)),$(call dl_method_git,$(1),$(2)), \ + $(if $(filter svn://%,$(1)),svn, \ + $(if $(filter cvs://%,$(1)),cvs, \ + $(if $(filter hg://%,$(1)),hg, \ + $(if $(filter sftp://%,$(1)),bzr, \ + unknown \ + ) \ + ) \ + ) \ + ) \ + ) \ + ) \ + ) \ + ) \ +) +endef + +# code for creating tarballs from cvs/svn/git/bzr/hg/darcs checkouts - useful for mirror support +dl_pack/bz2=bzip2 -c > $(1) +dl_pack/gz=gzip -nc > $(1) +dl_pack/xz=xz -zc -7e > $(1) +dl_pack/zst=zstd -T0 --ultra -20 -c > $(1) +dl_pack/unknown=$(error ERROR: Unknown pack format for file $(1)) +define dl_pack + $(if $(dl_pack/$(call ext,$(1))),$(dl_pack/$(call ext,$(1))),$(dl_pack/unknown)) +endef +define dl_tar_pack + $(TAR) --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \ + $$$${TAR_TIMESTAMP:+--mtime="$$$$TAR_TIMESTAMP"} -c $(2) | $(call dl_pack,$(1)) +endef + +gen_sha256sum = $(shell $(MKHASH) sha256 $(DL_DIR)/$(1)) + +# Used in Build/CoreTargets and HostBuild/Core as an integrity check for +# downloaded files. It will add a FORCE rule if the sha256 hash does not +# match, so that the download can be more thoroughly handled by download.pl. +define check_download_integrity + expected_hash:=$(strip $(if $(filter-out x,$(HASH)),$(HASH),$(MIRROR_HASH))) + $$(if $$(and $(FILE),$$(wildcard $(DL_DIR)/$(FILE)), \ + $$(filter undefined,$$(flavor DownloadChecked/$(FILE)))), \ + $$(eval DownloadChecked/$(FILE):=1) \ + $$(if $$(filter-out $$(call gen_sha256sum,$(FILE)),$$(expected_hash)), \ + $(DL_DIR)/$(FILE): FORCE) \ + ) +endef + +ifdef CHECK +check_escape=$(subst ','\'',$(1)) +#') + +# $(1): suffix of the F_, C_ variables, e.g. hash_deprecated, hash_mismatch, etc. +# $(2): filename +# $(3): expected hash value +# $(4): var name of the the form: {PKG_,Download/:}{,MIRROR_}{HASH,MIRROR_HASH} +check_warn_nofix = $(info $(shell printf "$(_R)WARNING: %s$(_N)" '$(call check_escape,$(call C_$(1),$(2),$(3),$(4)))')) +ifndef FIXUP + check_warn = $(check_warn_nofix) +else + check_warn = $(if $(filter-out undefined,$(origin F_$(1))),$(filter ,$(shell $(call F_$(1),$(2),$(3),$(4)) >&2)),$(check_warn_nofix)) +endif + +ifdef FIXUP +F_hash_deprecated = $(SCRIPT_DIR)/fixup-makefile.pl $(CURDIR)/Makefile fix-hash $(3) $(call gen_sha256sum,$(1)) $(2) +F_hash_mismatch = $(F_hash_deprecated) +F_hash_missing = $(SCRIPT_DIR)/fixup-makefile.pl $(CURDIR)/Makefile add-hash $(3) $(call gen_sha256sum,$(1)) +endif + +# $(1): filename +# $(2): expected hash value +# $(3): var name of the the form: {PKG_,Download/:}{,MIRROR_}{HASH,MIRROR_HASH} +C_download_missing = $(1) is missing, please run make download before re-running this check +C_hash_mismatch = $(3) does not match $(1) hash $(call gen_sha256sum,$(1)) +C_hash_deprecated = $(3) uses deprecated hash, set to $(call gen_sha256sum,$(1)) +C_hash_missing = $(3) is missing, set to $(call gen_sha256sum,$(1)) + +# $(1): filename +# $(2): expected hash value +# $(3): var name of the the form: {PKG_,Download/:}{,MIRROR_}{HASH,MIRROR_HASH} +check_hash = \ + $(if $(wildcard $(DL_DIR)/$(1)), \ + $(if $(filter-out x,$(2)), \ + $(if $(filter 64,$(shell printf '%s' '$(2)' | wc -c)), \ + $(if $(filter $(2),$(call gen_sha256sum,$(1))),, \ + $(call check_warn,hash_mismatch,$(1),$(2),$(3)) \ + ), \ + $(call check_warn,hash_deprecated,$(1),$(2),$(3)), \ + ), \ + $(call check_warn,hash_missing,$(1),$(2),$(3)) \ + ), \ + $(call check_warn,download_missing,$(1),$(2),$(3)) \ + ) + +ifdef FIXUP +F_md5_deprecated = $(SCRIPT_DIR)/fixup-makefile.pl $(CURDIR)/Makefile rename-var $(2) $(3) +endif + +C_md5_deprecated = Use of $(2) is deprecated, switch to $(3) + +check_md5 = \ + $(if $(filter-out x,$(1)), \ + $(call check_warn,md5_deprecated,$(1),$(2),$(3)) \ + ) + +hash_var = $(if $(filter-out x,$(1)),MD5SUM,HASH) +endif + +define DownloadMethod/unknown + echo "ERROR: No download method available"; false +endef + +define DownloadMethod/default + $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(HASH)" "$(URL_FILE)" $(foreach url,$(URL),"$(url)") \ + $(if $(filter check,$(1)), \ + $(call check_hash,$(FILE),$(HASH),$(2)$(call hash_var,$(MD5SUM))) \ + $(call check_md5,$(MD5SUM),$(2)MD5SUM,$(2)HASH) \ + ) +endef + +# $(1): "check" +# $(2): "PKG_" if as in Download/ is "default", otherwise "Download/:" +# $(3): shell command sequence to do the download +define wrap_mirror +$(if $(if $(MIRROR),$(filter-out x,$(MIRROR_HASH))),$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MIRROR_HASH)" "" || ( $(3) ),$(3)) \ +$(if $(filter check,$(1)), \ + $(call check_hash,$(FILE),$(MIRROR_HASH),$(2)MIRROR_$(call hash_var,$(MIRROR_MD5SUM))) \ + $(call check_md5,$(MIRROR_MD5SUM),$(2)MIRROR_MD5SUM,$(2)MIRROR_HASH) \ +) +endef + +define DownloadMethod/cvs + $(call wrap_mirror,$(1),$(2), \ + echo "Checking out files from the cvs repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + cvs -d $(URL) export $(VERSION) $(SUBDIR) && \ + echo "Packing checkout..." && \ + $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/svn + $(call wrap_mirror,$(1),$(2), \ + echo "Checking out files from the svn repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + ( svn help export | grep -q trust-server-cert && \ + svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) || \ + svn export --non-interactive -r$(VERSION) $(URL) $(SUBDIR) ) && \ + echo "Packing checkout..." && \ + export TAR_TIMESTAMP="" && \ + $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/git + $(call wrap_mirror,$(1),$(2), \ + $(call DownloadMethod/rawgit) \ + ) +endef + +define DownloadMethod/github_archive + $(call wrap_mirror,$(1),$(2), \ + $(SCRIPT_DIR)/dl_github_archive.py \ + --dl-dir="$(DL_DIR)" \ + --url="$(URL)" \ + --version="$(VERSION)" \ + --subdir="$(SUBDIR)" \ + --source="$(FILE)" \ + --hash="$(MIRROR_HASH)" \ + || ( $(call DownloadMethod/rawgit) ); \ + ) +endef + +# Only intends to be called as a submethod from other DownloadMethod +define DownloadMethod/rawgit + echo "Checking out files from the git repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + git clone $(OPTS) $(URL) $(SUBDIR) && \ + (cd $(SUBDIR) && git checkout $(VERSION) && \ + git submodule update --init --recursive) && \ + echo "Packing checkout..." && \ + export TAR_TIMESTAMP=`cd $(SUBDIR) && git log -1 --format='@%ct'` && \ + rm -rf $(SUBDIR)/.git && \ + $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); +endef + +define DownloadMethod/bzr + $(call wrap_mirror,$(1),$(2), \ + echo "Checking out files from the bzr repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + bzr export --per-file-timestamps -r$(VERSION) $(SUBDIR) $(URL) && \ + echo "Packing checkout..." && \ + export TAR_TIMESTAMP="" && \ + $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/hg + $(call wrap_mirror,$(1),$(2), \ + echo "Checking out files from the hg repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + hg clone -r $(VERSION) $(URL) $(SUBDIR) && \ + export TAR_TIMESTAMP=`cd $(SUBDIR) && hg log --template '@{date}' -l 1` && \ + find $(SUBDIR) -name .hg | xargs rm -rf && \ + echo "Packing checkout..." && \ + $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/darcs + $(call wrap_mirror, $(1), $(2), \ + echo "Checking out files from the darcs repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + darcs get -t $(VERSION) $(URL) $(SUBDIR) && \ + export TAR_TIMESTAMP=`cd $(SUBDIR) && LC_ALL=C darcs log --last 1 | sed -ne 's!^Date: \+!!p'` && \ + find $(SUBDIR) -name _darcs | xargs rm -rf && \ + echo "Packing checkout..." && \ + $(call dl_tar_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +Validate/cvs=VERSION SUBDIR +Validate/svn=VERSION SUBDIR +Validate/git=VERSION SUBDIR +Validate/bzr=VERSION SUBDIR +Validate/hg=VERSION SUBDIR +Validate/darcs=VERSION SUBDIR + +define Download/Defaults + URL:= + FILE:= + URL_FILE:= + PROTO:= + HASH=$$(MD5SUM) + MD5SUM:=x + SUBDIR:= + MIRROR:=1 + MIRROR_HASH=$$(MIRROR_MD5SUM) + MIRROR_MD5SUM:=x + VERSION:= + OPTS:= +endef + +define Download/default + FILE:=$(PKG_SOURCE) + URL:=$(PKG_SOURCE_URL) + URL_FILE:=$(PKG_SOURCE_URL_FILE) + SUBDIR:=$(PKG_SOURCE_SUBDIR) + PROTO:=$(PKG_SOURCE_PROTO) + $(if $(PKG_SOURCE_MIRROR),MIRROR:=$(filter 1,$(PKG_MIRROR))) + $(if $(PKG_MIRROR_MD5SUM),MIRROR_MD5SUM:=$(PKG_MIRROR_MD5SUM)) + $(if $(PKG_MIRROR_HASH),MIRROR_HASH:=$(PKG_MIRROR_HASH)) + VERSION:=$(PKG_SOURCE_VERSION) + $(if $(PKG_MD5SUM),MD5SUM:=$(PKG_MD5SUM)) + $(if $(PKG_HASH),HASH:=$(PKG_HASH)) +endef + +define Download + $(eval $(Download/Defaults)) + $(eval $(Download/$(1))) + $(foreach FIELD,URL FILE $(Validate/$(call dl_method,$(URL),$(PROTO))), + ifeq ($($(FIELD)),) + $$(error Download/$(1) is missing the $(FIELD) field.) + endif + ) + + $(foreach dep,$(DOWNLOAD_RDEP), + $(dep): $(DL_DIR)/$(FILE) + ) + download: $(DL_DIR)/$(FILE) + + $(DL_DIR)/$(FILE): + mkdir -p $(DL_DIR) + $(call locked, \ + $(if $(DownloadMethod/$(call dl_method,$(URL),$(PROTO))), \ + $(call DownloadMethod/$(call dl_method,$(URL),$(PROTO)),check,$(if $(filter default,$(1)),PKG_,Download/$(1):)), \ + $(DownloadMethod/unknown) \ + ),\ + $(FILE)) + +endef diff --git a/include/feeds.mk b/include/feeds.mk new file mode 100644 index 0000000..632fecb --- /dev/null +++ b/include/feeds.mk @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2014 OpenWrt.org +# Copyright (C) 2016 LEDE Project + +-include $(TMP_DIR)/.packageauxvars + +FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*)) +FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n 2>/dev/null)) + +PACKAGE_SUBDIRS=$(PACKAGE_DIR) +ifneq ($(CONFIG_PER_FEED_REPO),) + PACKAGE_SUBDIRS += $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/base + PACKAGE_SUBDIRS += $(foreach FEED,$(FEEDS_AVAILABLE),$(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(FEED)) +endif + +opkg_package_files = $(wildcard \ + $(foreach dir,$(PACKAGE_SUBDIRS), \ + $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk))) + +# 1: package name +define FeedPackageDir +$(strip $(if $(CONFIG_PER_FEED_REPO), \ + $(if $(Package/$(1)/subdir), \ + $(abspath $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(Package/$(1)/subdir)), \ + $(PACKAGE_DIR)), \ + $(PACKAGE_DIR))) +endef + +# 1: destination file +define FeedSourcesAppend +( \ + echo 'src/gz %d_core %U/targets/%S/packages'; \ + $(strip $(if $(CONFIG_PER_FEED_REPO), \ + echo 'src/gz %d_base %U/packages/%A/base'; \ + $(if $(filter %SNAPSHOT-y,$(VERSION_NUMBER)-$(CONFIG_BUILDBOT)), \ + echo 'src/gz %d_kmods %U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)';) \ + $(foreach feed,$(FEEDS_AVAILABLE), \ + $(if $(CONFIG_FEED_$(feed)), \ + echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )src/gz %d_$(feed) %U/packages/%A/$(feed)';)))) \ +) >> $(1) +endef + +# 1: package name +define GetABISuffix +$(if $(ABIV_$(1)),$(ABIV_$(1)),$(call FormatABISuffix,$(1),$(foreach v,$(wildcard $(STAGING_DIR)/pkginfo/$(1).version),$(shell cat $(v))))) +endef + +# 1: package name +# 2: abi version +define FormatABISuffix +$(if $(filter-out kmod-%,$(1)),$(if $(2),$(if $(filter %0 %1 %2 %3 %4 %5 %6 %7 %8 %9,$(1)),-)$(2))) +endef diff --git a/include/hardened-ld-pie.specs b/include/hardened-ld-pie.specs new file mode 100644 index 0000000..7317b19 --- /dev/null +++ b/include/hardened-ld-pie.specs @@ -0,0 +1,2 @@ +*self_spec: ++ %{no-pie|static|r|shared:;:-pie} diff --git a/include/hardening.mk b/include/hardening.mk new file mode 100644 index 0000000..6acd862 --- /dev/null +++ b/include/hardening.mk @@ -0,0 +1,61 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2015-2020 OpenWrt.org + +PKG_CHECK_FORMAT_SECURITY ?= 1 +PKG_ASLR_PIE ?= 1 +PKG_ASLR_PIE_REGULAR ?= 0 +PKG_SSP ?= 1 +PKG_FORTIFY_SOURCE ?= 1 +PKG_RELRO ?= 1 + +ifdef CONFIG_PKG_CHECK_FORMAT_SECURITY + ifeq ($(strip $(PKG_CHECK_FORMAT_SECURITY)),1) + TARGET_CFLAGS += -Wformat -Werror=format-security + endif +endif +ifdef CONFIG_PKG_ASLR_PIE_ALL + ifeq ($(strip $(PKG_ASLR_PIE)),1) + TARGET_CFLAGS += $(FPIC) + TARGET_LDFLAGS += $(FPIC) -specs=$(INCLUDE_DIR)/hardened-ld-pie.specs + endif +endif +ifdef CONFIG_PKG_ASLR_PIE_REGULAR + ifeq ($(strip $(PKG_ASLR_PIE_REGULAR)),1) + TARGET_CFLAGS += $(FPIC) + TARGET_LDFLAGS += $(FPIC) -specs=$(INCLUDE_DIR)/hardened-ld-pie.specs + endif +endif +ifdef CONFIG_PKG_CC_STACKPROTECTOR_REGULAR + ifeq ($(strip $(PKG_SSP)),1) + TARGET_CFLAGS += -fstack-protector + endif +endif +ifdef CONFIG_PKG_CC_STACKPROTECTOR_STRONG + ifeq ($(strip $(PKG_SSP)),1) + TARGET_CFLAGS += -fstack-protector-strong + endif +endif +ifdef CONFIG_PKG_FORTIFY_SOURCE_1 + ifeq ($(strip $(PKG_FORTIFY_SOURCE)),1) + TARGET_CFLAGS += -D_FORTIFY_SOURCE=1 + endif +endif +ifdef CONFIG_PKG_FORTIFY_SOURCE_2 + ifeq ($(strip $(PKG_FORTIFY_SOURCE)),1) + TARGET_CFLAGS += -D_FORTIFY_SOURCE=2 + endif +endif +ifdef CONFIG_PKG_RELRO_PARTIAL + ifeq ($(strip $(PKG_RELRO)),1) + TARGET_CFLAGS += -Wl,-z,relro + TARGET_LDFLAGS += -zrelro + endif +endif +ifdef CONFIG_PKG_RELRO_FULL + ifeq ($(strip $(PKG_RELRO)),1) + TARGET_CFLAGS += -Wl,-z,now -Wl,-z,relro + TARGET_LDFLAGS += -znow -zrelro + endif +endif + diff --git a/include/host-build.mk b/include/host-build.mk new file mode 100644 index 0000000..22fcc31 --- /dev/null +++ b/include/host-build.mk @@ -0,0 +1,210 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +include $(INCLUDE_DIR)/download.mk + +HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) +HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install +HOST_BUILD_PARALLEL ?= + +HOST_MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j)) + +ifeq ($(strip $(HOST_BUILD_PARALLEL)),0) +HOST_JOBS?=-j1 +else +HOST_JOBS?=$(if $(HOST_BUILD_PARALLEL),$(HOST_MAKE_J),-j1) +endif + +include $(INCLUDE_DIR)/unpack.mk +include $(INCLUDE_DIR)/depends.mk +include $(INCLUDE_DIR)/quilt.mk + +BUILD_TYPES += host +HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared$(if $(HOST_QUILT)$(DUMP),,$(shell $(call $(if $(CONFIG_AUTOREMOVE),find_md5_reproducible,find_md5),${CURDIR} $(PKG_FILE_DEPENDS),))_$(call confvar,CONFIG_AUTOREMOVE $(HOST_PREPARED_DEPENDS))) +HOST_STAMP_CONFIGURED:=$(HOST_BUILD_DIR)/.configured +HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built +HOST_BUILD_PREFIX?=$(if $(IS_PACKAGE_BUILD),$(STAGING_DIR_HOSTPKG),$(STAGING_DIR_HOST)) +HOST_STAMP_INSTALLED:=$(HOST_BUILD_PREFIX)/stamp/.$(PKG_NAME)_installed + +override MAKEFLAGS= + +include $(INCLUDE_DIR)/autotools.mk + +_host_target:=$(if $(HOST_QUILT),,.) + +Host/Patch:=$(Host/Patch/Default) +ifneq ($(strip $(HOST_UNPACK)),) + define Host/Prepare/Default + $(HOST_UNPACK) + [ ! -d ./src/ ] || $(CP) ./src/* $(HOST_BUILD_DIR) + $(Host/Patch) + endef +endif + +define Host/Prepare + $(call Host/Prepare/Default) +endef + +HOST_CONFIGURE_VARS = \ + CC="$(HOSTCC)" \ + CFLAGS="$(HOST_CFLAGS)" \ + CXX="$(HOSTCXX)" \ + CPPFLAGS="$(HOST_CPPFLAGS)" \ + CXXFLAGS="$(HOST_CXXFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + CONFIG_SHELL="$(SHELL)" + +HOST_CONFIGURE_ARGS = \ + --target=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=$(HOST_BUILD_PREFIX) \ + --exec-prefix=$(HOST_BUILD_PREFIX) \ + --sysconfdir=$(HOST_BUILD_PREFIX)/etc \ + --localstatedir=$(HOST_BUILD_PREFIX)/var \ + --sbindir=$(HOST_BUILD_PREFIX)/bin + +HOST_MAKE_VARS = \ + CFLAGS="$(HOST_CFLAGS)" \ + CPPFLAGS="$(HOST_CPPFLAGS)" \ + CXXFLAGS="$(HOST_CXXFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" + +HOST_MAKE_FLAGS = + +HOST_CONFIGURE_CMD = $(BASH) ./configure + +ifeq ($(HOST_OS),Darwin) + HOST_CONFIG_SITE:=$(INCLUDE_DIR)/site/darwin +endif + +define Host/Configure/Default + $(if $(HOST_CONFIGURE_PARALLEL),+)(cd $(HOST_BUILD_DIR)/$(3); \ + if [ -x configure ]; then \ + $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/$(3)/ && \ + $(HOST_CONFIGURE_VARS) \ + $(2) \ + $(HOST_CONFIGURE_CMD) \ + $(HOST_CONFIGURE_ARGS) \ + $(1); \ + fi \ + ) +endef + +define Host/Configure + $(call Host/Configure/Default) +endef + +define Host/Compile/Default + +$(HOST_MAKE_VARS) \ + $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \ + $(HOST_MAKE_FLAGS) \ + $(1) +endef + +define Host/Compile + $(call Host/Compile/Default) +endef + +define Host/Install/Default + $(call Host/Compile/Default,install) +endef + +define Host/Install + $(call Host/Install/Default,$(HOST_BUILD_PREFIX)) +endef + + +ifneq ($(if $(HOST_QUILT),,$(CONFIG_AUTOREBUILD)),) + define HostHost/Autoclean + $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(HOST_STAMP_PREPARED)) + $(if $(if $(Host/Compile),$(filter prepare,$(MAKECMDGOALS)),1),,$(call rdep,$(HOST_BUILD_DIR),$(HOST_STAMP_BUILT))) + endef +endif + +define Host/Exports/Default + $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR_HOST)/share/aclocal $$(STAGING_DIR_HOST)/share/aclocal-* $(if $(IS_PACKAGE_BUILD),$$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR_HOSTPKG)/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*)),-I $$(p)) + $(1) : export STAGING_PREFIX=$$(HOST_BUILD_PREFIX) + $(1) : export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig:$$(HOST_BUILD_PREFIX)/lib/pkgconfig + $(1) : export PKG_CONFIG_LIBDIR=$$(HOST_BUILD_PREFIX)/lib/pkgconfig + $(if $(HOST_CONFIG_SITE),$(1) : export CONFIG_SITE:=$(HOST_CONFIG_SITE)) + $(if $(IS_PACKAGE_BUILD),$(1) : export PATH=$$(TARGET_PATH_PKG)) +endef +Host/Exports=$(Host/Exports/Default) + +.NOTPARALLEL: + +ifndef DUMP + define HostBuild/Core + $(if $(HOST_QUILT),$(Host/Quilt)) + $(if $(DUMP),,$(call HostHost/Autoclean)) + + $(HOST_STAMP_PREPARED): + @-rm -rf $(HOST_BUILD_DIR) + @mkdir -p $(HOST_BUILD_DIR) + $(foreach hook,$(Hooks/HostPrepare/Pre),$(call $(hook))$(sep)) + $(call Host/Prepare) + $(foreach hook,$(Hooks/HostPrepare/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_CONFIGURED)) + $(HOST_STAMP_CONFIGURED): $(HOST_STAMP_PREPARED) + $(foreach hook,$(Hooks/HostConfigure/Pre),$(call $(hook))$(sep)) + $(call Host/Configure) + $(foreach hook,$(Hooks/HostConfigure/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_BUILT)) + $(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED) + $(foreach hook,$(Hooks/HostCompile/Pre),$(call $(hook))$(sep)) + $(call Host/Compile) + $(foreach hook,$(Hooks/HostCompile/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_INSTALLED)) + $(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT) $(if $(FORCE_HOST_INSTALL),FORCE) + $(call Host/Install,$(HOST_BUILD_PREFIX)) + $(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep)) + mkdir -p $$(shell dirname $$@) + touch $(HOST_STAMP_BUILT) + touch $$@ + + $(call DefaultTargets,$(patsubst %,host-%,$(DEFAULT_SUBDIR_TARGETS))) + ifndef STAMP_BUILT + $(foreach t,$(DEFAULT_SUBDIR_TARGETS), + $(t): host-$(t) + .$(t): .host-$(t) + ) + clean-build: host-clean-build + endif + + $(call check_download_integrity) + + $(_host_target)host-prepare: $(HOST_STAMP_PREPARED) + $(_host_target)host-configure: $(HOST_STAMP_CONFIGURED) + $(_host_target)host-compile: $(HOST_STAMP_BUILT) $(HOST_STAMP_INSTALLED) + host-install: host-compile + + host-clean-build: FORCE + $(call Host/Uninstall) + rm -rf $(HOST_BUILD_DIR) $(HOST_STAMP_BUILT) + + host-clean: host-clean-build + $(call Host/Clean) + rm -rf $(HOST_STAMP_INSTALLED) + + ifneq ($(CONFIG_AUTOREMOVE),) + host-compile: + $(FIND) $(HOST_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -print0 | \ + $(XARGS) -0 rm -rf + endif + endef +endif + +define HostBuild + $(HostBuild/Core) + $(if $(if $(PKG_HOST_ONLY),,$(if $(and $(filter host-%,$(MAKECMDGOALS)),$(PKG_SKIP_DOWNLOAD)),,$(STAMP_PREPARED))),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) +endef diff --git a/include/image-commands.mk b/include/image-commands.mk new file mode 100644 index 0000000..402e3d7 --- /dev/null +++ b/include/image-commands.mk @@ -0,0 +1,592 @@ +# Build commands that can be called from Device/* templates + +IMAGE_KERNEL = $(word 1,$^) +IMAGE_ROOTFS = $(word 2,$^) + +define ModelNameLimit16 +$(shell expr substr "$(word 2, $(subst _, ,$(1)))" 1 16) +endef + +define rootfs_align +$(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1)))))) +endef + + +define Build/append-dtb + cat $(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb >> $@ +endef + +define Build/append-dtb-elf + $(TARGET_CROSS)objcopy \ + --set-section-flags=.appended_dtb=alloc,contents \ + --update-section \ + .appended_dtb=$(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb $@ +endef + +define Build/append-kernel + dd if=$(IMAGE_KERNEL) >> $@ +endef + +define Build/package-kernel-ubifs + mkdir $@.kernelubifs + cp $@ $@.kernelubifs/kernel + $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ + $(KERNEL_UBIFS_OPTS) \ + -r $@.kernelubifs $@ + rm -r $@.kernelubifs +endef + +define Build/append-image + cp "$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)" "$@.stripmeta" + fwtool -s /dev/null -t "$@.stripmeta" || : + fwtool -i /dev/null -t "$@.stripmeta" || : + dd if="$@.stripmeta" >> "$@" + rm "$@.stripmeta" +endef + +ifdef IB +define Build/append-image-stage + dd if=$(STAGING_DIR_IMAGE)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-$(DEVICE_NAME)-$(1) >> $@ +endef +else +define Build/append-image-stage + cp "$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)" "$@.stripmeta" + fwtool -s /dev/null -t "$@.stripmeta" || : + fwtool -i /dev/null -t "$@.stripmeta" || : + dd if="$@.stripmeta" of="$(STAGING_DIR_IMAGE)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-$(DEVICE_NAME)-$(1)" + dd if="$@.stripmeta" >> "$@" + rm "$@.stripmeta" +endef +endif + + +compat_version=$(if $(DEVICE_COMPAT_VERSION),$(DEVICE_COMPAT_VERSION),1.0) +json_quote=$(subst ','\'',$(subst ",\",$(1))) +#")') + +legacy_supported_message=$(SUPPORTED_DEVICES) - Image version mismatch: image $(compat_version), \ + device 1.0. Please wipe config during upgrade (force required) or reinstall. \ + $(if $(DEVICE_COMPAT_MESSAGE),Reason: $(DEVICE_COMPAT_MESSAGE),Please check documentation ...) + +metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1),"$(call json_quote,$(v))")))) +metadata_json = \ + '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \ + "metadata_version": "1.1", \ + "compat_version": "$(call json_quote,$(compat_version))", \ + $(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \ + $(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \ + [$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma) \ + "supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \ + $(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_DEVICES))]$(comma)) \ + "version": { \ + "dist": "$(call json_quote,$(VERSION_DIST))", \ + "version": "$(call json_quote,$(VERSION_NUMBER))", \ + "revision": "$(call json_quote,$(REVISION))", \ + "target": "$(call json_quote,$(TARGETID))", \ + "board": "$(call json_quote,$(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)))" \ + } \ + }' + +define Build/append-metadata + $(if $(SUPPORTED_DEVICES),-echo $(call metadata_json) | fwtool -I - $@) + sha256sum "$@" | cut -d" " -f1 > "$@.sha256sum" + [ ! -s "$(BUILD_KEY)" -o ! -s "$(BUILD_KEY).ucert" -o ! -s "$@" ] || { \ + cp "$(BUILD_KEY).ucert" "$@.ucert" ;\ + usign -S -m "$@" -s "$(BUILD_KEY)" -x "$@.sig" ;\ + ucert -A -c "$@.ucert" -x "$@.sig" ;\ + fwtool -S "$@.ucert" "$@" ;\ + } +endef + +define Build/append-rootfs + dd if=$(IMAGE_ROOTFS) >> $@ +endef + +define Build/append-squashfs-fakeroot-be + rm -rf $@.fakefs $@.fakesquashfs + mkdir $@.fakefs + $(STAGING_DIR_HOST)/bin/mksquashfs-lzma \ + $@.fakefs $@.fakesquashfs \ + -noappend -root-owned -be -nopad -b 65536 \ + $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH)) + cat $@.fakesquashfs >> $@ +endef + +define Build/append-squashfs4-fakeroot + rm -rf $@.fakefs $@.fakesquashfs + mkdir $@.fakefs + $(STAGING_DIR_HOST)/bin/mksquashfs4 \ + $@.fakefs $@.fakesquashfs \ + -nopad -noappend -root-owned + cat $@.fakesquashfs >> $@ +endef + +define Build/append-string + echo -n $(1) >> $@ +endef + +define Build/append-ubi + sh $(TOPDIR)/scripts/ubinize-image.sh \ + $(if $(UBOOTENV_IN_UBI),--uboot-env) \ + $(if $(KERNEL_IN_UBI),--kernel $(IMAGE_KERNEL)) \ + $(foreach part,$(UBINIZE_PARTS),--part $(part)) \ + --rootfs $(IMAGE_ROOTFS) \ + $@.tmp \ + -p $(BLOCKSIZE:%k=%KiB) -m $(PAGESIZE) \ + $(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) \ + $(if $(VID_HDR_OFFSET),-O $(VID_HDR_OFFSET)) \ + $(UBINIZE_OPTS) + cat $@.tmp >> $@ + rm $@.tmp +endef + +define Build/ubinize-kernel + cp $@ $@.tmp + sh $(TOPDIR)/scripts/ubinize-image.sh \ + --kernel $@.tmp \ + $@ \ + -p $(BLOCKSIZE:%k=%KiB) -m $(PAGESIZE) \ + $(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) \ + $(if $(VID_HDR_OFFSET),-O $(VID_HDR_OFFSET)) \ + $(UBINIZE_OPTS) + rm $@.tmp +endef + +define Build/append-uboot + dd if=$(UBOOT_PATH) >> $@ +endef + +# append a fake/empty uImage header, to fool bootloaders rootfs integrity check +# for example +define Build/append-uImage-fakehdr + $(eval type=$(word 1,$(1))) + $(eval magic=$(word 2,$(1))) + touch $@.fakehdr + $(STAGING_DIR_HOST)/bin/mkimage \ + -A $(LINUX_KARCH) -O linux -T $(type) -C none \ + -n '$(VERSION_DIST) fake $(type)' \ + $(if $(magic),-M $(magic)) \ + -d $@.fakehdr \ + -s \ + $@.fakehdr + cat $@.fakehdr >> $@ +endef + +define Build/buffalo-dhp-image + $(STAGING_DIR_HOST)/bin/mkdhpimg $@ $@.new + mv $@.new $@ +endef + +define Build/buffalo-enc + $(eval product=$(word 1,$(1))) + $(eval version=$(word 2,$(1))) + $(eval args=$(wordlist 3,$(words $(1)),$(1))) + $(STAGING_DIR_HOST)/bin/buffalo-enc \ + -p $(product) -v $(version) $(args) \ + -i $@ -o $@.new + mv $@.new $@ +endef + +define Build/buffalo-enc-tag + $(call Build/buffalo-enc,'' '' -S 152 $(1)) +endef + +define Build/buffalo-tag-dhp + $(eval product=$(word 1,$(1))) + $(eval region=$(word 2,$(1))) + $(eval language=$(word 3,$(1))) + $(STAGING_DIR_HOST)/bin/buffalo-tag \ + -d 0x01000000 -w 1 \ + -a $(BUFFALO_TAG_PLATFORM) \ + -v $(BUFFALO_TAG_VERSION) -m $(BUFFALO_TAG_MINOR) \ + -b $(product) -p $(product) \ + -r $(region) -r $(region) -l $(language) \ + -I $@ -o $@.new + mv $@.new $@ +endef + +define Build/check-size + @imagesize="$$(stat -c%s $@)"; \ + limitsize="$$(($(subst k,* 1024,$(subst m, * 1024k,$(if $(1),$(1),$(IMAGE_SIZE))))))"; \ + [ $$limitsize -ge $$imagesize ] || { \ + $(call ERROR_MESSAGE, WARNING: Image file $@ is too big: $$imagesize > $$limitsize); \ + rm -f $@; \ + } +endef + +define Build/copy-file + cat "$(1)" > "$@" +endef + +define Build/elecom-product-header + $(eval product=$(word 1,$(1))) + $(eval fw=$(if $(word 2,$(1)),$(word 2,$(1)),$@)) + + ( \ + echo -n -e "ELECOM\x00\x00$(product)" | dd bs=40 count=1 conv=sync; \ + echo -n "0.00" | dd bs=16 count=1 conv=sync; \ + dd if=$(fw); \ + ) > $(fw).new + mv $(fw).new $(fw) +endef + +define Build/elecom-wrc-gs-factory + $(eval product=$(word 1,$(1))) + $(eval version=$(word 2,$(1))) + $(eval hash_opt=$(word 3,$(1))) + $(MKHASH) md5 $(hash_opt) $@ >> $@ + ( \ + echo -n "ELECOM $(product) v$(version)" | \ + dd bs=32 count=1 conv=sync; \ + dd if=$@; \ + ) > $@.new + mv $@.new $@ +endef + +define Build/elx-header + $(eval hw_id=$(word 1,$(1))) + $(eval xor_pattern=$(word 2,$(1))) + ( \ + echo -ne "\x00\x00\x00\x00\x00\x00\x00\x03" | \ + dd bs=42 count=1 conv=sync; \ + hw_id="$(hw_id)"; \ + echo -ne "\x$${hw_id:0:2}\x$${hw_id:2:2}\x$${hw_id:4:2}\x$${hw_id:6:2}" | \ + dd bs=20 count=1 conv=sync; \ + echo -ne "$$(printf '%08x' $$(stat -c%s $@) | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \ + dd bs=8 count=1 conv=sync; \ + echo -ne "$$($(MKHASH) md5 $@ | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \ + dd bs=58 count=1 conv=sync; \ + ) > $(KDIR)/tmp/$(DEVICE_NAME).header + $(call Build/xor-image,-p $(xor_pattern) -x) + cat $(KDIR)/tmp/$(DEVICE_NAME).header $@ > $@.new + mv $@.new $@ + rm -rf $(KDIR)/tmp/$(DEVICE_NAME).header +endef + +define Build/eva-image + $(STAGING_DIR_HOST)/bin/lzma2eva $(KERNEL_LOADADDR) $(KERNEL_LOADADDR) $@ $@.new + mv $@.new $@ +endef + +define Build/initrd_compression + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),.bzip2) \ + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),.gzip) \ + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),.lzma) \ + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),.xz) \ + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD),.zstd) +endef + +define Build/fit + $(TOPDIR)/scripts/mkits.sh \ + -D $(DEVICE_NAME) -o $@.its -k $@ \ + -C $(word 1,$(1)) $(if $(word 2,$(1)),\ + $(if $(DEVICE_DTS_OVERLAY),-d $(KERNEL_BUILD_DIR)/image-$$(basename $(word 2,$(1))),\ + -d $(word 2,$(1)))) \ + $(if $(findstring with-rootfs,$(word 3,$(1))),-r $(IMAGE_ROOTFS)) \ + $(if $(findstring with-initrd,$(word 3,$(1))), \ + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE), \ + -i $(KERNEL_BUILD_DIR)/initrd.cpio$(strip $(call Build/initrd_compression)))) \ + -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + $(if $(DEVICE_FDT_NUM),-n $(DEVICE_FDT_NUM)) \ + $(if $(DEVICE_DTS_DELIMITER),-l $(DEVICE_DTS_DELIMITER)) \ + $(if $(DEVICE_DTS_OVERLAY),$(foreach dtso,$(DEVICE_DTS_OVERLAY), -O $(dtso):$(KERNEL_BUILD_DIR)/image-$(dtso).dtb)) \ + -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \ + -A $(LINUX_KARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage $(if $(findstring external,$(word 3,$(1))),\ + -E -B 0x1000 $(if $(findstring static,$(word 3,$(1))),-p 0x1000)) -f $@.its $@.new + @mv $@.new $@ +endef + +define Build/gzip + gzip -f -9n -c $@ $(1) > $@.new + @mv $@.new $@ +endef + +define Build/install-dtb + $(call locked, \ + $(foreach dts,$(DEVICE_DTS), \ + $(CP) \ + $(DTS_DIR)/$(dts).dtb \ + $(BIN_DIR)/$(IMG_PREFIX)-$(dts).dtb; \ + ), \ + install-dtb-$(IMG_PREFIX) \ + ) +endef + +define Build/iptime-crc32 + $(STAGING_DIR_HOST)/bin/iptime-crc32 $(1) $@ $@.new + mv $@.new $@ +endef + +define Build/iptime-naspkg + $(STAGING_DIR_HOST)/bin/iptime-naspkg $(1) $@ $@.new + mv $@.new $@ +endef + +define Build/jffs2 + rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ + mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ + cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ + $(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ + --squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ + -o $@.new \ + -d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ + 2>&1 1>/dev/null | awk '/^.+$$$$/' && \ + $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) + -rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ + @mv $@.new $@ +endef + +define Build/kernel2minor + $(eval temp_file := $(shell mktemp)) + cp $@ $(temp_file) + kernel2minor -k $(temp_file) -r $(temp_file).new $(1) + mv $(temp_file).new $@ + rm -f $(temp_file) +endef + +define Build/kernel-bin + rm -f $@ + cp $< $@ +endef + +define Build/linksys-image + $(TOPDIR)/scripts/linksys-image.sh \ + "$(call param_get_default,type,$(1),$(DEVICE_NAME))" \ + $@ $@.new + mv $@.new $@ +endef + +define Build/lzma + $(call Build/lzma-no-dict,-lc1 -lp2 -pb2 $(1)) +endef + +define Build/lzma-no-dict + $(STAGING_DIR_HOST)/bin/lzma e $@ $(1) $@.new + @mv $@.new $@ +endef + +define Build/netgear-chk + $(STAGING_DIR_HOST)/bin/mkchkimg \ + -o $@.new \ + -k $@ \ + -b $(NETGEAR_BOARD_ID) \ + $(if $(NETGEAR_REGION),-r $(NETGEAR_REGION),) + mv $@.new $@ +endef + +define Build/netgear-dni + $(STAGING_DIR_HOST)/bin/mkdniimg \ + -B $(NETGEAR_BOARD_ID) -v $(VERSION_DIST).$(firstword $(subst -, ,$(REVISION))) \ + $(if $(NETGEAR_HW_ID),-H $(NETGEAR_HW_ID)) \ + -r "$(1)" \ + -i $@ -o $@.new + mv $@.new $@ +endef + +define Build/netgear-encrypted-factory + $(TOPDIR)/scripts/netgear-encrypted-factory.py \ + --input-file $@ \ + --output-file $@ \ + --model $(NETGEAR_ENC_MODEL) \ + --region $(NETGEAR_ENC_REGION) \ + --version V1.0.0.0.$(VERSION_DIST).$(firstword $(subst -, ,$(REVISION))) \ + --encryption-block-size 0x20000 \ + --openssl-bin "$(STAGING_DIR_HOST)/bin/openssl" \ + --key 6865392d342b4d212964363d6d7e7765312c7132613364316e26322a5a5e2538 \ + --iv 4a253169516c38243d6c6d2d3b384145 +endef + +define Build/openmesh-image + $(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \ + "$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" \ + "$@-fwupgrade.cfg" \ + "$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" \ + "$(call param_get_default,rootfs,$(1),$@)" + $(TOPDIR)/scripts/combined-ext-image.sh \ + "$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" "$@" \ + "$@-fwupgrade.cfg" "fwupgrade.cfg" \ + "$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" "kernel" \ + "$(call param_get_default,rootfs,$(1),$@)" "rootfs" +endef + +define Build/pad-extra + dd if=/dev/zero bs=$(1) count=1 >> $@ +endef + +define Build/pad-offset + let \ + size="$$(stat -c%s $@)" \ + pad="$(subst k,* 1024,$(word 1, $(1)))" \ + offset="$(subst k,* 1024,$(word 2, $(1)))" \ + pad="(pad - ((size + offset) % pad)) % pad" \ + newsize='size + pad'; \ + dd if=$@ of=$@.new bs=$$newsize count=1 conv=sync + mv $@.new $@ +endef + +define Build/pad-rootfs + $(STAGING_DIR_HOST)/bin/padjffs2 $@ $(1) \ + $(if $(BLOCKSIZE),$(BLOCKSIZE:%k=%),4 8 16 64 128 256) +endef + +define Build/pad-to + $(call Image/pad-to,$@,$(1)) +endef + +define Build/patch-cmdline + $(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)' +endef + +# Convert a raw image into a $1 type image. +# E.g. | qemu-image vdi +define Build/qemu-image + if command -v qemu-img; then \ + qemu-img convert -f raw -O $1 $@ $@.new; \ + mv $@.new $@; \ + else \ + echo "WARNING: Install qemu-img to create VDI/VMDK images" >&2; exit 1; \ + fi +endef + +define Build/qsdk-ipq-factory-nand + $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \ + $@.its ubi $@ + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new + @mv $@.new $@ +endef + +define Build/qsdk-ipq-factory-nor + $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \ + $@.its hlos $(IMAGE_KERNEL) rootfs $(IMAGE_ROOTFS) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new + @mv $@.new $@ +endef + +define Build/seama + $(STAGING_DIR_HOST)/bin/seama -i $@ \ + -m "dev=/dev/mtdblock/$(SEAMA_MTDBLOCK)" -m "type=firmware" + mv $@.seama $@ +endef + +define Build/seama-seal + $(STAGING_DIR_HOST)/bin/seama -i $@ -s $@.seama \ + -m "signature=$(SEAMA_SIGNATURE)" + mv $@.seama $@ +endef + +define Build/senao-header + $(STAGING_DIR_HOST)/bin/mksenaofw $(1) -e $@ -o $@.new + mv $@.new $@ +endef + +define Build/sysupgrade-tar + sh $(TOPDIR)/scripts/sysupgrade-tar.sh \ + --board $(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)) \ + --kernel $(call param_get_default,kernel,$(1),$(IMAGE_KERNEL)) \ + --rootfs $(call param_get_default,rootfs,$(1),$(IMAGE_ROOTFS)) \ + $@ +endef + +define Build/tplink-safeloader + -$(STAGING_DIR_HOST)/bin/tplink-safeloader \ + -B $(TPLINK_BOARD_ID) \ + -V $(REVISION) \ + -k $(IMAGE_KERNEL) \ + -r $@ \ + -o $@.new \ + -j \ + $(wordlist 2,$(words $(1)),$(1)) \ + $(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv $@.new $@ || rm -f $@ +endef + +define Build/tplink-v1-header + $(STAGING_DIR_HOST)/bin/mktplinkfw \ + -c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \ + -E $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -m $(TPLINK_HEADER_VERSION) -N "$(VERSION_DIST)" -V $(REVISION) \ + -k $@ -o $@.new $(1) + @mv $@.new $@ +endef + +# combine kernel and rootfs into one image +# mktplinkfw +# is "sysupgrade" or "factory" +# +# -a align the rootfs start on an bytes boundary +# -j add jffs2 end-of-filesystem markers +# -s strip padding from end of the image +# -X reserve bytes in the firmware image (hexval prefixed with 0x) +define Build/tplink-v1-image + -$(STAGING_DIR_HOST)/bin/mktplinkfw \ + -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) \ + -N "$(VERSION_DIST)" -V $(REVISION) -m $(TPLINK_HEADER_VERSION) \ + -k $(IMAGE_KERNEL) -r $(IMAGE_ROOTFS) -o $@.new -j -X 0x40000 \ + -a $(call rootfs_align,$(FILESYSTEM)) \ + $(wordlist 2,$(words $(1)),$(1)) \ + $(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@ +endef + +define Build/tplink-v2-header + $(STAGING_DIR_HOST)/bin/mktplinkfw2 \ + -c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \ + -E $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -w $(TPLINK_HWREVADD) -F "$(TPLINK_FLASHLAYOUT)" \ + -T $(TPLINK_HVERSION) -V "ver. 2.0" \ + -k $@ -o $@.new $(1) + @mv $@.new $@ +endef + +define Build/tplink-v2-image + $(STAGING_DIR_HOST)/bin/mktplinkfw2 \ + -H $(TPLINK_HWID) -W $(TPLINK_HWREV) \ + -w $(TPLINK_HWREVADD) -F "$(TPLINK_FLASHLAYOUT)" \ + -T $(TPLINK_HVERSION) -V "ver. 2.0" -a 0x4 -j \ + -k $(IMAGE_KERNEL) -r $(IMAGE_ROOTFS) -o $@.new $(1) + cat $@.new >> $@ + rm -rf $@.new +endef + +define Build/uImage + mkimage \ + -A $(LINUX_KARCH) \ + -O linux \ + -T kernel \ + -C $(word 1,$(1)) \ + -a $(KERNEL_LOADADDR) \ + -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' \ + $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC)) \ + $(wordlist 2,$(words $(1)),$(1)) \ + -d $@ $@.new + mv $@.new $@ +endef + +define Build/xor-image + $(STAGING_DIR_HOST)/bin/xorimage -i $@ -o $@.xor $(1) + mv $@.xor $@ +endef + +define Build/zip + rm -rf $@.tmp + mkdir $@.tmp + mv $@ $@.tmp/$(word 1,$(1)) + TZ=UTC $(STAGING_DIR_HOST)/bin/zip -j -X \ + $(wordlist 2,$(words $(1)),$(1)) \ + $@ $@.tmp/$(if $(word 1,$(1)),$(word 1,$(1)),$$(basename $@)) + rm -rf $@.tmp +endef + +define Build/zyxel-ras-image + let \ + newsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \ + $(STAGING_DIR_HOST)/bin/mkrasimage \ + -b $(RAS_BOARD) \ + -v $(RAS_VERSION) \ + -r $@ \ + -s $$newsize \ + -o $@.new \ + $(if $(findstring separate-kernel,$(word 1,$(1))),-k $(IMAGE_KERNEL)) \ + && mv $@.new $@ +endef diff --git a/include/image.mk b/include/image.mk new file mode 100644 index 0000000..ba1bd3c --- /dev/null +++ b/include/image.mk @@ -0,0 +1,787 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +override TARGET_BUILD= +include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/version.mk +include $(INCLUDE_DIR)/image-commands.mk + +ifndef IB + ifdef CONFIG_TARGET_PER_DEVICE_ROOTFS + TARGET_PER_DEVICE_ROOTFS := 1 + endif +endif + +include $(INCLUDE_DIR)/feeds.mk +include $(INCLUDE_DIR)/rootfs.mk + +override MAKE:=$(_SINGLE)$(SUBMAKE) +override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE) + +target_params = $(subst +,$(space),$*) +param_get = $(patsubst $(1)=%,%,$(filter $(1)=%,$(2))) +param_get_default = $(firstword $(call param_get,$(1),$(2)) $(3)) +param_mangle = $(subst $(space),_,$(strip $(1))) +param_unmangle = $(subst _,$(space),$(1)) + +mkfs_packages_id = $(shell echo $(sort $(1)) | $(MKHASH) md5 | cut -b1-8) +mkfs_target_dir = $(if $(call param_get,pkg,$(1)),$(KDIR)/target-dir-$(call param_get,pkg,$(1)),$(TARGET_DIR)) + +KDIR=$(KERNEL_BUILD_DIR) +KDIR_TMP=$(KDIR)/tmp +DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts + +IMG_PREFIX_EXTRA:=$(if $(EXTRA_IMAGE_NAME),$(call sanitize,$(EXTRA_IMAGE_NAME))-) +IMG_PREFIX_VERNUM:=$(if $(CONFIG_VERSION_FILENAMES),$(call sanitize,$(VERSION_NUMBER))-) +IMG_PREFIX_VERCODE:=$(if $(CONFIG_VERSION_CODE_FILENAMES),$(call sanitize,$(VERSION_CODE))-) + +IMG_PREFIX:=$(VERSION_DIST_SANITIZED)-$(IMG_PREFIX_VERNUM)$(IMG_PREFIX_VERCODE)$(IMG_PREFIX_EXTRA)$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET)) +IMG_ROOTFS:=$(IMG_PREFIX)-rootfs +IMG_COMBINED:=$(IMG_PREFIX)-combined +IMG_PART_SIGNATURE:=$(shell echo $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | $(MKHASH) md5 | cut -b1-8) +IMG_PART_DISKGUID:=$(shell echo $(SOURCE_DATE_EPOCH)$(LINUX_VERMAGIC) | $(MKHASH) md5 | sed -E 's/(.{8})(.{4})(.{4})(.{4})(.{10})../\1-\2-\3-\4-\500/') + +MKFS_DEVTABLE_OPT := -D $(INCLUDE_DIR)/device_table.txt + +ifneq ($(CONFIG_BIG_ENDIAN),) + JFFS2OPTS := --big-endian --squash-uids -v +else + JFFS2OPTS := --little-endian --squash-uids -v +endif + +ifeq ($(CONFIG_JFFS2_RTIME),y) + JFFS2OPTS += -X rtime +endif +ifeq ($(CONFIG_JFFS2_ZLIB),y) + JFFS2OPTS += -X zlib +endif +ifeq ($(CONFIG_JFFS2_LZMA),y) + JFFS2OPTS += -X lzma --compression-mode=size +endif +ifneq ($(CONFIG_JFFS2_RTIME),y) + JFFS2OPTS += -x rtime +endif +ifneq ($(CONFIG_JFFS2_ZLIB),y) + JFFS2OPTS += -x zlib +endif +ifneq ($(CONFIG_JFFS2_LZMA),y) + JFFS2OPTS += -x lzma +endif + +JFFS2OPTS += $(MKFS_DEVTABLE_OPT) + +SQUASHFS_BLOCKSIZE := $(CONFIG_TARGET_SQUASHFS_BLOCK_SIZE)k +SQUASHFSOPT := -b $(SQUASHFS_BLOCKSIZE) +SQUASHFSOPT += -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' +SQUASHFSOPT += $(if $(CONFIG_SELINUX),-xattrs,-no-xattrs) +SQUASHFSCOMP := gzip +LZMA_XZ_OPTIONS := -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2 +ifeq ($(CONFIG_SQUASHFS_XZ),y) + ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),) + BCJ_FILTER:=-Xbcj $(LINUX_KARCH) + endif + SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER) +endif + +JFFS2_BLOCKSIZE ?= 64k 128k + +fs-types-$(CONFIG_TARGET_ROOTFS_SQUASHFS) += squashfs +fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addprefix jffs2-,$(JFFS2_BLOCKSIZE)) +fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2_NAND) += $(addprefix jffs2-nand-,$(NAND_BLOCKSIZE)) +fs-types-$(CONFIG_TARGET_ROOTFS_EXT4FS) += ext4 +fs-types-$(CONFIG_TARGET_ROOTFS_UBIFS) += ubifs +fs-subtypes-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addsuffix -raw,$(addprefix jffs2-,$(JFFS2_BLOCKSIZE))) + +TARGET_FILESYSTEMS := $(fs-types-y) + +FS_64K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-64k +FS_128K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-128k +FS_256K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-256k + +define add_jffs2_mark + echo -ne '\xde\xad\xc0\xde' >> $(1) +endef + +PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE)))) + +define split_args +$(foreach data, \ + $(subst |,$(space),\ + $(subst $(space),^,$(1))), \ + $(call $(2),$(strip $(subst ^,$(space),$(data))))) +endef + +define build_cmd +$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1)))) +$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1))) + +endef + +define concat_cmd +$(call split_args,$(1),build_cmd) +endef + +# pad to 4k, 8k, 16k, 64k, 128k, 256k and add jffs2 end-of-filesystem mark +define prepare_generic_squashfs + $(STAGING_DIR_HOST)/bin/padjffs2 $(1) 4 8 16 64 128 256 +endef + +define Image/BuildKernel/Initramfs + $(call Image/Build/Initramfs) +endef + +define Image/BuildKernel/MkuImage + mkimage -A $(ARCH) -O linux -T kernel -C $(1) -a $(2) -e $(3) \ + -n '$(call toupper,$(ARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION)' -d $(4) $(5) +endef + +define Image/BuildKernel/MkFIT + $(TOPDIR)/scripts/mkits.sh \ + -D $(1) -o $(KDIR)/fit-$(1).its -k $(2) $(if $(3),-d $(3)) -C $(4) -a $(5) -e $(6) \ + -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \ + -A $(LINUX_KARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1)$(7).itb +endef + +ifdef CONFIG_TARGET_IMAGES_GZIP + define Image/Gzip + rm -f $(1).gz + gzip -9n $(1) + endef +endif + + +# Disable noisy checks by default as in upstream +DTC_FLAGS += \ + -Wno-unit_address_vs_reg \ + -Wno-simple_bus_reg \ + -Wno-unit_address_format \ + -Wno-pci_bridge \ + -Wno-pci_device_bus_num \ + -Wno-pci_device_reg \ + -Wno-avoid_unnecessary_addr_size \ + -Wno-alias_paths \ + -Wno-graph_child_address \ + -Wno-graph_port \ + -Wno-unique_unit_address + +define Image/pad-to + dd if=$(1) of=$(1).new bs=$(2) conv=sync + mv $(1).new $(1) +endef + +ROOTFS_PARTSIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024))) + +define Image/pad-root-squashfs + $(call Image/pad-to,$(KDIR)/root.squashfs,$(if $(1),$(1),$(ROOTFS_PARTSIZE))) +endef + +# $(1) source dts file +# $(2) target dtb file +# $(3) extra CPP flags +# $(4) extra DTC flags +define Image/BuildDTB + $(TARGET_CROSS)cpp -nostdinc -x assembler-with-cpp \ + -I$(DTS_DIR) \ + -I$(DTS_DIR)/include \ + -I$(LINUX_DIR)/include/ \ + -undef -D__DTS__ $(3) \ + -o $(2).tmp $(1) + $(LINUX_DIR)/scripts/dtc/dtc -O dtb \ + -i$(dir $(1)) $(DTC_FLAGS) $(4) \ + $(if $(CONFIG_HAS_DT_OVERLAY_SUPPORT),-@) \ + -o $(2) $(2).tmp + $(RM) $(2).tmp +endef + +define Image/mkfs/jffs2/sub-raw + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \ + $(2) \ + -e $(patsubst %k,%KiB,$(1)) \ + -o $@ -d $(call mkfs_target_dir,$(3)) \ + -v 2>&1 1>/dev/null | awk '/^.+$$$$/' +endef + +define Image/mkfs/jffs2/sub + $(call Image/mkfs/jffs2/sub-raw,$(1),--pad $(2),$(3)) + $(call add_jffs2_mark,$@) +endef + +define Image/mkfs/jffs2/template + Image/mkfs/jffs2-$(1) = $$(call Image/mkfs/jffs2/sub,$(1),$(JFFS2OPTS),$$(1)) + Image/mkfs/jffs2-$(1)-raw = $$(call Image/mkfs/jffs2/sub-raw,$(1),$(JFFS2OPTS),$$(1)) + +endef + +define Image/mkfs/jffs2-nand/template + Image/mkfs/jffs2-nand-$(1) = \ + $$(call Image/mkfs/jffs2/sub, \ + $(word 2,$(subst -, ,$(1))), \ + $(JFFS2OPTS) --no-cleanmarkers --pagesize=$(word 1,$(subst -, ,$(1))),$$(1)) + +endef + +$(eval $(foreach S,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/template,$(S)))) +$(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S)))) + +define Image/mkfs/squashfs-common + $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \ + -nopad -noappend -root-owned \ + -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) +endef + +ifeq ($(CONFIG_TARGET_ROOTFS_SECURITY_LABELS),y) +define Image/mkfs/squashfs + echo ". $(call mkfs_target_dir,$(1))/etc/selinux/config" > $@.fakeroot-script + echo "$(STAGING_DIR_HOST)/bin/setfiles -r" \ + "$(call mkfs_target_dir,$(1))" \ + "$(call mkfs_target_dir,$(1))/etc/selinux/\$${SELINUXTYPE}/contexts/files/file_contexts " \ + "$(call mkfs_target_dir,$(1))" >> $@.fakeroot-script + echo "$(Image/mkfs/squashfs-common)" >> $@.fakeroot-script + chmod +x $@.fakeroot-script + $(FAKEROOT) "$@.fakeroot-script" +endef +else +define Image/mkfs/squashfs + $(call Image/mkfs/squashfs-common,$(1)) +endef +endif + +define Image/mkfs/ubifs + $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ + $(UBIFS_OPTS) $(call param_unmangle,$(call param_get,fs,$(1))) \ + $(if $(CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP),--space-fixup) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_NONE),--compr=none) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_LZO),--compr=lzo) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_ZLIB),--compr=zlib) \ + $(if $(shell echo $(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)),--jrn-size=$(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)) \ + --squash-uids \ + -o $@ -d $(call mkfs_target_dir,$(1)) +endef + +define Image/mkfs/ext4 + $(STAGING_DIR_HOST)/bin/make_ext4fs -L rootfs \ + -l $(ROOTFS_PARTSIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \ + $(if $(CONFIG_TARGET_EXT4_RESERVED_PCT),-m $(CONFIG_TARGET_EXT4_RESERVED_PCT)) \ + $(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \ + $(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \ + $@ $(call mkfs_target_dir,$(1))/ +endef + +define Image/Manifest + $(call opkg,$(TARGET_DIR_ORIG)) list-installed > \ + $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED)).manifest +endef + +define Image/gzip-ext4-padded-squashfs + + define Image/Build/squashfs + $(call Image/pad-root-squashfs) + endef + + ifneq ($(CONFIG_TARGET_IMAGES_GZIP),) + define Image/Build/gzip/ext4 + $(call Image/Build/gzip,ext4) + endef + define Image/Build/gzip/squashfs + $(call Image/Build/gzip,squashfs) + endef + endif + +endef + +ifdef CONFIG_TARGET_ROOTFS_TARGZ + define Image/Build/targz + $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + -C $(TARGET_DIR)/ . | gzip -9n > $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz + endef +endif + +ifdef CONFIG_TARGET_ROOTFS_CPIOGZ + define Image/Build/cpiogz + ( cd $(TARGET_DIR); find . | $(STAGING_DIR_HOST)/bin/cpio -o -H newc -R 0:0 | gzip -9n >$(BIN_DIR)/$(IMG_ROOTFS).cpio.gz ) + endef +endif + +mkfs_packages = $(filter-out @%,$(PACKAGES_$(call param_get,pkg,pkg=$(target_params)))) +mkfs_packages_add = $(foreach pkg,$(filter-out -%,$(mkfs_packages)),$(pkg)$(call GetABISuffix,$(pkg))) +mkfs_packages_remove = $(foreach pkg,$(patsubst -%,%,$(filter -%,$(mkfs_packages))),$(pkg)$(call GetABISuffix,$(pkg))) +mkfs_cur_target_dir = $(call mkfs_target_dir,pkg=$(target_params)) + +opkg_target = \ + $(call opkg,$(mkfs_cur_target_dir)) \ + -f $(mkfs_cur_target_dir).conf + +target-dir-%: FORCE + rm -rf $(mkfs_cur_target_dir) $(mkfs_cur_target_dir).opkg + $(CP) $(TARGET_DIR_ORIG) $(mkfs_cur_target_dir) + -mv $(mkfs_cur_target_dir)/etc/opkg $(mkfs_cur_target_dir).opkg + echo 'src default file://$(PACKAGE_DIR_ALL)' > $(mkfs_cur_target_dir).conf + $(if $(mkfs_packages_remove), \ + -$(call opkg,$(mkfs_cur_target_dir)) remove \ + $(mkfs_packages_remove)) + $(if $(call opkg_package_files,$(mkfs_packages_add)), \ + $(opkg_target) update && \ + $(opkg_target) install \ + $(call opkg_package_files,$(mkfs_packages_add))) + -$(CP) -T $(mkfs_cur_target_dir).opkg/ $(mkfs_cur_target_dir)/etc/opkg/ + rm -rf $(mkfs_cur_target_dir).opkg $(mkfs_cur_target_dir).conf + $(call prepare_rootfs,$(mkfs_cur_target_dir),$(TOPDIR)/files) + +$(KDIR)/root.%: kernel_prepare + $(call Image/mkfs/$(word 1,$(target_params)),$(target_params)) + +define Device/InitProfile + PROFILES := $(PROFILE) + DEVICE_TITLE = $$(DEVICE_VENDOR) $$(DEVICE_MODEL)$$(if $$(DEVICE_VARIANT), $$(DEVICE_VARIANT)) + DEVICE_ALT0_TITLE = $$(DEVICE_ALT0_VENDOR) $$(DEVICE_ALT0_MODEL)$$(if $$(DEVICE_ALT0_VARIANT), $$(DEVICE_ALT0_VARIANT)) + DEVICE_ALT1_TITLE = $$(DEVICE_ALT1_VENDOR) $$(DEVICE_ALT1_MODEL)$$(if $$(DEVICE_ALT1_VARIANT), $$(DEVICE_ALT1_VARIANT)) + DEVICE_ALT2_TITLE = $$(DEVICE_ALT2_VENDOR) $$(DEVICE_ALT2_MODEL)$$(if $$(DEVICE_ALT2_VARIANT), $$(DEVICE_ALT2_VARIANT)) + DEVICE_VENDOR := + DEVICE_MODEL := + DEVICE_VARIANT := + DEVICE_ALT0_VENDOR := + DEVICE_ALT0_MODEL := + DEVICE_ALT0_VARIANT := + DEVICE_ALT1_VENDOR := + DEVICE_ALT1_MODEL := + DEVICE_ALT1_VARIANT := + DEVICE_ALT2_VENDOR := + DEVICE_ALT2_MODEL := + DEVICE_ALT2_VARIANT := + DEVICE_PACKAGES := + DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE) +endef + +define Device/Init + DEVICE_NAME := $(1) + KERNEL:= + KERNEL_INITRAMFS = $$(KERNEL) + CMDLINE:= + + IMAGES := + ARTIFACTS := + DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1) + DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2) + IMAGE_SIZE := + KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX) + KERNEL_SUFFIX := -kernel.bin + KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX) + KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX) + KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs + KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX) + KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs + KERNEL_INSTALL := + KERNEL_NAME := vmlinux + KERNEL_DEPENDS := + KERNEL_SIZE := + + UBOOTENV_IN_UBI := + KERNEL_IN_UBI := + BLOCKSIZE := + PAGESIZE := + SUBPAGESIZE := + VID_HDR_OFFSET := + UBINIZE_OPTS := + UBINIZE_PARTS := + MKUBIFS_OPTS := + + FS_OPTIONS/ubifs = $$(MKUBIFS_OPTS) + + DEVICE_DTS := + DEVICE_DTS_CONFIG := + DEVICE_DTS_DELIMITER := + DEVICE_DTS_DIR := + DEVICE_DTS_OVERLAY := + DEVICE_FDT_NUM := + SOC := + + BOARD_NAME := + UIMAGE_MAGIC := + UIMAGE_NAME := + DEVICE_COMPAT_VERSION := 1.0 + DEVICE_COMPAT_MESSAGE := + SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) + IMAGE_METADATA := + + FILESYSTEMS := $(TARGET_FILESYSTEMS) + + UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-$(1) + + BROKEN := + DEFAULT := +endef + +DEFAULT_DEVICE_VARS := \ + DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE KERNEL_SIZE \ + CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \ + VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \ + DEVICE_DTS_CONFIG DEVICE_DTS_DELIMITER DEVICE_DTS_DIR DEVICE_DTS_OVERLAY \ + DEVICE_FDT_NUM DEVICE_IMG_PREFIX SOC BOARD_NAME UIMAGE_MAGIC UIMAGE_NAME \ + SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \ + UBOOT_PATH IMAGE_SIZE \ + DEVICE_PACKAGES DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \ + DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \ + DEVICE_ALT0_VENDOR DEVICE_ALT0_MODEL DEVICE_ALT0_VARIANT \ + DEVICE_ALT1_VENDOR DEVICE_ALT1_MODEL DEVICE_ALT1_VARIANT \ + DEVICE_ALT2_VENDOR DEVICE_ALT2_MODEL DEVICE_ALT2_VARIANT + +define Device/ExportVar + $(1) : $(2):=$$($(2)) + +endef +define Device/Export + $(foreach var,$(DEVICE_VARS) $(DEFAULT_DEVICE_VARS),$(call Device/ExportVar,$(1),$(var))) + $(1) : FILESYSTEM:=$(2) +endef + +ifdef IB + DEVICE_CHECK_PROFILE = $(filter $(1),DEVICE_$(PROFILE) $(PROFILE)) +else + DEVICE_CHECK_PROFILE = $(CONFIG_TARGET_$(if $(CONFIG_TARGET_MULTI_PROFILE),DEVICE_)$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_$(1)) +endif + +DEVICE_EXTRA_PACKAGES = $(call qstrip,$(CONFIG_TARGET_DEVICE_PACKAGES_$(call target_conf,$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)))_DEVICE_$(1))) + +define merge_packages + $(1) := + $(foreach pkg,$(2), + $(1) := $$(strip $$(filter-out -$$(patsubst -%,%,$(pkg)) $$(patsubst -%,%,$(pkg)),$$($(1))) $(pkg)) + ) +endef + +define Device/Check/Common + _PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile)))) + DEVICE_PACKAGES += $$(call extra_packages,$$(DEVICE_PACKAGES)) + ifdef TARGET_PER_DEVICE_ROOTFS + $$(eval $$(call merge_packages,_PACKAGES,$$(DEVICE_PACKAGES) $$(call DEVICE_EXTRA_PACKAGES,$(1)))) + ROOTFS_ID/$(1) := $$(if $$(_PROFILE_SET),$$(call mkfs_packages_id,$$(_PACKAGES))) + PACKAGES_$$(ROOTFS_ID/$(1)) := $$(_PACKAGES) + endif +endef + +define Device/Check + $(Device/Check/Common) + KDIR_KERNEL_IMAGE := $(KDIR)/$(1)$$(KERNEL_SUFFIX) + _TARGET := $$(if $$(_PROFILE_SET),install-images,install-disabled) + ifndef IB + _COMPILE_TARGET := $$(if $(CONFIG_IB)$$(_PROFILE_SET),compile,compile-disabled) + endif +endef + +ifndef IB +define Device/Build/initramfs + $(call Device/Export,$(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE),$(1)) + $$(_TARGET): $$(if $$(KERNEL_INITRAMFS),$(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE) \ + $$(if $$(CONFIG_JSON_OVERVIEW_IMAGE_INFO), $(BUILD_DIR)/json_info_files/$$(KERNEL_INITRAMFS_IMAGE).json,)) + + $(KDIR)/$$(KERNEL_INITRAMFS_NAME):: image_prepare + $(1)-images: $$(if $$(KERNEL_INITRAMFS),$(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE)) + $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) + cp $$^ $$@ + + $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/$$(KERNEL_INITRAMFS_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS) image_prepare + @rm -f $$@ + $$(call concat_cmd,$$(KERNEL_INITRAMFS)) + + $(call Device/Export,$(BUILD_DIR)/json_info_files/$$(KERNEL_INITRAMFS_IMAGE).json,$(1)) + + $(BUILD_DIR)/json_info_files/$$(KERNEL_INITRAMFS_IMAGE).json: $(BIN_DIR)/$$(KERNEL_INITRAMFS_IMAGE) + @mkdir -p $$(shell dirname $$@) + DEVICE_ID="$(1)" \ + SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \ + FILE_NAME="$$(notdir $$^)" \ + FILE_DIR="$(KDIR)/tmp" \ + FILE_TYPE="kernel" \ + FILE_FILESYSTEM="initramfs" \ + DEVICE_IMG_PREFIX="$$(DEVICE_IMG_PREFIX)" \ + DEVICE_VENDOR="$$(DEVICE_VENDOR)" \ + DEVICE_MODEL="$$(DEVICE_MODEL)" \ + DEVICE_VARIANT="$$(DEVICE_VARIANT)" \ + DEVICE_ALT0_VENDOR="$$(DEVICE_ALT0_VENDOR)" \ + DEVICE_ALT0_MODEL="$$(DEVICE_ALT0_MODEL)" \ + DEVICE_ALT0_VARIANT="$$(DEVICE_ALT0_VARIANT)" \ + DEVICE_ALT1_VENDOR="$$(DEVICE_ALT1_VENDOR)" \ + DEVICE_ALT1_MODEL="$$(DEVICE_ALT1_MODEL)" \ + DEVICE_ALT1_VARIANT="$$(DEVICE_ALT1_VARIANT)" \ + DEVICE_ALT2_VENDOR="$$(DEVICE_ALT2_VENDOR)" \ + DEVICE_ALT2_MODEL="$$(DEVICE_ALT2_MODEL)" \ + DEVICE_ALT2_VARIANT="$$(DEVICE_ALT2_VARIANT)" \ + DEVICE_TITLE="$$(DEVICE_TITLE)" \ + DEVICE_PACKAGES="$$(DEVICE_PACKAGES)" \ + TARGET="$(BOARD)" \ + SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \ + VERSION_NUMBER="$(VERSION_NUMBER)" \ + VERSION_CODE="$(VERSION_CODE)" \ + SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \ + $(TOPDIR)/scripts/json_add_image_info.py $$@ +endef +endif + +define Device/Build/compile + $$(_COMPILE_TARGET): $(KDIR)/$(1) + $(eval $(call Device/Export,$(KDIR)/$(1))) + $(KDIR)/$(1): FORCE + rm -f $(KDIR)/$(1) + $$(call concat_cmd,$(COMPILE/$(1))) + +endef + +ifndef IB +define Device/Build/dtb + ifndef BUILD_DTS_$(1) + BUILD_DTS_$(1) := 1 + $(KDIR)/image-$(1).dtb: FORCE + $(call Image/BuildDTB,$(strip $(2))/$(strip $(3)).dts,$$@) + + image_prepare: $(KDIR)/image-$(1).dtb + endif + +endef +endif + +define Device/Build/kernel + $$(eval $$(foreach dts,$$(DEVICE_DTS) $$(DEVICE_DTS_OVERLAY), \ + $$(call Device/Build/dtb,$$(notdir $$(dts)), \ + $$(if $$(DEVICE_DTS_DIR),$$(DEVICE_DTS_DIR),$$(DTS_DIR)), \ + $$(dts) \ + ) \ + )) + + $(KDIR)/$$(KERNEL_NAME):: image_prepare + $$(_TARGET): $$(if $$(KERNEL_INSTALL),$(BIN_DIR)/$$(KERNEL_IMAGE)) + $(call Device/Export,$$(KDIR_KERNEL_IMAGE),$(1)) + $(BIN_DIR)/$$(KERNEL_IMAGE): $$(KDIR_KERNEL_IMAGE) + cp $$^ $$@ + ifndef IB + ifdef CONFIG_IB + install: $$(KDIR_KERNEL_IMAGE) + endif + $$(KDIR_KERNEL_IMAGE): $(KDIR)/$$(KERNEL_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS) image_prepare + @rm -f $$@ + $$(call concat_cmd,$$(KERNEL)) + $$(if $$(KERNEL_SIZE),$$(call Build/check-size,$$(KERNEL_SIZE))) + endif +endef + +define Device/Build/image + GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz)) + $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \ + $(BUILD_DIR)/json_info_files/$(call DEVICE_IMG_NAME,$(1),$(2)).json, \ + $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2))$$(GZ_SUFFIX)) + $(eval $(call Device/Export,$(KDIR)/tmp/$(call DEVICE_IMG_NAME,$(1),$(2)),$(1))) + $(3)-images: $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2))$$(GZ_SUFFIX) + + ROOTFS/$(1)/$(3) := \ + $(KDIR)/root.$(1)$$(strip \ + $$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1)))) \ + )$$(strip \ + $(if $(TARGET_PER_DEVICE_ROOTFS),+pkg=$$(ROOTFS_ID/$(3))) \ + ) + ifndef IB + $$(ROOTFS/$(1)/$(3)): $(if $(TARGET_PER_DEVICE_ROOTFS),target-dir-$$(ROOTFS_ID/$(3))) + endif + $(KDIR)/tmp/$(call DEVICE_IMG_NAME,$(1),$(2)): $$(KDIR_KERNEL_IMAGE) $$(ROOTFS/$(1)/$(3)) + @rm -f $$@ + [ -f $$(word 1,$$^) -a -f $$(word 2,$$^) ] + $$(call concat_cmd,$(if $(IMAGE/$(2)/$(1)),$(IMAGE/$(2)/$(1)),$(IMAGE/$(2)))) + + .IGNORE: $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2)) + + $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2)).gz: $(KDIR)/tmp/$(call DEVICE_IMG_NAME,$(1),$(2)) + gzip -c -9n $$^ > $$@ + + $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2)): $(KDIR)/tmp/$(call DEVICE_IMG_NAME,$(1),$(2)) + cp $$^ $$@ + + $(BUILD_DIR)/json_info_files/$(call DEVICE_IMG_NAME,$(1),$(2)).json: $(BIN_DIR)/$(call DEVICE_IMG_NAME,$(1),$(2))$$(GZ_SUFFIX) + @mkdir -p $$(shell dirname $$@) + DEVICE_ID="$(DEVICE_NAME)" \ + SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \ + FILE_NAME="$(DEVICE_IMG_NAME)" \ + FILE_DIR="$(KDIR)/tmp" \ + FILE_TYPE=$(word 1,$(subst ., ,$(2))) \ + FILE_FILESYSTEM="$(1)" \ + DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \ + DEVICE_VENDOR="$(DEVICE_VENDOR)" \ + DEVICE_MODEL="$(DEVICE_MODEL)" \ + DEVICE_VARIANT="$(DEVICE_VARIANT)" \ + DEVICE_ALT0_VENDOR="$(DEVICE_ALT0_VENDOR)" \ + DEVICE_ALT0_MODEL="$(DEVICE_ALT0_MODEL)" \ + DEVICE_ALT0_VARIANT="$(DEVICE_ALT0_VARIANT)" \ + DEVICE_ALT1_VENDOR="$(DEVICE_ALT1_VENDOR)" \ + DEVICE_ALT1_MODEL="$(DEVICE_ALT1_MODEL)" \ + DEVICE_ALT1_VARIANT="$(DEVICE_ALT1_VARIANT)" \ + DEVICE_ALT2_VENDOR="$(DEVICE_ALT2_VENDOR)" \ + DEVICE_ALT2_MODEL="$(DEVICE_ALT2_MODEL)" \ + DEVICE_ALT2_VARIANT="$(DEVICE_ALT2_VARIANT)" \ + DEVICE_TITLE="$(DEVICE_TITLE)" \ + DEVICE_PACKAGES="$(DEVICE_PACKAGES)" \ + TARGET="$(BOARD)" \ + SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \ + VERSION_NUMBER="$(VERSION_NUMBER)" \ + VERSION_CODE="$(VERSION_CODE)" \ + SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \ + $(TOPDIR)/scripts/json_add_image_info.py $$@ + +endef + +define Device/Build/artifact + $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \ + $(BUILD_DIR)/json_info_files/$(DEVICE_IMG_PREFIX)-$(1).json, \ + $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)) + $(eval $(call Device/Export,$(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1))) + $(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1): $$(KDIR_KERNEL_IMAGE) $(2)-images + @rm -f $$@ + $$(call concat_cmd,$(ARTIFACT/$(1))) + + .IGNORE: $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1) + + $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1): $(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1) + cp $$^ $$@ + + $(BUILD_DIR)/json_info_files/$(DEVICE_IMG_PREFIX)-$(1).json: $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1) + @mkdir -p $$(shell dirname $$@) + DEVICE_ID="$(DEVICE_NAME)" \ + SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \ + FILE_NAME="$(DEVICE_IMG_PREFIX)-$(1)" \ + FILE_DIR="$(KDIR)/tmp" \ + FILE_TYPE="$(1)" \ + DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \ + DEVICE_VENDOR="$(DEVICE_VENDOR)" \ + DEVICE_MODEL="$(DEVICE_MODEL)" \ + DEVICE_VARIANT="$(DEVICE_VARIANT)" \ + DEVICE_ALT0_VENDOR="$(DEVICE_ALT0_VENDOR)" \ + DEVICE_ALT0_MODEL="$(DEVICE_ALT0_MODEL)" \ + DEVICE_ALT0_VARIANT="$(DEVICE_ALT0_VARIANT)" \ + DEVICE_ALT1_VENDOR="$(DEVICE_ALT1_VENDOR)" \ + DEVICE_ALT1_MODEL="$(DEVICE_ALT1_MODEL)" \ + DEVICE_ALT1_VARIANT="$(DEVICE_ALT1_VARIANT)" \ + DEVICE_ALT2_VENDOR="$(DEVICE_ALT2_VENDOR)" \ + DEVICE_ALT2_MODEL="$(DEVICE_ALT2_MODEL)" \ + DEVICE_ALT2_VARIANT="$(DEVICE_ALT2_VARIANT)" \ + DEVICE_TITLE="$(DEVICE_TITLE)" \ + DEVICE_PACKAGES="$(DEVICE_PACKAGES)" \ + TARGET="$(BOARD)" \ + SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \ + VERSION_NUMBER="$(VERSION_NUMBER)" \ + VERSION_CODE="$(VERSION_CODE)" \ + SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \ + $(TOPDIR)/scripts/json_add_image_info.py $$@ + +endef + +define Device/Build + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1))) + $(call Device/Build/kernel,$(1)) + + $$(eval $$(foreach compile,$$(COMPILE), \ + $$(call Device/Build/compile,$$(compile),$(1)))) + + $$(eval $$(foreach image,$$(IMAGES), \ + $$(foreach fs,$$(filter $(TARGET_FILESYSTEMS),$$(FILESYSTEMS)), \ + $$(call Device/Build/image,$$(fs),$$(image),$(1))))) + + $$(eval $$(foreach artifact,$$(ARTIFACTS), \ + $$(call Device/Build/artifact,$$(artifact),$(1)))) + +endef + +define Device/DumpInfo +Target-Profile: DEVICE_$(1) +Target-Profile-Name: $(DEVICE_DISPLAY) +Target-Profile-Packages: $(DEVICE_PACKAGES) +Target-Profile-hasImageMetadata: $(if $(foreach image,$(IMAGES),$(findstring append-metadata,$(IMAGE/$(image)))),1,0) +Target-Profile-SupportedDevices: $(SUPPORTED_DEVICES) +$(if $(BROKEN),Target-Profile-Broken: $(BROKEN)) +$(if $(DEFAULT),Target-Profile-Default: $(DEFAULT)) +Target-Profile-Description: +$(DEVICE_DESCRIPTION) +$(if $(strip $(DEVICE_ALT0_TITLE)),Alternative device titles: +- $(DEVICE_ALT0_TITLE)) +$(if $(strip $(DEVICE_ALT1_TITLE)),- $(DEVICE_ALT1_TITLE)) +$(if $(strip $(DEVICE_ALT2_TITLE)),- $(DEVICE_ALT2_TITLE)) +@@ + +endef + +define Device/Dump +ifneq ($$(strip $$(DEVICE_ALT0_TITLE)),) +DEVICE_DISPLAY = $$(DEVICE_ALT0_TITLE) ($$(DEVICE_TITLE)) +$$(info $$(call Device/DumpInfo,$(1))) +endif +ifneq ($$(strip $$(DEVICE_ALT1_TITLE)),) +DEVICE_DISPLAY = $$(DEVICE_ALT1_TITLE) ($$(DEVICE_TITLE)) +$$(info $$(call Device/DumpInfo,$(1))) +endif +ifneq ($$(strip $$(DEVICE_ALT2_TITLE)),) +DEVICE_DISPLAY = $$(DEVICE_ALT2_TITLE) ($$(DEVICE_TITLE)) +$$(info $$(call Device/DumpInfo,$(1))) +endif +DEVICE_DISPLAY = $$(DEVICE_TITLE) +$$(eval $$(if $$(DEVICE_TITLE),$$(info $$(call Device/DumpInfo,$(1))))) +endef + +define Device + $(call Device/InitProfile,$(1)) + $(call Device/Init,$(1)) + $(call Device/Default,$(1)) + $(call Device/$(1),$(1)) + $(call Device/Check,$(1)) + $(call Device/$(if $(DUMP),Dump,Build),$(1)) + +endef + +define BuildImage + + ifneq ($(DUMP),) + all: dumpinfo + dumpinfo: FORCE + @true + endif + + download: + prepare: + compile: + clean: + image_prepare: + + ifeq ($(IB),) + .PHONY: download prepare compile clean image_prepare kernel_prepare install install-images + compile: + $(call Build/Compile) + + clean: + $(call Build/Clean) + + image_prepare: compile + mkdir -p $(BIN_DIR) $(KDIR)/tmp + rm -rf $(BUILD_DIR)/json_info_files + $(call Image/Prepare) + + else + image_prepare: + mkdir -p $(BIN_DIR) $(KDIR)/tmp + endif + + kernel_prepare: image_prepare + $(call Image/Build/targz) + $(call Image/Build/cpiogz) + $(call Image/BuildKernel) + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(if $(IB),,$(call Image/BuildKernel/Initramfs))) + $(call Image/InstallKernel) + + $(foreach device,$(TARGET_DEVICES),$(call Device,$(device))) + + install-images: kernel_prepare $(foreach fs,$(filter-out $(if $(UBIFS_OPTS),,ubifs),$(TARGET_FILESYSTEMS) $(fs-subtypes-y)),$(KDIR)/root.$(fs)) + $(foreach fs,$(TARGET_FILESYSTEMS), + $(call Image/Build,$(fs)) + ) + + install: install-images + $(call Image/Manifest) + +endef diff --git a/include/kernel-5.10 b/include/kernel-5.10 new file mode 100644 index 0000000..61a182a --- /dev/null +++ b/include/kernel-5.10 @@ -0,0 +1,2 @@ +LINUX_VERSION-5.10 = .176 +LINUX_KERNEL_HASH-5.10.176 = ce072c60ba04173e05b2a1de3fefdeba5ac8b28b1958d92d21bdbf9b736ef793 diff --git a/include/kernel-build.mk b/include/kernel-build.mk new file mode 100644 index 0000000..5dd033c --- /dev/null +++ b/include/kernel-build.mk @@ -0,0 +1,184 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/depends.mk + +ifneq ($(DUMP),1) + all: compile +endif + +KERNEL_FILE_DEPENDS=$(GENERIC_BACKPORT_DIR) $(GENERIC_PATCH_DIR) $(GENERIC_HACK_DIR) $(PATCH_DIR) $(GENERIC_FILES_DIR) $(FILES_DIR) +STAMP_PREPARED=$(LINUX_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call $(if $(CONFIG_AUTOREMOVE),find_md5_reproducible,find_md5),$(KERNEL_FILE_DEPENDS),))) +STAMP_CONFIGURED:=$(LINUX_DIR)/.configured +include $(INCLUDE_DIR)/download.mk +include $(INCLUDE_DIR)/quilt.mk +include $(INCLUDE_DIR)/kernel-defaults.mk + +define Kernel/Prepare + $(call Kernel/Prepare/Default) +endef + +define Kernel/Configure + $(call Kernel/Configure/Default) +endef + +define Kernel/CompileModules + $(call Kernel/CompileModules/Default) +endef + +define Kernel/CompileImage + $(call Kernel/CompileImage/Default) + $(call Kernel/CompileImage/Initramfs) +endef + +define Kernel/Clean + $(call Kernel/Clean/Default) +endef + +define Download/kernel + URL:=$(LINUX_SITE) + FILE:=$(LINUX_SOURCE) + HASH:=$(LINUX_KERNEL_HASH) +endef + +KERNEL_GIT_OPTS:= +ifneq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"") + KERNEL_GIT_OPTS+=--reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY) +endif + +define Download/git-kernel + URL:=$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)) + PROTO:=git + VERSION:=$(CONFIG_KERNEL_GIT_REF) + FILE:=$(LINUX_SOURCE) + SUBDIR:=linux-$(LINUX_VERSION) + OPTS:=$(KERNEL_GIT_OPTS) +endef + +ifdef CONFIG_COLLECT_KERNEL_DEBUG + define Kernel/CollectDebug + rm -rf $(KERNEL_BUILD_DIR)/debug + mkdir -p $(KERNEL_BUILD_DIR)/debug/modules + $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/debug/ + -$(CP) \ + $(STAGING_DIR_ROOT)/lib/modules/$(LINUX_VERSION)/* \ + $(KERNEL_BUILD_DIR)/debug/modules/ + $(FIND) $(KERNEL_BUILD_DIR)/debug -type f | $(XARGS) $(KERNEL_CROSS)strip --only-keep-debug + $(TAR) c -C $(KERNEL_BUILD_DIR) debug \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + | zstd -T0 -f -o $(BIN_DIR)/kernel-debug.tar.zst + endef +endif + +ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) + ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),) + define Kernel/Autoclean + $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED) + $(call rdep,$(KERNEL_FILE_DEPENDS),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*") + endef + endif +endif + +define BuildKernel + $(if $(QUILT),$(Build/Quilt)) + $(if $(LINUX_SITE),$(call Download,kernel)) + $(if $(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),$(call Download,git-kernel)) + + .NOTPARALLEL: + + $(Kernel/Autoclean) + $(STAMP_PREPARED): $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE)) + -rm -rf $(KERNEL_BUILD_DIR) + -mkdir -p $(KERNEL_BUILD_DIR) + $(Kernel/Prepare) + touch $$@ + + $(KERNEL_BUILD_DIR)/symtab.h: FORCE + rm -f $(KERNEL_BUILD_DIR)/symtab.h + touch $(KERNEL_BUILD_DIR)/symtab.h + +$(KERNEL_MAKE) vmlinux + find $(LINUX_DIR) $(STAGING_DIR_ROOT)/lib/modules -name \*.ko | \ + xargs $(TARGET_CROSS)nm | \ + awk '$$$$1 == "U" { print $$$$2 } ' | \ + sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt + $(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | awk '/^[0-9a-f]+ [rR] __ksymtab_/ {print substr($$$$3,11)}' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt + grep -Ff $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt + grep -Fvf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt + ( \ + echo '#define SYMTAB_KEEP \'; \ + cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ + awk '{print "KEEP(*(___ksymtab+" $$$$1 ")) \\" }'; \ + echo; \ + echo '#define SYMTAB_KEEP_GPL \'; \ + cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ + awk '{print "KEEP(*(___ksymtab_gpl+" $$$$1 ")) \\" }'; \ + echo; \ + echo '#define SYMTAB_DISCARD \'; \ + cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ + awk '{print "*(___ksymtab+" $$$$1 ") \\" }'; \ + echo; \ + echo '#define SYMTAB_DISCARD_GPL \'; \ + cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ + awk '{print "*(___ksymtab_gpl+" $$$$1 ") \\" }'; \ + echo; \ + ) > $$@ + + $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST) $(TOPDIR)/.config FORCE + $(Kernel/Configure) + touch $$@ + + $(LINUX_DIR)/.modules: export STAGING_PREFIX=$$(STAGING_DIR_HOST) + $(LINUX_DIR)/.modules: export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig + $(LINUX_DIR)/.modules: export PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig + $(LINUX_DIR)/.modules: export FAIL_ON_UNCONFIGURED=1 + $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE + $(Kernel/CompileModules) + touch $$@ + + $(LINUX_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST) + $(LINUX_DIR)/.image: export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig + $(LINUX_DIR)/.image: export PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig + $(LINUX_DIR)/.image: $(STAMP_CONFIGURED) $(if $(CONFIG_STRIP_KERNEL_EXPORTS),$(KERNEL_BUILD_DIR)/symtab.h) FORCE + $(Kernel/CompileImage) + $(Kernel/CollectDebug) + touch $$@ + + mostlyclean: FORCE + $(Kernel/Clean) + + define BuildKernel + endef + + download: $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE)) + prepare: $(STAMP_PREPARED) + compile: $(LINUX_DIR)/.modules + $(MAKE) -C image compile TARGET_BUILD= + + oldconfig menuconfig nconfig xconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) FORCE + rm -f $(LINUX_DIR)/.config.prev + rm -f $(STAMP_CONFIGURED) + $(LINUX_RECONF_CMD) > $(LINUX_DIR)/.config + $(_SINGLE)$(KERNEL_MAKE) \ + $(if $(findstring Darwin,$(HOST_OS)), \ + HOST_LOADLIBES="-L$(STAGING_DIR_HOST)/lib -lncurses" \ + HOSTLDLIBS_mconf="-L$(STAGING_DIR_HOST)/lib -lncurses" \ + filechk_conf_cfg=" :" \ + ) \ + YACC=$(STAGING_DIR_HOST)/bin/bison \ + $$@ + $(call LINUX_RECONF_DIFF,$(LINUX_DIR)/.config) > $(LINUX_RECONFIG_TARGET) + + install: $(LINUX_DIR)/.image + +$(MAKE) -C image compile install TARGET_BUILD= + + clean: FORCE + rm -rf $(KERNEL_BUILD_DIR) + + image-prereq: + @+$(NO_TRACE_MAKE) -s -C image prereq TARGET_BUILD= + + prereq: image-prereq + +endef diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk new file mode 100644 index 0000000..2e21392 --- /dev/null +++ b/include/kernel-defaults.mk @@ -0,0 +1,200 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +ifdef CONFIG_STRIP_KERNEL_EXPORTS + KERNEL_MAKEOPTS_IMAGE += \ + EXTRA_LDSFLAGS="-I$(KERNEL_BUILD_DIR) -include symtab.h" +endif + +INITRAMFS_EXTRA_FILES ?= $(GENERIC_PLATFORM_DIR)/image/initramfs-base-files.txt + +ifneq (,$(KERNEL_CC)) + KERNEL_MAKEOPTS += CC="$(KERNEL_CC)" +endif + +export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include + +# defined in quilt.mk +Kernel/Patch:=$(Kernel/Patch/Default) + +ifneq (,$(findstring .xz,$(LINUX_SOURCE))) + LINUX_CAT:=xzcat +else + LINUX_CAT:=gzip -dc +endif + +ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") + ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") + define Kernel/Prepare/Default + $(LINUX_CAT) $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS) + $(Kernel/Patch) + $(if $(QUILT),touch $(LINUX_DIR)/.quilt_used) + endef + else + define Kernel/Prepare/Default + $(LINUX_CAT) $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS) + endef + endif +else + define Kernel/Prepare/Default + mkdir -p $(KERNEL_BUILD_DIR) + if [ -d $(LINUX_DIR) ]; then \ + rmdir $(LINUX_DIR); \ + fi + ln -s $(CONFIG_EXTERNAL_KERNEL_TREE) $(LINUX_DIR) + if [ -d $(LINUX_DIR)/user_headers ]; then \ + rm -rf $(LINUX_DIR)/user_headers; \ + fi + endef +endif + +ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) + ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE),y) + define Kernel/SetInitramfs/PreConfigure + grep -v -e CONFIG_BLK_DEV_INITRD $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config + echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config + endef + else + ifeq ($(strip $(CONFIG_EXTERNAL_CPIO)),"") + define Kernel/SetInitramfs/PreConfigure + grep -v -e INITRAMFS -e CONFIG_RD_ -e CONFIG_BLK_DEV_INITRD $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config + echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) $(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config + endef + else + define Kernel/SetInitramfs/PreConfigure + grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_SOURCE="$(call qstrip,$(CONFIG_EXTERNAL_CPIO))"' >> $(LINUX_DIR)/.config + endef + endif +endif + + define Kernel/SetInitramfs + rm -f $(LINUX_DIR)/.config.prev + mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old + $(call Kernel/SetInitramfs/PreConfigure) + ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE),y) + echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config + echo "$(if $(CONFIG_TARGET_INITRAMFS_FORCE),CONFIG_INITRAMFS_FORCE=y,# CONFIG_INITRAMFS_FORCE is not set)" >> $(LINUX_DIR)/.config + else + echo "# CONFIG_INITRAMFS_FORCE is not set" >> $(LINUX_DIR)/.config + endif + echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,# CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,# CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),CONFIG_INITRAMFS_COMPRESSION_LZ4=y\nCONFIG_RD_LZ4=y,# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set\n# CONFIG_RD_LZ4 is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD),CONFIG_INITRAMFS_COMPRESSION_ZSTD=y\nCONFIG_RD_ZSTD=y,# CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set\n# CONFIG_RD_ZSTD is not set)" >> $(LINUX_DIR)/.config + endef +else +endif + +define Kernel/SetNoInitramfs + mv $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.old + grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config.set + echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config.set + echo '# CONFIG_INITRAMFS_FORCE is not set' >> $(LINUX_DIR)/.config.set +endef + +define Kernel/Configure/Default + rm -f $(LINUX_DIR)/localversion + $(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target +# copy CONFIG_KERNEL_* settings over to .config.target + awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' $(TOPDIR)/.config >> $(LINUX_DIR)/.config.target + echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target + echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target + echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> $(LINUX_DIR)/.config.target + $(SCRIPT_DIR)/package-metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override + $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config.set + $(call Kernel/SetNoInitramfs) + rm -rf $(KERNEL_BUILD_DIR)/modules + cmp -s $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev || { \ + cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \ + cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \ + } + $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(KERNEL_MAKE) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install + grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) md5 > $(LINUX_DIR)/.vermagic +endef + +define Kernel/Configure/Initramfs + $(call Kernel/SetInitramfs) +endef + +define Kernel/CompileModules/Default + rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map + +$(KERNEL_MAKE) $(if $(KERNELNAME),$(KERNELNAME),all) modules + # If .config did not change, use the previous timestamp to avoid package rebuilds + cmp -s $(LINUX_DIR)/.config $(LINUX_DIR)/.config.modules.save && \ + mv $(LINUX_DIR)/.config.modules.save $(LINUX_DIR)/.config; \ + $(CP) $(LINUX_DIR)/.config $(LINUX_DIR)/.config.modules.save +endef + +OBJCOPY_STRIP = -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id + +# AMD64 shares the location with x86 +ifeq ($(LINUX_KARCH),x86_64) +IMAGES_DIR:=../../x86/boot +endif + +define Kernel/CopyImage + cmp -s $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug || { \ + $(KERNEL_CROSS)objcopy -O binary $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(LINUX_KERNEL)$(1); \ + $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \ + $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug; \ + $(foreach k, \ + $(if $(KERNEL_IMAGES),$(KERNEL_IMAGES),$(filter-out vmlinux dtbs,$(KERNELNAME))), \ + $(CP) $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/$(IMAGES_DIR)/$(k) $(KERNEL_BUILD_DIR)/$(k)$(1); \ + ) \ + } +endef + +# Always add "modules" so a proper Module.symvers file is written that +# also contains symbols from the kernel modules. Without these symbols +# external packages that depend on exported symbols from kernel modules +# will fail to build. +define Kernel/CompileImage/Default + rm -f $(TARGET_DIR)/init + +$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) $(if $(KERNELNAME),$(KERNELNAME),all) modules + $(call Kernel/CopyImage) +endef + +# Here as well, always add "modules", see comment above. +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) +define Kernel/CompileImage/Initramfs + $(call Kernel/Configure/Initramfs) + $(CP) $(GENERIC_PLATFORM_DIR)/other-files/init $(TARGET_DIR)/init + $(if $(SOURCE_DATE_EPOCH),touch -hcd "@$(SOURCE_DATE_EPOCH)" $(TARGET_DIR) $(TARGET_DIR)/init) + rm -rf $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/usr/initramfs_data.cpio* +ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE),y) +ifneq ($(qstrip $(CONFIG_EXTERNAL_CPIO)),) + $(CP) $(CONFIG_EXTERNAL_CPIO) $(KERNEL_BUILD_DIR)/initrd.cpio +else + ( cd $(TARGET_DIR); find . | LC_ALL=C sort | $(STAGING_DIR_HOST)/bin/cpio --reproducible -o -H newc -R 0:0 > $(KERNEL_BUILD_DIR)/initrd.cpio ) +endif + $(if $(SOURCE_DATE_EPOCH),touch -hcd "@$(SOURCE_DATE_EPOCH)" $(KERNEL_BUILD_DIR)/initrd.cpio) + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),bzip2 -9 -c < $(KERNEL_BUILD_DIR)/initrd.cpio > $(KERNEL_BUILD_DIR)/initrd.cpio.bzip2) + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),gzip -n -f -S .gzip -9n $(KERNEL_BUILD_DIR)/initrd.cpio) + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),$(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 $(KERNEL_BUILD_DIR)/initrd.cpio $(KERNEL_BUILD_DIR)/initrd.cpio.lzma) +# ? $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),) + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),$(STAGING_DIR_HOST)/bin/xz -T$(if $(filter 1,$(NPROC)),2,0) -9 -fz --check=crc32 $(KERNEL_BUILD_DIR)/initrd.cpio) +# ? $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),) + $(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_ZSTD),$(STAGING_DIR_HOST)/bin/zstd -T0 -f -o $(KERNEL_BUILD_DIR)/initrd.cpio.zstd $(KERNEL_BUILD_DIR)/initrd.cpio) +endif + +$(KERNEL_MAKE) $(KERNEL_MAKEOPTS_IMAGE) $(if $(KERNELNAME),$(KERNELNAME),all) modules + $(call Kernel/CopyImage,-initramfs) +endef +else +define Kernel/CompileImage/Initramfs +endef +endif + +define Kernel/Clean/Default + rm -f $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/.configured + rm -f $(LINUX_KERNEL) + $(_SINGLE)$(MAKE) -C $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) clean +endef diff --git a/include/kernel-version.mk b/include/kernel-version.mk new file mode 100644 index 0000000..1edb01d --- /dev/null +++ b/include/kernel-version.mk @@ -0,0 +1,42 @@ + +# Use the default kernel version if the Makefile doesn't override it +LINUX_RELEASE?=1 + +ifdef CONFIG_TESTING_KERNEL + KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) +endif + +KERNEL_DETAILS_FILE=$(INCLUDE_DIR)/kernel-$(KERNEL_PATCHVER) +ifeq ($(wildcard $(KERNEL_DETAILS_FILE)),) + $(error Missing kernel version/hash file for $(KERNEL_PATCHVER). Please create $(KERNEL_DETAILS_FILE)) +endif + +include $(KERNEL_DETAILS_FILE) + +remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) +sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) + +ifneq ($(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),) + LINUX_VERSION:=$(call sanitize_uri,$(call remove_uri_prefix,$(CONFIG_KERNEL_GIT_CLONE_URI))) + ifeq ($(call qstrip,$(CONFIG_KERNEL_GIT_REF)),) + CONFIG_KERNEL_GIT_REF:=HEAD + endif + LINUX_VERSION:=$(LINUX_VERSION)-$(call sanitize_uri,$(CONFIG_KERNEL_GIT_REF)) +else +ifdef KERNEL_PATCHVER + LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) +endif +ifdef KERNEL_TESTING_PATCHVER + LINUX_TESTING_VERSION:=$(KERNEL_TESTING_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_TESTING_PATCHVER))) +endif +endif + +split_version=$(subst ., ,$(1)) +merge_version=$(subst $(space),.,$(1)) +KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION))) +KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE)))) +KERNEL_PATCHVER ?= $(KERNEL) + +# disable the md5sum check for unknown kernel versions +LINUX_KERNEL_HASH:=$(LINUX_KERNEL_HASH-$(strip $(LINUX_VERSION))) +LINUX_KERNEL_HASH?=x diff --git a/include/kernel.mk b/include/kernel.mk new file mode 100644 index 0000000..d61e0c2 --- /dev/null +++ b/include/kernel.mk @@ -0,0 +1,302 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +ifneq ($(filter check,$(MAKECMDGOALS)),) +CHECK:=1 +DUMP:=1 +endif + +ifneq ($(SOURCE_DATE_EPOCH),) + ifndef DUMP + KBUILD_BUILD_TIMESTAMP:=$(shell perl -e 'print scalar gmtime($(SOURCE_DATE_EPOCH))') + endif +endif + +ifeq ($(__target_inc),) + ifndef CHECK + include $(INCLUDE_DIR)/target.mk + endif +endif + +ifeq ($(DUMP),1) + KERNEL?= + BOARD?= + LINUX_VERSION?= + LINUX_VERMAGIC?= +else + ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + export GCC_HONOUR_COPTS=s + endif + + LINUX_KMOD_SUFFIX=ko + + ifneq (,$(findstring uml,$(BOARD))) + KERNEL_CC?=$(HOSTCC) + KERNEL_CROSS?= + else + KERNEL_CC?=$(TARGET_CC) + KERNEL_CROSS?=$(TARGET_CROSS) + endif + + ifeq ($(TARGET_BUILD),1) + PATCH_DIR ?= $(CURDIR)/patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) + FILES_DIR ?= $(foreach dir,$(wildcard $(CURDIR)/files $(CURDIR)/files-$(KERNEL_PATCHVER)),"$(dir)") + endif + KERNEL_BUILD_DIR ?= $(BUILD_DIR)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)) + LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) + LINUX_UAPI_DIR=uapi/ + LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null)) + LINUX_VERMAGIC:=$(if $(LINUX_VERMAGIC),$(LINUX_VERMAGIC),unknown) + + LINUX_UNAME_VERSION:=$(KERNEL_BASE) + ifneq ($(findstring -rc,$(LINUX_VERSION)),) + LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION)))) + endif + + LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux + + ifneq (,$(findstring -rc,$(LINUX_VERSION))) + LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.gz + else + LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.xz + endif + + ifneq (,$(findstring -rc,$(LINUX_VERSION))) + LINUX_SITE:=https://git.kernel.org/torvalds/t + else ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE))$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),) + LINUX_SITE:=@KERNEL/linux/kernel/v$(word 1,$(subst ., ,$(KERNEL_BASE))).x + else + LINUX_UNAME_VERSION:=$(strip $(shell cat $(LINUX_DIR)/include/config/kernel.release 2>/dev/null)) + endif + + MODULES_SUBDIR:=lib/modules/$(LINUX_UNAME_VERSION) + TARGET_MODULES_DIR:=$(LINUX_TARGET_DIR)/$(MODULES_SUBDIR) + + ifneq ($(TARGET_BUILD),1) + PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT)/)$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) + endif +endif + +ifneq (,$(findstring uml,$(BOARD))) + LINUX_KARCH=um +else ifneq (,$(findstring $(ARCH) , aarch64 aarch64_be )) + LINUX_KARCH := arm64 +else ifneq (,$(findstring $(ARCH) , arceb )) + LINUX_KARCH := arc +else ifneq (,$(findstring $(ARCH) , armeb )) + LINUX_KARCH := arm +else ifneq (,$(findstring $(ARCH) , mipsel mips64 mips64el )) + LINUX_KARCH := mips +else ifneq (,$(findstring $(ARCH) , powerpc64 )) + LINUX_KARCH := powerpc +else ifneq (,$(findstring $(ARCH) , sh2 sh3 sh4 )) + LINUX_KARCH := sh +else ifneq (,$(findstring $(ARCH) , i386 x86_64 )) + LINUX_KARCH := x86 +else + LINUX_KARCH := $(ARCH) +endif + +KERNEL_MAKE = $(MAKE) $(KERNEL_MAKEOPTS) + +KERNEL_MAKE_FLAGS = \ + KCFLAGS="$(call iremap,$(BUILD_DIR),$(notdir $(BUILD_DIR))) $(filter-out -fno-plt,$(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION))) $(call qstrip,$(CONFIG_KERNEL_CFLAGS))" \ + HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \ + CROSS_COMPILE="$(KERNEL_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + KBUILD_HAVE_NLS=no \ + KBUILD_BUILD_USER="$(call qstrip,$(CONFIG_KERNEL_BUILD_USER))" \ + KBUILD_BUILD_HOST="$(call qstrip,$(CONFIG_KERNEL_BUILD_DOMAIN))" \ + KBUILD_BUILD_TIMESTAMP="$(KBUILD_BUILD_TIMESTAMP)" \ + KBUILD_BUILD_VERSION="0" \ + HOST_LOADLIBES="-L$(STAGING_DIR_HOST)/lib" \ + KBUILD_HOSTLDLIBS="-L$(STAGING_DIR_HOST)/lib" \ + CONFIG_SHELL="$(BASH)" \ + $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \ + $(if $(PKG_BUILD_ID),LDFLAGS_MODULE=--build-id=0x$(PKG_BUILD_ID)) \ + cmd_syscalls= \ + $(if $(__package_mk),KBUILD_EXTRA_SYMBOLS="$(wildcard $(PKG_SYMVERS_DIR)/*.symvers)") + +KERNEL_NOSTDINC_FLAGS = \ + -nostdinc $(if $(DUMP),, -isystem $(shell $(TARGET_CC) -print-file-name=include)) + +ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE))$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),) + KERNEL_MAKE_FLAGS += \ + KERNELRELEASE=$(LINUX_VERSION) +endif + +KERNEL_MAKEOPTS = -C $(LINUX_DIR) $(KERNEL_MAKE_FLAGS) + +ifdef CONFIG_USE_SPARSE + KERNEL_MAKEOPTS += C=1 CHECK=$(STAGING_DIR_HOST)/bin/sparse +endif + +ifneq ($(HOST_OS),Linux) + KERNEL_MAKEOPTS += CONFIG_STACK_VALIDATION= + export SKIP_STACK_VALIDATION:=1 +endif + +PKG_EXTMOD_SUBDIRS ?= . + +PKG_SYMVERS_DIR = $(KERNEL_BUILD_DIR)/symvers + +define collect_module_symvers + for subdir in $(PKG_EXTMOD_SUBDIRS); do \ + realdir=$$$$(readlink -f $(PKG_BUILD_DIR)); \ + grep -F $(PKG_BUILD_DIR) $(PKG_BUILD_DIR)/$$$$subdir/Module.symvers >> $(PKG_BUILD_DIR)/Module.symvers.tmp; \ + [ "$(PKG_BUILD_DIR)" = "$$$$realdir" ] || \ + grep -F $$$$realdir $(PKG_BUILD_DIR)/$$$$subdir/Module.symvers >> $(PKG_BUILD_DIR)/Module.symvers.tmp; \ + done; \ + sort -u $(PKG_BUILD_DIR)/Module.symvers.tmp > $(PKG_BUILD_DIR)/Module.symvers; \ + mkdir -p $(PKG_SYMVERS_DIR); \ + mv $(PKG_BUILD_DIR)/Module.symvers $(PKG_SYMVERS_DIR)/$(PKG_NAME).symvers +endef + +define KernelPackage/hooks + ifneq ($(PKG_NAME),kernel) + Hooks/Compile/Post += collect_module_symvers + endif + define KernelPackage/hooks + endef +endef + +define KernelPackage/Defaults + FILES:= + AUTOLOAD:= + MODPARAMS:= + PKGFLAGS+=nonshared +endef + +# 1: name +# 2: install prefix +# 3: module priority prefix +# 4: required for boot +# 5: module list +define ModuleAutoLoad + $(if $(5), \ + mkdir -p $(2)/etc/modules.d; \ + ($(foreach mod,$(5), \ + echo "$(mod)$(if $(MODPARAMS.$(mod)), $(MODPARAMS.$(mod)),$(if $(MODPARAMS), $(MODPARAMS)))"; )) > $(2)/etc/modules.d/$(3)$(1); \ + $(if $(4), \ + mkdir -p $(2)/etc/modules-boot.d; \ + ln -sf ../modules.d/$(3)$(1) $(2)/etc/modules-boot.d/;)) +endef + +ifeq ($(DUMP)$(TARGET_BUILD),) + -include $(LINUX_DIR)/.config +endif + +define KernelPackage/depends + $(STAMP_BUILT): $(LINUX_DIR)/.config + define KernelPackage/depends + endef +endef + +define KernelPackage + NAME:=$(1) + $(eval $(call Package/Default)) + $(eval $(call KernelPackage/Defaults)) + $(eval $(call KernelPackage/$(1))) + $(eval $(call KernelPackage/$(1)/$(BOARD))) + $(eval $(call KernelPackage/$(1)/$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic))) + + define Package/kmod-$(1) + TITLE:=$(TITLE) + SECTION:=kernel + CATEGORY:=Kernel modules + DESCRIPTION:=$(DESCRIPTION) + EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)) + VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE)) + PKGFLAGS:=$(PKGFLAGS) + $(call KernelPackage/$(1)) + $(call KernelPackage/$(1)/$(BOARD)) + $(call KernelPackage/$(1)/$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic)) + endef + + ifdef KernelPackage/$(1)/conffiles + define Package/kmod-$(1)/conffiles +$(call KernelPackage/$(1)/conffiles) + endef + endif + + ifdef KernelPackage/$(1)/description + define Package/kmod-$(1)/description +$(call KernelPackage/$(1)/description) + endef + endif + + ifdef KernelPackage/$(1)/config + define Package/kmod-$(1)/config +$(call KernelPackage/$(1)/config) + endef + endif + + $(call KernelPackage/depends) + $(call KernelPackage/hooks) + + ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),) + define Package/kmod-$(1)/install + @for mod in $$(call version_filter,$$(FILES)); do \ + if grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" "$(LINUX_DIR)/modules.builtin"; then \ + echo "NOTICE: module '$$$$$$$$mod' is built-in."; \ + elif [ -e $$$$$$$$mod ]; then \ + mkdir -p $$(1)/$(MODULES_SUBDIR) ; \ + $(CP) -L $$$$$$$$mod $$(1)/$(MODULES_SUBDIR)/ ; \ + else \ + echo "ERROR: module '$$$$$$$$mod' is missing." >&2; \ + exit 1; \ + fi; \ + done; + $(call ModuleAutoLoad,$(1),$$(1),$(filter-out 0-,$(word 1,$(AUTOLOAD))-),$(filter-out 0,$(word 2,$(AUTOLOAD))),$(sort $(wordlist 3,99,$(AUTOLOAD)))) + $(call KernelPackage/$(1)/install,$$(1)) + endef + $(if $(CONFIG_PACKAGE_kmod-$(1)), + else + compile: $(1)-disabled + $(1)-disabled: + @echo "WARNING: kmod-$(1) is not available in the kernel config - generating empty package" >&2 + + define Package/kmod-$(1)/install + true + endef + ) + endif + $$(eval $$(call BuildPackage,kmod-$(1))) + + $$(IPKG_kmod-$(1)): $$(wildcard $$(call version_filter,$$(FILES))) + +endef + +version_filter=$(if $(findstring @,$(1)),$(shell $(SCRIPT_DIR)/package-metadata.pl version_filter $(KERNEL_PATCHVER) $(1)),$(1)) + +# 1: priority (optional) +# 2: module list +# 3: boot flag +define AutoLoad + $(if $(1),$(1),0) $(if $(3),1,0) $(call version_filter,$(2)) +endef + +# 1: module list +# 2: boot flag +define AutoProbe + $(call AutoLoad,,$(1),$(2)) +endef + +version_field=$(if $(word $(1),$(2)),$(word $(1),$(2)),0) +kernel_version_merge=$$(( ($(call version_field,1,$(1)) << 24) + ($(call version_field,2,$(1)) << 16) + ($(call version_field,3,$(1)) << 8) + $(call version_field,4,$(1)) )) + +ifdef DUMP + kernel_version_cmp= +else + kernel_version_cmp=$(shell [ $(call kernel_version_merge,$(call split_version,$(2))) $(1) $(call kernel_version_merge,$(call split_version,$(3))) ] && echo 1 ) +endif + +CompareKernelPatchVer=$(if $(call kernel_version_cmp,-$(2),$(1),$(3)),1,0) + +kernel_patchver_gt=$(call kernel_version_cmp,-gt,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_ge=$(call kernel_version_cmp,-ge,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_eq=$(call kernel_version_cmp,-eq,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_le=$(call kernel_version_cmp,-le,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_lt=$(call kernel_version_cmp,-lt,$(KERNEL_PATCHVER),$(1)) + diff --git a/include/logo.png b/include/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb208dd90590a273fa9b2b138f2d2b64cb3d7de1 GIT binary patch literal 81750 zcmZ5{1z42N*EY-2-O`PSAR!>Iq=YmmAs{KK(%mK9-LQa^pwa?LN()GLH%mx&ehki?uCPcS4Kes{^lip*k|AuR4XYB zTi_phu7863Uuh@;e@S8|p>C&aX>8~C*2W0V(b19hy@jc*!CNaMR!bX`luZFrI5=uJ zY4PVOPN^GHrcT;M-jzFN8vN4OFCWEI0%#kOJ8VC%{$Oxwk z=iLi-5D5L0m4)*7^JjAMF=@0KRRpsZl3#rw0VNUH_c5^sOayPnAO6wlIm_e?PVG0| zy4cv5tY2S?dnP~pbK>D@famZVkaW}DUsZ##+G73-Ygz&ahUOq&UffZ_d2!Kaxbxz) z1}JYCX&0!&5g+2bqkf9pjw0vQT0&>wwbLW;eo_R*$Mc|qZ=080N)H_Mq``PrT9lZ& zl`(K191-Jp5Lv{y!hsTj-{eBt=z<20*qhCYuvw^!femyZ75kD;1Kh)97nPYV)d zttHxt9=dP7uNhlABYvZf_#ym5u&Zb){9DnrNi=n20gSH$m?q+RRcC0e8~8;04YeFyXC9syIy>T{>~3-plGhpP zSDJqG9U(o;C|9QDH~~sE>+#Sh`E(37a%E>)iKt!tEH&XFMQ5XlHO3uHXsBzDqdgNH z<+PuEgzJ5V@|9lbfX;wnk@?++pD7E6W3iBzw?dra146i|9d5j!D`P4aHslQI@~;wR z2Mf2FPJtV2P>w`B7`>OcVm*3llCX2IVs7-&4_m1E9JMe%L7F6Boe`|G4^$`Z6BJLyXc>tlguDV&HY@qs9EDo9{-e)RXtBrqtDbVBzPcl%k=8-w~lj zhGPRKE9EgIh2eNehSqy;o1)FVc1Zb|O4p>f#(r~K`XNARL;jo4q(yRtb}WAxQc@Y|Y2Q>;F z?7VHi3`m@jYyA`ZY+9ym!+TKmRyPIiSg?YcmZJ^n>0?q+hf!splP}w^HwvKUYWeu_ zczc?#6=Q`D?kx7Pw>SF`0sh%hG+N0|A}N{*o|6h>lTM?*@Wb0S)jvn|H3~JaO8RF2 zncG8F`7%t8gWVS%Ee4po`aAPt@WQ{7OJl(7qxPN=RYyBfk|De5)U1=e`9hci7HphD zTd<6V-@iQtb?2p?*&2Pm93`>^ZR`4bv#Rigyu%!LQ!mQaK(uex<=63LtpCuq)#dcbsf2HXw}flW!HmX37kIJwLiC(Q^BBbV zT__%MYX<411+T)q_01&dMP3wiZ?PQ%aTivG*#|iMsD2jXx!69&SMp2Yv{+!ONCx%3BdzD}|nKZgEyoo|NOOyou+*>6LJwx7i8JXh5ZwwNjMyg@4 z59bPALhw*nJj3A9Y6&_Mh=xerZl}27r4v!8UV?6r9M0&g?8SGy#WIwPXNAw9qtFFe zeK(zYZ!y-F1A|vxqxDBGOE(At8A1Fx3ejBj>of$v_c}F3ZP00&2cO^WoD~N?l^Pl1 z2}!)7ph-oLlTV|2uf9p^yVYBKP~DYs@^X#%Mx)t%tsr;$$E=pL8v+qH-3^-MvIj85 zN~e0?(bB~5moj(y~^RSJQ6?ob$r0@n$&iCcxXe>0%MI{+VNj)+NH`;$J+&22=`!Q6Ii5vO?#RT*u z-IT&kX}M|A#T>ej(bPq>e^FkMBDJ;&91*MXs#qqgt*yQhpg-JNL~(WeJO1d;)ij)L zP%^Nx0G*jyr`i8pUm>N0!9MhMsnom|RMdKiK=ja}blZcrI;T5IC4d(D`8kB6+ADln z68P$k4Z;wxU_<3je?W^n@ChvW+JY3Mso@|EdVnfQFy+xH~w%BP`sUYZ}z zo1rG^*rTO?Ous!o$P~RV5RX^7_b%lyWRT`YI_d8Xpjs_`47+bhih)#MEU7d)>4~`) z`j>1hsh4~A)-myABs5hpcMF5bqahN}{%@JQJ#)V;4c}kFn}ID^vSNicrz{>Wl}0OV zR300dE<3TWn}cm0oY7c3BFFYT}WY~ocmtLKK>1IfAn)ij;?i&8j3}rv?8Sh55}oec)PvOm0lur zXEG%Q-VEV%W>*ITGY3|VI;v}@iT==#)qKqNY*}}?oJ8}UhT~$ur)5m6mY<6E_ygyZ z8x{xoqE&oOQFfGL-_%J+KFYZ>8c;*`>xYMI$$imPTxD1`*G05-N5r=2%+91QNE%-Y??mNlSi#rB5JxFMPqr69$kVAR! zl5~#=ayXfIXWI9!Vbh@6s+u77xeEj#w2froE^AU$QP>01ZiGMr;JDpVj2nWy-(AOp zGcVC_3Ajpr_(f=FnR>5{dtXrNv1&dOw!NPTeXWEMsvo?7nu z-`lRo#4fZQ03gE$P|P{}2G(mC2ZJWDchc2IT{PARZns=fx&pfZzEEm~yB!SpUbYjy zhCmA9z?O_Q?aiY7ku^t=dY2*b-Hp9wE6Bn5N^EviUV3|85LtJg!J){#Fc!}5dHdtb z3NMN-Vs4H?6un>`KgwA3|L4jtEx|6=G1;VsQX*&{O#fbr*4MI^_fV`WrH1Ct6G*4l z3`8P0dWT%mXwLbIU4iV??+`qxIBPbpSttz{=YPt3Q4}Sdp*vO0#y3N2Bfds}I*KBI z@)b;pJS?WJ*fkPU0u>NYKvBfm^FSLz(if5nYRh=}>7@(2mr`BOH;pUKa4k|!k<9v4 zk|N8lR^|3KGgmSPx=vD*6NEs6_9iFz1=KOtMQhq(X78ZpVrCiz`eL%E-wlR(T7H)b z*_r4&GBRUltM5FxfSdeJBvSVmn_iR#8P!`Xvu=8MgM0<9rru{X`_Hw+W&wP*Xv#!5 zEIRl6(YKr|XWO-2iq~#VCa`qTM}JYr3`?sX@SWj^ac|u;)NoF+u6!E=*?n&fF<}!>dk-Y<9~(|8Hy$O*}=Nn6~j~&&vKj+vz`i zBStjc@^Sh8rl&kMNc*OnrpCql^0S`@nMiS=)Z6^D^)&u7c=ML+ZPW5?P%`C!us0zi zan?AjaOx$Rj3AhY%u^JTApn-ceG)gn~h-sE)W@1goK6A%E+p0{zd|tCf-(lr9g4(M{COF z*f6!Pqkbg@Y`#u1YXn1~PjEaCCuJ62!(WL_l)I95uD8pVcz-{t4P~hdj;v26*1_xo z;(tH|A1P>OV54uBDICM+F6k+`=TCuZzie^i6u}+JrhUqO247Fzs@YzZ#JHQnXWkk= z_^P0EzKLIX^!$wt7Nc*ISCf}@ep&3xSZ!|@cgY#@UE=TZk*he-P=`rvh!9-nQ` zo#25!*sIw*91Hl%5dPe$U!NiwEtJ0fuxKHE#zO&L0~H{bp0y$$l+3L1#+g>s>~vI0 zxJh!^r!O_Zr$b+Il^>rYU)P(0Wch|azQv(Rb)o#49)I-;|2j+sbC^*&KH^9h3$ zR|8?@m#Hw&*eQ`ZJ)k%ff&z8re{zMHedo+@JbXgkYze|w&ig#SiBL#qIKpAE*TZN0 z+H;M1D2e&?M&l@lrLPl)ZMlnFxf{x){i6>mT~P|L7~aL%kgxIi=DL8 z!Bh3SJj+#@P1aj|wv4}!%N%4OrM(5fm ze@?03RScI1NYYe6I4|5keY$i{FNU8ty>vEGWM1ITXQ~Pob^H}VnObyaMAx*~(P%2* zZ&CM}9*HtSN8J&pbYx`ZKt`PK4gI1r7>v0}H;R zsB<iZv0gesCLwrmt+d(@N4^ys)8f#f+G__-S3a@*8y-rH~zi$j2%aj#+TEZ zB;R)b<0eh#OvlGn$9w4Ld*(UV#biqZq0YC5zsLv-DAW)A{WW6aP?}^pPu!!gGNh| z#oga;z!QL{{mMiwp$SKIQHd9V&6U~ReVpeX&GabI4_$fhc}3kECTvPD;CYpQJEhTD z-?q8$w&3nYh@ISp7yt`;vP=)WUmha|S|XDwt-w5|&~pslr&~MTg^7wbzfgwb!TA$k zS+CsPrFX=`@VdFe9&s^msAMVV-t!Zv^-y;Tp`>Dk%BIo54dW*DG{&djGsIBY1=uCj zyKp)Jzp>2$cA=^h6+nH-Z$MVxXnke|^nCA$gR$ivVx-EWcwz%pf)0r~Rl#+SFkkG( zv6bx2X5e(Rro}5dd1#Z3x_fRWKxJ(SN+Df@tjwiK(9nR zYDYwKj$drLmimfmTX>&`yz^gkdz;DQX7;dQEp=)!EmUwZUt+TAi?NQm$YgYFc@y@z zW~x20Ns)y`XKNc02l=vk)3^wxyRJLPJJhi2vI(j!Gr{uyLL>KCKSB?m#?8-cyX^nK zeKzTEtuZMF6nV!kBNEV{vlk10GU9+o${nPM>nX#ArMWZW&R2T3t}Tat@WH8bw^#08sv4eN=K5uocQut)uOb1YFp#5(VYwQZwtDMY^}MnHKRj!TvVm1 z$an(|m)C)sS%A-h^wR}M1$*91`L-{DJoI^^{QiX8i=nxby_eHtwyZR6&)#;v+kMom z$ezDM`+r6s%Iu_^46?qsl0sR5H&9*)g=YxN8<;+wx|ibH5P_!d=z?tf*C0n$1GR5a ze>&TI_HY}Jh)59&H>VPw3n}V(0Agn#%n6qBc+%Yk-#7>0_eG#B1&XI==b-|r@{)U7 zfMle8L`Str0y=PAGHFUHv^3{}=6`ghDQI z&BkQrix?~*plOn|i|U!CR{iBcmnV?n2So;?QD2^rX~Juwm?2RcleOQ4kIr0p8oU%e!?W_7hv9M)R^)`Sn;Nd~H@ z;SO>`H{f7>mmxJ)NEFIfkq~iIt$*01B67tQw~-z`CU8T6=#aWq&`Y{uQ?d4ZAmW3- z)3@lwoB31`qFTsr|EB9cpkgQuS67!@7)DOyb;ks7#bdktVY@=1*hp>oE`_wGpTsFY zHE0o)A5Yre7-6k}6WPv6d`2h&k2e7E&&)NveL<)MWUjX>?;GT74nc-84Fi*FipnyuMzY;7Qx++1loeAwlKKSI$!;b>|x$3uDN3 zUI4S^MKw#+lO^Z=AGRkD2H(Ym|?2-e6&`7)|$EkIs&}COY2@>MDW^({ab) zsE#tPOc_oWR0yQX{dN#NNHhMtWl7$UzlYX_U86!cY77UvHPelk5-wh>DkgD8!I00; zvA?f|&py$i0l?#uEn@Y9D_|Z{fAgFItt9I3p^|W2>}okpE?0Ahs`-t{tZ-`&9wk)2DT(qBe{ zSE_Yif>JyFRdtes;1amnB6{`&oMm`PfPyPi;r3}@3$jLy%3(1(xn@jWW$8F7@^ffi zSK^#c@H}NduGAHv2SD3@6DBIo6T%r_g0tM{rB3RasxCopTAk+$$7MBZ+?o0_D)5pq z)&$Kzu8~!CvNe?zxS8zHBF|IL*3-e~S;G~UpHC^R)YoEz1LqjcEZms$6r7*lHTDJJ z6lA?1qM0&A=K-bJrKL`33-soQ-hZGyOX(>2eX|mouV2Hu7mI!L2OZR7#Ab!kZ&$zm znUU*%kT1*Eit=EekL(AOn5g&Ki*IRz0w@JlFQ{;1ER16gX;yXVw=~nFyaF=CpL#{@ zrv+Nql)Dc)l=Kg_Q597T=^yd|Q^(wT(mE=Ow#q zs`yNVg~&Rb=cy`sD~C0%kDqf=83t1WwW%#0^DkSYF!oQoX#+Y?+L(w4JrWf_92Ep+6LPiU zb<%HV^@%o)tkx2L_7ClOpydb{!8{krze657c|4>P% z(cHw=2iYYgJEsrgTW1fq!-JtKCsR_M0>4($5}sQ-T_O-&=P9Ee_iklP-)qPmO zl1mq>)E4TbcC;xQWa>S(O551>-ttoX=ibfyCHsx)7>I(pRm5>d&8v*rqtFB;f&KmX zn9zVzV(>MZc0%^W1`PmoanK}qNAy|P$-{pU*%f%rnUy|CP`+q$6Q30;uXHQvSc$vI zV|3z6$abU8J~n14&^7Qy*{ zIt3D_NzV`8?Xjm+2MJtQ-3HTL0Ud6Wrz=*haXwZ-U{36H>I9YAW)hon*%o-N}kLeOLY|5$^>uauv%@N=|=?f0(p(2l2B~rBXx!3JV zm^W_$j`Q6C1&3Y(;vH~WLthhb2V4{uQH7RfAP5aij_~j7_z>Qw z7(hC3=0GAUI>F$8R#R*p&~tPfyj?F1w!aZI`{!%2Ya48#BCxLbN$z`~F!oJPYKMKr zHGkEWIOV#l+><=RZy!$Y1u&;8CB@%4?SBXM4(%P`)U~6}v| zp>8j%-m$VsoI(WB^o1u->WH@fJ{Mc=vKQIiP(I&n#91$Zp@+(=zn~NXxXYPr)_muw z+AZo`dFXl{J^=UXGl4-*fy14Q%9?YmN*{$RAA(EX}i@W8+h!AgU zIB`l^->i3*m)hgSq_4GpFl#L2d2^DSmMt<2`G?^M|M~e{clIA<$k#}7m&DiS@jUSq z!?666b#nCncD}Dv`}q%$qpFV%#63_1(B88C{ll!pIP|p;x3U{=r2BxV)4XA z&%L6zm-;h)=-Gs)hu{38ypmNh?Itdx*ChX90Y(-Kc=cf;%OHJvkcm6L$^}Wo0oTe7 z00u_*G+Mtz=6q7Cdg$^EJ}8xJ4RN*F{~HzGw!cFO6ndU zzavVrT^7A`I)U+j`!P%N(Oi98wmA~&9J;`6uXCz%`|$nUnqO7Cw*QCpFcRY+5=!!? z3>prP(Q_|2?s`Y1S}Tzv?&~Kis~3-G+z8U`SyxZY{f`yPziWx0aNJE{`lW!Ow`{QB zS&Uz&w~tbu6zMAqdhD(2tdqLCE=`(FBOW3m66(DPK#tW4l_mGTg;fHPTGu@rp zFSSev%O^a`1t$7r};55M%ym=+^9)>t=Ck~BshAH>Fyt}TARJsPfcATgvNt~(v zV?zqy>ZF*BON*(}l6%W{y@>R8VEUZ=(*+v@@m>v*r4M^NH$pHkx?K77o>(fKHGZz& z?T%7GlOGp;WEX@WE6uCf9hKiZt-wgfTjxFSPN!k`&kWr3wfla40PrC8*zSRx*kj3e zgTee^VCJi&Hp9}MAmU^V-0`%`3Ez2GL2@rEU-s6oKLmkYa)3(Bh#uno`+9z?@s++a z!r*$!d`rC0522-d>!1SHj`1@B6kniyhF7Ku+enJJ=ZmkM5MB5P4ZM3Dg}i}T?mKZ3 zxMy$?mS;x9)Xj{bKr{H$$_s&g{P{$4OFYMqz59a`8}I~PB6_q@+B+!*Ty~nMJGJHC zb?!}|n7EPmZJ2~=ILG3*Ky5h+ujHNJVW8Le3m;0&D5C5UC>dJq8z5*olI;#UZ8g8i zIy?^bXEqJxXnm#Gc~KiT8|Zi0gK&;M_M(;8Psp~$U!0RV)9TVb^9%%@Fr?l3LToVD zg^ys%l7>tR{<_O4_`vPU?-dtW^syK0jD7Kz``=>|i}s&tTbP*NA}z@V_eNz<*!<6z za1Q0t@*W4z1#pGAyGqpMi`_);dju;Hs=~s$5s@0CL|{ZtSVpOi^_FkZ5l>ygbHS3= zI$csJKy@-su)43^3~fWP%UDc+c%GSBPAV-o_=k_^D(`ZS`u#v3C+`i&`f}tnE4)oK zdSHleMdq81Kkq5#!E8Q2B}JjCtdF5Jz!M`-<4>$BIcqPDb&c2Z0fScqysWZl9fAx`@3S&S`&XiL-0V1wgvLBb@{KvG_*m3+_j`pJv^KLD(}#*9QmwQ?TJuNf1^ zLnJVS3G*^B+?`5MJGJ^}{) z>~q!P3Q}pGR?49`9&*qtuRjJq`RqGl@_o3(fxfj}@9=f$#*=0z7Iq=~Xs8&<%E0h> z)F8=?@ulPDy)H$sb$I!Ubrv?rbjs}A7C46->G;%R_C$-rD6hoRw^azN^Q$O$P{d@|Vqc5M%6YEG0hz zwN06KyxuqpV4WCdu;M5 z&i)&sk|DOmi|D^|E1PAG~ryXWAz6_DNjUVHUfO>_@ zRHD!F5+;aO${D!hl)+)&|7bv#a=Ew9P4Qk;kpY6CK)>gg;oJ-0Jswk5!(;uL#6)+W z>$fp&pI;EF$D6=}fNOn252qD?xz zY5~3|2qaoX)cD~41}da;!GZxXMk}HMMD=xX(p4#~yaCQnj_&7OF63N_R~uvLEG#X! z?!@y*`c;uES7_Jar=0~U`)j*T^qv}3eSlbbTnK$0{{(ED ztw8ejnP^pP>$j_p>vxRduhQ1*D&t0vp9h-28vxWhd%b?f-2bw~Eh4xMH!HiD2^lkW zq>U7a5yGex%7a()wsu^?K+?|&6+1or876QZmj30&5#N_v16k2EJX4}eix-k8HtpeN#VxGwUQsCsK|t8*%3>G!>Q$HYq>*E#QcNN;({asBKg zNJ13$@tp2ozw*LGM;n-R9P`jhW-Cau+6Z#6WL!T}xFuM!RmgigSFZ=DWQB~oYrwb9 zqXj$y!-rDWE_a|VrC5QUgWoXc~Z$%q{#Pruw2C< zOmE|~7K=6^9-2;Vaqf5>d*M+X^Vj0x3!&B^w=1ovs06AheK^sCh%()gElN)S02Iq` z6p`n-{YKAXEw&?YcJKiD7!^x9+H zGd{iX5F_M^_=f6tra!pt17lT8wgliGfRvT18>op z9B~Etv{DKilm|~eIs^Vq>520nUMH*JeZD}GY=tq_dlzQ=EQGxOpvRfhbM&IES3@Rk zmuuq1z9kOd6Z;OFue94(<8LmR?E_U}Ag;ix%@Hr@d}ST=W8S}i(xtR_FwQ7y(dEI& zRx73H*RO&8*GhbJA@4o%93bC4M-o-#Kb)w{Rd7ir22Z&^fZLK!+noeJnnCv` zgPt(J7|9NQYh6pe&yihg94dy;omsmyqZ}a6#5}_u^~8?~RQ4OaXgPvsI_>V+X?`8j z{+O-iqovB{iRXi+9_{f;{9inOGQ1zr4FR4M9ZA4bNdb3>3P9P>2AT=rIZ@c7G{HQ) zMu~>*eC10~-(%3YCYuz+E(V*h8xK;Omg3@&V(s$L2G`~H$vQ*j{@cEYYt1Mh++lo5 z)~Xb&?a2WJlXs3b4#~MrRT*jn)@yH!_w+hG8D#RDBh??B+0hyY0q#PFjf__%Xy2i1 zBkH6kAHH%%`JGX-?R=lD)z&LvZ!u;@YWPN5(fhHdB)x3}tOz;>EcJWF4wOf9#`T%; zg&0%0wFgbj$5G9MKF!B$lYNsf0QeZBnH}{d>x8oPfC`D`;GOozV}!0oy7P2F zdg@gZRl?MpZ@1lec0JcF^8UpNr4*$l$loUAaN-fyIcBHj=UV1()vi4>yUqoNmUx!5 zJ&M@|tv*A1>A>W3%aubTAK%G2uA5f`!_wsK-u&YuZ$Gz>TwymSn4R@mTW_ z!tU8Tl^x)#tEViSq!>p9q+`ApKt|z;A!H4ZpgX%_ylIEIXu~#` zdvzfzq_leuvw~anTwP0rWR#Cw2dwOmQlDe!X5r0D;y8t-;;WC^7>q?cS^Z&um@18; z3nFE<+L!m`ji?yTA>=*Wu7Q0{h>QaU2adC~!p&2ibuTw>O`pBOX@k6<(9IXpF2V2N z<-}9M9w2;ve7P$Dj90cMygR-8pHkX0Xn2sL=gz3M8px0qY(kp?=RWA!kVKr)Yh1o2 zlDm>7iO`@dTiH+y%4wM9ck=Zp-G*#xovvT?OxL!xsg9gbdAfJgn=?I0i023XbB2uO zn{B0+k(%#Ce-N3)AT2$l{`&JVYxSd3P3`LH%|ce45!HmaI7C86M(NDhkX~kZS{qxx zej*qH=bXZi!(_wml_N>!3L5j6-(7AiyB<217?%ikXdw+G?#+(V( z!=@(~ZcbQM2&zHIyr15hVI9V4%G*m%nt(Kss`9RA_Y`XVR{-|I`0wLqmV8*}g`mw< z`Qm{P8z-T;L8j)qNN=njP-@WE8Khr2K@u#fD={@s9Mc}*vm9uw+Wk?%={`f)X z3VKDUnOU3_Q#Y0Gos#_^hg*b7*AuB#dok~f;Zv1&UII&JQyp?H12@IOGrb6* zI(@h=o@8kIz0^V=Rr4q4UzVh!S-)O@?TPJ0D4;$|-_AOm zz>J95UJk_s%Sz16UKGdN-bV*)^vWlo)nF;=Q&+0Dx zn-SfCjhP4va=HwsxhGg$p&b$oe{Bn{o3$ZIhYmNbwG`3wQA5dT-nR>c$xZ#0PP%$2 zv%CQ(PY@@K^w-r;rLk023w4_MIb z&eKw=9cYu@(X>9EFC^ijI(!YwE{!r1jz$=;PQglr$G}We@r7_u!V}G(C$}cIu@8uF zJ{W&JGN*b3Pg3yyQ3t-kLoO{i4}3o=sO6FeAM=A5;>FQ>exNiQ?CK>{a%sR@kET_E z>-LbDXojq6p>}+{Ejmai`-ibIEH-*%TnN?VS!-KEYd|;C^Y_KoG<81qMVHBn6a$2i z&)I)8-Koj^4TEjQ&QUSdK3*Z?AbxcU8D-q*nqL7wySrnc6v^Xh&?&C+5uFSR7z-s0 z-fn)ltHW}9p#b8`}fUc9SJ1s zK~Y~^VsnA3E-J;njcJ!MkC9-?#u!FTt$E)1+DiOj4@737D@Pd4SlHq?hj`x#J8RPz zk6n0;sbKdX`gu>2Vc1fpfg#UBt}f7(3oJCv<}xHMq!1$CqR;nUhiuNbkQId!%jC?Ey+4>5k!=GT>=^GwJ`S6(=_^2K;t%Qujn6cPx zZc8-azP(nN3qhyN1FdsAF%7f5OzyM1YGpQk*rEX_Ru@@A8;%WrRi2=Yi%i?>nb)A1 zx3Kth>*1;=nFa_3`WHu5bvTgh2uhQdK-RZ| z1*m+z&V9|7RBaok4Re{ch8gFCsasF8PXoGm4Gmz)Xhw3MuV}W%dTB29-@j)0DP-q+ zPuSRsd6J9>%Xh8ko?<43tLtCY_pvkS9?RH_QJamnv7hnJ7WeW++ZN4V8q}P*{tKnV z4i5fbz9W`!teD!-ej`Dg3(m%?rkP^*i;W#&8=QMbXr|fdG1ton5C&6=8U3Y3wt((O zuCg`3_N&ZZ^@uM3s|#@IG+mH2uX~E_Wq0@TEtxxf+_9VtJZZ@UN|4KImQy}mA@1)(`bJQew;{1)Gp()lNuuyv_}!cd(yy{sch3kY1|S-<;`ae!@IXDli(aO zP$yQDpZTN+@1&Q`FDjaPaf+CmVz=VYz}MphimpiETAMPIetAzmgbT^ZmQUh{#Z0k4 zOs9k}5eH!ur$s9IyNYjA(wQ-ipSWFm8Ko?L$G zM*2tc>h0vw;+}7zPzb%9RNn`UGu)rg1hG5_Nujb180T!T@pF3H5e0M#+gdK``GuMeebzlPUW#X#w|1e$m|d>n7XZY-AB_ zM+5yHPd4Aao_K^5L;B&j%9J7l@Qu(;-rd2D^J$4Y&1TP_@dFrC7;j8q7ygO>~bL4nOJoOH2ZJ7>Hr}3mZEP_a(fdo8W)5ihmf5QF5786eBi2^L}qp5USbH=8yUMem`;&J53So02k`PU06SnNm6s~0fe*-5e_ zUUwT9#{D?*@FUBJFdt1B71k_XAY@*!bTa;Z<=6d)*fHz-MJI8Hx0u+9l*E@`pK{7` zADa?}E`?Y$Z3v5+AP~(>0rlg)kz0zaju4^jf7kVF(Hv^@7abljKY)Urfa9x9as)}n zojKW=?Sk8}La%5H5(c!&nCxVp1Fq#u6BOW`C6xo`}aQAIZP)w(w$p z)hY+#|TgW*_|OkHESNYN)=vJ2_G>IW7`Y zBM_H8V@SMUWaqUDmYO-{PxMR$+6#YHCO8Api>ZdyOtFvF7J5scn8i%)DODv@w_>Yv z7Pgn@Noi7VlpWG{^Aeenc52I+q5xq zT&)OUbdP|Uy-chX@pm3}zeuGa7PCG?Bnz-cVE3Qu`LPl+`@wkl&{cK(9IF>w*p^*2 z%`|^9r^bLbcX$8OnOMMLTyMYv0-^0#WmGw9hQ$gn{1*M?mN?x+c4&t&M>h_lUL zWs-rl?!X?u2$k^Pr(GWLBL)PVm0M*tb3>V&yN`dE;q+}^Aqi1JBRP_O(*4yX zmbVzikvTUqJ0KQ-P>TE6sO6LWf2wweg63HZuQ2?&Irk){9uJPBaOO#G99U>L%+#M< z0PtIj3&pX%Be+l#zWp9XP#+oBpX}nc3=TFO9S9o~&!BqzQ8? z3EIteOh*HYw)$BQbG8Tv{X@a7 zLWAMY=UTJF{W=jl=Ec*?15Ddx?+P?4s;9)Ar6xXzHVvXtLitCRj06RciHG_80}X)v z7NPEmYP#b*b`m<@)PE9fSc;h-;7^$RD{KCDUM8ghw9#Gi7d1z7KiFu3!#|ZQcRG_n z!Ci%#;##g4-6mr$iU)s(J_?Fxt}Raeedr0cd$g6)>G;?9HH#K0gm%k#NXV~+aiInW zP;o%K^4|k4s`C%9$Qn)S`3QCoDhM4)mVW|%*ng_H479q0)m_ly!J$(&*-<@Xp_SD6Sc+Zo%3LnQ4!gx6DN zGO*~6(n7+}M`b9yTtLohIHrPq6$(Sga(-eb{VP=XFEPs{1>wnFvZO}I=cBXCyK4tZ z&6MX}QXHE_e6uu|mNJ-X#F1_oKFh-Xa>}f6U2sOzFx;s%y zw>-B9;i`vHQ|U!c%db;q+kmt}iavNFE)IzCDcz6!;X`>keRHn#Mb2HhN1xoQEr*>pIteu)L{fs9xjo8 zG`rXS1{g~4t~I-_lGecUQrpS=;=AhXkf1`pUp8uP0254ho%O+7{&4e_kStP)0kLKUvBwgp<1+jO8G^Fk%lWm zIF-aKDtTv*z}VP##}B-v`OR$W8aI-2oP})Qk9n;RV#;&FSNFaoKWQSW$5F3sa;V(0 z?nFN`uV<ZN;-?*qwdib&x3* z>}$}+?X`87w6tQAn1*t{0xRJGrOvy4$~x=Gr~GApzmQ@u`{u(Wp_(4HAH|!PU2LHF zzZKzzFONnlJ>OU$!>oJk7nps|cr-kEfZi-vX75)~bh{iPB~}{ku8sq;SY_8@DMyM} z0zupox+ikEUpI;#0lqH(e~^fjbl@>wahro?g~-v0%d~6_Rliy7)AL%-P#%ZV$0owG zSFh^B2i1?LM==E}bfh)gJ`1}?RsXBjh+W-dmoja87!!N0nRLPZT^zt0hqUk$F~H0f zF@{r}WxS@70GgKgjjs#;cxx+6(+CRp@D2#~Q~l;f_SXH;^sH=afXi57_)N~~vHbUd zgVVec2ZRy|%*pZ?HN`yci#ZPpwq@pqi3xL((6*7w)sRWd-Y*bgEQ~+E`F*^jv=A89NK`&hdW$H;I1ekS=$?059I|P+4Tk2KF zC)u%`wLQ$y_^suG#6R4M{VJ|Zt-^<=RUBpMXRZ{-ZzH}XuwVIQMs|XJT03_iszRW8 zC%@}4C|>Qe^1TC#;c;3K`6@)A8GC>ghqRjWhbbUAFjdPF#@T~j62#XMjzcY(ba%i+ zJXmu-h?300aCokWV6ivJv951DdXtiBXv^LHwR<{++Tv75cj1fnAvpK>{olM)9lz^j zf?9O__;xna9|0{ZovTHXx2-FTAYbb0SIqZx{qWV9kvgYcZyqm8pnv4uV}|>0JjX`= zRc>J1sN%TP_!T}QkdI%JkTd`7in&Y2s@*j4FK=b&U-BO<8*M?xW6xNealP z>{MT zTEd16&91^)B+iTKab3?EN3cblBcV$dqZs3zy#fgszs&5IUfDm#o{5H{ksnSYZ;X9C zthCJ=HmU&%f6lltZXn~eSYt*%&$u;c8 zXZJ#yjQoPw3HXioAN|1{*Z;6TOpiB_F6SsJB>Lt*QV1srA% zgW4=V(6qecZ93uw+kHX3!}3v%f7~x$7SHjUtrxnmFrIa9bBvGcy7xFl9JXGF&?+=u zi0ReVo-+8WRASA-B0!8+C$eP1#h_DIzL*yYcwF-L&YAiTCuvx4DSMm#WKjn9cTibR zKzCH>Y~mGnnEebkh0?QO%X8Ewe;qJ6IV49! zb`???sUA5y?r7Qe%xiXzO;2g%DIi&P$h3*2B=&Aw&c^MP^(6kv&Tmq$uycnI+*8{; z4#l8BZ_PuM-_@y}nfc4{pubJ?+=Bi`$XI4x7CR@k>6kAopoT4?Q)dDrUF22C75hY! z06P-H$TaB@vEwS>k@`F-kJr-7;V6Fk^k_ZIT(`D-VC4r{<+pEi71GTPEUhJp?kFbp zU&A#gpAxI}svOM#k|{YJMC7lXKP`5I#ln-wr1Fx%E_5E>WjETmR=2jLiK%HU75HM% zF>RTt=hJQNvH!=@RmVjYZCyf2x}>{7LPB8Z5CjASK{}BsY|?Y(l;arusS91=xDcPj7L zObgo1zHH%2+ei3EK7$7%vXqKYk|xvbY`@(aDUX&$iD`f4$Zxdg-lm-SQY5?GJH&!` z2RKaA_3L~7X;`PiNCCv)VAGFBkc^an5tT26jyr{25L8GY^~(Fmira**YqK;Q{t=s{ zU6j>nirYG+vH@EEfz|(SCx^sf1&xD@Lkq);2yVtTV!=uAtb}>5HJaykt(Kl=s3)JO ztY7N=mh<4-QN?|AR9dvR{o|)&_imP4p~c^~>0Wj7-8&jFc2uThS!)f2L4`qdF87LF z>zx+=nMRarkVeq<)pzWjWkJ}FP&^Kw%7B<&Nqn4{UDw|odQqT_oxt|V^kUT{cg+$* zqSFdD;P#}^rMd7IVd7IjVG2U%CNF&a)s4r6@(k}pmw`R{u8G@)+^)^ZMzs{f0HZ1T z+E%`#!wdHuufkpY9otCrXFVt{>F#yv|HH?M$;!OMYgW1`<#n-xZ70}nMV}q(!C&J{ z9~A9FPkLe0le%K>ZR_Iwtv|O^v))kSRlaMU7zr3D1@_eyj_+oi4lrFgF(1JR|&C5Rzd2lY`9j4^&_dFkSi19 zEX)i|`d|v`EbJR`w}`~bl`0u|A62BR5LXgDtYs%toF@k5tN|W>)9mlku06WU;2nVw zyT*>`8dNRWli9+Sks^RWt;Lxx ze5fiMGWd-hMC=Qd4~#UqJ#7+ocjV>GX+Ye?>rYv0=n3q3UeNl2L^#;*k;qfG*St@W z1>P1nv$;LDtlSUO=|`fOO9c_=!UEc?$Yv?bl;t+bCVNx=2cAMNefQn=g~-XnpWyA_ zATc7vyj3klzs0=8v}(0{Iq~&gk!^eZ|KZqIe^E*!+3U6_RUU3Dxx?+?^%n;nx`;tN zy*!dbeymh8>6m73$yX`aV%t{vE z+er-K)*&L+QrBgBNM7(G7>EwF>oU~Ul9zjD&~q;gtv(r3L-H6^znP%Cz|GL0Pn&Yx z@E3n-5-h#hy7KXw7@CE1OIWeoCWVQEm7z^PPktAEOyJPURCR50FH$Q1e~CxWw%^4# zw7E8el5HDLyUxDr@tafJ`Yv*Jk-3Y77cfM+5y0 z_0KPU$Mfa$dw(3rtq!O2or<&uwJz1=*tANfg@lLW^)=mKM{ukrc(B}jov*RhUddUL^wQeRxp6vKZxC=G zE2&FwA;@vR3hvHCP*$&R$WemsN#~0B{ zem{{&PyLOk5)sEytz;m$c@4uPAK9??R+<}|y3f;~iGC)5&5c{kNfAMqY*RMY8?@6R zcE-aPxF}{eZ@iux4%}YT;5{DNb{?X-=IGe!~XlEI>2Pd(L7qmnFac!d#5% z4JF@WH_gbYC|9Yt#b*WHJOkl*vKaTh+4G?JGhf{K6nEw0hZ$eqy%Q-v3ms;Ne`CKZ z)wTNpg~pyZ@(;rw>SL>*XtvPN)OV;>p@Y5A<#|O8vKtQxIb2GMwA-dUTA$vLe1hIh zuTNULqFpuisKub(;X1wKjVXxuuGYU*-JQ9Z;Ocdk+$Fg*{%>rrnAubE_1wQ+0XV-zaBKGop|xYF`U)!7)NAh4gpe2a zA^ULUYj{DBCc^P1f`@D5@0T5|qa-ttb+Us9pJ5u(BTr4tV`Cb;bP8~&gLffn1aa{d zZsFx~TiEU^1*z7N_K*W_-WV7Wl-G1&3-$Wv5O5MyA`YnAmh%yG*@`362!GX0?>LFY zI?#C7jcNH%#bscuxMHO!1}(oWMyRCrG$r;dC${K)O$L*CjmN19#>wjkI&B3bB3Fku zG;&ug8mC!y5+ivx6hbd-zEDHtP#Qsd{3Gu+9yabsK91nG5)R6eGt+s-VXbI>23_)G zu`g15s~Qkj^AjUH`hMyV*JO)D6D#D3EBRaX$Lg|a2e$VMuBnMVP4;;zDdjo?6TI}K zgCR>o4(jS>5;f_+ZpgwO?OcFPfM_-a-fVQ^{lG~3JpM(@#_?@K%JiGxu7WYfV|U09 z|JQdWud4j}-^83Ey3gYSs^9s4x~y;Orr!6W8C(SnGooNd(Y0y+2qy9lORm-zX?;JC zTXf<2qr7BNL8{c6XDdH}`g~e9=VlAsUu^>g%QRY%c~(77$WJ0g9-})ZFv0V@Wi6g; zkmMks>nooAD{Py$Sp%mrTk>f4cjaQCK@D!!H zOqMi_wcB0~Yt=pm4NoFcwa=9E&yD7dop+CI^z4 z&qT~aIzZ|{rrQ-}#q!l@>gZ~x`>PGi&1Y}sWzz-RUEGx(-SC+E&{f+ycK&g#9(w2s z26KPP5Q^q^^aszQ&r;FFLiN5LdqNv=+5*Dy*vY@ft5GLdT)osE3+P!nag}$Mx-dcV z2^%byCL9jbizmd$d#h@scyxJ~^Uw0Z91aK%5jA74*W z`nBbC%a^Q2kT*#Fq!4L&7Cmky~sc_5?bxj7X0_j=#kQPG5D+PdadD z0&(TYcRr>sHkhZoMF{G`*sIfF<0$&G)^LZM>ibM%CKIPryKvt5=)%(G95_Yw)*~dkueAn)sp@Y$m!95tQEDdp zXC4y9Cl3a`-Xek9O3RuqUr*+*HVILSo&O?nRjVtGtDD^QosR9-6Tyj%yLCgciH5f& z2=s2Ow$#UG6=5P}gromV&wtl*Hj(N!2t*tLg*7X`3KsKR05%!%}ftV5z#-D+We!(f7AP??)VwGP&FfE= zg|g$iXBJ7CRBG-GXpMv$mi0zH?*}{GctrB}_lk_vSjX?A;90WPBq567RW85w)W+k? z6Ahn6bXKT1UsEEC;Q)81`EU*RvL#X z?BgFlW4d-luZ}6a7A~NI6Mh_Sp%z6#r&RE~VG2F(^nw`GmC6H>%wN zzmX2s=L#_VS-N3xQ!vx&jkH+JEnOC2^_Yv99gtQ9Q|UUwI=`4WjK^Q|{oFUm@45Ok z?lDozU6~PigLG9z=Xa-8X1DIfbi|a%N;Co{P zpreZKslxRDU65lIi^iv6y3Y);5xt3rZsCKyqh>$K5YnK=6;6s-nNkx$-eBzM03>}Z zvL3ER9;o<5uaVO&Y2eq4TRp~y> z`tAGepF56ejlpJBuG}wgI^U8xHopHpXKyi-bA1fVllKE9*FHzoM)D7zPtf`R)%S5~dz7a)hUgGok(;J_KOwAA42G_cCnO}7s(1uM0$x@82cYy)v8CMEzP}iyM zIFdh)6Tx1Vl{?T^#y)5oZ0XLC1>r6pA~y!hpLhLw&FG+-g?7tjT232t^P%t^k9l-g zb90HKPIeDzm0js{24&{Qh?B7~mCr%tnBejibV8fxKBrn-k>p-rMU`j&t=}%u#>L;1+VNdgwPm0M+ftPWq(=vxCkIwv>JRc&CQONmq zb@rL}eKdelW24GVf0WFp^8OCZ>E*_c+)3SQ%+DhDQ$Lnb{qa&d!C;(w=Uq;pWw4E^ zAI1%yH{Q_vp2a*@*3|R?^%X=~SdH?fMbSZ>>}Q5Ygnjk1vKS;Gmwh?J7GixTnEGRr z#Fs=BhrkUYPmTc`9Hm7p%vqCC!uN5}l`G(Y3IVLD==10G`|9Sm;x9_zFFL*O#jlF} zb3;-~WxR0D|@{( zN%74H;zxla>*dm|*Z!AAcgm52o}ku(^+>hufs5Jd3m{TA&UAq}&VE({KA!_pN`CIg z!Hu$e(+CU4Q9pThN4P9T?^F9-GU7{t*+C@kiRxySk|Oz(p0`Ry9n|}?O8NI!9xp`( zYYwUg6I2)@@2ZUcs*~`6xpCY(64(>Kyia7dQ?c4c0K8u!H!vTdJEbQP+J9ks#qgTfmkXF3o-28Kw<-of!B`CL2kaN{VM5Yf zn9%hw>=t{@0o~W_-xT){%U8|0NhVjLi6xmKG^S_;NUT^A34O_6~v0mHJN;Z)54qu7G&v zXzM7^s=wpL1H!n`iTGay-0h{JZc3TBx$llG;FZG+q;DOr-&*V_z=wx9G_B^M**cbg z{0xZeZn(qAxQ7+ZN`UJXemUtv2ePvitdd|mtRU61Z>f7cG*PNNzZ`*B@R*kXV ziFBoyvXtMPe5;B;_vPs3=bsqjyM~|mgv}qDkoOl{q?<<-{?7}5`B(t2dN~kSNvAGL z^{98q+Jp6w(Wvj5s0StHNUR8Uc!dHTsk&yf9GP*4+33<+gtPWqu>Y z%q1xtyRE`FQwZgPeM-@pek-g-@JGP{3Jg^)(9CX=w&`^2ujD`}UH5XU74W88CCrE8 z=adqaNe6sNViTtYQ;57gs3qr$Jac)-dDqgD+GR|}0P=I&kpshr?UWSb2n>CgKeOAv z-u~H9og0Rj0f{FQLP0sIBbpbBhh?#tLy`>uvY6QfJ`YlHN9bmFQ3|o)} zr0PdadE5V|cc$HXeDKp@t!wRE8$l~qzANv){R?(RpWK-JeDFQe(d3;aRDbqZiiwBM z`w>Xgm^r3bPVY6jO`&`t4lg4h{$k_(hmm+ljL5BolNK22h=iMu z`2F}{LIt_s=)5Jn%_iI_YJmEK{v|4t;e)Xmd_340!}yBBqs}g%Y=t)dHE!VIqdW&X zkS~a&l6&7Q_ipm=XElCtZ?sx81Ky^}!%(0bPjEa=D$THL zGsm&!@a6`=suSxmEO99xX0O|#k?0inRhoOGAFk^ikjkIYr~L5~jPc@_jBM1??2Rsp zx<=LF2CV?2<|D>d{Pl8K>lHmAxm~}u4j|u;HjOissIUbQgGs&Ju}1Dz_?O0-IG{m< z|0}jdm{v-2Dz1The^$z@r8@MMYrueSSKj^EM#yb7tN*k=DZpCbysIJZSx-Lr!^8T) z5toLc%AnP5FdU3uK}pD7*%7Sq&OU`Mu@CaftYH|0lXW@GTNX>aW$lHir%=Adc77WqPcjfA$fhU3NA zuX%>#s~l$Km(G126};*Kq@WoT+m8aMJJfKJY<=S6haS^k2JD(khZ+dN7f&UIBY)pz zeqF-{k`EyV)zCbG^Weos)Xi~U4tD?G+zAEz{OjL(5^kz!#bX=Q0G|Kk*0impsf3dU zXl6wLeTvib36PnH3DS%6k3^fHsV=Af*7U`-S8G(zVy=8m3^$+r&H*rsB7g* zCGELMby6Mh;=&Z?-tLOU5KOpu;1fwV1><^E%#4?>^=Dh9cNUR}z*O3u3Heq|e{4BI z5g|128H=uC(mweRs zgo4NjfWn8Dg2=vZ8xP|$-6f@^ZiL^og^^USL_OEZR-y0H_DT2#!L5B2SOiaS!kMkP z`gvX>-sk?^{JN&~cI>#u&13ZQmBbU3U&%*T-&_B_>Tz2=^&!|ylEOUe8z%L7`ovB8 z-gr}@az}9C29Esp@O#CHjf4LtiXZ#^bSa)KxOlBP-v_nAdL!}iPTw%MHEP3*z>j*G zeWqwBa>$!NNi3T{+8Ls9bED!)i+%l#$5sIJLk7Val8TwMH$#d;zHh@^O>cUJ2{mQn zf1}%jU!d?4&^SG=`-zl=$|`WM*n<8yJ>pRN&!ehEWZtpVmXw+^^f{FiVKEM+*MwX? z)SVh^dsJXR%#w_|^fTHd=Wl%?=dxj#JCB(|PcN`LfIrK(+nhcgVS~MyNk>V=tKiZ| zA!cpq*eT~*2g4Mkjz$f%JAoh$1Tu!17)SBN=&~D=&yN}n5SjTZjdF_5(ViD54#!^s zri529`-_)#(fXy>^?Q@3S(F(_CcqR?!2FK9Ul0b8e#}HO#?FZIn3v=H>&Gv(*2)L$ z8@peGfqRc4`%UEX^_OJee!Zum&-M5nu`>9Otm6!SdTc~|`21oY*;m|60T1V^?br@r zCqwM33FZyYzkGHiBisznz#l$*ScfuCi*H14xd&?7SD{lQM#r8D4AVP421(=#-rT?6 zfp}Fa)3B0)8h}X?=RvE}c5Ok+tg}1tdCwYrdx5fbZ%avxH^Lb%y(uqo<-J3W z33<}Pq(8%J=5+1?e`l(@k!O#G)}kWlOJQ$2gh#_<`NxydO%^%v?%JY^WsK>$)*^QL zz5lAG8(tH#a(q=!e;-0B$)BcQaPThED(3rkz1tMv%F3ypJp?r#^dpr-9YaV8;DS5gD=?U}?k%0|T9MAt+A5n7XMu@t}W>tNW6Zcth~#aq$@#Ej2`;Ki20G ze|WzC&W}GC=qBnbt-mf`f)ExjV(EWu>Ci*?-#vJ-xllXl3vm@w2pjzNyl=f{dDZ=> z#*g1krt65vq-EaTcmtC#PIK%U34wTZj*Q1{r~J!)3CV;4BHJI)I5KmK2A6?v42$}i zr+-wu15!7zndklK)Lxa6u2rs^P>Kff2OW`-2P(wCxPM-z^N^8yo#+0(<>YGTaGOXW zOezx=zE&UtEK<0TLF~Lqb^-zxIE+D9>pIKLbkRJJN4Imh02@`^2P01n7DLfv5|w24 z@aS0nxEC?m+#Ufh0}SF_z}1Txm}6HV64>1#bxIe?K>9j5M#ZqG)pyQ+N% z+4g>=5J8^hNh|!V2?0+$;r)ARL-WxfWi6VoKS0Wq65a2c4*B0UL2B;5Lu$eo0?M?Ls~ zeLUw)9&mpJN`;m6R=i=fDqCvjoDu zoT3&9l{>AjS6SIR8;Wz;YS88QVW;fP%H0QH?n3#~Prf9^4qS65aB&)lOh0%4hJ>P( z>IM*DQT~iF)sJ6lz0rZ`Nz^SWQN)^}`|#doNjQN790=^nKp6Y-$;cxx1K19HFT_lD zO>KY8J_*Pa@lJ|>!nd7F!Yi=?xhEW#jVO?cnV1OoQ3Eec8|;~_n1Tqu>|#(ql%#CJ ztA?ce1^fD}t~)j8g4N?c|Gs|=ks{j@A;BEhs*&6Jopq!59g05*B+vYd5g~*jW=p96 zzp#F-9`JUvh3_4kGj6XzYF!8ogePrr^U2G<-|`FG8_9vAsd4a~TZ29$($?TwW{wQi zCtR(s^37(kemggB`X99LCeWQI>vmSJ-oBQlo#_H|c2mo|aMmd?*KW(cszY({oTSF|4$6^9VU2i=X52) zEa;)ifD(@STqpIN$o&&j|GJ!p$5_V2s3*j44U80*r_P2MEO`^^iJk-4s8+A)Tz4vl zhT|0>A z03j+=Ic5HMD-r=M5(v5kv~Y%Z_Wb@ClQ&3vOTb)-Vnw5&Ij z?u_nigf!N4q*Lz1j>;0IMJ}#^j3E!j^NKE2(MaYUBi#_Q0V2wc!A8`Q<*wor!5%hF;hZ6YD`G~d8+a(z&itZ z;5C4n9LKlBpWan_ted$cX)pD(uD>o6LncCDc&wxYMZq$dB6%>Kh{^dq&dsAzu?D%v zIgG+1V_bAt88&9-`2F3JuTSr7TwT*Q9#f9y|LE~6zh;m>nu@U{uunmp=}a$n`(F{ zJxpydGhg7<9O8u5{?{$vdN`>i%C2XKP-DBI7~;3a*#O}w8G)uvatxg=lkHXKF>zE?GX zvEjNmmlV5SLP>f$FgrhW`e+d8b`;VPa*rt z{v4UCvIa_-k#atkQa=g#=Fnhu8&~#6G15edX$E)BA!A%xv&~~;cXkZYDY~BS%JaN2 zZy)nYL3N}ADr?T|WhV?L*^Yv|V;DUyWg_A_@6>{eY)3tulXsugDPaQNw@AYu4)10O z5Yx{$&48mMaP39C6L3^%qM`Id)vm;I4$@FPd+0Wmu^er?M>>ful>2Eru({+Fr8JHU zaqfN|*YTqU{za=_d*%9yDSd+!+0{(yI%^s97{R`%x{etWNbU-jPbS4Th0{gA)eU}{ zFr;|TK4(AIRqI@y@@pKe4O|VRF(R}flu6&{S?;gLGW!*54Er#!xwvM>!c#UjI>FIb zM4Pp0PC=0;fX?1ERtoh$S-Iw|8gvRGq^(u^R!PzY%P3`fLG$v4EjFQ4APSek5Uq;W zXmf01=YVw5aXjgk#%NQ8qQ|&RClCr#>c%r~406<0{C7cUO3Serau{*jvx^W$XDzf9 z*=-zDfs|KYY-!?NGA!;KaoYAEdLiwi>$0_%ND|TR{2Si{jO>lzD5KR|?Aa7jA&xww zyoVVRjk?x#vCl^_Hir499_*(X#PT+gT_i%oa>z%vWzGr(Tp5fuS79=^j>c9(Mk)AA zhsNJ-*(!cP`iAvZumh}V{u52q19Oo_iBN^<2aDa{Wo8oo)O@p$4teGQ*FB%+#~d$E zqiY7gwc)BZQ)RjiYWJ<7x{a*hqiCw~4LeUT9f`Kp@?gAl&;5B~wv9s;yHYNV5t-_W z=Dq)hrcGOLe|xz!8)IbJxeR~s_psk>A9mUEEh19eVrWGSdx@(zP6rXf*9{%u~sZFJA zOtOefZN;FA*U!_2ThH*<9L955>&%pv@>(4o9C8$FeowSnY?Gk=))*K~5{)a1wuC+T z<+Fdnm_f77NR8|g1C0)H&R+c6u$oXJcb{78?{gWl_PMTOO-@<2KXmFgx$rwRfDL`E ziMp<<$owIs$*-~H#p7Ci9g%fIB0EXx$xaiTfK*EfR2U%-0g)dJl7nm?gLCz{+QIGV z59WZt1ro)qreDa2J0xoB3=QjT87ZZkBV;#^6WtzWHS0BFT05ynaUTgYYX^&}B~pgZ zvhEWXM6HY-%%4oTPEk;q6OL>Y%<&965DP|8AlNVtVR+(weJ1bq5vqXpIaam2I@)Ql zo|)VX&3g%BqvdMu(_rpxbI@|B0A;)rmN2hl^`H~7uJdn!wrr?^s!+!WTX`}UE#4JA zz$bU%#07bs91I zv31T&NspQKEE){?%+16Fp{TFJ+({AQr)AXE=n6LF&9rYIZNf>lVb)JPr=XY3u@zE$ z6Qd-sXsHQEJDQA)Nk#Oxq7^#7BkOua59ZN*9P|JlHB4CWTL-Ee{QKo-Gxzn zQdM8MYO!cFu6w6+vF*^lC~Q(~Ga(j;T`I68t$`rQPmW;}Lzr!UDG&~TQ8vt|qe?yy z>k3~9uobx+}k z9^3d_SWW=Cm7ewZ6jNtY(%^~tHbE^~hJgQo^cJ7iUWHmwB~9ds?f)`kBlGrmwqsS) zxX#ODmGSVdG#~7Ge<|V?>W%=1Ydz~kRRC_t04N&3!nLsG+|2P>Cy&_*&s7Wf0E|M0 zVBsyejM$UOdEEp=%d~+fwo?jJ!M;y5D$R*}Iy$^WW$tOZ#4bgq&z5`$SIMh)JAy}D zYTKCq@*s>Y_uE>jKtHQnwU$AN!29ZNPDoB6;MPBwOA!@Q=Pdro4QZkZcO4YUi$mYQ zx*LAfYG(weoHPCXD=ac~IZl&m;cIHyoAS_w+ zj_%+aC>J3WIxVo-f#0(P5DDVYoo!PbQ62*RHMhMrbr{ry*Yzl-bEf<|~IGo!Z|(RnOZ; zhUtR~IPf?*+kKnyuU<_a$hXgT)2z83ALa4d6lX%0#WdV22W@QpC2z<>Tl{>e_jvB( zzHNa|dSA`{)>Vm^&4(rLJ4%YZ5kaD^FIvMa}>B@ovCgQJC7{?d+yyj54{2fQ=s?%Rch325j6?g zs{y3*O|B%kae6G1pv(#xSI58HZACB&?SeLwk)+EqXvFu*d#;;-VFyyX3RSe??#2Jo zi&djHIBz$l;;+SaL|BcMLEyQb^#i%7PZ=I!1CXydtAe5Yi;%A<>bbj8|LR`ej9cJB zsxk$1T%Du`1lL~{Tk_XF%cUUP$2uKZCd_GGYWJ@z&CnoRmbf3*;(QjE!wpR%^_PXYo6rgr#30`MuCGu2OTtRU>XeF(Rr$kudQT z?gv0$yn&ymY|SrxsEAotni79Yl{i}>P^>5x!FttC^$$9^Q?k4Wbge+9ROocVK5T?a zAH~p?qD_44ExMa-9!V@>LlH9ouyHAg-4#;|9jvDWXWQ~dMZnNP?To%hTg`J6!oW@> zWtjn|OlS6AkI8HDxNU|?lQv6#7!&bZ!-g>oP8m{|OAjHv)+^K+VY_+k_HW@*g3U@b z_N6?ZiOr~%3uNL3Zj5xhtY>{~ARg1fxj@@2>dP0_FhV7wx1s3Fl zg_jby6Cp+#+Jr<@uLkKTZ+)!qW4RKPco$aW%U-+^HO z?4G&b6V;^LeLXfUQ|e*{M=m43%O$a(W)M-Y+dV41o4>z~R$LVXY=LAm^H$~GZa0A4 z=87hNFwUB<#(1Ad&+ZRd^9TS3l!)!7n}wo+=bP?hx@xs=lySTx8O9bFe<}amoGqfz z0fJ6B5tG9SqxeTta5(^hfO~)*^`p>EQso4z>S@`T)1K}z7WS1u9E zK4HtC=`kHchG4%jZB|lh?u=Yip3>$dMf`#=&WeG*BAJ7Y6+^p$aHb zOz%X8Ah~9p8dJhW-$JghK!rk%RJf@B2`&Ft$gXz3=kIK;f&;VC#2|Ny?rIm`9gRv^ zuAw?YJLjr#t*Dw{-w!zBAzAhDi2|EO+^W z7iv+W_C0^y(_w(Ol*y1FUP77-yoMv1`LDw*G{V1azs>zkm463YU{9$4C#wssaM{A( ze+XY0L)VpGdvgtwyxc(Zr^fy+7*^z0H&?$!H5i4}qw;i|D>V?z;tC#XlmGViF(6;9 zTIU}cKEzAh({I&sq&-liofcO|JJA0v?YA7?j}61J>^r5yqPEM>crr0GI(_&BND_bQ zt4(B2_W^#G@>3}T4dFj^P}99z8SW1@Q3=jv$rb10rkFhoVG3d$X0`X zSJpoyHbZ=j_U~Kl!fqomMVjWBDUOf6q z3cp?heM61~*yu;UG5pwYbm9_kx%of=%6Zc#(Gv5&sCpOKqF6UuC&%e9s6Dl04V@g8 zS-Had8U3wsj`$Vfn!dFboUm#aU-!P_5uh-`K9|-R{bXEKOXNNw;JEdh-2|lk^IQ{v z*+CIYD~mt!kXszpY$Os6_SZ~gpCSNbA*&k`h(Wot&(L6Cpgh8k8ZbTV?=u8pU%&KV zn`FJXyEQZ8x_bNCed($tL${b4#u0h6u=xzGbB`fdK3#UAM_s`$Qytq3)HR4Rd3l59 zrR&Pe+s{jh0SHdp-4-x35ghoXe0>rmr#>5f?PzFAvxG7XIVs1fxnZfufGVTv{TfW! z*H^5Q{;|c=X>O!ppb^M5tUXwz_HCG;(!U?l&eDmFu%59%mZ1}7u+F`5mcr*H0IltE z(ykT#VP?djG*p;zI^&B(gc~PkLSSSYv*}Tmzft5Twx^sc*i-?UCg@(sD-^?pGLwNP zIaLprl74i?xLp0wK1JX*6#URK@N5V`C-NXrqRc~`5bW0q$q3BQaA!0}>6gEC<6b&7 z8Ny*~dVlorfO^B#=HzkvJ9+GHkK(j~PV>V>3z?dROv>sX>sNBgEuSe&5$DmkdBnOi z7Ub?=rrk`9S9eX`HG3j^`Y*>62C>Op6VS4)Y3Q%w|M^`~Hsr`@BML8t5n4jN7%tvg zh|yNz6;Vy7C|y`S@bSj07ouZn+~$I@K$$}P1U|rLYsJ0tDMye=NwNkOFrsui7S!NEKdPwkRcs)xG<|McR;C#6w>{ z0|7ns%c#vtC=!(I3}TN z=(ge~M7GHfpLE}~9tJ#>H040MZ2#D{|I#0SF1%omK@9P?-`};YXf^YT^1F_|og-<4 zYe?6JcFuH+Gp5Uv$F^B_#&;~-cH3|MiX?(P4ixO|E?=GW&j{=uW{u?)M}CZ|7uI?H z>fNPOL!rcyFj0L&5;W2!z_t#>G&27^xgH$ zi?+T%Z(=faLZ{SQ^l0rlz?VQKjZhvo@D1|)s}pfcvf{41X_Al>|2AJG6YvS^@bOuK zg|Gwn#M;0b+&j7I$i?Vy)R9grPO=Y=x(YYAA3s~gTN*F5C?u^prH_P7FQ~U1V8d;; z6RR+-M<1iQMK)?o_d&jL;A9CbQlp;83^I>X*&qp??an4Ft*zQO@%xkMTadBuDo6Io zM`47uI*!{Y3i{6vz%-&dd2^5WiCRMr$d@tbmVy2e<&QBalmuD6HJ?m5`S2}hH&$1$ zV^C_dM}JqHHQsE0>ocnLB_f_tLs3%@&2)0$NyTZRO7cL>V$=4`^j)N37tS70wHO=H z!)TCReZ3bge=M!0AQChg?P1`&QC?GS$O!?mT?%em5<;SI<6 z^`6qn)*z6#<5Lq@#nWa7M^>)ah9@fjK=Rf?1SqeBd<@2G9r61C%#T2BRpoa+bypLd zp`4+l^y#}ZYeon=uvAZF`!N zU@kS%m^sZ@BO%+8G+}W6sIXN4L_9xsRk@ znow+qSx3CV@;M!Utd>znoM4IX_PS7OGyQNoRooqP_HoX~LDf%hGcdg{3WXcURwx-S zd5&kZenuCi&GpYmY9bz7FKV_t*SSi7kqRaG_|oN$(p4-h=hZXc>6KPtl2yLg>G9(R196d*9b?|;&B<>M zB|?QKzuD~MZio;6E)h^ry%1+HvdA!FP4X_*D;scVLGk-`s-%yOqq(J&(8@TfZDM$Z ztvQ0A8d|k|`dfGQiUK4$eUd~l;*q6W`%H^bewq__XNQi^Zwx_e`1_RYO%7ku3muR_ zk!~6vjXvwU@tW6{Z^al091gT`X#4dp+}7qEii#VEqnd3UsI#8oI^fISQm&Nukn0(~|pa<$Qef6zHR*6KK6~C3-VMd2V%VCln`?xLdKymNbI;Fl*S{5|{e|{gOf~ z-gcCR21VYCun%AXEFXA~B``486{ah_ur~}MPJf>~azwg(n6caXBf7YL=MP&S*&g}= zfcS#ymk6!gp_&+FvIIE3F7B4!T+_{~$OSwIi*+t?fRR$^>#Xeod7^F}IZmoT5K;kE zo~t;@MZ_}dflG#_*6<;&u5A@Bo1x^MoA2JVl!}6tK`lM_JEf|ZByqm|kdCNs6Ld+S zq~NES$eTF-R%x5LDjbiiD1^SpehGM6#1Lw#y~=N$h$V+dJGaHq2<%v9f9&(N8pq^> zQf$ubmko2E%Fl)2g5S!m8f4GPv@(iipXAPxSO1H;g5COT*#wC$WHM}B^-TbrtMhRA z)PQ2AgQgD=%y zosbMNo781J-$QK^g_sp%=GWntRT?d_>TLKm6+A z$z^+EY499*(ZkE7z7=d?;?0h>@QPNrwfdK^19kZ#$)nJ11Zx~?f&omq<-k98i3xKN zjnbNH%=^_sbnouUM~|^tkM~fufzD+Y9J);cc8QLLY%5K%CN}t2=di%m>S%U@KhI!T zLJ1%(W93Q&`U~-6Gcpgpx>HSQbM=6KrUhF-!Fd{VBjzOd>F2BNsTv25!B2gU&^H>2 z%ScaaF?JQzDx#f&y!j9m@J1NLX--yNW5>Rm+iGMQ+=?Ymv6NVW+nk4B&&P!M&MX6- z8fvK4+c=OX(g$JCt#3i}k(DVLytWe$u*cZW3uA5~z94M&J7@OpjVHktVqEl~{P^Mg z{Vjn=WJQc?QPOL;-O>f}QRwW39yAde`#mR=a%5~$RnVE@K*;9(zJY>jjO^-D@Odv; zf(NRedrYB5{cj-bSXaGFxTGv|sf5a+IhZP68L*r2JSSE&bvEPOj!KQqsV*Vr)U4i} zoqv6LwyV@~Q2s)hRHHtun<}-{xJ_(Bbn>F+Bxk#_;q`b{#e65<;EBs8>zq#U#x*~B zVZFlf&xUGX%u>o_*ruuK#K8GE35NBx;4l(~MXLL2bGH^yU)GT%=UqHJU@bk{#ZA(vJgxcr9J!8^s!mE8r zf07s&v7l^RW)Yy#dMBGV3&~;3?BRDL)vQ3Bd!Bvkp6@29~tr`jx+Pv(x>fiq)H=o^fG%apatWaUc*42cPw z`yn~L{2t43xDE!7PSqJqE_fOJFjowHwH@lCpXFvH@cM?&ZAC$&P`$6!;DPOkh#TIB zfJK8A;)oSv?~kC#n1($mldVr`OxSOHw5oPv6Fu?{xjE_=6o2H^7i*eVLcz=4SYA}; zUsmjwB?aA{!~!6BC3V=H*8HpmH{{aqyA!e~?rH0HgJd=FeW=4r5j?j;++jDSA1`u1}OVy+eDnRcH! zh1JcAkanSz1Zzj>OQ89n`3API)ZfZ^)?8r61}Fk{$re;22W7CGrOm4iD1*KjyT7~5 zO#@7C-iW*U$!-yO$?lLK#f?n^Q<`N3j#?KF?}sW+9VR8aAZ(t+^NE_R1+{mjFpeZ_ zZ$6=md!K*!rt(v881(O%RO_E=JA((_x>o{5hUqw|#nNopbMrLO%RQzP7u!*k+tyv&V63O`?Bw}&NY&el_1^m7$dJb4pp6k27A_m;ELsj67z@xJ_M4D$%tZq1me7 z83R>r|0BPgH8OVYydC=ir?a^&5X@Q3v3xCex4(sn|7iXMI(3I50m@S(-l>)UqvVZjexV0qK?oX({QB6={&}5JZ%2De07y5^?E8S~?a1>E;>k-}8Uv3*^I` zIWt#$<2rhKX?@?CH{z5C_jv=5y5{zre(EcMON-C3kT^`%t%t}OzNGs94=Q!HZlrv1 zMlhT+0&z%%Mye(6pD?NNL^0efKx~{FGVuO=-rj4OZ|h@K=7dD|<+9RDxblFeNG4Ob z#_~1+PE@S|ZMvt|s)2DNJ(h9JB$#;ho|{g&sO!;l`RMth2yT?SRQub5oxjJQA>}UM zP_D-rglvZHfUQtEAw~C%Ug}h<)Lo!?G8LWE84-Q===XOBd%iK@CDUc^bPwIEhsNMB zhtC5#C-7V9ddB4Fw<~6;v0a*5`1I!N3FJ@vsoR%W^2n1wIMFoG#o1rkB&h6a88&#U zgbH11Q;F)afN80YY?4^eLZQY@Q&6sw8UqEzi#Nuh*^^$O1ajZILdk##V0ye?j5f47 z%Lh-bknQ&dGq!c}2Y_s#oYjH{TNr4qr@3vMVoi^J_oNBNG5My5O}GbfC|rhp*{Mmm zbK5Ngp2r!T%V$FOLQw3KhO#`r`H)Wai&V(fAsn7qW-8NJ^U>794nc_lUVJxlzXFZV zYvqey-|$ufD`|r-f4)IgQ@mmK=$>z> zxamJ^Jwc|~9|h=+v?YfdZ3;)+Rq2??&B}oO){i+_HNn|9i)?|W4H0>j8zkC-Z9>GO z3~4W$=;{%J=mJTZJJjf^_e&N?>r#{=miUXbK}v-cctEt_%92dBUG-SKjDk>~!ic?v zjh!(VPxw-J|Dn=ydrEMG*4x4VnS}@QUcUT-<6q9 z7(=HKZEKp(04pD6e=FH7fk@jdP#TALQ?yR6WLqxk7~_U}u*@g}g79}aHWS4I8QA*i zyHEJe^y?x}-trHbkEeXHpkOrZ6FRxE_TwSG?S=Z$Hm0YZflJC&Dug&Hc^Mb9jR~6IPQj1Sc0w3$wCOSYaJH>E|_t66~WN5BI%#QDm=%|z%SU<_+ z3t0e!hVX{udMpX3jXoR%iv#TpP)RH=4RqC31uwO%a;$spFyh~A60auv4B9_=II%w@ zyI&yEKE(jpr74e#4UUhQ_8>m<5gS0EA8p#v6>)cj=sCD0|CE`TYW<@fu1TVXVYc)0 z?ZJsvcJ8uJ_CBe52vp%$@hblkd%7F|FHf9cIcM7qUZ#lK2# z2HQmY&^haR{4dD185EnV3;#m0!w5GQXVK(__dj^I#Np(O7VpR_+yTz1&MOyFydGzX zC(pVrlm3E*EEk}0O&s{X%KjpN8gIICD~hZ}g~QoPcOhYtpDZt0@*ZH{zP=Q<XYSXtOB&@?`6Kq zl}*pCB^6%fDtoh-Wg24 z#n8jYi0HZo(xp(sBM%v$_v%uvv_uUHbuY=usukAht8{l|`!GO|9s9udvS@XA{H>jc zfeDUWiW~j*u2VJccy?z*b>i_wpdUr_GHw9o2KpcEJi!5_1tf__0T|aDA=p6Y>^Fk0ibz7!Kc@3Y{#e6*%rS%B{> zyIZVKgWG9qHsKE16;LQYy7XbN$zB`SvrzqFo@~C+zBK&-sdKI?-yVZ{xhHk7m(l`{ z-i2b9o_kw9h7i zWv3yzOEbHCeTqF(pSZMOrYJcR6-pr023j%&k(mbPWV1({(H3=B>J4(+HYzBHnI6B+ z)+%Xq?z*D@6aw6&*6RK5mu zYVv-l?(d+gX2s}0N8lyYuz?Igxa!Ca(|O(_QR$@b61_b_g=@-HT@ed~rKyV*t$ZjOvEn3n3%HLh zvscTlFs#gE-7Jy8+&Pm$Q3DY!rMfpaBB5w-&Urn@_E7sw^A_q0(_fB`Dr<3AJGKj)x|)yPJV^M=0Okzj3lj+y&DP(?h(Ec!#jml< z`d{J#h%=CEujPQ_ZnrZp*@z)=)0AiLYYl$Yin+yIsf3rqU39eEjP_gv2 zFfMlnR_aBVz3D(%kw=h{$a)X|$fJ-7ANcOt!5eRjEDd^@XS?t+7 zJTvZgy<{){{r6J~9dE9cAQ$8(Hh?eyiZyog8}>AuN`VoM&cJprp{7&htGaodZm(07 zr!4AE4?TdKgv2FsW^&mGBVN_jh@1Zx#Cjy$Zm5L58RqUvV#LXK-9dGyU!KH5~JlW$$$6PBPaUM06&m-xGUvZM+v$Q}S3Yet~X zgA>gch2mN(G0mw7n=J_)aqfH$VK1lAV;^2wzoNMxxe~=*V@u^B`dh1ksnPkCw^z#0 z?ldr+CfP5oRtoKV$z$9|fA|s+e^fkduJGI-lCZTT_US2^gZ086|pC_Yybks@NFHlJ` zOuCsoArvOvB@8WrhI)~S#wpz9)+Uz4L{L9{+J@iXMc|@ALg@NiRLiqkWhgks->Mwi zPu?MMB8T}_+|=RFWkGG66<`W)<1Z%MZH_djQfQWqDUA z1Sjfg>2zZsQ;=Q@QirSUJ@kB_C(Bd1DZ!^bTeYRS0jD*g45&l2C_EkyV4sM7vIMbN zIx3C#AIsQR^>HdV7EE9Ml>P_BC+{~o9I^dPA zJ-EbiZp+V&JNngRG#g>|kAu+Lyc(PSB45Rd)1kct9qYo<-Z^acfeoi9n(A&3SvSAX zZKd&3g;Nz4wi{EVl}_22{aJ`cFR4ODuM!w|Av6`24(nKYo0oA=xzrErJFTlLWdT6< zDwJlO5@X(&=w7YCH1<=Q43SLa(!4^B>8G|ZU>Z{~@$vi2cx#Mr=B_ElOc}=8e6A$@ zU^jMi=WmG3;;Dc{rOYAKydIx`!C+bci! z^AHaicAI&K?1ybHu5)5Gp7UjL=kM%ygT0_ zzP0e1Cq9IvihEa9ZRHz1_DXi?7YUU&un=(dO-dN|lL?ocLcL7RT=DnrqoMLfdJ&-> z1}J~QwU)tJX6cGh(;E3dEr6#v&@=AJu8#hv<7{Hs3w@~qWL3f`vAnhoGr2UQYxbKT zxTI_W^FIo*u{ImxQ9M8sTLu43l_9Q(Jvpk+l0Y~f(Wj7j?CtoiVS)D^SRP> z_6wjWBfnm_wFOO6Jj77b;RbZB);0Ce?vGdsAU!o{;K0#r4w2i`$frkBxanN8pW4P@ zXE5%HIJbi^qO-iVxqa80Gsy%e-Q^ldQBREvWxso z>WVfjzPCkNdWTnW7&LdC6ce{nQisUhpT=#*rzf5PeC*$yZ@`aZC zxz)nhe*9?Y&_9cq*4DI+4BNb-E@Z+HDeZ?o4tNKfZ3yopC#m@gzzaRVAyq&TOui$*e{ zbXaqubfG}#gAXLlWN3fmyQV>=-ulB9)Q;zp5KsKcd$yKbhI7#d;w4N-V!B?sl6%(@ zbCD3H@nkJ>jsxwYqX>lP1iq24+6i*s^4YM^L(KDU($bdtxn0g{EY1xo&bB*l|JnyU zaVK?u@?CCjU>>{qjgI`4dUeYIKd+?o7{pc{0RA#S;ioNi^=v3RdMUK%!%_QAmtB6m z?cwblk=WOcfjis!VCM7fMCG5g(cfrK9wp0_>o0zMO|NrB(7kMu(Na$NXuwEGkY&7e zoo+d5?pV&!>tUk=p7zr#BM+s6RgLoAJc%Z9t<=zK!|T1R)k@MOW*qJ3^d5HqD7TwyPm z%c93%<6)7vvE9@UREdD|pWsNA6vG+Z240@F+nI&Er;w>)9;hyIfn%u`J$j;WiO*Bq zPh&tit!U>jb-0)yWuan89X5xjO@5;MX$`+Q?Blc3@7)wta>9jNCuhMV#P{b13duBt zzm9cotN|z9$u|1zn<}CN{30MIA{(66&i659*2Stg=^49@jDcNi9MbPH{+{7HzYS$P zog*ndi`VLcU&nf!l2xQq6TjJ}Tn7@2FK>HG4hlq;X)V>gIvQUr{ouOXE z5~t6uK-rmteC9jIM<~`ADVeZJX-hi;ixt1F0+yU=%c{gB75Vq3+bQBzI0N#7&5^B> zUvLd6M4O@iq>}}Hkb~l?u^Ib9b9KUJ2o^9=WC6@h?qcp@t^^YYLah`^8f-1a1bB?)*>sJc3}})&{?)WWy9v*wip2 zvkl|6$z@?;=X7=~6Lz3xQ)&Tv4#GvG^S9nc`+ogtkPB-7`}pj4h7!^b_kuVfbX0R460 z5gLHMTS?Mey`kS?V2N%YaYvWS>epN$0(L1}e^E_;9cmC_so0Dx51Zp!F;6Y_1l_T(Mvek3B=>XMJc`>)y4_;SY6|>1*9eIN(zqM=OjCvB4@f=t0fOmf2%=RqXzwDuv5Gwl1 zo`v-SkjgmYCaw2(GKlzE2drbJ3VVxSSoKa{T@NH*qBFvuOfq5jI%d+%7PuVXPYc-! zylq_>f-a@ypW|QEL3Pp<^33ZJk@9?|=`bHe#Ra9>yhZi5lyy6~#)I+0H&nrS+{do+ z6bus9*}7={DW9f9O`O@5-*-pZ(}=vUKI!`8TK`%7YhlHjr`0UZhL?1z6n9sYsmD8L zpRJ%5`>^gq7J|LbPy9RQR=j!i5Pai-E#j@+^0Yc$ zjyS?iCs}LlKV8b{XC>`x*mcC4Z$8h80e@Ln`1bSY6T>aNjFI98_6e;vfY|;Uqn6RS zvDIwG{)j%C-S*4!`ZeR%7WiB~hNXHh)`Bg5O#bpXE~iDSW}#ci0QkC?%bYPHPYSSs z zkC&v5Kr-SgDDX>UU}cQz?{?!BM{Y)m(ZgTt{*XQkNepA>_!cHl5*Xu ze(P&ahV&f(XrXXMvd>aZcw&JRq|XzEN;&O_WaN^~s0`0%y0@y-h*gXdwy$?~TgD+a z6>Sq;)?es;c-`j8ovy*f^h?J%am~G)`6p1XkP)$USawKK6+gXBDF;j3C7PEGXI5KVghds;#NGDe~O7No(g-?{c(YQ1j zu0%Z$)NMY&Y(q49*-p=_?>C>$U6x8uG~LXn{&kr2dJqa%=gW_q8?#R(E&L3V!gBlh zoC^0i%a&=`c21~8x>Y-h}#4A`b;zMFcxs*yfDnA#uux!Gqn zGFAUkL49-PT0@=vvZ3J>F_afPL%|_g7=B0|e#B;(ay!FWDn6T&-q0Jq#Z3Ci>Du@` zI?e0Dg;xIfz>v;LyO5PCrcYtS`(`CT^X%f4IFBp}^bD@@-yeUJ|02y-f(FU*{v{_k za{M?jfb&{Mfr^~s z3_v_1vN1B>fk~_6C?Nk#DeFOduj=zFx77B;#8y+X>y~J@F}D4RO-prpi#jFz<`fMe zQ2uoic&2z03Qu%*h9AosTs>=>n873Xfhu|QQ>;1WsEO~r;)2c>+cUe|*3;*FLtEL_w(~>qR7m59^3{x|hNSzv4&sm3LRt>#1N`)ja|UoDRDJAV@tLa4a$?MuQkh_1kZ z({EjyqshQ&J5qjmJOxwxrh|R(R{9(ae7xcbZzd@{&jSg>Z0A+o&Q|63EU!lG%}aA0 z5t4oQGiwTk#(Rc8Sze5UE+zVWnuk&1LDsa|AM{KM{hvm0JYmk#|9CbWOHU^^K+cz z%|+vsQ|Fr2BEE%?W4e{-0SaP>0BvU(r-i)G}qgfaU2 zz(^k<%u&LBumn4;w(1kR5I3-gDvZDsVQWT;n#|5rYPzKWG>Mq_2EmxZSN6VX zmkpg;2LGI~kMyg+;Rd(Ot)X`Zr-D}Udmn{cb7Gm+TU3Elwboae;S8* zT!LrvGrDknzo|yc3f-6-NfT&ll#}5D3#XO-SA3!RfXeu&R4tmnoAilWLt3;QC@Q54 z>a?s7m`D(T^LNjIOQM8!mjAced!_1~U-VFhCv4*EBi3i1Mm<@cr&o{s@V42%zTaE) z4KRadUi=&Na!qa8YjEaKnX40O42kDY1Y>*gY^1p-iVSRMNXZ7#XoE3Z;z^a19*elk zz2^HP?KxS8NygzqM%Y(SH`UZIwpk)QI}8{4Avt=GMEaVOwYBy9`Ii6aaZtzRDK*Ra z0>PN`mVf8y3}ise?&}5GN&hh<^jb9|^{u!LMd{9-`Bv6-RD90&ypj)(6dl$=G5jh8 z(06?YbUtO14 zKH+NSS3aVj9$5_sAgpa_%v#eD(W9cY*YeEPJqg$UikC-Ubv0hW9`A>LQURw5Bk#vB zVt3YF{!Rg;NUJ~25T|Zt!jDo&eqPbp zd}*jCSJ?$Tt<#etU;3tZ+#cHJdDG?|f|WBE(W_ zxc0rl&l-DUF|Q$E2}|04=$UWX2sgh!A0}#mc2*S4RQ}ME{oMinWm!SUKwiaKJphgb%D^_7C}(e*q$NX`<+nrKX=bP#Xf%9#?s@J6m#26o9$uBv+Fjw$C9X z&bCf+=1pXqe^0S&2!U@jUtX7FN90Z+UsJX6H;06zkVkEW+Rt_1W^D*WiL}LF5{Jk* zW3(*3%?-t0j_t* z+>5t3X}q*^IkSmli}xFjp0Wmj-5#1Zka*zX!tEjVg_Nxzwv&AVq=kTT*g2BJ1 z4NwIub+>OsE5K8RT*k_q=E_*fwX^YsYVnTTla6p#u7}ydB<&BDeMAjKpB2xq#HCAP zRN{RW+?AugL?>65ETxwB_=+{v``=kxCl1Y$*!nO&nzKp_!V-4o-cmjaj8IN2Z2aem zAl@=P!V5y~;4cc(8nxy8FznljvnXb8ivJ0y<|zPYrd#SB%w$PaD=VXgmD{RFwx4*L{o6 z?chW|D1ztPEG&uy<4C6+cnY?Rl|DMSyv4*kU094BsY!toxmDPVn1|Sa_e*k@&{W;S zr~15WSJWb@2P0Dp+cN^%H&3h`&Rr!C%Xai-!ZZp*gUOzh)RIEC_nN++L?KxYcwO}x z9uy9KY3wZIxJh+dsjhae<;_)*;?}Iv7`ng-n+GQ(-wRIFzOH(C4{MBZJ zr&|`h8PQKoU}7&(49iXUho_oGcE2aoDsf^nzBKdx=E?`bfN(eZggLA;*3p4ng{N$U zeLi_F*Y1k^0tY-KBzE?)0|Oet{Sp`Nj`3;C_nep7E@`Di*)N(_EP=PpR8+M-&Y0E3 zdI9;8m!yRKZBd#R46pa1P>IQ5J`i8tvjaQ?siT20JE;PyS&_E`;b!hH*&2e$G`aY` z+|}QKB1Tb0y#P^FDaJK6W;*rm|cZ7bbv~tvLePc@*hGMQPENf-I&Q6w?gL(K%x|mt=f@jA( zMqVkRPkCB(Cu30y9bkB21wUGh4T6H3pUi2dq0pfm3RtjP;$GSNdF|&apULm-SZ@CP zb$Q+?`Ba$6@A2e7_>IuKm|YQgj*9(7BtIy4jt^d9Zyo2zKLUc^bs?=5b0yK5d#N9e zY*RA<$-{)cZUV?oxR)Ehf4@d|=R>#}Y8bBo)25i%V!J@GtiW4?Pnmb?fS9X)ZGcD^ zt}W~^71o})b^-$`UegHY5yNirh|Hyf>qW0J!OW_%1;=cy$BRGO{$x80SuZ$6BaCDH zHgFS?x2GmH^-@Pz=4*P|3d|#CmT|-VNc(eML+-1}3}B`mJk-Cn#oXA!pBEPxa}=;& z%T2*rt6L@sX5om>3mYTEAMIOlftAra{%jk-~&zsb>a z1j^Quw9^tsG*pp@PL9PzD%UM@Y_lC-mE+ZQa5z-XAo}FCxcyVwzVU|0pwB8fBU@g| z`IYPcLNI0T?Q5ES;QWnm>^KfRg;Sxju>>Parq%=pKY0^%5U#HjmdNX&zR?G6w`>K&!%TXu--MmH}WyQZC9%f`Gy49=ShIXRlW{&cyvtH7w za{yV1#lHbujZ*{NV`K(;Fjhcxocryc%|q8G9VFl;g|GJATY=0^)AuhQM0dX-2m_-P z_K_4&nzMovg0-7vuf?;mOuxSS~{sgI5nuhIZ&?Lfo9G5Jh2ET8XlQ7uoU9J{{~;{^n? zH>9M$gGN~MMnt+90UvDd%QiG`q?9;SzYao7@o~xZ#}BhhxUt3$baxN%ew6kJO^eM5 z!ucu2^kvN|z4g_41Ipxl`yh;ru59y!n={{8xTjv>hI=(xvqYt@Ljvsv_VrVp(#`o6 z8=DQ49({518%%&x-Ijct0l#9!)bRsM@hTAgmYpn{0Jd0ptbL66*}oIyj@5xdAB>U@ z?4`tl-vs(gr=?;Em$uwwO-kQGzMXSh?UrDrRQq?LC<@&;heVx-#$0lH8Ho(&&imTYWdhp zV?exh=Dk?{X2WUovDe~FkxmE^@8k*Zlz)CqPRuBaH>AS^!Nrz%AjK+T8&c4Vi-<4y z5j|}h2S|@;HdM48Mua1^SGVc8>tpiax%^J)f}<#D-_5T?x>{rU|WHs!Y4V_cr@=a z8R0t;_Zfz-Bone5OVJm+WrBqGiuzX_(%Kz2L+^NYzFgu!S8#E63N4@H*`1rJ^4=4= z=Rs9dmIn83mL4x(7G{*`!U^O)x3wQ5}jGWNk~HP=vav^ zF5b*#GS))n%Q@>ET)r&w#EKc}d&9&z7ANpg#*!?UwGEV0*bzAXYHE zEr(?3Um?rIzrQors3Rpg(uKJX6aUK9e96Z$_C0aNj6OKA=j8Oaa0co2i%~?DY!(tt z_}%n9{;>4wR{ZI+2>(iwST^lA=sUGm4ljv~E8o_IN9M}XTgDVcvW!5~(u?$ha;icg z;-7ShASW#SQ;|Qi8P>Vok}4sVOSr$qYR#aq6I=Uq7yWcLZaBoF{&UM2H6oh0wHK22 zw(b-Qot9gv;IVf8$D`!#BrnY6<{@EcP)oq{GoCFHI`ie-6iLize6v*U$$jGqV>Q3c z|1Pb2bE+C-Z>B{wnDh!o0zlhE4rP(vcli|%;$6ANsy|r-Ni%Cx)()iz+YvV50#JQv6KJ)FdoSClyf=p)8D4nM{ld0XEd7# zp1K~zJcw(W_2*r#T`Z&!xFo%|PcqxP!ADB36r&@=251Mya=@gUaJ4T+6^bE2;0MZa z*RT=|Ay(dz=0xR)&TKjYW4jX*J(0Ex3McCw*(~m-mh^~60=-@h@kWl>Db8*1w!Cti z!Ac}LV0_3CPC-E2BAD`i@MwCb&iFQFXk;lIDDYx6uY zcOlHhGY>%_aJV_-uKO24CP=#p!Jh5TNW!*n`5>?~IjLs8M>~y(Nu{)HswHgxcsxL7jF}^7pjua}Xv;mOLr1e+=YfHiTcH)gx&{rnOdO&`7NG z>wuM2TIB{X|L02O_u6NL=5HZi4*31VXI~y^S*NSBU|)tJU5bi4Z@)FU+X9&)v}#X- zK!$N|^gfwW^VoB*eKgz4MtezsRvjRp;&vPbbi|OG_WtlWc{m86$ zg4wmHx~!~bG+ZJEbZ)@6MoN4c4wW6B8U>%=vZYPtZR=~xTV|owy@{Kq7&A-75|=Nm zWR91xq9sI1Pd z&5c!o8kS&c!;cfstOj2(73-@5u2rmQU`!;|G;+(3;sQcoz)9(C-(c+i|v@#a$0pih4pCgz24e z8t`XGTmVIVC2gbs(&;97!bcrrc3jEXw7;TvG#gN$zr6$&+pa8j{w9mIb=3Ay>>A}c> zm+$n8u2m|{IEF?a5?5jji4#X(2I>xN6wehid1L8uK5vQ`94qXw=hs$&m_bl8FU>n3 zs#W~=?#`4in`14GGySA@GCSOh*@r*wPnc1FPxXypF@f)E#~Y_kHT0OdPJ`=TDDQw^=mlGX_6x%ZyoJcMh^uPJig=Gllx)iPK zX$d5l&V+WiS6ZWU?v0)&e_0sj^sjtalYTSy64KZ)_xY=s2HM`~#{uqsO6=lW&U=zJ zBGLB*Lx!c4#%c@KUIO+{Gja}0YaN~W~Z#BwRLdF1HtmZ-4)#r%Y_e)X5Pq6YO z8u%;A3|!dzJ7BG*8*f$ioVxOB7pm4J4*#09ZBD^Q1TWU~klME4}r-SzzBbxL) zkcIc+oSx#HOC>57-^U#aUY@W#=gGIdeof@U?Gqf*H8AR{nnnjq(b*D2e zD3F5E&A>*TTaGnIWwYjG2<(?>gL!DJTq65ra)hT}C=Mk*jQ*pqG-pk%*PtZb=n9}{ z&~A$kzS-fbn0XN6Q^gzAOO6VwPIe zFy9~E+;hr;9jemfvrkmP=gkjkOkbsJ@+VLc%Zsv)CMg!TlbuzrxGCCLeoGZnpibO}{otS@XOH}LHy8{;QAElu=5#p58m-yZp zT6gZ&8~qt36ndth)Q-M40w1>aaotw9d)4(Yx;X=1Q9RG-o<@0wB-Etf3Ob;92U4|H z^>BRdiA!ETgc+I6=KMkx91&s=vw8P4My~{bO*&naA(+WM8pNH&K2HDeXV2S-o9gkE zS*Q8wOtpl`&U?$+8yI2fGF(1+^#hRZR-WB2f4c`;3?_Pi5yX{h?pZHz@9{MVKdA@# zGTr|p=uaZOcxj!<$0(N1NVhfBm&A=8ZD4;&l=uxscN?${XhP`H-N1Id+Z8dY>2@=8 zR$=T!!MvfszvOb!6gD28GL$!&-OD4gw6=c2Gl;YBz$4)qW$IKL&rediyV_f{$g z_T~j~{QCuR2_BU&6N@!|3V`9}(R*oM;s4SqioRk9k)Th>+1VP7u=D1XdET z?+M41%)|6#&)=$wu_(l?yJj#6(mTLj}@*a5?9Q=afy-3;+9M& zeXiX8gWlES$26^vbjo|p1!>dKf7a#=iTq?r24R}(Wg$}UT?}1mQ>+%to-}~k`(aU# z?xuND%yo5|R9Ufiy`Sg}K`22H^svHh4yhvPYC*@Bh&!NnP%z~BrEfKodp&E>Lm5(6kdsH?&2GLsJevw2#U<1m-} z#BOZr#^Iq1w|F^o^T@slrW{R&4ZL;ogc?#s7}KDR2`ep}wViB*lkxJ`ALXKpO@J>I zxURMgume<%lNlIsiiUq_x}xs6W{>j`jZ)kiZ$uD(5ZzL>j50Qt_EFiwakVK{%Us&F zV?zByK%ADTqYFyurVoY~qFWRFZ;)v%cD}vo_QCE{b22ZkcBM^A$$X7kKJOu$`1 z`S8okIhzPKffu>l;-o$xq6x-a$!*GDyLGNuu};ajVFi5P6TM*Gt=`VgA`YgtxA(}W z0(0)Lw^d%%62kE(Xx0hx{5;1B@?gLI^_ zt>>>gpq@7E{WTVik`bo&oobd~a?U*pDsT1W0>zKD9|DJ1BB9rZyt>(kZgDZ;ugQFv z(5}+~9hz&!0}m8^Kk|}pQTcotL{Y{9j-YS4mluLqP6eGI`&kubub46I>+-sIELL(x9rc@zMoiFFwAdj3WmQ zG!Gc7GQbh@>O&dfoImo8#G3;Lhi@Rkvua%reH zsuuZ|`A%TmxpGTzExs~^*cj+Etc;9Kob<(0EON|Dqld5&mv02Kup?ou#mvnWNqDMc@ zJm9Nf3NRQ0p+-kyG+%dm>X6Orex-D`AJJDd$ho%0kf$E&YxBR*P8ce@svTLJkZDPu z-6NkEN3q0dA5Y{T4{UxaVl(f zf!izMEB`uM-o=5;{;Ab=>jZ?UHZkqhAJ8|KGcG8AmI8rWItrA+TNCUKINLQBXG+pR zHrXlC_lhOg5d7!A-QJ022$LkzCBEKA!UwzdIKAG`bL$vP8OYJe^4;+XdnBj4kiN1cEvoGD4RL|yKQXz=_9sQ$$z6#{b_p! zTQb5gJQNRD+P8H60Ipk~q2vSLY4Ej{LqRhznO8-gEDTQJ)*qVcN)ZbCIixm|qMksu=S zW(vYATAKwZmTB9nxuhDl^(S0CLg>wL9jW02ChTBxtABRer_Z5KIF;q3-P^mJ&mbD) zU4)^B71xEVQRgpHYxxb78l8P4RZQl;LU`J z=ge}ysY@&~_K*N{qBMFtDs704X`yUd@aDh`$A4qbKdaL=(gEQOv%7)E6{94aNanZJ z4Ei^aaGHLXDzZd^0u`qJ%9COY*)J+9W&#{CWiF$acDxTeRzCLXmpB+0L3o*#fP+RiTDExYS4_NvT2pNSMTZO=IoT`QRK^oxg-%3`%hgu6& zjKO0~bS<);P66wB@vtrdiq|5Dv{Vw=3ql$z_>7{RUqsk{67Ej zN*cpZ!iRS#9gI{JPX8PE%MzTj8n8sXi3^p&FFXrqHvoP2{2}(l7)V75c5P_(F>FCv z?RjG_5p{Os0T$WknN7kVK=6AKQoJ7Co(caWo{s+i*m~=zsNSe;m`3RokWxS?B}Imz zB?d)GP`Z@v8ahR!hZd0TE@_aGMjRTXk&w=z^Sk*y&%0jVwZ8KQYf$E#``o$rwXc0` zDWL?N2>|-MWkq^ULJfU)*n8ieBi^ueYHq|Gcuzrr0tdk1Y$}@rnY_Y0ct<17>B`4H zivtF{>8IX28J1V!rL~H7I|9H7sq2%w#sC$SZ`QMBYGuVF6b3{9G^TzV+>bi8W>9+K zf_|Zy$MTy|)1iaAnE6ds%?aJYBaj_S{c%thW(u+lIiqy0Nh0SlnM+jr(tV}%B|7qK z2)?Y<18g*ByFgb`2{67$#x7ntKh1EODEuU+Sg8nhkQ1C{9zi>9-m2%O^rS39AXtkr zDkXbM0m--e2HFPytbtqCcjp88)qXuUX=hqBQtr8E!dC?!gBOlj@L)$9-!6Li9hxi5 z7yjV%DuHFH8p>9OQ!14%9lPJZwd;-F1opv~8-Q%(B98gHi55R3rYulf>@7=pw<|3B zO46-t_XT&x>)ln~NJP|zjK?m=pQFF=ds-{3$v-GLKZA_F)#PcbBn8KOWMJG+SpAoR zEKghuUKU4zg>Fg0PY$dj8(`zKD~n&R;R0P*c-{E+)u#$yqH@>k617#xBw6%hJa?)K z1@muQ_Q<1=(_YxaeNO|b%~)yjv&W&kKrlQCdfulb84rg0CC;Jg@`3pK&!17K$csRo zRho`-?Z|D=p+V)37N-l%8}IR9=$ud4FPz;e=+`ujOK0qa86YE zp9XJ%(7oRrSiiAs$Cckh$7)GDv*5A@p0A{bDfpT(o4yu&7Jw^NY3)kY3*Oztd1E_E zMaoc#l&h1?{Gt2Z@}T9`bD5JI$yQbI# zkDXS`Ji5e*rFiu%d*Hfv93DniAlYeGUe6yXJKXety37OBI^zF4`7~R?kF!=2tyi+^ zi1LfptDO1dSO-sxxbK9lU*5xRxb_J8!s`QSZD?g*qrJE}N?#XD;tsTv zI5#t|zy86hY2CnKD`$o}WyAf7!piRrqJNpIAUUKRr$NuhtpAwXOZ6jc?^;+`y@V+F z+f#)YVF|A%yTYNQitmR$j*UMos5KnXl!%ARy7fX9^rnRKK*Cq;(2yHs7$rE^3n;BM z2)65IOk*NvZNo%C*Zoi?jl|Q7)*28MKg5c77VACnwZ~T8`g+wq z8rZV?l(5e$?FpXE`?Z=$CTnY#_c>6cvYM;0DLoTrw;?mxx8#VttjaNPY+9$l(j7hm zn#@aF{_MjTE3J)P-1R4C@SjCd;Z6FLh&!)f6L+N(^Lkd&SSH~7+bR4#a7AN4z$hL8 zxQ9e%cU=p4MhZEs1^9QA(pHfpo zF8BAc;c_I>5jnXRT#ug#YUM%Vwa5|BJBt^-QpKttAIuEYa3eu6lClv%4IH!t`R)=x z#wkinqPy=zqdQw~IwstxVMlt!$5(4J`5SpteBh>!VM-KU-wNR7{e&`8TMt;lSmHr7 z2|fd|cvJfq(vre`4%-f7$jt3v`*9k{(_b-->HA90Z^q;Xi61&}^(b_}m0I8`USoGg z^j39T$3;Y`T<4(7e=fIn-k2BYV}puhQFblNjVJQsq&rVN_rFgS;5`44a({f{{OS|M z9XLAumjSnXV=?>O=~wUv*i8}t8l;c`f#_#HF^NxIbF+i9xK)m_ zX7u?P!gq2+Z{S>d8dvzWFS9t757JmRyzZ=Ejtj+Qlqm-(?z3)k%G9vFzc=v&#jbD_ zHMz%WpuZW$RJ{17%j2i>5u`6}dul}$rgq9+_(zmL#k@KoRHCM4v-< zQdyBj^uzoHN%PO3S%!4$v5axv0$$-3L3-WVk=kh^*k*DFshCoYVLe>7p$GDrpsAmV zY+e#}t)`|}g=8Cs8+)-CpQoOnKV+!q3D7J8Cq|SReF`fxbTEs73FtS+NN`DHdi)-} zAgjOhUp|PB{^|3j2I+s*CbBw1%hqgg;w;UznRL4N>aq8k$sowMC9`0reSUqLKCJfU z#k3z0M@%uf&RIYcI2=572?jmD%f0dMJ9{QD---^~vZ7zo8T&doBd2hJu|TjHo6go^ zw4X8oRE0|t=3J@PTmX}93oY~1#^Ef@(K^p(_ene;j)9X+#t-Ie0>sdUEzM}Ws^Kym z!8OsF=YXyF9$xH8+&2Ki4(e>XT%4pbb(zJxDqMx)pmQVvY4sUri#P{W+?s_zt6!^m ztBmxwNYcg<)_8sCQp?BnNbaF=H!SPWjaP@>$oj#pVV(i1XSMlMc-JWV0glF||dC zs$oQB#RY1dwBWI4%<<&}pwQ)6uV_4L!2XSd=E$84LY-fp%|C94=3%WQco^a%HO-%K zeeyKI^2@fwYus{cn)w_Y(2Knfs7QKsrKig>n0=_W&(a2m;24$fwpT}ZljVb%bEudY zm#*Il4)Hziz>ZrU>3`(AyXC{bZ%%?tJoC6xm8gYxp%KbhAV6`J6-r<*wPx14F(Gg- zzt5l#d9ihz@Yx*17t1FX5smOa6Bt0NM;~=5AnL#WKC!D0n-+))iuXrSuZvQ;f*{6X zYznDRnpq&O`2gdpU@dMz3F?l+nTMneMwiwq^_t{q!mg7X+Mh-zrxajsQ@6M|P%$N9 zZW*S$d6vUx>RB^dhS5~QwENb5DN12t2zZ&1(qH+_liV?eOH7Pyv_!I5gnwA{wy1hA4Ou`F))ddVm zwwqR9&rMd&{=hhm4gVOb7k)m(S*gC&5jm$V(WRM3@B>9qQs4Z3_wo79kS6tlU~iK3 z^8)y1p|=nF^grzxZpKbbk~;Afn)?48{2I4>Fc7)gdb9xLRf`(R(vny4&uK524n2JFihn`=ox?#7hbgSao;$?0i!lVii~ z;xyjdjI7EtIQ}ZT@apB$((Igv3za!V(Y`vsO?&^>G8`TjjEG}qmqw|~S*Gx@{on?` zzgOp+?bMpKBnJ;y^XpFoQJW&&&~`Q0gpa=`2qQ5%V+-9|)_yQCSeY>n?GaMP&}2uW z2TM7_ee$mlYpKrogf8(ZMe)Qb#humu;J+p0A&0v2YN}0z0J|_~q!JHw0LDeStUof# z{2*YB zRKd?CKB-qfEzD{{Q9v6Qq*sVM|IkIYko{aO=A4-x8rbuku&pB2rL>H4KB06NezkDQ1}I_*QQt`~K-TE>IIUu@|oRApVAQ$XPc?2b<0yCH79=NRVfORXffmMeSP{zf%umLUrHb zljXjoF*gdDdRnt8MRq^SUWBghzRQ@|;~$QcKJ&xpMD>?0Ae1Eg7Ffi-8(=GEvP#cg zWxWNR$<95lbj^HMTfWTEdvyoYAB1{_d88$sGqBkq6Qf-Lg>iow17Nx}rEBpZp1FK5 zaR9hY6^eHykDjJu0`Ktt&=Oh;ujco=`7$o`|9~{jm|)6GugM~ z@%X!2Rulc=s|A3JqYE*#xkxt2*1%R&<(!D?OFO~x@7$vNP+Zh!11zbYl^cJ=Wts#7 zdh>1U?cGNw%n|c~6I{{uJ)6Z-+hu5rS~c_JUrRz@dP%V#lldXUI zZbZDEYpiOPpj}`RZ+?ipWiyzGx2SaVAX#$03P(LzA&71u3zZ6->qnzgDUflp{kidgCF7T6_C_WWAv3uvpiXTg`SeAXC1TE~`>3&nZ&| zC5$MMLcZ0+96sfQ9@zAt9L?4f(e3I>yCR2lYC3TKNZcceGKazQO*?1*l>~ zV?^ss?2bpG4LtaV59TqwVs);09dxNi=7dsi!6Bl}T3|~!IXxd4f{W3g1xQa}pYt0q zEvQ-o6>Xua=Q{NxEy6x|Kk_ z4%2ht1^Hc3>86vR)U@~XZ{E=Bc8_SE((Vn6v-|Umbkho}=i~~`VJ?Fiz^3l7)r`)a ziY3RVPJZ}tEPZwjW+@a;GI@8lRSLvhoFIweF2m!-!qqh;CE`Duurwu?x_S0 z4b`jXjJ!~t1;mL)DkPRo1u`E)pp}M#kGNt!`$O@E-0>y%+L}nB&O~!C4UJbjIbl+o#uab< zWs~$d6NpK=KksWho#?tg#ePaS_AUR5NxRAwJF~M-5F(DT3c>ygX39BjdX3oAO`l>2 zYYN+{`}E)fW%eBJHl$m>6RJX#7CcLo$6pke%XXoD=9tpQfUNlq%0 zXq;jwd*rbBX*BWOjfheORo znV*hv${VJSeRzvD{&hpHCAKe>>fW2?-e4~dYdo?XYBI; zSdqa)70>4*UHz3nHV=^4_&iUZWUfk%(X}07ZEkki_c3htopaTf#-(S0^t2rEk*T%r z?n4;t`iiZk7D??}WM(Y_I3S-22ZxRzJYCS7%vdG9rhUB4Ftv>f{#rV@X}0-8?-cZ& z6?OEQ54jh%&*2Wc5 z|4u`?v?~_;F*Sl`xFNSsL|Rbu%ju$9VSi-8bJ2j;>YomHHVxD!;d3bx1cp#ZhLn5n$_?HDY%r&FspFh(wD{4;w7*eJ-eBWX zQsJy2>ez}_y*sbWePD~5U8tis z#mqVuyle{}uuP1c5Y*ffeC=I!&Lx1Xn7$t3uTr`WwJ4Qz=^#X$?|G| z=urJ>;sp<|#if?t83e%<-;yT2e(3FM|7(KG7-_O^t)$5ch_e87Wg_>X9a{$i02@Nj z#JZ>kRCf-g+|9HPRWi370h5Vtm19Bj{nsLs{Ta$4hEu#u{R~qnKg8vHP(8lU!#+L( zz!ng|Y*+*xHtBXU6toji&fU}E%YgVsRffpQ4_R8okvP=K6?p8pPnZ6{lx&?>?F6d| zC-&ws$E9HXC3AYEa$;!Tk8kwmc1xAhBaQ1Mi>Jz;veqW;Aj;aE)0pogxv}BL-yLo2 zwC>-$=DMLCbHwT#XOGun&DN8@;+R6YSb38?B{a!#-=C?M4z>NY%WWr{8z5T~D;W}4CTeHgreBxU9aW$bsBaN*R#30XI034d*c^w^|( z_>N{liH2N;Dh(MQ#C)A!j!WZd`lAHuKGx%r_hz^QR0CT?+H&c|<{eyVcNz|JO$nu+ z1187-Q;h+gabnH?uRs{-Rq>APhk-z=`bb{0SN90A-a(~LnJ z6})?cD`cA(wVH<83ewY}n7}fBrFnN?e}*4*D=lEV1Q7nHp97r{AB*X70%}SJ;;lbw zv@&g?smlLNCB6h20Da+TqVZ5&#gXMQ-krVe5`P`MaA6Ayg&6Man!(_;Nw9?qbq0Ax zce>1h;0PI;a7NOLt8U4w$H7Hh9H@Ny=ZWO9qNXW}Ivn}S33GNOaM>34rui*8{ewVe z@~ryC!+L+FNs+rE`8Kl&ILAmDGa3|?0jM^eXlwvEWF#6 zYd@SZONrzYey|@{%pA>jYrM(th>)-Nl<>bXpjz;W%-{r*v`v!Ssuk2Bh-^r;SoTb(0GSe^(+-p=(7tSTf`YZ_KsX~_UeRo)W>QBkc}t0 zf-TKYLlHBtoMUg|owx_c=N~(Me0IFQjeMkQXht-; zTcH-+14@^?T)u7Dt_bc*Jm3co)iQg1_{$4uZrmW?9|}sZytsHhm6Y2no>vn&|9#0b z0saP$ZIAIu$_Xc!9%!V-=WCUcEwa@&4m*XjWvdw&+Iz}=aa%fQ&}q31{Q5Hd3A&il zJbP&ACB-4Zml?MTP@m}a<{FArjOdg`nCn@{hFjJ1Yg~R7z+K@IP-|&B>}mw4VU7Hf zpv0=SXBVPih%*|kJ5Z7WOE2rh1OxCP`K=ZFof(kLY81Ly2JXl^MfXmr_zT; z>0MCHx1Ss}_;yzTja~U^_yqG1OKcv<3fs(s2UYQS9TEW1)i-}-wP@SLu9xK2AN9S) zeW#IE*AWtRij^B)FpkZ?I^$~|x6?WzPqJ@r^s=gX$9=&VNT4eh>=Y0o-^Sd=K2J1E zvqO6Bg7F3Iv(0`Ywuov4DlqFTf&Mccr@f)TkA~tZ&2}~PJo@cT?qaBe5@avd43?wa z6Wh#Idm|Lu>GIi&e|plgpe2G0inUxe&W^N>J7D37`to@ae9j5wGG5A6EnJkn095PX zEb~_PO^SGlAN5sX^?+6^6wk7Mqe&Gj$z9C{)_PMoz&HZU1h}4+$!@l%7%l7EFSrDu zCFAS3NzN_}7)vln$L|bFc+{>WRoB(PQXRYBTBcEZUC_M0^Xu36OD=X3=`dRx6X5h^ zzGlt5Aq=Z3ef4zA_M6iVG4T81%nI~nwg-vR7X`z0-&`fKiG3RH3IN2}oRB>_X;mTf z`HjiDaV0mjYpiJE7(bfk2wz(QmB|!G+fl&AEeD%OhxbqWa3zokQPQinM14Z1$qrzc zRU8AAE5cg`jh%@iGeYyfX4mq@(ZW}ORO$>&eTPHyu*@vqv2h`;qvsC} z*tKXC4L8^rYqxZa*_rZ&_!`^?nk=m^@9vRr5}20auZz|c<~{*5z#a?)XV|OX7S}8%2qJtw^Qrh9gXd&d@V5`u=AT%nYL>0HFrYXh7 zQhOS9Vc;SB`%lfWSnbKUh4t9@tHHu5t%t$pofahp@9qdmQeYKB&^XeKAQvZ>_L-S{ zMy#f3UWx}^EqZRjMrGB_=+XR_$LCLJii_#zQzYOOHn|kNqV1;yW1TJGP`R~t6#B?k zcYm#qJgKFx*oDlpP0k#{b3!kET_<@Q-qW>j|u8t<+JL1mrm0uob-ncmnX^Ly?( z`a%U(UO~O|MoA9>@YXy`v+p;DRdQw$G41kkjr2{={yM%&^{GtI(-eNTVL;Z3ltB$K z>!Z22D1{#Ls=#7u*E?q1vhSCMLW2mH;GF|}rLNC^6AubiM9U+R_F#1Ky88$DSwRG^ zO!TvAmQ7WKX^!{lxSrd%!>{B)2i;)ac)p+ z8m{~8T`}{yjw!g`N!H_D32XEXxEBhQ5mQEQs-5~;+P0;-MtCV=e9@%&TFG`&PQ;#h zrE(zin}yS8uMt&lvY6jN2X-v0_rO|Ik~7EG&0S7$>-PGSk-2m#x@eC|T|t2y{kBWZ z){Xq79^VtbI{X5zvpaBHt59fIPr8w_Ky}W9G(B_PJqTmVa#pLg3M?vl@-s>?D|f3R z-##)poO1{t;<;5W!5EtLLb0*Q*kv?^Q7t7^&x#$MlFsF>ci2d%I4#X$&i2J(ub8lvy`X&U5AfPVu^YYtR94X-Re!juO!16Luo_K4BZKXe!{A1J;U~KOsju!-Ao#l@-}|v zGc6juCZ1pYeH$Hqkqv4U&Jd`CZ9Je(qmwl3;}|x5rp+`nj*k zTdpQNXr`{D7MNOP=wIT+&HCG>Wt3VejJ}k{sj#7oSJpi!%J*Lm=qD;DbGSHHNbn*S z?IL6;+TT(u{F#b?1_e>D&D*p)&S&s2(%LMBwT})}KB%W{Eycjw7ny;NDxQ0cK9pt& z9d74t+l1gfVSvY?+vv+urJ&D{!Xw!VeCO1Q?%ybi2;o+WFR~$^h{H+Agt5i^P8zFu z7tZ~TdEb`B>2}v0(l_BrnM8>$xoQfT`D?D_G_Ao_Mo^w7C^AKC)W=oVPsrbiBGuBX zfV2d)U6gNy73jNQB5u$*vJfoTD?AtL@-~~BtJ~+-q1ai#DshrR-3_CMeS1$3i52ZC zDtOoxqur{1x0Le3qrY0z!&i`!U(=ZcU&&))KG1wk{TTZ8{d4*R9J;%7=`YTFtAnDL z#a~P>PJqp9n6vs3@g52mVRHFN$^YUx2VYO>*+QvlH-g)-&9F?CUe+kmt|Q`DKZ>f_I8Z5>rtiPs4%4mJr^Tlk2m<5lpL zzbWUlQ}ugQ{&K;uKtt>f_1@Dr;rN5Iq;Jf)glq8YzRZ^aIRJ00WO_JDuRQU>CAYHf zaReB+J3ehnK9LR4;VQVj9%IHg3&+*n{w|zd>?+++62k`SZ&V$^om+zC#wpxdvV^?| zvB$b*8y{|94J*}bbIl}B`Q254-CZ!ZkUyMKGD0e1i3lT7@wB%ET`u&gWkSsQqdA7-n39wu!GH2A+T070_P!Nx5GOpO=)O9}c)E zPoW>%zfq`_rI*gu2U{;5Byd_VIp|Cr%S4*~<-re*{?hDRqbNLT|1SSllZF0#|DHzb zy$@YfK5>(!!W%r;Sq)o4_p~r-cQ}$8@wUJ9_#oo#oEcE^@v`(X(l`l@M0x|6a34&? zFz738>nyW6XLPEDhCao6C5<$v??+YKf7L0J-ALoqZ7lApw%F*?>4!r5d{-_}%ILb^ zTIB?;^%ouAEO_4~h=4{)Tj&gQ^VX$=Y(}0{J0{jP)wJO3cWfHXEpM-#U4H5JDIx!z zdiH2~Plw8+-H%jsWXr#v+Ju+x;_x-dA)U>zm2vyv6{YLWu!_tm+5ZE^(MaJaJCHZ2 zGZQWVIT1B*7>!~fOX9r{%Yyp+paH1?^s){X{9~P_m1b9Yc9)TYslqQu_1Y#`^SN{> z;E^BIR)abk(85VbY0B@t;lXxljH_g&P>h$I^grZ& z@J<5TNlDNqhybVhk-q8Bd6Yp~1hlVpS@F*?VN8B%)x!-ImBEzF$uAZSl&dC~7BIFZ z0SrjOYd=%I--rFUtovPVTL?#jeQt&^KuD(~yy zFsz164ZGLma@y-4_C3LCnd)IThtCTnP7PbCi7;j-^IOP!e_mC>J<%Ao{}dR^tJ{fs zk^l;lK!f~e$>0=j@$?D0;Vp0?cqd0{sGMuEI`OGW_Zoe*EhCQw(aS$u8TlU$hdKUR z-*-rRqrNV38#v2=BaV%@k{CwM#KDmsm{Ib_&{O!{pb#fhblJ6ZUXo0qoAs!q^oyek zDQB>iGt0tb7q|E%Y|V%@YA9Dr+gt*bmxP$#{~s=Zs>36AU^5w z0Zu+@1Y_j=6ZBLYW&4*n5&T4(=?#a_%aRxmymkL?M}ufb97tU$+#EG3eM#Mlke3I} zjKW5+zX&Hqbge7|f6yi7YMLB;-Nj=nLcV4!b|z$(2=hesP*z1vuX_vc@+GUPqZ|h~ zp!pIs&?)X%52hwU4M08;&X=2~XTK<0PXdFCbm8ktdovg4O{*!oyDJEIAm~~=(6t3u zZ6#HL$nH~&K}t9sDb1l?=azq!fH(HWk!%ftB0MfdEncs?2f+?Gxw{aY&-^k?l+ZKk zA@gH!)?kAk3x-B6*H1;`?$t8*FL5j!##TPKE|K11@R8_rn3*#`5 z8MVhDZLfFtY>5VQ$0;T#XgPV88|&cAR0%gl%9|E`r}tX}W{qSsRi180!{Ulc9!XTt z?P1>BM65vr4pl9R0J<#(^3UEA!)qAp(zXeqrR%57nz_AD}ITM&O8HTZKW9XeU&5tSY)XFx|(XA(VpxQF^4-gs6kLoX@K^iI7Yx@3J_G^HVX_p)E1z2cQcs1G?jfi2%R zm6MZ}G2LTLW#J1jwxw}s90mE^mkG3z)c<>du{f@*hB_kCmDY$Mw{K@=!h7-}yKEM( zOx|c~4Or#TGGy-}gc;+l(+4oS{tdKFgFLhpRHkDXp^Yhu)3 zgePOfuqS)y$^6az<3F86L_tY8=xBb_#2sw`Av9G_=iiWK@f5amzPn9GHT3PY8uZ6< z)5dUK0s9#fv+(1ODLK09ZmmNfD}Pe+Ek3Y##bt7x?ITP75+`9JxYP%Dr$OK}{%bKDcPl(&?cwW8?RMr04(#b(e<9YcIzjt7Q z)6zAwN@#oo^_J}~jFYMF^Xjl+|MiGxXP(&fVh|qfvN4ezX3otoiJTz$mi?a@Rr2DGmO59W(lwh<&cEBWRzoFY3EK zCcR3xYrN-9-vg$h0^vhS3;AopdHQhZ;P%HR-^nq8b*`L-L$X5oGz3(o8BBkUZ3P9V zya?>;`(S&avGZ2S6HYzuy0k8M^o9+|bw&joBxO|{bZ3Z(`jS~NbR4aUXhvz@`W|P< z&wTd!=&y^cSwxTgm1na9^Vv%tcBzG>r8Cnzn=D-WqW&7$*s#}Y2cR%iT-G>8V?C3i zQXWAX?{qV(!20xSC`~8)=_M7`FB0{~Dd0?`QKBeRi7s4F>g?_4Llz?xtM!li#w_q| zygn+Uq|z)AW0c%^xkg;gzkVdAuC{ZOb1!%pkAC4=*y^3yyC9NL!KEI3Cup1g&H4GP zc5`s$Pd|;(DCz8UYupo=H-r;1^wLHWh3wYYT7KA1w8*>PqwLi%yQPzhCF&`VI}fZ~ zl+_E9$XHsEwGSxvc4zATT86O~f@77(gco8fF-Nd-Z|$1Vf=ERW@xr;wkiPX->#rv| zJ|YZM{$uDDvdK>@%+t}q;`_dKk}RYGV+@x2vv%J>SgP@c@$7)1%%0dZ{t`I6(U>NJ zXw_hdLPe36-)izzgXGZjIdySZ>OO4KUH)$IPib3lE4hLG-gb4)vbi_ccr!ona;k! zvzpMAdW-nfSrBe)nMuU*O&y#CxOVt<_%34FuWN4}?hRnNsErQ2_=2;8>)ktkxa)CE zXY>HLXjrbFXeT^VdFM12bniT;qP_>OqT^lQ4b!ISvwgcY89d3jKl2G3wjqfP28Ulz z`kyrZR6T!w;W0{z*X2g8|9B_-`I z(P!#zZ=k6@N^0cWM-iE%QFYBzuH=_OyyKhyAz)du|0)DQk6*t~uAW7t%BC}lZp1n= zK-YUb(TwkT?`k$kZr2G|`2|I42L{U%YjsoN+ohQ@1!Ud@csy$b>3(>alTVR9=5o@b*+4(+%M7)9NaFM!(? z3eKY6i$3AmS)Ay4Pk(E+{?2DMo^-Z5S-R{bX$;(WNelXu>GpD4T#XaGs4+=F(?O5tp4ClO7r zp}~&3J;5w}_j^#jh8~yh?(4_mNHuND;|Fyui;c#`$)km|y4mXYntAR| z*grXC^%X|%-fwMF>7ME(DyKle+B_1TMYLweZFv6I+e}x^7yL1PG^ab%bR%sD48g~X zYDul4Sl9liPd+r>MH}N!M6{w< zmx>AIIXfL6CB*r1b`}$KLkwJd*c*HmAme`;;RXW>R`ke{PPc)*sZC3#cf${|G2CyS zUQftD8}j_#V#KrwV_ESj7$X5Ac7d&}=Xg^c(}Q$Iz7@xSGV+IObmk$)wPuZ?pnuTqC8zj=C!&2qu`?vs z--iWBxy07RhE9a>*~q?H-S6$fl$|%ND|@o#%8Y+nhtSVO=m8N&I@QMzp_~L4-GQ?Z zCO!yF7x%h@{^I&)^-LmWCenKICAQ<25$(11gQ5(MOTPAKr#6h`)I@=(W3Oq*ydJjv zk{izTPtl2%SN+coYwlhuP=rtRPm zi*R1;T9{GXuDnv;+qd6Bvn6NXHg1k@T9sqGOm?1qwR}604MaG!uwoCoI(zC1!>}Hm z1=*$g{-jqX+Ps@x6`0+d3px8&>ifT6OnERg=zsb~b+oG`eS00uVW1%HSAI?&k2Ksd zy7u}v8EFs3JzVCR>r&5)cTH`aTx@9nLie_?hvz~Eo1#di(g0&~LxPr+auENeCo*y2 zI`GmWj+N<;2id>{1!w$o;6X}D<2 z=QkHhb3N8bfm`w4VEoUIPi1Di@p5`@-_MK}P#vc8SQTmh3K7ugpih}J;>Yaop1uTU z%0HJ;`5@8Zi@1iC0L(_Ej#G^CryCHaXn}#H8JL^^^4-49KYzw z^rvUkV@}QQh6TONsnHGx4@Fad5zYKegq|o_+*n)-@ug zi||d6DcooK|M{!g{~p|sTBE7jhI|nS3H{!Nd+qD!Xl^Our#A9l4MO!#_tEf#WD-3% zv+`34>1=(^vC1GbbwgoC$|JI9z*JvDSx1Swi8;Oi);RP3?5h9s^UolW(|XEyPDG5w z_b{fuR$apH6mXU(It~9yPU>NmSB3k0lmq`y^Pf`=K1!erABeHgkT@B92{|Dxr&NKF z^@>e=bY%R~dZ-2ve8aPEPgPjS{%Kv*UO_sIZGJ4QT4+dLrnmVF7gn1?B%WkfY$m-kT^k7_IQe?%1-QP0oALIWtUy-?gmXG=We9;hqQkhZgx%&7zKmVXY z)?W?mvgf9KLfng7nB(~B(rvR+@Q7QQUhdyU;zi)Cku_1ukE3LHyS;zbo9*g^+?@Xx@JvRiSa%X@3ien&rL-&5r%l3k)o37Sl7)s)c8 zo@8MZA$(>qE)nI!eT&)tuYL5tJ&GBKw-(*P*E#e#HDZ8YK!_%S1;JvHhjAfItL$Jv zjubF_MzW+NT5|L6{E~i=fzd#LcuS~+Ie|XGyK-nqu$>xwmiN9N6Cq)mM~sz1?Som1 zRe7NyP=tN&R3-5LnPqK~*iN7z#P0S3$7?wA9wlh*$Xh20ULTylCK$VzT{2%)+?U)I zb{Dklo_yFm#+}?7+_d#-;QeOs&n#f#I|XPprd00i#kbT5OSFWq$*;o_6MmtYU{Lyo zKFP}Vb1u%)*vVluTDjsx4}~WDGp0dzZojITyK*tos(|*oWQuV>`0mUQ#0Bz~5#0vw zTcMO*}5$g|)nCSmI&e;Z_1^(Ld@>GLUD3zPPyGn`(W4UuX z5q0#~kDQo&Jbk{wzVVy+q#GFHn3ip#m^Js7%#-K4YUnxVy-ohzV}s=WfC*}(o@(QY z?OMLNw9R1|I9ySXkWs-m{0{Hk7xr>(8U&{Az9?frxqlP>Zvv|yTS9i0`#luBBXjpZ zyAPDV-)c!0qlYX1JD;M;3w*iA)GWPN_tXZucRI;!DTce3W*~DM#SysTs2f?*Ixjv< zD=gP`57`K8l<#ltwE0Bq^)p*m*J%&$Ci*ojAa_JP+xnQVbN`p^)mMeO-}2cXk~F+_ zi@eVHN&fdy>m`MSOxG(-flSl!&n^}_WeuE`_VH%F|FE1+qm88BDJ%?eHD8l-y0}=J zY)+WQU27fI4w~e2auHR!@Yl{luro1{rA$%pQ-!vLcXu9RIzk4zcfDy=^)k1YkIGvk zpg9C$0p(Kf{_FWnhwg^5`gITp`;Q?+4ymqlrT(B9g~)JpKc zpUI$EZ?WyM%ECYE-X$vb8ul6a4sLxq9nm(rj2w` zrBvKlX?jew%A+d5>&M@YILR3MorVeg>f`Nq;GRC1=Bb89y_R^H3vZ(m@SR_e@}ljz z1%Oa#xYZRfVp{{5v~N;GZYIE+gjroRHOX$^&!g-L_W)S>3uI~DvfR*L>iXz*p|Zbv$4yH# zJ%c0LI_eB+(`tXWXMedC3Jhk-qF?);)uv);v-3DLnK*gyLh_h;uto54F*wH8@Iv*K$@f(Wywivz+`*i6;v!Bg#29ccs-O1W$|&EOv26uk9olZdSH9 z6F}shn#P$vavu9IM5xHoS+3P(a+*PnT3DD>U(1s`ny@)zjhEVBMmS~xr z>B6NyX09hwP~m~!QYZBE?tkuX2xfiv{*pc-$Ei;Ih>lyhJoYW2sq~g-SZHh7*k z*+=2rqcxo^-9rWUf0r&=5iw-JEcY?%iQ|y`iFdGW&mlkT*fHe{z3c|J$+>%N^R-F;sUx?1IH3H*`2kH3+svS3`GRq~#QzORXPUCekb=!;zl3;M20 zYR7^I<@N4X_K0#_B<@&EzFS?9-+nY5g_2c?stfru2Mycoof#aRPs8LbcZ1j%UNl<< zu{QU_jszM%w6+ntj(25h{Z%MLqJK>ITXo;lZV2bf%CbK9u5vq zlqW(tyT4skPl=VOYQi7by)T#KTKk3dM&lT_k#18@!EG@K`|NW(Fsa`k(?EQLl%*iu zGO1W1a-GSx0ndEqV_8l3S(@k|X*>=>h#x1kK?7&(Z{Kb(aRls0m(P>*QYol5dz!8ptUesaTgrGl zb!uW2S=I5RoHGj%rG$r~Rr+t&GfLO2FcL+y;ND+?)DCPC9&uy2*H_MPt)rmcR$`L+ z9$gJoM{c6*EX?*gGAgF{E0sTQjZZHUB~L8W4o+9V_vrSSxDN6o&9#tWpA|<7`^&qK z2bY~QrjyhcQUl?(OaY~2j=ws{#fQTmGI1o6 zPVV?E*Pad87#gzt0#P_6$ZBcQU2&Rp!@NO4$LlEWY4dmlUCtexivKPBXznKbep>4Zmhm5$LKG3U@q7(4Lmm(7(6hmz;Lr7gK}q~rf>ATS~^BXH;_ zLA1i&e1Z2jEYWE=$UtglQlk7g8L4`4+-6B(2Q#u|2$tK0cQ<2iG3ugS5Oe&ci$NJT ze!gPNd_n+eel4O&IeE@B`B&%T&M$EU^s^kgP+BHZ7*!gi_y6^D6>L#5!6+ksNA3x|N_vtjVcU*3fP!H@2Ghpm7j|p? zrc_v0=@he!>*omRN{_BW;s`cBvP^`3*xTTB;wM8lMEEM7{64$$UKQ%($_z~FMTpx6 z|9-OUAO`Ku!-T}&=Pu9toZxfy2>MLLe_42+m8jP{i}${%=0D7A7*Nw*V($fupHxCz zc6Np4+i1E}`uIY{caEF3WCjU_?GL|%w-XHRFe9Om{#{DXPSp zpG#UJC{n0gAm^azh%>3-W+N48`f$Wbn3;1 zm8w$h^h)-BW%2#4Xh1axIyQPM@NMT@ zR~#(s!Eb2WLbzaWUd>AM7@~$~ihD|X?+ya*_+0@rmQ&ge@)a0hYx%{LWAD+&V}kQt zmmtmHiJ$eA6dhJos>i~X=tZstQRYPY7uGiyE{I=K{moO(2A`yp3cuSh+V~OjA^62G zR?YTVrYb|jhx0dg2Zz8CCjusrK=j~7wI$;(&a8I4nKJR4OZ}|VHyM0=kNE2KYhp*hy`oVSM z2yyVH5gl|Up0w>_F%3z<%$q5q8SG1KCp-g1At#(=^}VDQ-%^kJ2g8%#=RqtJE5Bxr z=;=y>q?eZNuHHTh^-eb-cFtUuxz=4MEJ;i1m zdTRyWC~(Q}^IF#@$4$}(`KPI&JUKs?Dz{%Be3rKU*_LlZXMpJYrgMq~n)|Nv@H+M} z8b8y1H>;-t;zn4;y^1K^8f`|bA98}9*^BHu(iI00XiwPKjF@gb0)Nepd-@K|I0i<9ZtU< z3Pwe%$(<4q@B}@)f6sJ^*zgM$N&Gnct!W>3O6Zy5>H}~*C`=evfG=C2D^>vWk)l#G z?p-chy=hrlN!!>1yT~tVJ5T?K3W*+7MKR;S(wg||aWSaVdm!t0HJpDEHYhCmB^o)y zIvhI#Pc7$QS?%}`^#(l1F(l&*En6dD8rH6YH#N##!Cn)tyfd`pG5`BphH|v_lRrKU8Z+Ob@TkliC-az^X-sDWMF+JmA z*omomwa-%LLiq`4BNcMo$-R1&upv@}H<6eX;e@zscQL_f#ZqjA5B_M`K9g1FRn)hm zWuM8LX$7F097hXxr}EpW&8Y*23Kb|{4J>PauFE&=n=gM`b9=fmANw&jFs+&9*&UA3 zp|;Uz+WPG8l!8wQo*G69AsKtV5I!&x>_Tix3LxY9LhPv2$0GDW8y`D&q4fYxp3vgo z)rVk>BmTavOG}lOxQ&o*=ktQzw7$9GDxlHO{C0!%EFWH6`TOg5w#ZnX+U{ug-+UYw zvax;@AL@8lAwH=s9*F@?Rnqq|AfOR4_(B^R%RLpp3&kFa^tl9)vMq+p)fe0nB)pq+ zfUYfosTuR}F6MW2vYSVdmX$WQm*MQ>OlyuQUX$H(d9oL76;%`UVMKVhqh?m;2wPw$ zFda-$Rk5q!!x-%TkoT%X2cu`DP28HhOb@Zq=)TD=h9@U|*87evV^Dhj@tT3`$|%zC zv@797+iQ~EG?B#^QuQV633BRSre>9bkVB=!*<;XZT5T5?exQ-{N6?=RG+3`E1_C@O13Qlyeo0My7 z-;o#Uo;KO0p8$xtDnL7d<2Pn|t}K#e_5PpMv{*xm=Uui@^@cSec`kQ;TET|!g3u3f zEfTMltJe!H^a2Go<+VoiD zHnO*buf$wi^#HgIgu;#;Km8!sBr1+kS8n7Ii0wZ}jUv7+>4k0d{odj6wGAw;z=FTf z(;vTYRFDH(G5Y@QcwGN_BtrMBL;GA-_NwQNV%`t`clXLPOWq~@FQ90&)Ts|ny`vb= z4!gP8<^%N#k*;`JcYWyW(iv9Bv{L>KC{xcB1Q{a%>Ws$S=zS5Zb(BK?(4uB;lQeiPj zZ2X+A$y2JG{6S>U*EfWD(d{`%oOgxl*#k(s$fN7T8Mv2)p2+1^TYDlPrg?8gWjhjY z!n)S0`#8)otS$ttP`rJ9QF_Cetd&8MVB5~vYU;RbjGHP*{9sdR%>b#PV`aitYe)6q z^GFStjD||U$(6oWNnB;~>G*Asq!lS70dkMZJ{UO- zuK#LzVxb~4$&Q&~Y}juT?YAa=`+rb($KO=_Oz8~em)~5szvJCkhd}kgPl$M8i2ht# zlKUrnaPrZtag$VqzrXG9gP``4 zpLbsc+2Q9i|41VCwWe7fNZ~o-*h&-%zDWC8yHxyq;OM6y+8*aIOTg41yP;TQLt(9_ z+#G{(Vk)^-xkyt1S#IgerVTGJbgJmHrvA7pC*4>jnC;@SOse)hczhL3kl!v*l&IaH zVXk<$EY+cG%qp0J;;H6PMO^MCtu~B-u$$D@eoG`W9;Z!3@`~QA;uG-B2?LWKX zlP$2~u9zDz-5HrjL^L%Xz855TrIi%N(*O}ADs8Q%N&N2|sZ z9I}vdJsE6tf*YPx0n-3KP{(7rZ~3-OmE(eWL5H)0ZG?kF3*qX26ve4tb-I4*)w;!- z8hRFgV}E>ib#S#cU-nJ{0R28JFv=#F|Ka#K=^QtItu&)6YZjJQu%siss$qo_6DqKl z2pDt>)WvVUQ94e*XCD?9B{&$Lwc&+$XP?(T%}*LKq)cKpWC5vhJL@A&u@y zt;K1NDBq0t9r6g3obsC(J=b>>(Zt$N_~v9B0uN+#$|YZ&NsxV8c73JyFmOGZ8?Z4C z#4o%uYLDbX88b>~e&X{^zIk+FF#AE2P4p=NMT!kOxR*;E8i#r@|NrD{Ho{154-LD3U9Nec1WKD8(>WlN0tMv)egJd9wDl+%)d!)c;bl%tnVvFFX}g_YR&&9&qs)}d55rHb zYQ}q&LAmah1}7PPeqqtD#s-b7v?E$2{DZw#JONJxXy}ImIiX#TCKt5fXO*#8hUGU3 zc&np$8e5kD;;U(xDA$S;iyoQr;=ID*gU&4kA>^7$(Ve2}ZaL<+A3+XaFDjj^$dMcx zF1DI~Pw=};%s=-@`Rv%PAF7j3x7D7y)vohw6l2_=J_$Su=}6dIX3}paz9yx~DOz~QMbsg!ff#aoUC*#%BCy>mpSLP*OEW5l{S zFNk^jqfGaaV}4=O(ETxuM&4wvpWPQi58q*(j*26R!iBTww zp||E_HjeRwhHfWDs2L67@?E#B4UhSd|LP>bpy1G~=u%++ZQ8`7+-B*`05TqBwto|c zrxZnB$gc#;=V!Ctp0U3CbGAaN?hWt#BmTyCgH$5ENV7BvOM9#-MN!?p@Imw zo+V3n^N9!UB|bTr^Nz4Z>V6Zx_J(`A?YwZugcUWd&MEZ#a8H7X*_UeWDS6}T5Got@axA6yLhYMR&>aj#q5U^Ip1e8(I0WAIm2YpCsys1r z#Z$hy{Ymk_VO_*TvoID@xEtc1T=!m#Hh4q7i5Qsd>q1gm?pT? zB(-;F^vGvyc#SM}hw{ZnH)lYCt(3UE9zvpQtWyyCNcb>rpp_PANAK*d@f8ViHtUme zArBRTdxpFWS?WPLI@O7n6x+n9P%nW5V7;vwBaB@4u$@Z`S^tw}+?ZVN~Q3MG%`GQq^H zrLZe8nZF&+x5yLO?>-2yyEg#qOGYfvt;gnvuIta3vaOK5&+xniz!fFe(w-Ew zoyy#RCDg3L%8RB&$$nNgNCRIXGe40fR8=w1zkQ+MTT1H|%iZ6hY{?7b_;o?7>x2Gl z`DT7n8olD&axtuSpF1wJbLobjhvqM|jMlI#WVp8~@3IMGkskC1i!y;$oR=0_v#@cz z8Sbi7*0lTXt4(7AxC}`yd`W@6YTF6Wd@)!3q1BYJo*YlQpE5*b-x7-1-ecJ*M4qC! z7SKNF$_aY5|BYTQJ6gqE$`VVAmT<`Oa2tpyO))oEx@hCsh=L7?DH(_3RcD#gaK)3_ zu*9)U$@y(WL!)@OYEBzDz9{4$ET+==?8lt3H4}z<-hOGC7j!3Mskv3EI8wa*$YjCQ z=8>?9$^BcVc$MU-6pm&j`#GaA?4D{JOK_rWB!#T;=e0oJJaXF=v9}E>mH3yC!5Gu^ z#99X9-%Q4;18H+C5L}u3%wEU>=k@D@;Z?#SsMs4VEEn9Y?z4jh{>cLdik-dU%xCk= zz}W~}1P&l>6KS}%l;X{Kr7udNaGtosh?~B@>EZ&HbEml+Ub^jkpO23kwM5& zYxpmB##4>|eX-6Akdq~^&O^};50>i|C)AhrsSf&WdgALFOYobZ(n)}tD)?^U_}k*X zlMnuZngBelcOZ>Wg-kI{mYjHX`PlZHKW9QM7yB_C8+x_2bc{%_VHM6EQU}+dlaoy7 zqhG;2uu5b@Qj=}%ho~Wwx)3@q!i5puoUZKDIwSj+Xl;vAyB0mRv89-^yn1&xtkqWX z&2N~^yk2z(ng$d_!E3iOOgy=!$+ za>dWNdytG>?hLAZb`|b&v7)vef`W!V2TdqV00}PiAFxj7IKe!ISB&HjK`DnMbL~-k zt3TGyhS{#~l)W%;mFP1MAIet43jc{k1|ioWvUW;*bclU7ALfiEmLPo!X$UR76Gk zO!LVz=JvMzN?Ee&#E){DKM3?+&noEH`pM1V9P@Yh(#{mMx!0_=iUu41Qu3$9y14t; zA=$-|x{bStehkhWKS#Em%R|~JVyx}C!pGu-1k>-{bQ*)!#x+PLX1gx6c7jhG7fMlE z(-{wA9c36$g#(RnpD(Ao@Bvnbd>+y0ho@aSS@y`Gmv>=BfgA!G31!X)59V@1=p6g7 zYUKNV2(>y_xm>U~>z_nPf4Z4!jbBV^h$?q&k1H}RoLD}!Kz~F^Jx=Sj-%ip;-fwNi zVARTB)`Z)A>c0tH03bIT785)W;Al6)V~_YS9p6wg(lSaZb{qHyPeAmT1p=Hn#Z**&wA07-2=P|`?8Xledh4zEY%Q; zU%3MWd(RTX`$&Z$^Y>Wsq9)LRuuV&)?ZQV2%ETs~CYvXBA~nf03*YsX4r5_Ulf;NY zGyr+%4^6(~`Gsy1B^m`Y7f=0Tw;`%zMGVUCo#}7m=o$PC?V2tpQ!hnqPtw;7caPrj z{Qa5Z+dtIPHd>x5jpBPA#x((4c!;_T%sOX_*z_lcHrI8gl=7?IJ@{J8>Hpob)ERHK8Vwdls8+S0ABB&4vo)0^oc zR!f*|^dQM>ZJ<0m8t32KUW z(+4x8wLnF_02`t09=*&4;D(#s* z7V&`jisG(nUr1mM=(He3{&ufNB&9Gc5!tYXvz{iiF$|sLEb*+Pm`|q>*^9Glm+`)w z_DJi?`yz))Uxu5OcwcC*+~a!o2_5n(04w-Uf`4DvY}&XZd%Sq<{H+zv$E^QO6eFjr(OD|=4L|0LTv(xrDngl*&>?>lokA<7SsuyZZc4V=?&BFL zRZLZ5b^^Xr<{voSv07~!%U@*QeIf_=Mtes)T?wH|#+AV4ck#w2ZX^NFh)0F#^A2~sR_BPRQ0w8fU2>Qq0AXoMCHDp~k9m-?s z=(F!wGY35i7`kO4_^g~to4a;x-;Zyc{MVx7{6dNF;;&9tM-4K>7dMz={t^k)F8d{| zTc+@{GlSv_N}35>wlMWxJ@N)tv*(#wxAQeifkSwQMta11>uam~)&P_{-;;1mQIVP6 zzLdXke5xD%n|l2ClW7<`XINJD)m{5IMOb;)w$$Xm0`(f>E_ET zd{xtLI_+K^noB-hROh56UczgJ3Sk^ev~E>XxD{pyX6 zM&}!r2ttH}KuQsj>chhoA7N6{bH~bumsP zptfg$nL&g6eFLJ`U(osF+4*zs&u$3W6xj>4xvrnHXMZ%*E4#K2e&%KVqxN@-26zuX zrjmLe*{BgM$JN?IE})9ZfJcfR2Coy|Is z=-sCn&SOS@SI(0(PkAb!Y->9~COuD2Ku-`+-|NXsc&N*Y(%IGQR*9m_CF)xvFYM-P z!7k4Mvy@*gTyrFrVpA`QK70 z&#j|o)ee!7DEcWQ4}qWmMu8f&)*HXbPv=o^eo?zyPtF3t&u6&#_BE(zblJk?1tZ8C zYTvR4Sqd;_Uo9hZV1*DUd9Ql*eG;+J1DH@wd-H9{NZCt|tElY=jxnL0$bQ})8VAI9 z@Ib8SqIf{1>4jXJRYG$eTxOFhXs{?#Pi-z)>I+27b+_bXy)9@qKm_GK`%Lv@ili4N z$cdyI;&NacjUg$R&uRB@X~4OU9geyg{hKEoS7Ug9f=(B^L7N~H-(!m%>rvw`X#l1^ zd$f@*A|A}mpgS>mQtATDs`9H85|9!Nx>T_BV=(e1oC%{2{+Ki$NJww*)@P*{U(e~% zVD1&NRJafO0%j4jBe(thqPer@k=XN%@gGk_)eSHJoKDsg|H$a3Yc?-PXZ%caccKD+ zre7bC6*!>h0~;>H6B1Pgx=MI@LN$V#n1k@62H;0D*o%qG)WFDSDLaCzQk2WD@k4J5Yw!t@eniHXMM|b7zTDf2_&`!?my^3lHdR z#||+{h-l}b-UlqTnUCiXBnBgg* z?K4Qg8W(Js?s(_K%QP;#?jt&m&5!g!~*JUVAPSL|Ck#<`bu9lQV zA@*=^F>w*00l5o-1q9TKaA+Lz(4ga_j7~KGUCy_#((jfdPyUcK)Di~$tZ!v6(&%&G z$xZHo5&@68IKhG^UO~|!4oF?D_RK!RJ@(y%$5>0F&kn&N%~f^ldkS_390rr_XY7&e zP(AH|SszhE?DFo5+~k$j@1!f~vVqs-968nM!GMCeS^#gQRyG##=q|QB+OEOF>EeR> zx1!+E#P^3+A*X`3u_5C*+8vWhU6F!9&W%Z9K~d<8(NZw2_)z|trcC|`u`8iTR1i@u zF%FFEN$%kr#19P2RF}u19`4X-VYY8L-BIa>>4l;b%hHOO)r=KI(^g^w)~^YCBWgAt T9Wu5N;J=4DM)zy9?4$n!WR%<> literal 0 HcmV?d00001 diff --git a/include/logo.svg b/include/logo.svg new file mode 100644 index 0000000..ff4b8ad --- /dev/null +++ b/include/logo.svg @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/include/meson.mk b/include/meson.mk new file mode 100644 index 0000000..7d67dcf --- /dev/null +++ b/include/meson.mk @@ -0,0 +1,146 @@ +# To build your package using meson: +# +# include $(INCLUDE_DIR)/meson.mk +# MESON_ARGS+=-Dfoo -Dbar=baz +# +# To pass additional environment variables to meson: +# +# MESON_VARS+=FOO=bar +# +# Default configure/compile/install targets are provided, but can be +# overwritten if required: +# +# define Build/Configure +# $(call Build/Configure/Meson) +# ... +# endef +# +# same for Build/Compile and Build/Install +# +# Host packages are built in the same fashion, just use these vars instead: +# +# MESON_HOST_ARGS+=-Dfoo -Dbar=baz +# MESON_HOST_VARS+=FOO=bar + +MESON_DIR:=$(STAGING_DIR_HOST)/lib/meson + +MESON_HOST_BUILD_DIR:=$(HOST_BUILD_DIR)/openwrt-build +MESON_HOST_VARS:= +MESON_HOST_ARGS:= + +MESON_BUILD_DIR:=$(PKG_BUILD_DIR)/openwrt-build +MESON_VARS:= +MESON_ARGS:= + +ifneq ($(findstring i386,$(CONFIG_ARCH)),) +MESON_ARCH:="x86" +else ifneq ($(findstring powerpc64,$(CONFIG_ARCH)),) +MESON_ARCH:="ppc64" +else ifneq ($(findstring powerpc,$(CONFIG_ARCH)),) +MESON_ARCH:="ppc" +else ifneq ($(findstring mips64el,$(CONFIG_ARCH)),) +MESON_ARCH:="mips64" +else ifneq ($(findstring mipsel,$(CONFIG_ARCH)),) +MESON_ARCH:="mips" +else ifneq ($(findstring armeb,$(CONFIG_ARCH)),) +MESON_ARCH:="arm" +else +MESON_ARCH:=$(CONFIG_ARCH) +endif + +# this is undefined for just x64_64 +ifeq ($(origin CPU_TYPE),undefined) +MESON_CPU:="generic" +else +MESON_CPU:="$(CPU_TYPE)$(if $(CPU_SUBTYPE),+$(CPU_SUBTYPE))" +endif + +define Meson + $(2) $(STAGING_DIR_HOST)/bin/$(PYTHON) $(STAGING_DIR_HOST)/bin/meson.py $(1) +endef + +define Meson/CreateNativeFile + $(STAGING_DIR_HOST)/bin/sed \ + -e "s|@CC@|$(foreach BIN,$(HOSTCC),'$(BIN)',)|" \ + -e "s|@CXX@|$(foreach BIN,$(HOSTCXX),'$(BIN)',)|" \ + -e "s|@PKGCONFIG@|$(PKG_CONFIG)|" \ + -e "s|@CMAKE@|$(STAGING_DIR_HOST)/bin/cmake|" \ + -e "s|@PYTHON@|$(STAGING_DIR_HOST)/bin/python3|" \ + -e "s|@CFLAGS@|$(foreach FLAG,$(HOST_CFLAGS) $(HOST_CPPFLAGS),'$(FLAG)',)|" \ + -e "s|@CXXFLAGS@|$(foreach FLAG,$(HOST_CXXFLAGS) $(HOST_CPPFLAGS),'$(FLAG)',)|" \ + -e "s|@LDFLAGS@|$(foreach FLAG,$(HOST_LDFLAGS),'$(FLAG)',)|" \ + -e "s|@PREFIX@|$(HOST_BUILD_PREFIX)|" \ + < $(MESON_DIR)/openwrt-native.txt.in \ + > $(1) +endef + +define Meson/CreateCrossFile + $(STAGING_DIR_HOST)/bin/sed \ + -e "s|@CC@|$(foreach BIN,$(TARGET_CC),'$(BIN)',)|" \ + -e "s|@CXX@|$(foreach BIN,$(TARGET_CXX),'$(BIN)',)|" \ + -e "s|@AR@|$(TARGET_AR)|" \ + -e "s|@STRIP@|$(TARGET_CROSS)strip|" \ + -e "s|@NM@|$(TARGET_NM)|" \ + -e "s|@PKGCONFIG@|$(PKG_CONFIG)|" \ + -e "s|@CMAKE@|$(STAGING_DIR_HOST)/bin/cmake|" \ + -e "s|@PYTHON@|$(STAGING_DIR_HOST)/bin/python3|" \ + -e "s|@CFLAGS@|$(foreach FLAG,$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS),'$(FLAG)',)|" \ + -e "s|@CXXFLAGS@|$(foreach FLAG,$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS),'$(FLAG)',)|" \ + -e "s|@LDFLAGS@|$(foreach FLAG,$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS),'$(FLAG)',)|" \ + -e "s|@ARCH@|$(MESON_ARCH)|" \ + -e "s|@CPU@|$(MESON_CPU)|" \ + -e "s|@ENDIAN@|$(if $(CONFIG_BIG_ENDIAN),big,little)|" \ + < $(MESON_DIR)/openwrt-cross.txt.in \ + > $(1) +endef + +define Host/Configure/Meson + $(call Meson/CreateNativeFile,$(HOST_BUILD_DIR)/openwrt-native.txt) + $(call Meson, \ + --native-file $(HOST_BUILD_DIR)/openwrt-native.txt \ + $(MESON_HOST_ARGS) \ + $(MESON_HOST_BUILD_DIR) \ + $(MESON_HOST_BUILD_DIR)/.., \ + $(MESON_HOST_VARS)) +endef + +define Host/Compile/Meson + +$(NINJA) -C $(MESON_HOST_BUILD_DIR) $(1) +endef + +define Host/Install/Meson + +$(NINJA) -C $(MESON_HOST_BUILD_DIR) install +endef + +define Host/Uninstall/Meson + +$(NINJA) -C $(MESON_HOST_BUILD_DIR) uninstall || true +endef + +define Build/Configure/Meson + $(call Meson/CreateNativeFile,$(PKG_BUILD_DIR)/openwrt-native.txt) + $(call Meson/CreateCrossFile,$(PKG_BUILD_DIR)/openwrt-cross.txt) + $(call Meson, \ + --buildtype plain \ + --native-file $(PKG_BUILD_DIR)/openwrt-native.txt \ + --cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \ + $(MESON_ARGS) \ + $(MESON_BUILD_DIR) \ + $(MESON_BUILD_DIR)/.., \ + $(MESON_VARS)) +endef + +define Build/Compile/Meson + +$(NINJA) -C $(MESON_BUILD_DIR) $(1) +endef + +define Build/Install/Meson + +DESTDIR="$(PKG_INSTALL_DIR)" $(NINJA) -C $(MESON_BUILD_DIR) install +endef + +Host/Configure=$(call Host/Configure/Meson) +Host/Compile=$(call Host/Compile/Meson) +Host/Install=$(call Host/Install/Meson) +Host/Uninstall=$(call Host/Uninstall/Meson) +Build/Configure=$(call Build/Configure/Meson) +Build/Compile=$(call Build/Compile/Meson) +Build/Install=$(call Build/Install/Meson) diff --git a/include/netfilter.mk b/include/netfilter.mk new file mode 100644 index 0000000..8b9ec7c --- /dev/null +++ b/include/netfilter.mk @@ -0,0 +1,387 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +ifneq ($(__inc_netfilter),1) +__inc_netfilter:=1 + +ifeq ($(NF_KMOD),1) +P_V4:=ipv4/netfilter/ +P_V6:=ipv6/netfilter/ +P_XT:=netfilter/ +P_EBT:=bridge/netfilter/ +endif + +# 1: variable +# 2: kconfig symbols +# 3: file list +# 4: version dependency +define nf_add + $(if $(4),ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),$(firstword $(4)),$(lastword $(4)))),1)) + $(1)-$$($(2)) += $(3) + $(if $(4),endif) + KCONFIG_$(1) = $(filter-out $(2),$(KCONFIG_$(1))) $(2) +endef + + +# core + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_REJECT,CONFIG_NF_REJECT_IPV4, $(P_V4)nf_reject_ipv4),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT,CONFIG_IP_NF_IPTABLES, $(P_V4)ip_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT,CONFIG_NETFILTER_XTABLES, $(P_XT)x_tables),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XTABLES, $(P_XT)xt_tcpudp),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_FILTER, $(P_V4)iptable_filter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_MANGLE, $(P_V4)iptable_mangle),)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp xt_comment xt_set xt_SET))) + +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_LIMIT, $(P_XT)xt_limit)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MAC, $(P_XT)xt_mac)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MULTIPORT, $(P_XT)xt_multiport)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_COMMENT, $(P_XT)xt_comment)) + +#cluster +$(eval $(call nf_add,IPT_CLUSTER,CONFIG_NETFILTER_XT_MATCH_CLUSTER, $(P_XT)xt_cluster)) + +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)xt_LOG)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_TCPMSS, $(P_XT)xt_TCPMSS)) +$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_REJECT, $(P_V4)ipt_REJECT)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_TIME, $(P_XT)xt_time)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MARK, $(P_XT)xt_mark)) + +# kernel has xt_MARK.ko merged into xt_mark.ko, userspace is still separate +# userland: xt_MARK.so +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MARK, $(P_XT)xt_MARK))) + + +# conntrack + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_CONNTRACK, $(P_XT)nf_conntrack),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_DEFRAG_IPV4, $(P_V4)nf_defrag_ipv4),)) + +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_STATE, $(P_XT)xt_state)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_TARGET_CT, $(P_XT)xt_CT)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_CONNTRACK, $(P_XT)xt_conntrack)) + + +# conntrack-extra + +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_CONNBYTES, $(P_XT)xt_connbytes)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_CONNLIMIT, $(P_XT)xt_connlimit)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_CONNCOUNT, $(P_XT)nf_conncount)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_CONNMARK, $(P_XT)xt_connmark)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_HELPER, $(P_XT)xt_helper)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_RECENT, $(P_XT)xt_recent)) + +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_CONNMARK, $(P_XT)xt_CONNMARK))) + +#conntrack-label + +$(eval $(call nf_add,IPT_CONNTRACK_LABEL,CONFIG_NETFILTER_XT_MATCH_CONNLABEL, $(P_XT)xt_connlabel)) + +# extra + +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE, $(if $(NF_KMOD),$(P_XT)xt_addrtype,$(P_XT)ipt_addrtype))) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_OWNER, $(P_XT)xt_owner)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PKTTYPE, $(P_XT)xt_pkttype)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_QUOTA, $(P_XT)xt_quota)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_CGROUP, $(P_XT)xt_cgroup)) + +#$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_TARGET_ROUTE, $(P_V4)ipt_ROUTE)) + +# physdev + +$(eval $(call nf_add,IPT_PHYSDEV,CONFIG_NETFILTER_XT_MATCH_PHYSDEV, $(P_XT)xt_physdev)) + +# filter + +$(eval $(call nf_add,IPT_FILTER,CONFIG_NETFILTER_XT_MATCH_STRING, $(P_XT)xt_string)) +$(eval $(call nf_add,IPT_FILTER,CONFIG_NETFILTER_XT_MATCH_BPF, $(P_XT)xt_bpf)) + + +# ipopt + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_DSCP, $(P_XT)xt_dscp)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_DSCP, $(P_XT)xt_DSCP)) +$(eval $(call nf_add,IPT_HASHLIMIT,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT, $(P_XT)xt_hashlimit)) +$(eval $(call nf_add,IPT_RPFILTER,CONFIG_IP_NF_MATCH_RPFILTER, $(P_V4)ipt_rpfilter)) +$(eval $(call nf_add,IPT_RPFILTER,CONFIG_IP6_NF_MATCH_RPFILTER, $(P_V6)ip6t_rpfilter)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_LENGTH, $(P_XT)xt_length)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_STATISTIC, $(P_XT)xt_statistic)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_TCPMSS, $(P_XT)xt_tcpmss)) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_CLASSIFY, $(P_XT)xt_CLASSIFY)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_ECN, $(P_V4)ipt_ECN)) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_ECN, $(P_XT)xt_ecn)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_DSCP, xt_tos))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_DSCP, xt_TOS))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_HL, ipt_ttl))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_HL, ipt_TTL))) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_HL, $(P_XT)xt_hl)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_HL, $(P_XT)xt_HL)) + +# iprange +$(eval $(call nf_add,IPT_IPRANGE,CONFIG_NETFILTER_XT_MATCH_IPRANGE, $(P_XT)xt_iprange)) + +#clusterip +$(eval $(call nf_add,IPT_CLUSTERIP,CONFIG_IP_NF_TARGET_CLUSTERIP, $(P_V4)ipt_CLUSTERIP)) + +# ipsec +$(eval $(call nf_add,IPT_IPSEC,CONFIG_IP_NF_MATCH_AH, $(P_V4)ipt_ah)) +$(eval $(call nf_add,IPT_IPSEC,CONFIG_NETFILTER_XT_MATCH_ESP, $(P_XT)xt_esp)) +$(eval $(call nf_add,IPT_IPSEC,CONFIG_NETFILTER_XT_MATCH_POLICY, $(P_XT)xt_policy)) + +# flow offload support +$(eval $(call nf_add,IPT_FLOW,CONFIG_NETFILTER_XT_TARGET_FLOWOFFLOAD, $(P_XT)xt_FLOWOFFLOAD)) + +# IPv6 + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_REJECT6,CONFIG_NF_REJECT_IPV6, $(P_V6)nf_reject_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT6,CONFIG_IP6_NF_IPTABLES, $(P_V6)ip6_tables),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_DEFRAG_IPV6, $(P_V6)nf_defrag_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_FILTER, $(P_V6)ip6table_filter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MANGLE, $(P_V6)ip6table_mangle),)) + +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_IPTABLES, ip6t_icmp6))) + + +$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_REJECT, $(P_V6)ip6t_REJECT)) + +# ipv6 extra +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_IPV6HEADER, $(P_V6)ip6t_ipv6header)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_AH, $(P_V6)ip6t_ah)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_MH, $(P_V6)ip6t_mh)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_EUI64, $(P_V6)ip6t_eui64)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_OPTS, $(P_V6)ip6t_hbh)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_FRAG, $(P_V6)ip6t_frag)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_RT, $(P_V6)ip6t_rt)) + +# log + +$(eval $(call nf_add,NF_LOG,CONFIG_NF_LOG_COMMON, $(P_XT)nf_log_common)) +$(eval $(call nf_add,NF_LOG,CONFIG_NF_LOG_IPV4, $(P_V4)nf_log_ipv4)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_LOG6,CONFIG_NF_LOG_IPV6, $(P_V6)nf_log_ipv6),)) + +# nat + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT, $(P_XT)nf_nat),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NETFILTER_XT_NAT, $(P_XT)xt_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_IP_NF_NAT, $(P_V4)iptable_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_NAT, $(P_V6)ip6table_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, $(P_V6)ip6t_NPT),)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT,CONFIG_NF_NAT, ipt_SNAT ipt_DNAT))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, ip6t_DNPT ip6t_SNPT))) + +$(eval $(call nf_add,IPT_NAT,CONFIG_NETFILTER_XT_TARGET_MASQUERADE, $(P_XT)xt_MASQUERADE)) +$(eval $(call nf_add,IPT_NAT,CONFIG_NETFILTER_XT_TARGET_REDIRECT, $(P_XT)xt_REDIRECT)) + + +# nat-extra + +$(eval $(call nf_add,IPT_NAT_EXTRA,CONFIG_IP_NF_TARGET_NETMAP, $(P_XT)xt_NETMAP)) + + +# nathelper + +$(eval $(call nf_add,NF_NATHELPER,CONFIG_NF_CONNTRACK_FTP, $(P_XT)nf_conntrack_ftp)) +$(eval $(call nf_add,NF_NATHELPER,CONFIG_NF_NAT_FTP, $(P_XT)nf_nat_ftp)) + + +# nathelper-extra + +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_BROADCAST, $(P_XT)nf_conntrack_broadcast)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_AMANDA, $(P_XT)nf_conntrack_amanda)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_AMANDA, $(P_XT)nf_nat_amanda)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_H323, $(P_XT)nf_conntrack_h323)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_H323, $(P_V4)nf_nat_h323)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_PPTP, $(P_XT)nf_conntrack_pptp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_PPTP, $(P_V4)nf_nat_pptp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SIP, $(P_XT)nf_conntrack_sip)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_SIP, $(P_XT)nf_nat_sip)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SNMP, $(P_XT)nf_conntrack_snmp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_SNMP_BASIC, $(P_V4)nf_nat_snmp_basic)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_TFTP, $(P_XT)nf_conntrack_tftp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_TFTP, $(P_XT)nf_nat_tftp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_IRC, $(P_XT)nf_conntrack_irc)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_IRC, $(P_XT)nf_nat_irc)) + + +# nflog + +$(eval $(call nf_add,IPT_NFLOG,CONFIG_NETFILTER_XT_TARGET_NFLOG, $(P_XT)xt_NFLOG)) + + +# nfqueue + +$(eval $(call nf_add,IPT_NFQUEUE,CONFIG_NETFILTER_XT_TARGET_NFQUEUE, $(P_XT)xt_NFQUEUE)) + + +# debugging + +$(eval $(call nf_add,IPT_DEBUG,CONFIG_NETFILTER_XT_TARGET_TRACE, $(P_XT)xt_TRACE)) + +# socket +$(eval $(call nf_add,NF_SOCKET,CONFIG_NF_SOCKET_IPV4, $(P_V4)nf_socket_ipv4)) +$(eval $(call nf_add,NF_SOCKET,CONFIG_NF_SOCKET_IPV6, $(P_V6)nf_socket_ipv6)) +$(eval $(call nf_add,IPT_SOCKET,CONFIG_NETFILTER_XT_MATCH_SOCKET, $(P_XT)xt_socket)) + +# tproxy +$(eval $(call nf_add,NF_TPROXY,CONFIG_NF_TPROXY_IPV4, $(P_V4)nf_tproxy_ipv4)) +$(eval $(call nf_add,NF_TPROXY,CONFIG_NF_TPROXY_IPV6, $(P_V6)nf_tproxy_ipv6)) +$(eval $(call nf_add,IPT_TPROXY,CONFIG_NETFILTER_XT_TARGET_TPROXY, $(P_XT)xt_TPROXY)) + +# led +$(eval $(call nf_add,IPT_LED,CONFIG_NETFILTER_XT_TARGET_LED, $(P_XT)xt_LED)) + +# tee + +$(eval $(call nf_add,IPT_TEE,CONFIG_NETFILTER_XT_TARGET_TEE, $(P_XT)xt_TEE)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_TEE,CONFIG_NF_DUP_IPV4, $(P_V4)nf_dup_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_TEE,CONFIG_NF_DUP_IPV6, $(P_V6)nf_dup_ipv6),)) + +# u32 + +$(eval $(call nf_add,IPT_U32,CONFIG_NETFILTER_XT_MATCH_U32, $(P_XT)xt_u32)) + +# checksum + +$(eval $(call nf_add,IPT_CHECKSUM,CONFIG_NETFILTER_XT_TARGET_CHECKSUM, $(P_XT)xt_CHECKSUM)) + + +# netlink + +$(eval $(call nf_add,NFNETLINK,CONFIG_NETFILTER_NETLINK, $(P_XT)nfnetlink)) + +# nflog + +$(eval $(call nf_add,NFNETLINK_LOG,CONFIG_NETFILTER_NETLINK_LOG, $(P_XT)nfnetlink_log)) + +# nfqueue + +$(eval $(call nf_add,NFNETLINK_QUEUE,CONFIG_NETFILTER_NETLINK_QUEUE, $(P_XT)nfnetlink_queue)) + +# +# ebtables +# + +$(eval $(if $(NF_KMOD),$(call nf_add,EBTABLES,CONFIG_BRIDGE_NF_EBTABLES, $(P_EBT)ebtables),)) + +# ebtables: tables +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_BROUTE, $(P_EBT)ebtable_broute)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_FILTER, $(P_EBT)ebtable_filter)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_NAT, $(P_EBT)ebtable_nat)) + +# ebtables: matches +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_802_3, $(P_EBT)ebt_802_3)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_AMONG, $(P_EBT)ebt_among)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARP, $(P_EBT)ebt_arp)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_IP, $(P_EBT)ebt_ip)) +$(eval $(call nf_add,EBTABLES_IP6,CONFIG_BRIDGE_EBT_IP6, $(P_EBT)ebt_ip6)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_LIMIT, $(P_EBT)ebt_limit)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK, $(P_EBT)ebt_mark_m)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_PKTTYPE, $(P_EBT)ebt_pkttype)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_STP, $(P_EBT)ebt_stp)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_VLAN, $(P_EBT)ebt_vlan)) + +# targets +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARPREPLY, $(P_EBT)ebt_arpreply)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK_T, $(P_EBT)ebt_mark)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_DNAT, $(P_EBT)ebt_dnat)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_REDIRECT, $(P_EBT)ebt_redirect)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat)) + +# watchers +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_LOG, $(P_EBT)ebt_log)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFLOG, $(P_EBT)ebt_nflog)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFQUEUE, $(P_EBT)ebt_nfqueue)) + +# nftables +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES, $(P_XT)nf_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES_SET, $(P_XT)nf_tables_set),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_COUNTER, $(P_XT)nft_counter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_CT, $(P_XT)nft_ct),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_HASH, $(P_XT)nft_hash),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_LIMIT, $(P_XT)nft_limit),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_LOG, $(P_XT)nft_log),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_META, $(P_XT)nft_meta),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_NUMGEN, $(P_XT)nft_numgen),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_OBJREF, $(P_XT)nft_objref),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_QUOTA, $(P_XT)nft_quota),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REDIR, $(P_XT)nft_redir),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT, $(P_XT)nft_reject $(P_V4)nft_reject_ipv4 $(P_V6)nft_reject_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT_INET, $(P_XT)nft_reject_inet),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_BRIDGE,CONFIG_NFT_BRIDGE_META, $(P_EBT)nft_meta_bridge),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_BRIDGE,CONFIG_NFT_BRIDGE_REJECT, $(P_EBT)nft_reject_bridge),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_BRIDGE,CONFIG_NF_CONNTRACK_BRIDGE, $(P_EBT)nf_conntrack_bridge),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_NAT, $(P_XT)nft_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_NAT, $(P_XT)nft_chain_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ, $(P_XT)nft_masq),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_FIB,CONFIG_NFT_FIB, $(P_XT)nft_fib),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_FIB,CONFIG_NFT_FIB_INET, $(P_XT)nft_fib_inet),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_FIB,CONFIG_NFT_FIB_IPV4, $(P_V4)nft_fib_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_FIB,CONFIG_NFT_FIB_IPV6, $(P_V6)nft_fib_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_QUEUE,CONFIG_NFT_QUEUE, $(P_XT)nft_queue),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_SOCKET,CONFIG_NFT_SOCKET, $(P_XT)nft_socket),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_TPROXY,CONFIG_NFT_TPROXY, $(P_XT)nft_tproxy),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_COMPAT,CONFIG_NFT_COMPAT, $(P_XT)nft_compat),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_XFRM,CONFIG_NFT_XFRM, $(P_XT)nft_xfrm),)) + +# userland only +IPT_BUILTIN += $(NF_IPT-y) $(NF_IPT-m) +IPT_BUILTIN += $(IPT_CORE-y) $(IPT_CORE-m) +IPT_BUILTIN += $(NF_CONNTRACK-y) +IPT_BUILTIN += $(NF_CONNTRACK6-y) +IPT_BUILTIN += $(IPT_CONNTRACK-y) +IPT_BUILTIN += $(IPT_CONNTRACK_EXTRA-y) +IPT_BUILTIN += $(IPT_EXTRA-y) +IPT_BUILTIN += $(IPT_PHYSDEV-y) +IPT_BUILTIN += $(IPT_FILTER-y) +IPT_BUILTIN += $(IPT_FLOW-y) $(IPT_FLOW-m) +IPT_BUILTIN += $(IPT_IPOPT-y) +IPT_BUILTIN += $(IPT_IPRANGE-y) +IPT_BUILTIN += $(IPT_CLUSTER-y) +IPT_BUILTIN += $(IPT_CLUSTERIP-y) +IPT_BUILTIN += $(IPT_IPSEC-y) +IPT_BUILTIN += $(IPT_IPV6-y) $(IPT_IPV6-m) +IPT_BUILTIN += $(NF_NAT-y) +IPT_BUILTIN += $(NF_NAT6-y) +IPT_BUILTIN += $(IPT_NAT-y) +IPT_BUILTIN += $(IPT_NAT6-y) +IPT_BUILTIN += $(IPT_NAT_EXTRA-y) +IPT_BUILTIN += $(NF_NATHELPER-y) +IPT_BUILTIN += $(NF_NATHELPER_EXTRA-y) +IPT_BUILTIN += $(IPT_TPROXY-y) +IPT_BUILTIN += $(NFNETLINK-y) +IPT_BUILTIN += $(NFNETLINK_LOG-y) +IPT_BUILTIN += $(NFNETLINK_QUEUE-y) +IPT_BUILTIN += $(EBTABLES-y) +IPT_BUILTIN += $(EBTABLES_IP4-y) +IPT_BUILTIN += $(EBTABLES_IP6-y) +IPT_BUILTIN += $(EBTABLES_WATCHERS-y) + +endif # __inc_netfilter diff --git a/include/nls.mk b/include/nls.mk new file mode 100644 index 0000000..163e480 --- /dev/null +++ b/include/nls.mk @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2011-2020 OpenWrt.org + +# iconv full +ifeq ($(CONFIG_BUILD_NLS),y) + ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-full + ICONV_FULL:=1 + + INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-full + INTL_FULL:=1 + +# iconv stub +else + ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-stub + ICONV_FULL:= + + INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-stub + INTL_FULL:= +endif + +PKG_CONFIG_DEPENDS += CONFIG_BUILD_NLS +PKG_BUILD_DEPENDS += !BUILD_NLS:libiconv + +ICONV_DEPENDS:=+BUILD_NLS:libiconv-full +ICONV_CFLAGS:=-I$(ICONV_PREFIX)/include +ICONV_CPPFLAGS:=-I$(ICONV_PREFIX)/include +ICONV_LDFLAGS:=-L$(ICONV_PREFIX)/lib -Wl,-rpath-link=$(ICONV_PREFIX)/lib + +INTL_DEPENDS:=+BUILD_NLS:libintl-full +INTL_CFLAGS:=-I$(INTL_PREFIX)/include +INTL_CPPFLAGS:=-I$(INTL_PREFIX)/include +INTL_LDFLAGS:=-L$(INTL_PREFIX)/lib -Wl,-rpath-link=$(INTL_PREFIX)/lib + +TARGET_CFLAGS += $(ICONV_CFLAGS) $(INTL_CFLAGS) +TARGET_CPPFLAGS += $(ICONV_CPPFLAGS) $(INTL_CPPFLAGS) +TARGET_LDFLAGS += $(ICONV_LDFLAGS) $(INTL_LDFLAGS) diff --git a/include/package-bin.mk b/include/package-bin.mk new file mode 100644 index 0000000..4ca4921 --- /dev/null +++ b/include/package-bin.mk @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2020 OpenWrt.org + +ifeq ($(DUMP),) + define BuildTarget/bin + TARGET_VARIANT=$(if $(ALL_VARIANTS),$(if $(VARIANT),$(filter-out *,$(VARIANT)),$(firstword $(ALL_VARIANTS)))) + ifeq ($(if $(TARGET_VARIANT),$(BUILD_VARIANT)),$(TARGET_VARIANT)) + ifdef Package/$(1)/install + ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) + $(_pkg_target)compile: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed + compile: install-bin-$(1) + else + compile: $(1)-disabled + $(1)-disabled: + @echo "WARNING: skipping $(1) -- package not selected" >&2 + endif + endif + endif + + $(PKG_BUILD_DIR)/.pkgdir/$(1).installed: $(STAMP_BUILT) + rm -rf $(PKG_BUILD_DIR)/.pkgdir/$(1) $$@ + mkdir -p $(PKG_BUILD_DIR)/.pkgdir/$(1) + $(call Package/$(1)/install,$(PKG_BUILD_DIR)/.pkgdir/$(1)) + touch $$@ + + install-bin-$(1): $(PKG_BUILD_DIR)/.pkgdir/$(1).installed + rm -rf $(BIN_DIR)/$(1) + -rmdir $(PKG_BUILD_DIR)/.pkgdir/$(1) >/dev/null 2>/dev/null + if [ -d $(PKG_BUILD_DIR)/.pkgdir/$(1) ]; then \ + $(INSTALL_DIR) $(BIN_DIR)/$(1) && \ + $(CP) $(PKG_BUILD_DIR)/.pkgdir/$(1)/. $(BIN_DIR)/$(1)/; \ + fi + + clean-$(1): + rm -rf $(BIN_DIR)/$(1) + + clean: clean-$(1) + .PHONY: install-bin-$(1) + endef +endif diff --git a/include/package-defaults.mk b/include/package-defaults.mk new file mode 100644 index 0000000..3ee3a96 --- /dev/null +++ b/include/package-defaults.mk @@ -0,0 +1,162 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +PKG_DEFAULT_DEPENDS = +libc +USE_GLIBC:librt +USE_GLIBC:libpthread + +ifneq ($(PKG_NAME),toolchain) + PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2))) +else + PKG_FIXUP_DEPENDS = $(2) +endif + +define Package/Default + CONFIGFILE:= + SECTION:=opt + CATEGORY:=Extra packages + DEPENDS:= + MDEPENDS:= + CONFLICTS:= + PROVIDES:= + EXTRA_DEPENDS:= + MAINTAINER:=$(PKG_MAINTAINER) + SOURCE:=$(patsubst $(TOPDIR)/%,%,$(CURDIR)) + ifneq ($(PKG_VERSION),) + ifneq ($(PKG_RELEASE),) + VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + else + VERSION:=$(PKG_VERSION) + endif + else + VERSION:=$(PKG_RELEASE) + endif + ABI_VERSION:= + ifneq ($(PKG_FLAGS),) + PKGFLAGS:=$(PKG_FLAGS) + else + PKGFLAGS:= + endif + ifneq ($(ARCH_PACKAGES),) + PKGARCH:=$(ARCH_PACKAGES) + else + PKGARCH:=$(BOARD) + endif + DEFAULT:= + MENU:= + SUBMENU:= + SUBMENUDEP:= + TITLE:= + KCONFIG:= + BUILDONLY:= + HIDDEN:= + URL:= + VARIANT:= + DEFAULT_VARIANT:= + USERID:= + ALTERNATIVES:= + LICENSE:=$(PKG_LICENSE) + LICENSE_FILES:=$(PKG_LICENSE_FILES) + FILE_MODES:=$(PKG_FILE_MODES) +endef + +Build/Patch:=$(Build/Patch/Default) +ifneq ($(strip $(PKG_UNPACK)),) + define Build/Prepare/Default + $(PKG_UNPACK) + [ ! -d ./src/ ] || $(CP) ./src/. $(PKG_BUILD_DIR) + $(Build/Patch) + endef +endif + +EXTRA_CXXFLAGS = $(EXTRA_CFLAGS) +ifeq ($(CONFIG_BUILD_NLS),y) + DISABLE_NLS:= +else + DISABLE_NLS:=--disable-nls +endif + +CONFIGURE_PREFIX:=/usr +CONFIGURE_ARGS = \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=$(CONFIGURE_PREFIX) \ + --exec-prefix=$(CONFIGURE_PREFIX) \ + --bindir=$(CONFIGURE_PREFIX)/bin \ + --sbindir=$(CONFIGURE_PREFIX)/sbin \ + --libexecdir=$(CONFIGURE_PREFIX)/lib \ + --sysconfdir=/etc \ + --datadir=$(CONFIGURE_PREFIX)/share \ + --localstatedir=/var \ + --mandir=$(CONFIGURE_PREFIX)/man \ + --infodir=$(CONFIGURE_PREFIX)/info \ + $(DISABLE_NLS) \ + $(DISABLE_IPV6) + +CONFIGURE_VARS = \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)" \ + CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + +CONFIGURE_PATH = . +CONFIGURE_CMD = ./configure + +replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; \ + $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp --remove-destination \ + $(SCRIPT_DIR)/$(2); + +define Build/Configure/Default + (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \ + if [ -x $(CONFIGURE_CMD) ]; then \ + $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.guess) \ + $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.sub) \ + $(CONFIGURE_VARS) \ + $(2) \ + $(CONFIGURE_CMD) \ + $(CONFIGURE_ARGS) \ + $(1); \ + fi; \ + ) +endef + +MAKE_VARS = \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" + +MAKE_FLAGS = \ + $(TARGET_CONFIGURE_OPTS) \ + CROSS="$(TARGET_CROSS)" \ + ARCH="$(ARCH)" + +MAKE_INSTALL_FLAGS = \ + $(MAKE_FLAGS) \ + DESTDIR="$(PKG_INSTALL_DIR)" + +MAKE_PATH ?= . + +define Build/Compile/Default + +$(MAKE_VARS) \ + $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ + $(MAKE_FLAGS) \ + $(1); +endef + +define Build/Install/Default + $(MAKE_VARS) \ + $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ + $(MAKE_INSTALL_FLAGS) \ + $(if $(1), $(1), install); +endef + +define Build/Dist/Default + $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" dist) +endef + +define Build/DistCheck/Default + $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" distcheck) +endef diff --git a/include/package-dumpinfo.mk b/include/package-dumpinfo.mk new file mode 100644 index 0000000..597452e --- /dev/null +++ b/include/package-dumpinfo.mk @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +ifneq ($(DUMP),) + + +define SOURCE_INFO +$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS) +)$(if $(HOST_BUILD_DEPENDS),Build-Depends/host: $(HOST_BUILD_DEPENDS) +)$(if $(BUILD_TYPES),Build-Types: $(BUILD_TYPES) +) + +endef + +define Dumpinfo/Package +$(info $(SOURCE_INFO)Package: $(1) +$(if $(MENU),Menu: $(MENU) +)$(if $(SUBMENU),Submenu: $(SUBMENU) +)$(if $(SUBMENUDEP),Submenu-Depends: $(SUBMENUDEP) +)$(if $(DEFAULT),Default: $(DEFAULT) +)$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1 +)Version: $(VERSION) +Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) +Conflicts: $(CONFLICTS) +Menu-Depends: $(MDEPENDS) +Provides: $(PROVIDES) +$(if $(VARIANT),Build-Variant: $(VARIANT) +$(if $(DEFAULT_VARIANT),Default-Variant: $(VARIANT) +))Section: $(SECTION) +Category: $(CATEGORY) +$(if $(filter nonshared,$(PKGFLAGS)),,Repository: $(if $(FEED),$(FEED),base) +)Title: $(TITLE) +Maintainer: $(MAINTAINER) +$(if $(USERID),Require-User: $(USERID) +)Source: $(PKG_SOURCE) +$(if $(LICENSE),License: $(LICENSE) +)$(if $(LICENSE_FILES),LicenseFiles: $(LICENSE_FILES) +)Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg)) +$(if $(KCONFIG),Kernel-Config: $(KCONFIG) +)$(if $(BUILDONLY),Build-Only: $(BUILDONLY) +)$(if $(HIDDEN),Hidden: $(HIDDEN) +)Description: $(if $(Package/$(1)/description),$(Package/$(1)/description),$(TITLE)) +$(if $(URL),$(URL) +)$(MAINTAINER) +@@ +$(if $(Package/$(1)/config),Config: +$(Package/$(1)/config) +@@ +)) +SOURCE_INFO := +endef + +dumpinfo: FORCE + $(if $(SOURCE_INFO),$(info $(SOURCE_INFO))) + +endif diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk new file mode 100644 index 0000000..3063a86 --- /dev/null +++ b/include/package-ipkg.mk @@ -0,0 +1,276 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +ifndef DUMP + include $(INCLUDE_DIR)/feeds.mk +endif + +IPKG_REMOVE:= \ + $(SCRIPT_DIR)/ipkg-remove + +IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg + +# Generates a make statement to return a wildcard for candidate ipkg files +# 1: package name +define gen_ipkg_wildcard + $(1)$$(if $$(filter -%,$$(ABIV_$(1))),,[^a-z-])* +endef + +# 1: package name +# 2: candidate ipk files +define remove_ipkg_files + $(if $(strip $(2)),$(IPKG_REMOVE) $(1) $(2)) +endef + +# 1: package name +# 2: variable name +# 3: variable suffix +# 4: file is a script +define BuildIPKGVariable +ifdef Package/$(1)/$(2) + $$(IPKG_$(1)) : VAR_$(2)$(3)=$$(Package/$(1)/$(2)) + $(call shexport,Package/$(1)/$(2)) + $(1)_COMMANDS += echo "$$$$$$$$$(call shvar,Package/$(1)/$(2))" > $(2)$(3); $(if $(4),chmod 0755 $(2)$(3);) +endif +endef + +PARENL :=( +PARENR :=) + +dep_split=$(subst :,$(space),$(1)) +dep_rem=$(subst !,,$(subst $(strip $(PARENL)),,$(subst $(strip $(PARENR)),,$(word 1,$(call dep_split,$(1)))))) +dep_and=dep_and_res:=$$(and $(subst $(space),$(comma),$(foreach cond,$(subst &&, ,$(1)),$$(CONFIG_$(cond))))) +dep_confvar=$(strip $(foreach cond,$(subst ||, ,$(call dep_rem,$(1))),$(eval $(call dep_and,$(cond)))$(dep_and_res))) +dep_pos=$(if $(call dep_confvar,$(1)),$(call dep_val,$(1))) +dep_neg=$(if $(call dep_confvar,$(1)),,$(call dep_val,$(1))) +dep_if=$(if $(findstring !,$(1)),$(call dep_neg,$(1)),$(call dep_pos,$(1))) +dep_val=$(word 2,$(call dep_split,$(1))) +strip_deps=$(strip $(subst +,,$(filter-out @%,$(1)))) +filter_deps=$(foreach dep,$(call strip_deps,$(1)),$(if $(findstring :,$(dep)),$(call dep_if,$(dep)),$(dep))) + +define AddDependency + $$(if $(1),$$(if $(2),$$(foreach pkg,$(1),$$(IPKG_$$(pkg))): $$(foreach pkg,$(2),$$(IPKG_$$(pkg))))) +endef + +define FixupReverseDependencies + DEPS := $$(filter %:$(1),$$(IDEPEND)) + DEPS := $$(patsubst %:$(1),%,$$(DEPS)) + DEPS := $$(filter $$(DEPS),$$(IPKGS)) + $(call AddDependency,$$(DEPS),$(1)) +endef + +define FixupDependencies + DEPS := $$(filter $(1):%,$$(IDEPEND)) + DEPS := $$(patsubst $(1):%,%,$$(DEPS)) + DEPS := $$(filter $$(DEPS),$$(IPKGS)) + $(call AddDependency,$(1),$$(DEPS)) +endef + +ifneq ($(PKG_NAME),toolchain) + define CheckDependencies + @( \ + rm -f $(PKG_INFO_DIR)/$(1).missing; \ + ( \ + export \ + READELF=$(TARGET_CROSS)readelf \ + OBJCOPY=$(TARGET_CROSS)objcopy \ + XARGS="$(XARGS)"; \ + $(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \ + ) | while read FILE; do \ + grep -qxF "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \ + echo "$$$$FILE" >> $(PKG_INFO_DIR)/$(1).missing; \ + done; \ + if [ -f "$(PKG_INFO_DIR)/$(1).missing" ]; then \ + echo "Package $(1) is missing dependencies for the following libraries:" >&2; \ + cat "$(PKG_INFO_DIR)/$(1).missing" >&2; \ + false; \ + fi; \ + ) + endef +endif + +_addsep=$(word 1,$(1))$(foreach w,$(wordlist 2,$(words $(1)),$(1)),$(strip $(2) $(w))) +_cleansep=$(subst $(space)$(2)$(space),$(2)$(space),$(1)) +mergelist=$(call _cleansep,$(call _addsep,$(1),$(comma)),$(comma)) +addfield=$(if $(strip $(2)),$(1): $(2)) +_define=define +_endef=endef + +ifeq ($(DUMP),) + define BuildTarget/ipkg + ABIV_$(1):=$(call FormatABISuffix,$(1),$(ABI_VERSION)) + PDIR_$(1):=$(call FeedPackageDir,$(1)) + IPKG_$(1):=$$(PDIR_$(1))/$(1)$$(ABIV_$(1))_$(VERSION)_$(PKGARCH).ipk + IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) + KEEP_$(1):=$(strip $(call Package/$(1)/conffiles)) + + TARGET_VARIANT:=$$(if $(ALL_VARIANTS),$$(if $$(VARIANT),$$(filter-out *,$$(VARIANT)),$(firstword $(ALL_VARIANTS)))) + ifeq ($(BUILD_VARIANT),$$(if $$(TARGET_VARIANT),$$(TARGET_VARIANT),$(BUILD_VARIANT))) + do_install= + ifdef Package/$(1)/install + do_install=yes + endif + ifdef Package/$(1)/install-overlay + do_install=yes + endif + ifdef do_install + ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) + IPKGS += $(1) + $(_pkg_target)compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(PKG_BUILD_DIR)/.pkgdir/$(1).installed + prepare-package-install: $$(IPKG_$(1)) + compile: $(STAGING_DIR_ROOT)/stamp/.$(1)_installed + else + $(if $(CONFIG_PACKAGE_$(1)),$$(info WARNING: skipping $(1) -- package not selected)) + endif + + .PHONY: $(PKG_INSTALL_STAMP).$(1) + ifeq ($(CONFIG_PACKAGE_$(1)),y) + compile: $(PKG_INSTALL_STAMP).$(1) + endif + $(PKG_INSTALL_STAMP).$(1): prepare-package-install + echo "$(1)" >> $(PKG_INSTALL_STAMP) + else + $(if $(CONFIG_PACKAGE_$(1)),$$(warning WARNING: skipping $(1) -- package has no install section)) + endif + endif + + DEPENDS:=$(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) + IDEPEND_$(1):=$$(call filter_deps,$$(DEPENDS)) + IDEPEND += $$(patsubst %,$(1):%,$$(IDEPEND_$(1))) + $(FixupDependencies) + $(FixupReverseDependencies) + + $(eval $(call BuildIPKGVariable,$(1),conffiles)) + $(eval $(call BuildIPKGVariable,$(1),preinst,,1)) + $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg,1)) + $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg,1)) + $(eval $(call BuildIPKGVariable,$(1),postrm,,1)) + + $(PKG_BUILD_DIR)/.pkgdir/$(1).installed : export PATH=$$(TARGET_PATH_PKG) + $(PKG_BUILD_DIR)/.pkgdir/$(1).installed: $(STAMP_BUILT) + rm -rf $$@ $(PKG_BUILD_DIR)/.pkgdir/$(1) + mkdir -p $(PKG_BUILD_DIR)/.pkgdir/$(1) + $(call Package/$(1)/install,$(PKG_BUILD_DIR)/.pkgdir/$(1)) + $(call Package/$(1)/install_lib,$(PKG_BUILD_DIR)/.pkgdir/$(1)) + touch $$@ + + $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed + mkdir -p $(STAGING_DIR_ROOT)/stamp + $(if $(ABI_VERSION),echo '$(ABI_VERSION)' | cmp -s - $(PKG_INFO_DIR)/$(1).version || { \ + echo '$(ABI_VERSION)' > $(PKG_INFO_DIR)/$(1).version; \ + $(foreach pkg,$(filter-out $(1),$(PROVIDES)), \ + cp $(PKG_INFO_DIR)/$(1).version $(PKG_INFO_DIR)/$(pkg).version; \ + ) \ + } ) + $(call locked,$(CP) $(PKG_BUILD_DIR)/.pkgdir/$(1)/. $(STAGING_DIR_ROOT)/,root-copy) + touch $$@ + + Package/$(1)/DEPENDS := $$(call mergelist,$$(foreach dep,$$(filter-out @%,$$(IDEPEND_$(1))),$$(dep)$$(call GetABISuffix,$$(dep)))) + ifneq ($$(EXTRA_DEPENDS),) + Package/$(1)/DEPENDS := $$(EXTRA_DEPENDS)$$(if $$(Package/$(1)/DEPENDS),$$(comma) $$(Package/$(1)/DEPENDS)) + endif + +$(_define) Package/$(1)/CONTROL +Package: $(1)$$(ABIV_$(1)) +Version: $(VERSION) +$$(call addfield,Depends,$$(Package/$(1)/DEPENDS) +)$$(call addfield,Conflicts,$$(call mergelist,$(CONFLICTS)) +)$$(call addfield,Provides,$$(call mergelist,$$(filter-out $(1)$$(ABIV_$(1)),$(PROVIDES)$$(if $$(ABIV_$(1)), $(1) $(foreach provide,$(PROVIDES),$(provide)$$(ABIV_$(1)))))) +)$$(call addfield,Alternatives,$$(call mergelist,$(ALTERNATIVES)) +)$$(call addfield,Source,$(SOURCE) +)$$(call addfield,SourceName,$(1) +)$$(call addfield,License,$(LICENSE) +)$$(call addfield,LicenseFiles,$(LICENSE_FILES) +)$$(call addfield,Section,$(SECTION) +)$$(call addfield,Require-User,$(USERID) +)$$(call addfield,SourceDateEpoch,$(PKG_SOURCE_DATE_EPOCH) +)$$(if $$(ABIV_$(1)),ABIVersion: $$(ABIV_$(1)) +)$(if $(PKG_CPE_ID),CPE-ID: $(PKG_CPE_ID) +)$(if $(filter hold,$(PKG_FLAGS)),Status: unknown hold not-installed +)$(if $(filter essential,$(PKG_FLAGS)),Essential: yes +)$(if $(MAINTAINER),Maintainer: $(MAINTAINER) +)Architecture: $(PKGARCH) +Installed-Size: 0 +$(_endef) + + $$(IPKG_$(1)) : export CONTROL=$$(Package/$(1)/CONTROL) + $$(IPKG_$(1)) : export DESCRIPTION=$$(Package/$(1)/description) + $$(IPKG_$(1)) : export PATH=$$(TARGET_PATH_PKG) + $$(IPKG_$(1)) : export PKG_SOURCE_DATE_EPOCH:=$(PKG_SOURCE_DATE_EPOCH) + $(PKG_INFO_DIR)/$(1).provides $$(IPKG_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-ipkg.mk + @rm -rf $$(IDIR_$(1)); \ + $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_ipkg_wildcard,$(1)))) + mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR) + $(call Package/$(1)/install,$$(IDIR_$(1))) + $(if $(Package/$(1)/install-overlay),mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/rootfs-overlay) + $(call Package/$(1)/install-overlay,$$(IDIR_$(1))/rootfs-overlay) + -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| $(XARGS) rm -rf + @( \ + find $$(IDIR_$(1)) -name lib\*.so\* -or -name \*.ko | awk -F/ '{ print $$$$NF }'; \ + for file in $$(patsubst %,$(PKG_INFO_DIR)/%.provides,$$(IDEPEND_$(1))); do \ + if [ -f "$$$$file" ]; then \ + cat $$$$file; \ + fi; \ + done; $(Package/$(1)/extra_provides) \ + ) | sort -u > $(PKG_INFO_DIR)/$(1).provides + $(if $(PROVIDES),@for pkg in $(filter-out $(1),$(PROVIDES)); do cp $(PKG_INFO_DIR)/$(1).provides $(PKG_INFO_DIR)/$$$$pkg.provides; done) + $(CheckDependencies) + + $(RSTRIP) $$(IDIR_$(1)) + + ifneq ($$(CONFIG_IPK_FILES_CHECKSUMS),) + (cd $$(IDIR_$(1)); \ + ( \ + find . -type f \! -path ./CONTROL/\* -exec $(MKHASH) sha256 -n \{\} \; 2> /dev/null | \ + sed 's|\([[:blank:]]\)\./| \1/|' > $$(IDIR_$(1))/CONTROL/files-sha256sum \ + ) || true \ + ) + endif + (cd $$(IDIR_$(1))/CONTROL; \ + ( \ + echo "$$$$CONTROL"; \ + printf "Description: "; echo "$$$$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; \ + ) > control; \ + chmod 644 control; \ + ( \ + echo "#!/bin/sh"; \ + echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \ + echo "[ -s "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_postinst \$$$$0 \$$$$@"; \ + ) > postinst; \ + ( \ + echo "#!/bin/sh"; \ + echo "[ -s "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_prerm \$$$$0 \$$$$@"; \ + ) > prerm; \ + chmod 0755 postinst prerm; \ + $($(1)_COMMANDS) \ + ) + + ifneq ($$(KEEP_$(1)),) + @( \ + keepfiles=""; \ + for x in $$(KEEP_$(1)); do \ + [ -f "$$(IDIR_$(1))/$$$$x" ] || keepfiles="$$$${keepfiles:+$$$$keepfiles }$$$$x"; \ + done; \ + [ -z "$$$$keepfiles" ] || { \ + mkdir -p $$(IDIR_$(1))/lib/upgrade/keep.d; \ + for x in $$$$keepfiles; do echo $$$$x >> $$(IDIR_$(1))/lib/upgrade/keep.d/$(1); done; \ + }; \ + ) + endif + + $(INSTALL_DIR) $$(PDIR_$(1)) + $(FAKEROOT) $(STAGING_DIR_HOST)/bin/bash $(SCRIPT_DIR)/ipkg-build -m "$(FILE_MODES)" $$(IDIR_$(1)) $$(PDIR_$(1)) + @[ -f $$(IPKG_$(1)) ] + + $(1)-clean: + $$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_ipkg_wildcard,$(1)))) + + clean: $(1)-clean + + endef +endif diff --git a/include/package-seccomp.mk b/include/package-seccomp.mk new file mode 100644 index 0000000..86e8344 --- /dev/null +++ b/include/package-seccomp.mk @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2015-2020 OpenWrt.org + +PKG_CONFIG_DEPENDS+= CONFIG_KERNEL_SECCOMP + +ifeq ($(CONFIG_KERNEL_SECCOMP),y) + define InstallSeccomp + $(INSTALL_DIR) $(1)/etc/seccomp + $(INSTALL_DATA) $(2) $(1)/etc/seccomp/ + endef +endif diff --git a/include/package.mk b/include/package.mk new file mode 100644 index 0000000..368bf0d --- /dev/null +++ b/include/package.mk @@ -0,0 +1,354 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +__package_mk:=1 + +all: $(if $(DUMP),dumpinfo,$(if $(CHECK),check,compile)) + +include $(INCLUDE_DIR)/download.mk + +PKG_BUILD_DIR ?= $(BUILD_DIR)/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT)/)$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) +PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install +PKG_BUILD_PARALLEL ?= +PKG_USE_MIPS16 ?= 1 +PKG_IREMAP ?= 1 +PKG_SKIP_DOWNLOAD=$(USE_SOURCE_DIR)$(USE_GIT_TREE)$(USE_GIT_SRC_CHECKOUT) + +MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) $(if $(filter 3.% 4.0 4.1,$(MAKE_VERSION)),-j)) + +PKG_SOURCE_DATE_EPOCH:=$(if $(DUMP),,$(shell $(TOPDIR)/scripts/get_source_date_epoch.sh $(CURDIR))) + +ifeq ($(strip $(PKG_BUILD_PARALLEL)),0) +PKG_JOBS?=-j1 +else +PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL),$(MAKE_J),-j1) +endif +ifdef CONFIG_USE_MIPS16 + ifeq ($(strip $(PKG_USE_MIPS16)),1) + TARGET_ASFLAGS_DEFAULT = $(filter-out -mips16 -minterlink-mips16,$(TARGET_CFLAGS)) + TARGET_CFLAGS += -mips16 -minterlink-mips16 + endif +endif +ifeq ($(strip $(PKG_IREMAP)),1) + IREMAP_CFLAGS = $(call iremap,$(PKG_BUILD_DIR),$(notdir $(PKG_BUILD_DIR))) + TARGET_CFLAGS += $(IREMAP_CFLAGS) +endif + +include $(INCLUDE_DIR)/hardening.mk +include $(INCLUDE_DIR)/prereq.mk +include $(INCLUDE_DIR)/unpack.mk +include $(INCLUDE_DIR)/depends.mk + +ifneq ($(wildcard $(TOPDIR)/git-src/$(PKG_NAME)/.git),) + USE_GIT_SRC_CHECKOUT:=1 + QUILT:=1 +endif +ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) + USE_GIT_TREE:=1 + QUILT:=1 +endif +ifdef USE_SOURCE_DIR + QUILT:=1 +endif +ifneq ($(wildcard $(PKG_BUILD_DIR)/.source_dir),) + QUILT:=1 +endif + +include $(INCLUDE_DIR)/quilt.mk + +find_library_dependencies = \ + $(wildcard $(patsubst %,$(STAGING_DIR)/pkginfo/%.version, \ + $(filter-out $(BUILD_PACKAGES), $(sort $(foreach dep4, \ + $(sort $(foreach dep3, \ + $(sort $(foreach dep2, \ + $(sort $(foreach dep1, \ + $(sort $(foreach dep0, \ + $(Package/$(1)/depends), \ + $(Package/$(dep0)/depends) $(dep0) \ + )), \ + $(Package/$(dep1)/depends) $(dep1) \ + )), \ + $(Package/$(dep2)/depends) $(dep2) \ + )), \ + $(Package/$(dep3)/depends) $(dep3) \ + )), \ + $(Package/$(dep4)/depends) $(dep4) \ + ))) \ + )) + + +PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR))) +STAMP_NO_AUTOREBUILD=$(wildcard $(PKG_BUILD_DIR)/.no_autorebuild) +PREV_STAMP_PREPARED:=$(if $(STAMP_NO_AUTOREBUILD),$(wildcard $(PKG_BUILD_DIR)/.prepared*)) +ifneq ($(PREV_STAMP_PREPARED),) + STAMP_PREPARED:=$(PREV_STAMP_PREPARED) + CONFIG_AUTOREBUILD:= +else + STAMP_PREPARED=$(PKG_BUILD_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call $(if $(CONFIG_AUTOREMOVE),find_md5_reproducible,find_md5),${CURDIR} $(PKG_FILE_DEPENDS),))_$(call confvar,CONFIG_AUTOREMOVE $(PKG_PREPARED_DEPENDS))) +endif +STAMP_CONFIGURED=$(PKG_BUILD_DIR)/.configured$(if $(DUMP),,_$(call confvar,$(PKG_CONFIG_DEPENDS))) +STAMP_CONFIGURED_WILDCARD=$(PKG_BUILD_DIR)/.configured_* +STAMP_BUILT:=$(PKG_BUILD_DIR)/.built +STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_DIR_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),)_installed + +STAGING_FILES_LIST:=$(PKG_DIR_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list + +define CleanStaging + rm -f $(STAMP_INSTALLED) + @-(\ + if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \ + $(SCRIPT_DIR)/clean-package.sh \ + "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \ + "$(STAGING_DIR)"; \ + fi; \ + ) +endef + + +PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install + +include $(INCLUDE_DIR)/package-defaults.mk +include $(INCLUDE_DIR)/package-dumpinfo.mk +include $(INCLUDE_DIR)/package-ipkg.mk +include $(INCLUDE_DIR)/package-bin.mk +include $(INCLUDE_DIR)/autotools.mk + +_pkg_target:=$(if $(QUILT),,.) + +override MAKEFLAGS= +CONFIG_SITE:=$(INCLUDE_DIR)/site/$(ARCH) +CUR_MAKEFILE:=$(filter-out Makefile,$(firstword $(MAKEFILE_LIST))) +SUBMAKE:=$(NO_TRACE_MAKE) $(if $(CUR_MAKEFILE),-f $(CUR_MAKEFILE)) +PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/share/pkgconfig +unexport QUIET CONFIG_SITE + +ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) + ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),) + define Build/Autoclean + $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED) + $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*") + $(if $(filter prepare,$(MAKECMDGOALS)),,$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),,-x "*/.dep_*" -x "*/ipkg*")) + endef + endif +endif + +ifdef USE_GIT_SRC_CHECKOUT + define Build/Prepare/Default + mkdir -p $(PKG_BUILD_DIR) + ln -s $(TOPDIR)/git-src/$(PKG_NAME)/.git $(PKG_BUILD_DIR)/.git + ( cd $(PKG_BUILD_DIR); \ + git checkout .; \ + git submodule update --recursive; \ + git submodule foreach git config --unset core.worktree; \ + git submodule foreach git checkout .; \ + ) + endef +endif +ifdef USE_GIT_TREE + define Build/Prepare/Default + mkdir -p $(PKG_BUILD_DIR) + ln -s $(CURDIR)/git-src $(PKG_BUILD_DIR)/.git + ( cd $(PKG_BUILD_DIR); \ + git checkout .; \ + git submodule update --recursive; \ + git submodule foreach git config --unset core.worktree; \ + git submodule foreach git checkout .; \ + ) + endef +endif +ifdef USE_SOURCE_DIR + define Build/Prepare/Default + rm -rf $(PKG_BUILD_DIR) + $(if $(wildcard $(USE_SOURCE_DIR)/*),,@echo "Error: USE_SOURCE_DIR=$(USE_SOURCE_DIR) path not found"; false) + ln -snf $(USE_SOURCE_DIR) $(PKG_BUILD_DIR) + touch $(PKG_BUILD_DIR)/.source_dir + endef +endif + +define Build/Exports/Default + $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR_HOSTPKG)/share/aclocal $$(STAGING_DIR_HOSTPKG)/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p)) + $(1) : export STAGING_PREFIX=$$(STAGING_DIR)/usr + $(1) : export PATH=$$(TARGET_PATH_PKG) + $(1) : export CONFIG_SITE:=$$(CONFIG_SITE) + $(1) : export PKG_CONFIG_PATH:=$$(PKG_CONFIG_PATH) + $(1) : export PKG_CONFIG_LIBDIR:=$$(PKG_CONFIG_PATH) +endef +Build/Exports=$(Build/Exports/Default) + +define Build/CoreTargets + STAMP_PREPARED:=$$(STAMP_PREPARED) + STAMP_CONFIGURED:=$$(STAMP_CONFIGURED) + + $(if $(QUILT),$(Build/Quilt)) + $(call Build/Autoclean) + $(call DefaultTargets) + + $(call check_download_integrity) + + download: + $(foreach hook,$(Hooks/Download), + $(call $(hook))$(sep) + ) + + $(STAMP_PREPARED) : export PATH=$$(TARGET_PATH_PKG) + $(STAMP_PREPARED): $(STAMP_PREPARED_DEPENDS) + @-rm -rf $(PKG_BUILD_DIR) + @mkdir -p $(PKG_BUILD_DIR) + touch $$@_check + $(foreach hook,$(Hooks/Prepare/Pre),$(call $(hook))$(sep)) + $(Build/Prepare) + $(foreach hook,$(Hooks/Prepare/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Build/Exports,$(STAMP_CONFIGURED)) + $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(STAMP_CONFIGURED_DEPENDS) + rm -f $(STAMP_CONFIGURED_WILDCARD) + $(CleanStaging) + $(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep)) + $(Build/Configure) + $(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Build/Exports,$(STAMP_BUILT)) + $(STAMP_BUILT): $(STAMP_CONFIGURED) $(STAMP_BUILT_DEPENDS) + rm -f $$@ + touch $$@_check + $(foreach hook,$(Hooks/Compile/Pre),$(call $(hook))$(sep)) + $(Build/Compile) + $(foreach hook,$(Hooks/Compile/Post),$(call $(hook))$(sep)) + $(Build/Install) + $(foreach hook,$(Hooks/Install/Post),$(call $(hook))$(sep)) + touch $$@ + + $(STAMP_INSTALLED) : export PATH=$$(TARGET_PATH_PKG) + $(STAMP_INSTALLED): $(STAMP_BUILT) + rm -rf $(TMP_DIR)/stage-$(PKG_DIR_NAME) + mkdir -p $(TMP_DIR)/stage-$(PKG_DIR_NAME)/host $(STAGING_DIR)/packages + $(foreach hook,$(Hooks/InstallDev/Pre),\ + $(call $(hook),$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host)$(sep)\ + ) + $(call Build/InstallDev,$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host) + $(foreach hook,$(Hooks/InstallDev/Post),\ + $(call $(hook),$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host)$(sep)\ + ) + if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \ + $(SCRIPT_DIR)/clean-package.sh \ + "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \ + "$(STAGING_DIR)"; \ + fi + if [ -d $(TMP_DIR)/stage-$(PKG_DIR_NAME) ]; then \ + (cd $(TMP_DIR)/stage-$(PKG_DIR_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_DIR_NAME).files); \ + $(call locked, \ + mv $(TMP_DIR)/stage-$(PKG_DIR_NAME).files $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) && \ + $(CP) $(TMP_DIR)/stage-$(PKG_DIR_NAME)/* $(STAGING_DIR)/; \ + ,staging-dir); \ + fi + rm -rf $(TMP_DIR)/stage-$(PKG_DIR_NAME) + touch $$@ + + ifdef Build/InstallDev + $(_pkg_target)compile: $(STAMP_INSTALLED) + endif + + $(_pkg_target)prepare: $(STAMP_PREPARED) + $(_pkg_target)configure: $(STAMP_CONFIGURED) + $(_pkg_target)dist: $(STAMP_CONFIGURED) + $(_pkg_target)distcheck: $(STAMP_CONFIGURED) + + ifneq ($(CONFIG_AUTOREMOVE),) + compile: + -touch -r $(PKG_BUILD_DIR)/.built $(PKG_BUILD_DIR)/.autoremove 2>/dev/null >/dev/null + $(FIND) $(PKG_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir' -print0 | \ + $(XARGS) -0 rm -rf + endif +endef + +define Build/DefaultTargets + $(if $(PKG_SKIP_DOWNLOAD),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) + $(if $(DUMP),,$(Build/CoreTargets)) + + define Build/DefaultTargets + endef +endef + +define BuildPackage + $(eval $(Package/Default)) + $(eval $(Package/$(1))) + +ifdef DESCRIPTION +$$(error DESCRIPTION:= is obsolete, use Package/PKG_NAME/description) +endif + +ifndef Package/$(1)/description +define Package/$(1)/description + $(TITLE) +endef +endif + + BUILD_PACKAGES += $(1) + $(STAMP_PREPARED): $$(if $(QUILT)$(DUMP),,$(call find_library_dependencies,$(1))) + + $(foreach FIELD, TITLE CATEGORY SECTION VERSION, + ifeq ($($(FIELD)),) + $$(error Package/$(1) is missing the $(FIELD) field) + endif + ) + + $(if $(DUMP), \ + $(if $(CHECK),,$(Dumpinfo/Package)), \ + $(foreach target, \ + $(if $(Package/$(1)/targets),$(Package/$(1)/targets), \ + $(if $(PKG_TARGETS),$(PKG_TARGETS), ipkg) \ + ), $(BuildTarget/$(target)) \ + ) \ + ) + $(if $(PKG_HOST_ONLY),,$(call Build/DefaultTargets,$(1))) +endef + +define pkg_install_files + $(foreach install_file,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_file)`; $(INSTALL_DATA) $(2)/$(install_file) $(3)/`dirname $(install_file)`;) +endef + +define pkg_install_bin + $(foreach install_apps,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_apps)`; $(INSTALL_BIN) $(2)/$(install_apps) $(3)/`dirname $(install_apps)`;) +endef + +Build/Prepare=$(call Build/Prepare/Default,) +Build/Configure=$(call Build/Configure/Default,) +Build/Compile=$(call Build/Compile/Default,) +Build/Install=$(if $(PKG_INSTALL),$(call Build/Install/Default,)) +Build/Dist=$(call Build/Dist/Default,) +Build/DistCheck=$(call Build/DistCheck/Default,) + +.NOTPARALLEL: + +.PHONY: prepare-package-install +prepare-package-install: + @mkdir -p $(PKG_INFO_DIR) + @rm -f $(PKG_INSTALL_STAMP) + @echo "$(filter-out essential nonshared,$(PKG_FLAGS))" > $(PKG_INSTALL_STAMP).flags + +$(PACKAGE_DIR): + mkdir -p $@ + +compile: +.install: .compile +install: compile + +force-clean-build: FORCE + rm -rf $(PKG_BUILD_DIR) + +clean-build: $(if $(wildcard $(PKG_BUILD_DIR)/.autoremove),force-clean-build) + +clean: force-clean-build + $(CleanStaging) + $(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR)/host) + $(Build/Clean) + rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) + +dist: + $(Build/Dist) + +distcheck: + $(Build/DistCheck) diff --git a/include/prereq-build.mk b/include/prereq-build.mk new file mode 100644 index 0000000..8998e76 --- /dev/null +++ b/include/prereq-build.mk @@ -0,0 +1,212 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/prereq.mk + +SHELL:=sh +PKG_NAME:=Build dependency + + +# Required for the toolchain +$(eval $(call TestHostCommand,working-make, \ + Please install GNU make v4.1 or later., \ + $(MAKE) -v | grep -E 'Make (4\.[1-9]|[5-9]\.)')) + +$(eval $(call TestHostCommand,case-sensitive-fs, \ + OpenWrt can only be built on a case-sensitive filesystem, \ + rm -f $(TMP_DIR)/test.*; touch $(TMP_DIR)/test.fs; \ + test ! -f $(TMP_DIR)/test.FS)) + +$(eval $(call TestHostCommand,proper-umask, \ + Please build with umask 022 - other values produce broken packages, \ + umask | grep -xE 0?0[012][012])) + +ifndef IB +$(eval $(call SetupHostCommand,gcc, \ + Please install the GNU C Compiler (gcc) 6 or later, \ + $(CC) -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \ + gcc -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \ + gcc --version | grep -E 'Apple.(LLVM|clang)' )) + +$(eval $(call TestHostCommand,working-gcc, \ + Please reinstall the GNU C Compiler (6 or later) - \ + it appears to be broken, \ + echo 'int main(int argc, char **argv) { return 0; }' | \ + gcc -x c -o $(TMP_DIR)/a.out -)) + +$(eval $(call SetupHostCommand,g++, \ + Please install the GNU C++ Compiler (g++) 6 or later, \ + $(CXX) -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \ + g++ -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \ + g++ --version | grep -E 'Apple.(LLVM|clang)' )) + +$(eval $(call TestHostCommand,working-g++, \ + Please reinstall the GNU C++ Compiler (6 or later) - \ + it appears to be broken, \ + echo 'int main(int argc, char **argv) { return 0; }' | \ + g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \ + $(TMP_DIR)/a.out)) + +$(eval $(call TestHostCommand,ncurses, \ + Please install ncurses. (Missing libncurses.so or ncurses.h), \ + echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \ + gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses)) +endif # IB + +ifeq ($(HOST_OS),Linux) + zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic +else + zlib_link_flags := -lz +endif + +$(eval $(call TestHostCommand,perl-data-dumper, \ + Please install the Perl Data::Dumper module, \ + perl -MData::Dumper -e 1)) + +$(eval $(call TestHostCommand,perl-findbin, \ + Please install the Perl FindBin module, \ + perl -MFindBin -e 1)) + +$(eval $(call TestHostCommand,perl-file-copy, \ + Please install the Perl File::Copy module, \ + perl -MFile::Copy -e 1)) + +$(eval $(call TestHostCommand,perl-file-compare, \ + Please install the Perl File::Compare module, \ + perl -MFile::Compare -e 1)) + +$(eval $(call TestHostCommand,perl-thread-queue, \ + Please install the Perl Thread::Queue module, \ + perl -MThread::Queue -e 1)) + +$(eval $(call SetupHostCommand,tar,Please install GNU 'tar', \ + gtar --version 2>&1 | grep GNU, \ + gnutar --version 2>&1 | grep GNU, \ + tar --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,find,Please install GNU 'find', \ + gfind --version 2>&1 | grep GNU, \ + find --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,bash,Please install GNU 'bash', \ + bash --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,xargs, \ + Please install 'xargs' that supports '-r/--no-run-if-empty', \ + gxargs -r --version, \ + xargs -r --version)) + +$(eval $(call SetupHostCommand,patch,Please install GNU 'patch', \ + gpatch --version 2>&1 | grep 'Free Software Foundation', \ + patch --version 2>&1 | grep 'Free Software Foundation')) + +$(eval $(call SetupHostCommand,diff,Please install GNU diffutils, \ + gdiff --version 2>&1 | grep GNU, \ + diff --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,cp,Please install GNU fileutils, \ + gcp --help 2>&1 | grep 'Copy SOURCE', \ + cp --help 2>&1 | grep 'Copy SOURCE')) + +$(eval $(call SetupHostCommand,seq,Please install seq, \ + gseq --version, \ + seq --version 2>&1 | grep seq)) + +$(eval $(call SetupHostCommand,awk,Please install GNU 'awk', \ + gawk --version 2>&1 | grep GNU, \ + awk --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,grep,Please install GNU 'grep', \ + ggrep --version 2>&1 | grep GNU, \ + grep --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,egrep,Please install GNU 'grep', \ + gegrep --version 2>&1 | grep GNU, \ + egrep --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,getopt, \ + Please install an extended getopt version that supports --long, \ + gnugetopt -o t --long test -- --test | grep '^ *--test *--', \ + getopt -o t --long test -- --test | grep '^ *--test *--', \ + /usr/local/opt/gnu-getopt/bin/getopt -o t --long test -- --test | grep '^ *--test *--', \ + /opt/local/bin/getopt -o t --long test -- --test | grep '^ *--test *--')) + +$(eval $(call SetupHostCommand,realpath,Please install a 'realpath' utility, \ + grealpath /, \ + realpath /)) + +$(eval $(call SetupHostCommand,stat,Cannot find a file stat utility, \ + gnustat -c%s $(TOPDIR)/Makefile, \ + gstat -c%s $(TOPDIR)/Makefile, \ + stat -c%s $(TOPDIR)/Makefile)) + +$(eval $(call SetupHostCommand,unzip,Please install 'unzip', \ + unzip 2>&1 | grep zipfile, \ + unzip)) + +$(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \ + bzip2 --version = 3.6, \ + python3.11 -V 2>&1 | grep 'Python 3', \ + python3.10 -V 2>&1 | grep 'Python 3', \ + python3.9 -V 2>&1 | grep 'Python 3', \ + python3.8 -V 2>&1 | grep 'Python 3', \ + python3.7 -V 2>&1 | grep 'Python 3', \ + python3.6 -V 2>&1 | grep 'Python 3', \ + python3 -V 2>&1 | grep -E 'Python 3\.([6-9]|[0-9][0-9])\.?')) + +$(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \ + python3.11 -V 2>&1 | grep 'Python 3', \ + python3.10 -V 2>&1 | grep 'Python 3', \ + python3.9 -V 2>&1 | grep 'Python 3', \ + python3.8 -V 2>&1 | grep 'Python 3', \ + python3.7 -V 2>&1 | grep 'Python 3', \ + python3.6 -V 2>&1 | grep 'Python 3', \ + python3 -V 2>&1 | grep -E 'Python 3\.([6-9]|[0-9][0-9])\.?')) + +$(eval $(call TestHostCommand,python3-distutils, \ + Please install the Python3 distutils module, \ + $(STAGING_DIR_HOST)/bin/python3 -c 'import distutils')) + +$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \ + git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule, \ + git submodule --help | grep -- --recursive)) + +$(eval $(call SetupHostCommand,file,Please install the 'file' package, \ + file --version 2>&1 | grep file)) + +$(eval $(call SetupHostCommand,rsync,Please install 'rsync', \ + rsync --version /dev/null 2>/dev/null; then \ + echo 'ok.'; \ + else \ + echo 'failed.'; \ + echo "$(PKG_NAME): $(strip $(2))" >> $(TMP_DIR)/.prereq-error; \ + fi + + check-$(1): FORCE + $(call Require/$(1)) + CHECK_$(1):=1 + + .SILENT: prereq-$(1) check-$(1) + .NOTPARALLEL: + endif + + PREREQ_PREV=$(1) +endef + + +define RequireCommand + define Require/$(1) + command -v $(1) + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +define RequireHeader + define Require/$(1) + [ -e "$(1)" ] + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +define CleanupPython2 + define Require/python2-cleanup + if [ -f "$(STAGING_DIR_HOST)/bin/python" ] && \ + $(STAGING_DIR_HOST)/bin/python -V 2>&1 | \ + grep -q 'Python 2'; then \ + rm $(STAGING_DIR_HOST)/bin/python; \ + fi + endef + + $$(eval $$(call Require,python2-cleanup)) +endef + +define QuoteHostCommand +'$(subst ','"'"',$(strip $(1)))' +endef + +# 1: display name +# 2: failure message +# 3: test +define TestHostCommand + define Require/$(1) + ($(3)) >/dev/null 2>/dev/null + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +# 1: canonical name +# 2: failure message +# 3+: candidates +define SetupHostCommand + define Require/$(1) + [ -f "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0; \ + for cmd in $(call QuoteHostCommand,$(3)) $(call QuoteHostCommand,$(4)) \ + $(call QuoteHostCommand,$(5)) $(call QuoteHostCommand,$(6)) \ + $(call QuoteHostCommand,$(7)) $(call QuoteHostCommand,$(8)) \ + $(call QuoteHostCommand,$(9)) $(call QuoteHostCommand,$(10)) \ + $(call QuoteHostCommand,$(11)) $(call QuoteHostCommand,$(12)); do \ + if [ -n "$$$$$$$$cmd" ]; then \ + bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \ + command -v "$$$$$$$${cmd%% *}")"; \ + if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \ + mkdir -p "$(STAGING_DIR_HOST)/bin"; \ + ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \ + exit 0; \ + fi; \ + fi; \ + done; \ + exit 1 + endef + + $$(eval $$(call Require,$(1),$(if $(2),$(2),Missing $(1) command))) +endef diff --git a/include/quilt.mk b/include/quilt.mk new file mode 100644 index 0000000..18cafe6 --- /dev/null +++ b/include/quilt.mk @@ -0,0 +1,181 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2020 OpenWrt.org + +ifeq ($(TARGET_BUILD),1) + PKG_BUILD_DIR:=$(LINUX_DIR) +endif + +ifneq ($(filter host-refresh refresh,$(MAKECMDGOALS)),) + override QUILT=1 + override HOST_QUILT=1 +endif + +ifneq ($(PKG_BUILD_DIR),) + QUILT?=$(if $(wildcard $(PKG_BUILD_DIR)/.quilt_used),y) + ifneq ($(QUILT),) + STAMP_CHECKED:=$(PKG_BUILD_DIR)/.quilt_checked + override CONFIG_AUTOREBUILD= + override CONFIG_AUTOREMOVE= + quilt-check: $(STAMP_CHECKED) + endif +endif + +ifneq ($(HOST_BUILD_DIR),) + HOST_QUILT?=$(if $(findstring command,$(origin QUILT)),$(QUILT),$(if $(wildcard $(HOST_BUILD_DIR)/.quilt_used),y)) + ifneq ($(HOST_QUILT),) + HOST_STAMP_CHECKED:=$(HOST_BUILD_DIR)/.quilt_checked + override CONFIG_AUTOREBUILD= + override CONFIG_AUTOREMOVE= + host-quilt-check: $(HOST_STAMP_CHECKED) + endif +endif + +ifneq ($(if $(DUMP),1,$(__quilt_inc)),1) +__quilt_inc:=1 + +PATCH_DIR?=./patches +FILES_DIR?=./files +HOST_PATCH_DIR?=$(PATCH_DIR) +HOST_FILES_DIR?=$(FILES_DIR) + +QUILT_CMD:=quilt --quiltrc=- + +define filter_series +sed -e s,\\\#.*,, $(1) | grep -E \[a-zA-Z0-9\] +endef + +define PatchDir/Quilt + @mkdir -p "$(1)/patches$(if $(3),/$(patsubst %/,%,$(3)))" + @if [ -s "$(2)/series" ]; then \ + mkdir -p "$(1)/patches/$(3)"; \ + cp "$(2)/series" "$(1)/patches/$(3)"; \ + fi + @for patch in $$$$( (cd "$(2)" && if [ -f series ]; then $(call filter_series,series); else ls | sort; fi; ) 2>/dev/null ); do ( \ + cp "$(2)/$$$$patch" "$(1)/patches/$(3)"; \ + echo "$(3)$$$$patch" >> "$(1)/patches/series"; \ + ); done + $(if $(3),@echo $(3) >> "$(1)/patches/.subdirs") +endef + +define PatchDir/Default + @if [ -d "$(2)" ] && [ "$$$$(ls $(2) | wc -l)" -gt 0 ]; then \ + export PATCH="$(PATCH)"; \ + if [ -s "$(2)/series" ]; then \ + $(call filter_series,$(2)/series) | xargs -n1 \ + $(KPATCH) "$(1)" "$(2)"; \ + else \ + $(KPATCH) "$(1)" "$(2)"; \ + fi; \ + fi +endef + +define PatchDir +$(call PatchDir/$(if $(strip $(QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3))) +endef + +define HostPatchDir +$(call PatchDir/$(if $(strip $(HOST_QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3))) +endef + +define Host/Patch/Default + $(if $(HOST_QUILT),rm -rf $(HOST_BUILD_DIR)/patches; mkdir -p $(HOST_BUILD_DIR)/patches) + $(call HostPatchDir,$(HOST_BUILD_DIR),$(HOST_PATCH_DIR),) + $(if $(HOST_QUILT),touch $(HOST_BUILD_DIR)/.quilt_used) +endef + +define Build/Patch/Default + $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches) + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),) + $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used) +endef + +kernel_files=$(foreach fdir,$(GENERIC_FILES_DIR) $(FILES_DIR),$(fdir)/.) +define Kernel/Patch/Default + $(if $(QUILT),rm -rf $(LINUX_DIR)/patches; mkdir -p $(LINUX_DIR)/patches) + $(if $(kernel_files),$(CP) $(kernel_files) $(LINUX_DIR)/) + find $(LINUX_DIR)/ -name \*.rej -or -name \*.orig | $(XARGS) rm -f + if [ -d $(GENERIC_PLATFORM_DIR)/patches$(if $(wildcard $(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) ]; then \ + echo "generic patches directory is present. please move your patches to the pending directory" ; \ + exit 1; \ + fi + $(call PatchDir,$(LINUX_DIR),$(GENERIC_BACKPORT_DIR),generic-backport/) + $(call PatchDir,$(LINUX_DIR),$(GENERIC_PATCH_DIR),generic/) + $(call PatchDir,$(LINUX_DIR),$(GENERIC_HACK_DIR),generic-hack/) + $(call PatchDir,$(LINUX_DIR),$(PATCH_DIR),platform/) +endef + +define Quilt/RefreshDir + mkdir -p $(2) + -rm -f $(2)/* 2>/dev/null >/dev/null + @( \ + for patch in $$$$($(if $(3),grep "^$(3)",cat) $(1)/patches/series | awk '{print $$$$1}'); do \ + $(CP) -v "$(1)/patches/$$$$patch" $(2); \ + done; \ + ) +endef + +define Quilt/Refresh/Host + $(call Quilt/RefreshDir,$(HOST_BUILD_DIR),$(HOST_PATCH_DIR)) +endef + +define Quilt/Refresh/Package + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)) +endef + +define Quilt/Refresh/Kernel + @[ -z "$$(grep -v '^generic/' $(PKG_BUILD_DIR)/patches/series | grep -v '^platform/')" ] || { \ + echo "All kernel patches must start with either generic/ or platform/"; \ + false; \ + } + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_BACKPORT_DIR),generic-backport/) + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/) + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_HACK_DIR),generic-hack/) + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/) +endef + +define Quilt/Template + $($(2)STAMP_CONFIGURED): $($(2)STAMP_CHECKED) + $(if $(NO_RECONFIGURE),$($(2)STAMP_BUILT),$($(2)STAMP_CONFIGURED)): FORCE + $($(2)STAMP_CHECKED): $($(2)STAMP_PREPARED) + if [ -s "$(1)/patches/series" ]; then \ + (cd "$(1)"; \ + if $(QUILT_CMD) next >/dev/null 2>&1; then \ + $(QUILT_CMD) push -a; \ + else \ + $(QUILT_CMD) top >/dev/null 2>&1; \ + fi \ + ); \ + fi + touch "$$@" + + $(3)quilt-check: $($(2)STAMP_PREPARED) FORCE + @[ -f "$(1)/.quilt_used" ] || { \ + echo "The source directory was not unpacked using quilt. Please rebuild with QUILT=1"; \ + false; \ + } + @[ -f "$(1)/patches/series" ] || { \ + echo "The source directory contains no quilt patches."; \ + false; \ + } + @[ -n "$$$$(ls $(1)/patches/series)" -o \ + "$$$$(cat $(1)/patches/series | $(MKHASH) md5)" = "$$(sort $(1)/patches/series | $(MKHASH) md5)" ] || { \ + echo "The patches are not sorted in the right order. Please fix."; \ + false; \ + } + + $(3)refresh: $(3)quilt-check + @cd "$(1)"; $(QUILT_CMD) pop -a -f >/dev/null 2>/dev/null + @cd "$(1)"; while $(QUILT_CMD) next 2>/dev/null >/dev/null && $(QUILT_CMD) push; do \ + QUILT_DIFF_OPTS="-p" $(QUILT_CMD) refresh -p ab --no-index --no-timestamps; \ + done; ! $(QUILT_CMD) next 2>/dev/null >/dev/null + $(Quilt/Refresh/$(4)) + + $(3)update: $(3)quilt-check + $(Quilt/Refresh/$(4)) +endef + +Build/Quilt=$(call Quilt/Template,$(PKG_BUILD_DIR),,,$(if $(TARGET_BUILD),Kernel,Package)) +Host/Quilt=$(call Quilt/Template,$(HOST_BUILD_DIR),HOST_,host-,Host) + +endif diff --git a/include/rootfs.mk b/include/rootfs.mk new file mode 100644 index 0000000..f2ed648 --- /dev/null +++ b/include/rootfs.mk @@ -0,0 +1,101 @@ +ifdef CONFIG_USE_MKLIBS + define mklibs + rm -rf $(TMP_DIR)/mklibs-progs $(TMP_DIR)/mklibs-out + # first find all programs and add them to the mklibs list + find $(STAGING_DIR_ROOT) -type f -perm /100 -exec \ + file -r -N -F '' {} + | \ + awk ' /executable.*dynamically/ { print $$1 }' > $(TMP_DIR)/mklibs-progs + # find all loadable objects that are not regular libraries and add them to the list as well + find $(STAGING_DIR_ROOT) -type f -name \*.so\* -exec \ + file -r -N -F '' {} + | \ + awk ' /shared object/ { print $$1 }' > $(TMP_DIR)/mklibs-libs + mkdir -p $(TMP_DIR)/mklibs-out + $(STAGING_DIR_HOST)/bin/mklibs -D \ + -d $(TMP_DIR)/mklibs-out \ + --sysroot $(STAGING_DIR_ROOT) \ + `cat $(TMP_DIR)/mklibs-libs | sed 's:/*[^/]\+/*$$::' | uniq | sed 's:^$(STAGING_DIR_ROOT):-L :'` \ + --ldlib $(patsubst $(STAGING_DIR_ROOT)/%,/%,$(firstword $(wildcard \ + $(foreach name,ld-uClibc.so.* ld-linux.so.* ld-*.so ld-musl-*.so.*, \ + $(STAGING_DIR_ROOT)/lib/$(name) \ + )))) \ + --target $(REAL_GNU_TARGET_NAME) \ + `cat $(TMP_DIR)/mklibs-progs $(TMP_DIR)/mklibs-libs` 2>&1 + $(RSTRIP) $(TMP_DIR)/mklibs-out + for lib in `ls $(TMP_DIR)/mklibs-out/*.so.* 2>/dev/null`; do \ + LIB="$${lib##*/}"; \ + DEST="`ls "$(1)/lib/$$LIB" "$(1)/usr/lib/$$LIB" 2>/dev/null`"; \ + [ -n "$$DEST" ] || continue; \ + echo "Copying stripped library $$lib to $$DEST"; \ + cp "$$lib" "$$DEST" || exit 1; \ + done + endef +endif + +# where to build (and put) .ipk packages +opkg = \ + IPKG_NO_SCRIPT=1 \ + IPKG_INSTROOT=$(1) \ + TMPDIR=$(1)/tmp \ + $(STAGING_DIR_HOST)/bin/opkg \ + --offline-root $(1) \ + --force-postinstall \ + --add-dest root:/ \ + --add-arch all:100 \ + --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200 + +TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD) + +ifdef CONFIG_CLEAN_IPKG + define clean_ipkg + -find $(1)/usr/lib/opkg/info -type f -and -not -name '*.control' -delete + -sed -i -ne '/^Require-User: /p' $(1)/usr/lib/opkg/info/*.control + awk ' \ + BEGIN { conffiles = 0; print "Conffiles:" } \ + /^Conffiles:/ { conffiles = 1; next } \ + !/^ / { conffiles = 0; next } \ + conffiles == 1 { print } \ + ' $(1)/usr/lib/opkg/status >$(1)/usr/lib/opkg/status.new + mv $(1)/usr/lib/opkg/status.new $(1)/usr/lib/opkg/status + -find $(1)/usr/lib/opkg -empty -delete + endef +endif + +define prepare_rootfs + $(if $(2),@if [ -d '$(2)' ]; then \ + $(call file_copy,$(2)/.,$(1)); \ + fi) + @mkdir -p $(1)/etc/rc.d + @mkdir -p $(1)/var/lock + @( \ + cd $(1); \ + for script in ./usr/lib/opkg/info/*.postinst; do \ + IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \ + ret=$$?; \ + if [ $$ret -ne 0 ]; then \ + echo "postinst script $$script has failed with exit code $$ret" >&2; \ + exit 1; \ + fi; \ + done; \ + for script in ./etc/init.d/*; do \ + grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ + if ! echo " $(3) " | grep -q " $$(basename $$script) "; then \ + IPKG_INSTROOT=$(1) $$(command -v bash) ./etc/rc.common $$script enable; \ + echo "Enabling" $$(basename $$script); \ + else \ + IPKG_INSTROOT=$(1) $$(command -v bash) ./etc/rc.common $$script disable; \ + echo "Disabling" $$(basename $$script); \ + fi; \ + done || true \ + ) + $(if $(SOURCE_DATE_EPOCH),sed -i "s/Installed-Time: .*/Installed-Time: $(SOURCE_DATE_EPOCH)/" $(1)/usr/lib/opkg/status) + @-find $(1) -name CVS -o -name .svn -o -name .git -o -name '.#*' | $(XARGS) rm -rf + rm -rf \ + $(1)/boot \ + $(1)/tmp/* \ + $(1)/usr/lib/opkg/info/*.postinst* \ + $(1)/usr/lib/opkg/lists/* \ + $(1)/var/lock/*.lock + $(call clean_ipkg,$(1)) + $(call mklibs,$(1)) + $(if $(SOURCE_DATE_EPOCH),find $(1)/ -mindepth 1 -execdir touch -hcd "@$(SOURCE_DATE_EPOCH)" "{}" +) +endef diff --git a/include/scan.awk b/include/scan.awk new file mode 100644 index 0000000..0f02782 --- /dev/null +++ b/include/scan.awk @@ -0,0 +1,19 @@ +BEGIN { FS="/" } +$1 ~ /^feeds/ { FEEDS[$NF]=$0 } +$1 !~ /^feeds/ { PKGS[$NF]=$0 } +END { + # Filter-out OpenWrt packages which have a feeds equivalent + for (pkg in PKGS) + if (pkg in FEEDS) { + print PKGS[pkg] > of + delete PKGS[pkg] + } + n = asort(PKGS) + for (i=1; i <= n; i++) { + print PKGS[i] + } + n = asort(FEEDS) + for (i=1; i <= n; i++){ + print FEEDS[i] + } +} diff --git a/include/scan.mk b/include/scan.mk new file mode 100644 index 0000000..5032afa --- /dev/null +++ b/include/scan.mk @@ -0,0 +1,120 @@ +include $(TOPDIR)/include/verbose.mk +include $(TOPDIR)/rules.mk +TMP_DIR:=$(TOPDIR)/tmp + +all: $(TMP_DIR)/.$(SCAN_TARGET) + +SCAN_TARGET ?= packageinfo +SCAN_NAME ?= package +SCAN_DIR ?= package +TARGET_STAMP:=$(TMP_DIR)/info/.files-$(SCAN_TARGET).stamp +FILELIST:=$(TMP_DIR)/info/.files-$(SCAN_TARGET)-$(SCAN_COOKIE) +OVERRIDELIST:=$(TMP_DIR)/info/.overrides-$(SCAN_TARGET)-$(SCAN_COOKIE) + +export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH) + +define feedname +$(if $(patsubst feeds/%,,$(1)),,$(word 2,$(subst /, ,$(1)))) +endef + +ifeq ($(SCAN_NAME),target) + SCAN_DEPS=image/Makefile profiles/*.mk $(TOPDIR)/include/kernel*.mk $(TOPDIR)/include/target.mk image/*.mk +else + SCAN_DEPS=$(TOPDIR)/include/package*.mk +ifneq ($(call feedname,$(SCAN_DIR)),) + SCAN_DEPS += $(TOPDIR)/feeds/$(call feedname,$(SCAN_DIR))/*.mk +endif +endif + +ifeq ($(IS_TTY),1) + ifneq ($(strip $(NO_COLOR)),1) + define progress + printf "\033[M\r$(1)" >&2; + endef + else + define progress + printf "\r$(1)" >&2; + endef + endif +else + define progress + :; + endef +endif + +define PackageDir + $(TMP_DIR)/.$(SCAN_TARGET): $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1) + $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1): $(SCAN_DIR)/$(2)/Makefile $(foreach DEP,$(DEPS_$(SCAN_DIR)/$(2)/Makefile) $(SCAN_DEPS),$(wildcard $(if $(filter /%,$(DEP)),$(DEP),$(SCAN_DIR)/$(2)/$(DEP)))) + { \ + $$(call progress,Collecting $(SCAN_NAME) info: $(SCAN_DIR)/$(2)) \ + echo Source-Makefile: $(SCAN_DIR)/$(2)/Makefile; \ + $(if $(3),echo Override: $(3),true); \ + $(NO_TRACE_MAKE) --no-print-dir -r DUMP=1 FEED="$(call feedname,$(2))" -C $(SCAN_DIR)/$(2) $(SCAN_MAKEOPTS) 2>/dev/null || { \ + mkdir -p "$(TOPDIR)/logs/$(SCAN_DIR)/$(2)"; \ + $(NO_TRACE_MAKE) --no-print-dir -r DUMP=1 FEED="$(call feedname,$(2))" -C $(SCAN_DIR)/$(2) $(SCAN_MAKEOPTS) > $(TOPDIR)/logs/$(SCAN_DIR)/$(2)/dump.txt 2>&1; \ + $$(call progress,ERROR: please fix $(SCAN_DIR)/$(2)/Makefile - see logs/$(SCAN_DIR)/$(2)/dump.txt for details\n) \ + rm -f $$@; \ + }; \ + echo; \ + } > $$@.tmp + mv $$@.tmp $$@ +endef + +$(OVERRIDELIST): + rm -f $(TMP_DIR)/info/.overrides-$(SCAN_TARGET)-* + touch $@ + +ifeq ($(SCAN_NAME),target) + GREP_STRING=BuildTarget +else + GREP_STRING=(Build/DefaultTargets|BuildPackage|KernelPackage) +endif + +$(FILELIST): $(OVERRIDELIST) + rm -f $(TMP_DIR)/info/.files-$(SCAN_TARGET)-* + find -L $(SCAN_DIR) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) $(SCAN_EXTRA) -name Makefile | xargs grep -aHE 'call $(GREP_STRING)' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq | awk -v of=$(OVERRIDELIST) -f include/scan.awk > $@ + +$(TMP_DIR)/info/.files-$(SCAN_TARGET).mk: $(FILELIST) + ( \ + cat $< | awk '{print "$(SCAN_DIR)/" $$0 "/Makefile" }' | xargs grep -HE '^ *SCAN_DEPS *= *' | awk -F: '{ gsub(/^.*DEPS *= */, "", $$2); print "DEPS_" $$1 "=" $$2 }'; \ + awk -F/ -v deps="$$DEPS" -v of="$(OVERRIDELIST)" ' \ + BEGIN { \ + while (getline < (of)) \ + override[$$NF]=$$0; \ + close(of) \ + } \ + { \ + info=$$0; \ + gsub(/\//, "_", info); \ + dir=$$0; \ + pkg=""; \ + if($$NF in override) \ + pkg=override[$$NF]; \ + print "$$(eval $$(call PackageDir," info "," dir "," pkg "))"; \ + } ' < $<; \ + true; \ + ) > $@.tmp + mv $@.tmp $@ + +-include $(TMP_DIR)/info/.files-$(SCAN_TARGET).mk + +$(TARGET_STAMP):: + +( \ + $(NO_TRACE_MAKE) $(FILELIST); \ + MD5SUM=$$(cat $(FILELIST) $(OVERRIDELIST) | $(MKHASH) md5 | awk '{print $$1}'); \ + [ -f "$@.$$MD5SUM" ] || { \ + rm -f $@.*; \ + touch $@.$$MD5SUM; \ + touch $@; \ + } \ + ) + +$(TMP_DIR)/.$(SCAN_TARGET): $(TARGET_STAMP) + $(call progress,Collecting $(SCAN_NAME) info: merging...) + -cat $(FILELIST) | awk '{gsub(/\//, "_", $$0);print "$(TMP_DIR)/info/.$(SCAN_TARGET)-" $$0}' | xargs cat > $@ 2>/dev/null + $(call progress,Collecting $(SCAN_NAME) info: done) + echo + +FORCE: +.PHONY: FORCE +.NOTPARALLEL: diff --git a/include/shell.sh b/include/shell.sh new file mode 100644 index 0000000..6ee0cf6 --- /dev/null +++ b/include/shell.sh @@ -0,0 +1,15 @@ +getvar() { + eval "echo \"\${$1}\"" +} + +var2file() { + local var + eval "var=\"\${$1}\"" + if [ -n "$var" ]; then echo "$var" > "$2"; fi +} + +isset() { + local var + eval "var=\"\${$1}\"" + [ -n "$var" ] +} diff --git a/include/site/aarch64 b/include/site/aarch64 new file mode 100644 index 0000000..c5aa9c5 --- /dev/null +++ b/include/site/aarch64 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/aarch64_be b/include/site/aarch64_be new file mode 100644 index 0000000..19e75ab --- /dev/null +++ b/include/site/aarch64_be @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/arc b/include/site/arc new file mode 100644 index 0000000..72a3805 --- /dev/null +++ b/include/site/arc @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/arm b/include/site/arm new file mode 100644 index 0000000..72a3805 --- /dev/null +++ b/include/site/arm @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/armeb b/include/site/armeb new file mode 100644 index 0000000..a5626a7 --- /dev/null +++ b/include/site/armeb @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/darwin b/include/site/darwin new file mode 100644 index 0000000..ec38f67 --- /dev/null +++ b/include/site/darwin @@ -0,0 +1,2 @@ +ac_cv_func_futimens=no +ac_cv_func_utimensat=no diff --git a/include/site/i386 b/include/site/i386 new file mode 100644 index 0000000..78f1557 --- /dev/null +++ b/include/site/i386 @@ -0,0 +1,3 @@ +#!/bin/sh +. $TOPDIR/include/site/i486 + diff --git a/include/site/i486 b/include/site/i486 new file mode 100644 index 0000000..72a3805 --- /dev/null +++ b/include/site/i486 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/i686 b/include/site/i686 new file mode 100644 index 0000000..78f1557 --- /dev/null +++ b/include/site/i686 @@ -0,0 +1,3 @@ +#!/bin/sh +. $TOPDIR/include/site/i486 + diff --git a/include/site/linux b/include/site/linux new file mode 100644 index 0000000..b193d25 --- /dev/null +++ b/include/site/linux @@ -0,0 +1,78 @@ +ac_atomic_add=yes +ac_atomic_sub=yes +ac_cv_c_gettext_without_libintl=yes +ac_cv_c_long_double=no +ac_cv_conv_longlong_to_float=yes +ac_cv_file__dev_zero=yes +ac_cv_func___va_copy=no +ac_cv_func__exit=yes +ac_cv_func_bcopy=yes +ac_cv_func_bzero=yes +ac_cv_func_bcmp=yes +ac_cv_func_creal=yes +ac_cv_func_cimag=yes +ac_cv_func_fchmod=yes +ac_cv_func_getaddrinfo=yes +ac_cv_func_getcwd=yes +ac_cv_func_getdomainname=yes +ac_cv_func_getpgrp_void=yes +ac_cv_func_getpwuid_r=yes +ac_cv_func_gettimeofday=yes +ac_cv_func_index=yes +ac_cv_func_lstat_dereferences_slashed_symlink=yes +ac_cv_func_lstat_empty_string_bug=no +ac_cv_func_lstat=yes +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_malloc_works=yes +ac_cv_func_memcmp_clean=yes +ac_cv_func_memcmp_working=yes +ac_cv_func_posix_getgrgid_r=yes +ac_cv_func_posix_getpwuid_r=yes +ac_cv_func_psignal=yes +ac_cv_func_pthread_key_delete=yes +ac_cv_func_realloc_0_nonnull=yes +ac_cv_func_realloc_works=yes +ac_cv_func_rename=yes +ac_cv_func_rindex=yes +ac_cv_func_setlocale=yes +ac_cv_func_setgrent_void=yes +ac_cv_func_setpgrp_void=yes +ac_cv_func_setresuid=no +ac_cv_func_setvbuf_reversed=no +ac_cv_func_stat_empty_string_bug=no +ac_cv_func_stat_ignores_trailing_slash=no +ac_cv_func_strerror=yes +ac_cv_func_strftime=yes +ac_cv_func_utimes=yes +ac_cv_func___adjtimex=yes +ac_cv_func_va_copy=no +ac_cv_func_vsnprintf=yes +ac_cv_have_accrights_in_msghdr=no +ac_cv_have_broken_snprintf=no +ac_cv_have_control_in_msghdr=yes +ac_cv_have_decl_sys_siglist=no +ac_cv_have_openpty_ctty_bug=yes +ac_cv_have_space_d_name_in_struct_dirent=yes +ac_cv_header_netinet_sctp_h=no +ac_cv_header_netinet_sctp_uio_h=no +ac_cv_int64_t=yes +ac_cv_lbl_unaligned_fail=no +ac_cv_linux_kernel_pppoe=yes +ac_cv_linux_vers=2 +ac_cv_pack_bitfields_reversed=yes +ac_cv_path_LDCONFIG= +ac_cv_regexec_segfault_emptystr=no +ac_cv_sctp=no +ac_cv_sys_restartable_syscalls=yes +ac_cv_time_r_type=POSIX +ac_cv_type_suseconds_t=yes +ac_cv_uchar=no +ac_cv_uint=yes +ac_cv_uint64_t=yes +ac_cv_ulong=yes +ac_cv_ushort=yes +ac_cv_va_copy=C99 +ac_cv_va_val_copy=yes +as_cv_unaligned_access=yes +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_realloc_0_nonnull=yes diff --git a/include/site/m68k b/include/site/m68k new file mode 100644 index 0000000..0037600 --- /dev/null +++ b/include/site/m68k @@ -0,0 +1,28 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/mips b/include/site/mips new file mode 100644 index 0000000..a5626a7 --- /dev/null +++ b/include/site/mips @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/mips64 b/include/site/mips64 new file mode 100644 index 0000000..19e75ab --- /dev/null +++ b/include/site/mips64 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/mips64el b/include/site/mips64el new file mode 100644 index 0000000..c5aa9c5 --- /dev/null +++ b/include/site/mips64el @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/mipsel b/include/site/mipsel new file mode 100644 index 0000000..72a3805 --- /dev/null +++ b/include/site/mipsel @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/powerpc b/include/site/powerpc new file mode 100644 index 0000000..a5626a7 --- /dev/null +++ b/include/site/powerpc @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/powerpc64 b/include/site/powerpc64 new file mode 100644 index 0000000..6a66346 --- /dev/null +++ b/include/site/powerpc64 @@ -0,0 +1,26 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof_char=1 +ac_cv_sizeof_char_p=8 +ac_cv_sizeof_double=8 +ac_cv_sizeof_float=4 +ac_cv_sizeof_int=4 +ac_cv_sizeof_long=8 +ac_cv_sizeof_long_double=16 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long_long_int=8 +ac_cv_sizeof_short=2 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_signed_char=1 +ac_cv_sizeof_unsigned_char=1 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_int=8 +ac_cv_sizeof_unsigned_long_long_int=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_unsigned_short_int=2 +ac_cv_sizeof_void_p=8 diff --git a/include/site/sparc b/include/site/sparc new file mode 100644 index 0000000..a5626a7 --- /dev/null +++ b/include/site/sparc @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/include/site/x86_64 b/include/site/x86_64 new file mode 100644 index 0000000..b8d581d --- /dev/null +++ b/include/site/x86_64 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/include/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/include/subdir.mk b/include/subdir.mk new file mode 100644 index 0000000..95009f8 --- /dev/null +++ b/include/subdir.mk @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2020 OpenWrt.org + +ifeq ($(MAKECMDGOALS),prereq) + SUBTARGETS:=prereq + PREREQ_ONLY:=1 +else + SUBTARGETS:=$(DEFAULT_SUBDIR_TARGETS) +endif + +subtarget-default = $(filter-out ., \ + $(if $($(1)/builddirs-$(2)),$($(1)/builddirs-$(2)), \ + $(if $($(1)/builddirs-default),$($(1)/builddirs-default), \ + $($(1)/builddirs)))) + +define subtarget + $(call warn_eval,$(1),t,T,$(1)/$(2): $($(1)/) $(foreach bd,$(call subtarget-default,$(1),$(2)),$(1)/$(bd)/$(2))) + +endef + +define ERROR + ($(call MESSAGE, $(2)); $(if $(BUILD_LOG), echo "$(2)" >> $(BUILD_LOG_DIR)/$(1)/error.txt;) $(if $(3),, exit 1;)) +endef + +lastdir=$(word $(words $(subst /, ,$(1))),$(subst /, ,$(1))) +diralias=$(if $(findstring $(1),$(call lastdir,$(1))),,$(call lastdir,$(1))) + +subdir_make_opts = \ + $(if $(SUBDIR_MAKE_DEBUG),-d) -r -C $(1) \ + BUILD_SUBDIR="$(1)" \ + BUILD_VARIANT="$(4)" \ + ALL_VARIANTS="$(5)" + +# 1: subdir +# 2: target +# 3: build type +# 4: build variant +# 5: all variants +log_make = \ + $(if $(call debug,$(1),v),,@)+ \ + $(if $(BUILD_LOG), \ + set -o pipefail; \ + mkdir -p $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4));) \ + $(SCRIPT_DIR)/time.pl "time: $(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2)" \ + $$(SUBMAKE) $(subdir_make_opts) $(if $(3),$(3)-)$(2) \ + $(if $(BUILD_LOG),SILENT= 2>&1 | tee $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2).txt) + +ifdef CONFIG_AUTOREMOVE +rebuild_check = \ + @-$$(NO_TRACE_MAKE) $(subdir_make_opts) check-depends >/dev/null 2>/dev/null; \ + $(if $(BUILD_LOG),mkdir -p $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4));) \ + $$(NO_TRACE_MAKE) $(if $(BUILD_LOG),-d) -q $(subdir_make_opts) .$(if $(3),$(3)-)$(2) \ + > $(if $(BUILD_LOG),$(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4))/check-$(if $(3),$(3)-)$(2).txt,/dev/null) 2>&1 || \ + $$(SUBMAKE) $(subdir_make_opts) clean-build >/dev/null 2>/dev/null + +endif + +# Parameters: +define subdir + $(call warn,$(1),d,D $(1)) + $(foreach bd,$($(1)/builddirs), + $(call warn,$(1),d,BD $(1)/$(bd)) + $(foreach target,$(SUBTARGETS) $($(1)/subtargets), + $(foreach btype,$(buildtypes-$(bd)), + $(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(btype)/$(target): $(if $(NO_DEPS)$(QUILT),,$($(1)/$(bd)/$(btype)/$(target)) $(call $(1)//$(btype)/$(target),$(1)/$(bd)/$(btype)))) + $(call log_make,$(1)/$(bd),$(target),$(btype),$(filter-out __default,$(variant)),$($(1)/$(bd)/variants)) \ + || $(call ERROR,$(2), ERROR: $(1)/$(bd) [$(btype)] failed to build.,$(findstring $(bd),$($(1)/builddirs-ignore-$(btype)-$(target)))) + $(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(btype)/$(target): $(1)/$(bd)/$(btype)/$(target))) + ) + $(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(target): $(if $(NO_DEPS)$(QUILT),,$($(1)/$(bd)/$(target)) $(call $(1)//$(target),$(1)/$(bd)))) + $(foreach variant,$(filter-out *,$(if $(BUILD_VARIANT),$(BUILD_VARIANT),$(if $(strip $($(1)/$(bd)/variants)),$($(1)/$(bd)/variants),$(if $($(1)/$(bd)/default-variant),$($(1)/$(bd)/default-variant),__default)))), + $(if $(BUILD_LOG),@mkdir -p $(BUILD_LOG_DIR)/$(1)/$(bd)/$(filter-out __default,$(variant))) + $(if $($(1)/autoremove),$(call rebuild_check,$(1)/$(bd),$(target),,$(filter-out __default,$(variant)),$($(1)/$(bd)/variants))) + $(call log_make,$(1)/$(bd),$(target),,$(filter-out __default,$(variant)),$($(1)/$(bd)/variants)) \ + || $(call ERROR,$(1), ERROR: $(1)/$(bd) failed to build$(if $(filter-out __default,$(variant)), (build variant: $(variant))).,$(findstring $(bd),$($(1)/builddirs-ignore-$(target)))) + ) + $(if $(PREREQ_ONLY)$(DUMP_TARGET_DB),, + # aliases + $(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(target): $(1)/$(bd)/$(target))) + ) + ) + ) + $(foreach target,$(SUBTARGETS) $($(1)/subtargets),$(call subtarget,$(1),$(target))) +endef + +ifndef DUMP_TARGET_DB +# Parameters: +define stampfile + $(1)/stamp-$(3):=$(if $(6),$(6),$(STAGING_DIR))/stamp/.$(2)_$(3)$(5) + $$($(1)/stamp-$(3)): $(TMP_DIR)/.build $(4) + @+$(SCRIPT_DIR)/timestamp.pl -n $$($(1)/stamp-$(3)) $(1) $(4) || \ + $(MAKE) $(if $(QUIET),--no-print-directory) $$($(1)/flags-$(3)) $(1)/$(3) + @mkdir -p $$$$(dirname $$($(1)/stamp-$(3))) + @touch $$($(1)/stamp-$(3)) + + $$(if $(call debug,$(1),v),,.SILENT: $$($(1)/stamp-$(3))) + + .PRECIOUS: $$($(1)/stamp-$(3)) # work around a make bug + + $(1)//clean:=$(1)/stamp-$(3)/clean + $(1)/stamp-$(3)/clean: FORCE + @rm -f $$($(1)/stamp-$(3)) + +endef +endif diff --git a/include/target.mk b/include/target.mk new file mode 100644 index 0000000..708ba39 --- /dev/null +++ b/include/target.mk @@ -0,0 +1,359 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2008 OpenWrt.org +# Copyright (C) 2016 LEDE Project + +ifneq ($(__target_inc),1) +__target_inc=1 + +# default device type +DEVICE_TYPE?=router + +# Default packages - the really basic set +DEFAULT_PACKAGES:=\ + base-files \ + ca-bundle \ + dropbear \ + fstools \ + libc \ + libgcc \ + libustream-wolfssl \ + logd \ + mtd \ + netifd \ + opkg \ + uci \ + uclient-fetch \ + urandom-seed \ + urngd + +ifneq ($(CONFIG_SELINUX),) +DEFAULT_PACKAGES+=busybox-selinux procd-selinux +else +DEFAULT_PACKAGES+=busybox procd +endif + +# include ujail on systems with enough storage +ifeq ($(CONFIG_SMALL_FLASH),) +DEFAULT_PACKAGES+=procd-ujail +endif + +# include seccomp ld-preload hooks if kernel supports it +ifneq ($(CONFIG_SECCOMP),) +DEFAULT_PACKAGES+=procd-seccomp +endif + +# For the basic set +DEFAULT_PACKAGES.basic:= +# For nas targets +DEFAULT_PACKAGES.nas:=\ + block-mount \ + fdisk \ + lsblk \ + mdadm +# For router targets +DEFAULT_PACKAGES.router:=\ + dnsmasq \ + firewall4 \ + nftables \ + kmod-nft-offload \ + odhcp6c \ + odhcpd-ipv6only \ + ppp \ + ppp-mod-pppoe + +ifneq ($(DUMP),) + all: dumpinfo +endif + +target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) +ifeq ($(DUMP),) + PLATFORM_DIR:=$(firstword $(wildcard $(TOPDIR)/target/linux/feeds/$(BOARD) $(TOPDIR)/target/linux/$(BOARD))) + SUBTARGET:=$(strip $(foreach subdir,$(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk)),$(if $(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(subdir))),$(subdir)))) +else + PLATFORM_DIR:=${CURDIR} + ifeq ($(SUBTARGETS),) + SUBTARGETS:=$(strip $(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk))) + endif +endif + +TARGETID:=$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET)) +PLATFORM_SUBDIR:=$(PLATFORM_DIR)$(if $(SUBTARGET),/$(SUBTARGET)) + +ifneq ($(TARGET_BUILD),1) + ifndef DUMP + include $(PLATFORM_DIR)/Makefile + ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + include $(PLATFORM_SUBDIR)/target.mk + endif + endif +else + ifneq ($(SUBTARGET),) + -include ./$(SUBTARGET)/target.mk + endif +endif + +# Add device specific packages (here below to allow device type set from subtarget) +DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) + +filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1)) +extra_packages = $(if $(filter wpad wpad-% nas,$(1)),iwinfo) + +define ProfileDefault + NAME:= + PRIORITY:= + PACKAGES:= +endef + +ifndef Profile +define Profile + $(eval $(call ProfileDefault)) + $(eval $(call Profile/$(1))) + dumpinfo : $(call shexport,Profile/$(1)/Description) + PACKAGES := $(filter-out -%,$(PACKAGES)) + DUMPINFO += \ + echo "Target-Profile: $(1)"; \ + $(if $(PRIORITY), echo "Target-Profile-Priority: $(PRIORITY)"; ) \ + echo "Target-Profile-Name: $(NAME)"; \ + echo "Target-Profile-Packages: $(PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES) $(PACKAGES))"; \ + echo "Target-Profile-Description:"; \ + echo "$$$$$$$$$(call shvar,Profile/$(1)/Description)"; \ + echo "@@"; \ + echo; +endef +endif + +ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + define IncludeProfiles + -include $(sort $(wildcard $(PLATFORM_DIR)/profiles/*.mk)) + -include $(sort $(wildcard $(PLATFORM_SUBDIR)/profiles/*.mk)) + endef +else + define IncludeProfiles + -include $(sort $(wildcard $(PLATFORM_DIR)/profiles/*.mk)) + endef +endif + +PROFILE?=$(call qstrip,$(CONFIG_TARGET_PROFILE)) + +ifeq ($(TARGET_BUILD),1) + ifneq ($(DUMP),) + $(eval $(call IncludeProfiles)) + endif +endif + +ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),) + include $(INCLUDE_DIR)/kernel-version.mk +endif + +GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic +GENERIC_BACKPORT_DIR := $(GENERIC_PLATFORM_DIR)/backport$(if $(wildcard $(GENERIC_PLATFORM_DIR)/backport-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) +GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/pending$(if $(wildcard $(GENERIC_PLATFORM_DIR)/pending-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) +GENERIC_HACK_DIR := $(GENERIC_PLATFORM_DIR)/hack$(if $(wildcard $(GENERIC_PLATFORM_DIR)/hack-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) +GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GENERIC_PLATFORM_DIR)/files-$(KERNEL_PATCHVER)),"$(dir)") + +__config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default +__config_list = $(firstword $(wildcard $(call __config_name_list,$(1)))) +find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list))) + +GENERIC_LINUX_CONFIG = $(call find_kernel_config,$(GENERIC_PLATFORM_DIR)) +LINUX_TARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_DIR)) +ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + LINUX_SUBTARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_SUBDIR)) +endif + +# config file list used for compiling +LINUX_KCONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(TOPDIR)/env/kernel-config) + +# default config list for reconfiguring +# defaults to subtarget if subtarget exists and target does not +# defaults to target otherwise +USE_SUBTARGET_CONFIG = $(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1)) + +LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG))) +LINUX_RECONFIG_TARGET = $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG),$(LINUX_TARGET_CONFIG)) + +CFG_TARGET = $(CONFIG_TARGET) +ifeq ($(CFG_TARGET),platform) + CFG_TARGET = target + $(warning Deprecation warning: use CONFIG_TARGET=target instead.) +else ifeq ($(CFG_TARGET),subtarget_platform) + CFG_TARGET = subtarget_target + $(warning Deprecation warning: use CONFIG_TARGET=subtarget_target instead.) +endif + +# select the config file to be changed by kernel_menuconfig/kernel_oldconfig +ifeq ($(CFG_TARGET),target) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG) +else ifeq ($(CFG_TARGET),subtarget) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_SUBTARGET_CONFIG) +else ifeq ($(CFG_TARGET),subtarget_target) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(LINUX_TARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG) +else ifeq ($(CFG_TARGET),env) + LINUX_RECONFIG_LIST = $(LINUX_KCONFIG_LIST) + LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config +else ifneq ($(strip $(CFG_TARGET)),) + $(error CONFIG_TARGET=$(CFG_TARGET) is invalid. Valid: target|subtarget|subtarget_target|env) +endif + +__linux_confcmd = $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1) + +LINUX_CONF_CMD = $(SCRIPT_DIR)/kconfig.pl $(call __linux_confcmd,$(LINUX_KCONFIG_LIST)) +LINUX_RECONF_CMD = $(SCRIPT_DIR)/kconfig.pl $(call __linux_confcmd,$(LINUX_RECONFIG_LIST)) +LINUX_RECONF_DIFF = $(SCRIPT_DIR)/kconfig.pl - '>' $(call __linux_confcmd,$(filter-out $(LINUX_RECONFIG_TARGET),$(LINUX_RECONFIG_LIST))) $(1) $(GENERIC_PLATFORM_DIR)/config-filter + +ifeq ($(DUMP),1) + BuildTarget=$(BuildTargets/DumpCurrent) + + CPU_CFLAGS = -Os -pipe + ifneq ($(findstring mips,$(ARCH)),) + ifneq ($(findstring mips64,$(ARCH)),) + CPU_TYPE ?= mips64 + else + CPU_TYPE ?= mips32 + endif + CPU_CFLAGS += -mno-branch-likely + CPU_CFLAGS_mips32 = -mips32 -mtune=mips32 + CPU_CFLAGS_mips64 = -mips64 -mtune=mips64 -mabi=64 + CPU_CFLAGS_mips64r2 = -mips64r2 -mtune=mips64r2 -mabi=64 + CPU_CFLAGS_4kec = -mips32r2 -mtune=4kec + CPU_CFLAGS_24kc = -mips32r2 -mtune=24kc + CPU_CFLAGS_74kc = -mips32r2 -mtune=74kc + CPU_CFLAGS_octeonplus = -march=octeon+ -mabi=64 + endif + ifeq ($(ARCH),i386) + CPU_TYPE ?= pentium-mmx + CPU_CFLAGS_pentium-mmx = -march=pentium-mmx + CPU_CFLAGS_pentium4 = -march=pentium4 + endif + ifneq ($(findstring arm,$(ARCH)),) + CPU_TYPE ?= xscale + endif + ifeq ($(ARCH),powerpc) + CPU_CFLAGS_603e:=-mcpu=603e + CPU_CFLAGS_8540:=-mcpu=8540 + CPU_CFLAGS_405:=-mcpu=405 + CPU_CFLAGS_440:=-mcpu=440 + CPU_CFLAGS_464fp:=-mcpu=464fp + endif + ifeq ($(ARCH),powerpc64) + CPU_TYPE ?= powerpc64 + CPU_CFLAGS_e5500:=-mcpu=e5500 + CPU_CFLAGS_powerpc64:=-mcpu=powerpc64 + endif + ifeq ($(ARCH),sparc) + CPU_TYPE = sparc + CPU_CFLAGS_ultrasparc = -mcpu=ultrasparc + endif + ifeq ($(ARCH),aarch64) + CPU_TYPE ?= generic + CPU_CFLAGS_generic = -mcpu=generic + CPU_CFLAGS_cortex-a53 = -mcpu=cortex-a53 + endif + ifeq ($(ARCH),arc) + CPU_TYPE ?= arc700 + CPU_CFLAGS += -matomic + CPU_CFLAGS_arc700 = -mcpu=arc700 + CPU_CFLAGS_archs = -mcpu=archs + endif + ifneq ($(CPU_TYPE),) + ifndef CPU_CFLAGS_$(CPU_TYPE) + $(warning CPU_TYPE "$(CPU_TYPE)" doesn't correspond to a known type) + endif + endif + DEFAULT_CFLAGS=$(strip $(CPU_CFLAGS) $(CPU_CFLAGS_$(CPU_TYPE)) $(CPU_CFLAGS_$(CPU_SUBTYPE))) + + ifneq ($(BOARD),) + TMP_CONFIG:=$(TMP_DIR)/.kconfig-$(call target_conf,$(TARGETID)) + $(TMP_CONFIG): $(LINUX_KCONFIG_LIST) + $(LINUX_CONF_CMD) > $@ || rm -f $@ + -include $(TMP_CONFIG) + .SILENT: $(TMP_CONFIG) + .PRECIOUS: $(TMP_CONFIG) + + ifdef KERNEL_TESTING_PATCHVER + ifneq ($(KERNEL_TESTING_PATCHVER),$(KERNEL_PATCHVER)) + FEATURES += testing-kernel + endif + endif + ifneq ($(CONFIG_OF),) + FEATURES += dt + endif + ifneq ($(CONFIG_GENERIC_GPIO)$(CONFIG_GPIOLIB),) + FEATURES += gpio + endif + ifneq ($(CONFIG_PCI),) + FEATURES += pci + endif + ifneq ($(CONFIG_PCIEPORTBUS),) + FEATURES += pcie + endif + ifneq ($(CONFIG_USB)$(CONFIG_USB_SUPPORT),) + ifneq ($(CONFIG_USB_ARCH_HAS_HCD)$(CONFIG_USB_EHCI_HCD),) + FEATURES += usb + endif + endif + ifneq ($(CONFIG_PCMCIA)$(CONFIG_PCCARD),) + FEATURES += pcmcia + endif + ifneq ($(CONFIG_VGA_CONSOLE)$(CONFIG_FB),) + FEATURES += display + endif + ifneq ($(CONFIG_RTC_CLASS),) + FEATURES += rtc + endif + ifneq ($(CONFIG_VIRTIO),) + FEATURES += virtio + endif + ifneq ($(CONFIG_CPU_MIPS32_R2),) + FEATURES += mips16 + endif + FEATURES += $(foreach v,6 7,$(if $(CONFIG_CPU_V$(v)),arm_v$(v))) + + # remove duplicates + FEATURES:=$(sort $(FEATURES)) + endif +endif + +CUR_SUBTARGET:=$(SUBTARGET) +ifeq ($(SUBTARGETS),) + CUR_SUBTARGET := default +endif + +define BuildTargets/DumpCurrent + .PHONY: dumpinfo + dumpinfo : export DESCRIPTION=$$(Target/Description) + dumpinfo: + @echo 'Target: $(TARGETID)'; \ + echo 'Target-Board: $(BOARD)'; \ + echo 'Target-Name: $(BOARDNAME)$(if $(SUBTARGETS),$(if $(SUBTARGET),))'; \ + echo 'Target-Arch: $(ARCH)'; \ + echo 'Target-Arch-Packages: $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(ARCH)$(if $(CPU_TYPE),_$(CPU_TYPE))$(if $(CPU_SUBTYPE),_$(CPU_SUBTYPE)))'; \ + echo 'Target-Features: $(FEATURES)'; \ + echo 'Target-Depends: $(DEPENDS)'; \ + echo 'Target-Optimization: $(if $(CFLAGS),$(CFLAGS),$(DEFAULT_CFLAGS))'; \ + echo 'CPU-Type: $(CPU_TYPE)$(if $(CPU_SUBTYPE),+$(CPU_SUBTYPE))'; \ + echo 'Linux-Version: $(LINUX_VERSION)'; \ + $(if $(LINUX_TESTING_VERSION),echo 'Linux-Testing-Version: $(LINUX_TESTING_VERSION)';) \ + echo 'Linux-Release: $(LINUX_RELEASE)'; \ + echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \ + $(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) \ + echo 'Target-Description:'; \ + echo "$$$$DESCRIPTION"; \ + echo '@@'; \ + echo 'Default-Packages: $(DEFAULT_PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES))'; \ + $(DUMPINFO) + $(if $(CUR_SUBTARGET),$(SUBMAKE) -r --no-print-directory -C image -s DUMP=1 SUBTARGET=$(CUR_SUBTARGET)) + $(if $(SUBTARGET),,@$(foreach SUBTARGET,$(SUBTARGETS),$(SUBMAKE) -s DUMP=1 SUBTARGET=$(SUBTARGET); )) +endef + +include $(INCLUDE_DIR)/kernel.mk +ifeq ($(TARGET_BUILD),1) + include $(INCLUDE_DIR)/kernel-build.mk + BuildTarget?=$(BuildKernel) +endif + +endif #__target_inc diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk new file mode 100644 index 0000000..b7a253b --- /dev/null +++ b/include/toolchain-build.mk @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2009-2020 OpenWrt.org + +override CONFIG_AUTOREBUILD= +override CONFIG_AUTOREMOVE= + +HOST_BUILD_PREFIX:=$(TOOLCHAIN_DIR) +BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN) + +include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/hardening.mk + +HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared + +define FixupLibdir + if [ -d $(1)/lib64 -a \! -L $(1)/lib64 ]; then \ + mkdir -p $(1)/lib; \ + mv $(1)/lib64/* $(1)/lib/; \ + rm -rf $(1)/lib64; \ + fi + ln -sf lib $(1)/lib64 +endef diff --git a/include/toplevel.mk b/include/toplevel.mk new file mode 100644 index 0000000..ce744bc --- /dev/null +++ b/include/toplevel.mk @@ -0,0 +1,269 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2007-2020 OpenWrt.org + +PREP_MK= OPENWRT_BUILD= QUIET=0 + +export IS_TTY=$(if $(MAKE_TERMOUT),1,0) + +include $(TOPDIR)/include/verbose.mk + +ifeq ($(SDK),1) + include $(TOPDIR)/include/version.mk +else + REVISION:=$(shell $(TOPDIR)/scripts/getver.sh) + SOURCE_DATE_EPOCH:=$(shell $(TOPDIR)/scripts/get_source_date_epoch.sh) +endif + +export REVISION +export SOURCE_DATE_EPOCH +export GIT_CONFIG_PARAMETERS='core.autocrlf=false' +export GIT_ASKPASS:=/bin/true +export MAKE_JOBSERVER=$(filter --jobserver%,$(MAKEFLAGS)) +export GNU_HOST_NAME:=$(shell $(TOPDIR)/scripts/config.guess) +export HOST_OS:=$(shell uname) +export HOST_ARCH:=$(shell uname -m) + +ifeq ($(HOST_OS),Darwin) + ifneq ($(filter /Applications/Xcode.app/% /Library/Developer/%,$(MAKE)),) + $(error Please use a newer version of GNU make. The version shipped by Apple is not supported) + endif +endif + +# prevent perforce from messing with the patch utility +unexport P4PORT P4USER P4CONFIG P4CLIENT + +# prevent user defaults for quilt from interfering +unexport QUILT_PATCHES QUILT_PATCH_OPTS + +unexport C_INCLUDE_PATH CROSS_COMPILE ARCH + +# prevent distro default LPATH from interfering +unexport LPATH + +# make sure that a predefined CFLAGS variable does not disturb packages +export CFLAGS= +export LDFLAGS= + +empty:= +space:= $(empty) $(empty) +path:=$(subst :,$(space),$(PATH)) +path:=$(filter-out .%,$(path)) +path:=$(subst $(space),:,$(path)) +export PATH:=$(path) + +unexport TAR_OPTIONS + +ifeq ($(FORCE),) + .config scripts/config/conf scripts/config/mconf: staging_dir/host/.prereq-build +endif + +SCAN_COOKIE?=$(shell echo $$$$) +export SCAN_COOKIE + +SUBMAKE:=umask 022; $(SUBMAKE) + +ULIMIT_FIX=_limit=`ulimit -n`; [ "$$_limit" = "unlimited" -o "$$_limit" -ge 1024 ] || ulimit -n 1024; + +prepare-mk: staging_dir/host/.prereq-build FORCE ; + +ifdef SDK + IGNORE_PACKAGES = linux +endif + +_ignore = $(foreach p,$(IGNORE_PACKAGES),--ignore $(p)) + +prepare-tmpinfo: FORCE + @+$(MAKE) -r -s staging_dir/host/.prereq-build $(PREP_MK) + mkdir -p tmp/info + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPTH=5 SCAN_EXTRA="" + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPTH=3 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1" + for type in package target; do \ + f=tmp/.$${type}info; t=tmp/.config-$${type}.in; \ + [ "$$t" -nt "$$f" ] || ./scripts/$${type}-metadata.pl $(_ignore) config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ + done + [ tmp/.config-feeds.in -nt tmp/.packageauxvars ] || ./scripts/feeds feed_config > tmp/.config-feeds.in + ./scripts/package-metadata.pl mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; } + ./scripts/package-metadata.pl pkgaux tmp/.packageinfo > tmp/.packageauxvars || { rm -f tmp/.packageauxvars; false; } + ./scripts/package-metadata.pl usergroup tmp/.packageinfo > tmp/.packageusergroup || { rm -f tmp/.packageusergroup; false; } + touch $(TOPDIR)/tmp/.build + +.config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo) + @+if [ \! -e .config ] || ! grep CONFIG_HAVE_DOT_CONFIG .config >/dev/null; then \ + [ -e $(HOME)/.openwrt/defconfig ] && cp $(HOME)/.openwrt/defconfig .config; \ + $(_SINGLE)$(NO_TRACE_MAKE) menuconfig $(PREP_MK); \ + fi + +ifeq ($(RECURSIVE_DEP_IS_ERROR),1) + KCONF_FLAGS=--fatalrecursive +endif +ifneq ($(DISTRO_PKG_CONFIG),) +scripts/config/%onf: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +endif +scripts/config/%onf: CFLAGS+= -O2 +scripts/config/%onf: FORCE + @$(_SINGLE)$(SUBMAKE) $(if $(findstring s,$(OPENWRT_VERBOSE)),,-s) \ + -C scripts/config $(notdir $@) + +$(eval $(call rdep,scripts/config,scripts/config/mconf)) + +config: scripts/config/conf prepare-tmpinfo FORCE + [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ + $< $(KCONF_FLAGS) Config.in + +config-clean: FORCE + $(_SINGLE)$(NO_TRACE_MAKE) -C scripts/config clean + +defconfig: scripts/config/conf prepare-tmpinfo FORCE + touch .config + @if [ ! -s .config -a -e $(HOME)/.openwrt/defconfig ]; then cp $(HOME)/.openwrt/defconfig .config; fi + [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ + $< $(KCONF_FLAGS) --defconfig=.config Config.in + +confdefault-y=allyes +confdefault-m=allmod +confdefault-n=allno +confdefault:=$(confdefault-$(CONFDEFAULT)) + +oldconfig: scripts/config/conf prepare-tmpinfo FORCE + [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ + $< $(KCONF_FLAGS) --$(if $(confdefault),$(confdefault),old)config Config.in + +menuconfig: scripts/config/mconf prepare-tmpinfo FORCE + if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ + cp $(HOME)/.openwrt/defconfig .config; \ + fi + [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ + $< Config.in + +nconfig: scripts/config/nconf prepare-tmpinfo FORCE + if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ + cp $(HOME)/.openwrt/defconfig .config; \ + fi + [ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \ + $< Config.in + +xconfig: scripts/config/qconf prepare-tmpinfo FORCE + if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \ + cp $(HOME)/.openwrt/defconfig .config; \ + fi + $< Config.in + +prepare_kernel_conf: .config toolchain/install FORCE + +ifeq ($(wildcard staging_dir/host/bin/quilt),) + prepare_kernel_conf: + @+$(SUBMAKE) -r tools/quilt/compile +else + prepare_kernel_conf: ; +endif + +kernel_oldconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux oldconfig + +ifneq ($(DISTRO_PKG_CONFIG),) +kernel_menuconfig: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +kernel_nconfig: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +kernel_xconfig: export PATH:=$(dir $(DISTRO_PKG_CONFIG)):$(PATH) +endif +kernel_menuconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux menuconfig + +kernel_nconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux nconfig + +kernel_xconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/linux xconfig + +staging_dir/host/.prereq-build: include/prereq-build.mk + mkdir -p tmp + @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prereq-build.mk prereq 2>/dev/null || { \ + echo "Prerequisite check failed. Use FORCE=1 to override."; \ + false; \ + } + ifneq ($(realpath $(TOPDIR)/include/prepare.mk),) + @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prepare.mk prepare 2>/dev/null || { \ + echo "Preparation failed."; \ + false; \ + } + endif + touch $@ + +printdb: FORCE + @$(_SINGLE)$(NO_TRACE_MAKE) -p $@ V=99 DUMP_TARGET_DB=1 2>&1 + +ifndef SDK + DOWNLOAD_DIRS = tools/download toolchain/download package/download target/download +else + DOWNLOAD_DIRS = package/download +endif + +download: .config FORCE $(if $(wildcard $(TOPDIR)/staging_dir/host/bin/flock),,tools/flock/compile) + @+$(foreach dir,$(DOWNLOAD_DIRS),$(SUBMAKE) $(dir);) + +clean dirclean: .config + @+$(SUBMAKE) -r $@ + +prereq:: prepare-tmpinfo .config + @+$(NO_TRACE_MAKE) -r -s $@ + +check: .config FORCE + @+$(NO_TRACE_MAKE) -r -s $@ QUIET= V=s + +val.%: FORCE + @+$(NO_TRACE_MAKE) -r -s $@ QUIET= V=s + +WARN_PARALLEL_ERROR = $(if $(BUILD_LOG),,$(and $(filter -j,$(MAKEFLAGS)),$(findstring s,$(OPENWRT_VERBOSE)))) + +ifeq ($(SDK),1) + +%:: + @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq + @./scripts/config/conf $(KCONF_FLAGS) --defconfig=.config Config.in + @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ + +else + +%:: + @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq + @( \ + cp .config tmp/.config; \ + ./scripts/config/conf $(KCONF_FLAGS) --defconfig=tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \ + if ./scripts/kconfig.pl '>' .config tmp/.config | grep -q CONFIG; then \ + printf "$(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n" >&2; \ + fi \ + ) + @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ $(if $(WARN_PARALLEL_ERROR), || { \ + printf "$(_R)Build failed - please re-run with -j1 to see the real error message$(_N)\n" >&2; \ + false; \ + } ) + +endif + +# update all feeds, re-create index files, install symlinks +package/symlinks: + ./scripts/feeds update -a + ./scripts/feeds install -a + +# re-create index files, install symlinks +package/symlinks-install: + ./scripts/feeds update -i + ./scripts/feeds install -a + +# remove all symlinks, don't touch ./feeds +package/symlinks-clean: + ./scripts/feeds uninstall -a + +help: + cat README.md + +distclean: + rm -rf bin build_dir .ccache .config* dl feeds key-build* logs package/feeds staging_dir tmp + @$(_SINGLE)$(SUBMAKE) -C scripts/config clean + +ifeq ($(findstring v,$(DEBUG)),) + .SILENT: symlinkclean clean dirclean distclean config-clean download help tmpinfo-clean .config scripts/config/mconf scripts/config/conf menuconfig staging_dir/host/.prereq-build tmp/.prereq-package prepare-tmpinfo +endif +.PHONY: help FORCE +.NOTPARALLEL: + diff --git a/include/trusted-firmware-a.mk b/include/trusted-firmware-a.mk new file mode 100644 index 0000000..14c03b9 --- /dev/null +++ b/include/trusted-firmware-a.mk @@ -0,0 +1,98 @@ +PKG_NAME ?= trusted-firmware-a +PKG_CPE_ID ?= cpe:/a:arm:trusted_firmware-a + +ifndef PKG_SOURCE_PROTO +PKG_SOURCE = trusted-firmware-a-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot +endif + +PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_TARGETS := bin +PKG_FLAGS:=nonshared + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=docs/license.rst + +PKG_BUILD_PARALLEL:=1 + +export GCC_HONOUR_COPTS=s + +define Package/trusted-firmware-a/install/default + $(CP) $(patsubst %,$(PKG_BUILD_DIR)/build/$(PLAT)/release/%,$(TFA_IMAGE)) $(1)/ +endef + +Package/trusted-firmware-a/install = $(Package/trusted-firmware-a/install/default) + +define Trusted-Firmware-A/Init + BUILD_TARGET:= + BUILD_SUBTARGET:= + BUILD_DEVICES:= + NAME:= + DEPENDS:= + HIDDEN:= + DEFAULT:= + PLAT:= + VARIANT:=$(1) + TFA_IMAGE:= +endef + +TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET)) + +define Build/Trusted-Firmware-A/Target + $(eval $(call Trusted-Firmware-A/Init,$(1))) + $(eval $(call Trusted-Firmware-A/Default,$(1))) + $(eval $(call Trusted-Firmware-A/$(1),$(1))) + + define Package/trusted-firmware-a-$(1) + SECTION:=boot + CATEGORY:=Boot Loaders + TITLE:=Trusted-Firmware-A for $(NAME) + VARIANT:=$(VARIANT) + DEPENDS:=@!IN_SDK $(DEPENDS) + HIDDEN:=$(HIDDEN) + ifneq ($(BUILD_TARGET),) + DEPENDS += @$(TARGET_DEP) + ifneq ($(BUILD_DEVICES),) + DEFAULT := y if ($(TARGET_DEP)_Default \ + $(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \ + $(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%,$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES))) + endif + endif + $(if $(DEFAULT),DEFAULT:=$(DEFAULT)) + URL:=https://www.trustedfirmware.org/projects/tf-a/ + endef + + define Package/trusted-firmware-a-$(1)/install + $$(Package/trusted-firmware-a/install) + endef +endef + +define Build/Configure/Trusted-Firmware-A + $(INSTALL_DIR) $(STAGING_DIR)/usr/include +endef + +define Build/Compile/Trusted-Firmware-A + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + OPENSSL_DIR=$(STAGING_DIR_HOST) \ + PLAT=$(PLAT) \ + BUILD_STRING="OpenWrt v$(PKG_VERSION)-$(PKG_RELEASE) ($(VARIANT))" \ + $(TFA_MAKE_FLAGS) +endef + +define BuildPackage/Trusted-Firmware-A/Defaults + Build/Configure/Default = $$$$(Build/Configure/Trusted-Firmware-A) + Build/Compile/Default = $$$$(Build/Compile/Trusted-Firmware-A) +endef + +define BuildPackage/Trusted-Firmware-A + $(eval $(call BuildPackage/Trusted-Firmware-A/Defaults)) + $(foreach type,$(if $(DUMP),$(TFA_TARGETS),$(BUILD_VARIANT)), \ + $(eval $(call Build/Trusted-Firmware-A/Target,$(type))) + ) + $(eval $(call Build/DefaultTargets)) + $(foreach type,$(if $(DUMP),$(TFA_TARGETS),$(BUILD_VARIANT)), \ + $(call BuildPackage,trusted-firmware-a-$(type)) + ) +endef diff --git a/include/u-boot.mk b/include/u-boot.mk new file mode 100644 index 0000000..8945e8e --- /dev/null +++ b/include/u-boot.mk @@ -0,0 +1,111 @@ +PKG_NAME ?= u-boot + +ifndef PKG_SOURCE_PROTO +PKG_SOURCE = $(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL = \ + https://mirror.cyberbits.eu/u-boot \ + https://ftp.denx.de/pub/u-boot \ + ftp://ftp.denx.de/pub/u-boot +endif + +PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_TARGETS := bin +PKG_FLAGS:=nonshared + +PKG_LICENSE:=GPL-2.0 GPL-2.0+ +PKG_LICENSE_FILES:=Licenses/README + +PKG_BUILD_PARALLEL:=1 + +export GCC_HONOUR_COPTS=s + +define Package/u-boot/install/default + $(CP) $(patsubst %,$(PKG_BUILD_DIR)/%,$(UBOOT_IMAGE)) $(1)/ +endef + +Package/u-boot/install = $(Package/u-boot/install/default) + +define U-Boot/Init + BUILD_TARGET:= + BUILD_SUBTARGET:= + BUILD_DEVICES:= + NAME:= + DEPENDS:= + HIDDEN:= + DEFAULT:= + VARIANT:=$(1) + UBOOT_CONFIG:=$(1) + UBOOT_IMAGE:=u-boot.bin +endef + +TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET)) + +UBOOT_MAKE_FLAGS = \ + HOSTCC="$(HOSTCC)" \ + HOSTCFLAGS="$(HOST_CFLAGS) $(HOST_CPPFLAGS) -std=gnu11" \ + HOSTLDFLAGS="$(HOST_LDFLAGS)" \ + LOCALVERSION="-OpenWrt-$(REVISION)" \ + STAGING_PREFIX="$(STAGING_DIR_HOST)" \ + PKG_CONFIG_PATH="$(STAGING_DIR_HOST)/lib/pkgconfig" \ + PKG_CONFIG_LIBDIR="$(STAGING_DIR_HOST)/lib/pkgconfig" \ + PKG_CONFIG_EXTRAARGS="--static" \ + $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') + +define Build/U-Boot/Target + $(eval $(call U-Boot/Init,$(1))) + $(eval $(call U-Boot/Default,$(1))) + $(eval $(call U-Boot/$(1),$(1))) + + define Package/u-boot-$(1) + SECTION:=boot + CATEGORY:=Boot Loaders + TITLE:=U-Boot for $(NAME) + VARIANT:=$(VARIANT) + DEPENDS:=@!IN_SDK $(DEPENDS) + HIDDEN:=$(HIDDEN) + ifneq ($(BUILD_TARGET),) + DEPENDS += @$(TARGET_DEP) + ifneq ($(BUILD_DEVICES),) + DEFAULT := y if ($(TARGET_DEP)_Default \ + $(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \ + $(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%,$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES))) + endif + endif + $(if $(DEFAULT),DEFAULT:=$(DEFAULT)) + URL:=http://www.denx.de/wiki/U-Boot + endef + + define Package/u-boot-$(1)/install + $$(Package/u-boot/install) + endef +endef + +define Build/Configure/U-Boot + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIGURE_VARS) $(UBOOT_CONFIG)_config +endef + +DTC=$(wildcard $(LINUX_DIR)/scripts/dtc/dtc) + +define Build/Compile/U-Boot + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + $(if $(DTC),DTC="$(DTC)") \ + $(UBOOT_MAKE_FLAGS) +endef + +define BuildPackage/U-Boot/Defaults + Build/Configure/Default = $$$$(Build/Configure/U-Boot) + Build/Compile/Default = $$$$(Build/Compile/U-Boot) +endef + +define BuildPackage/U-Boot + $(eval $(call BuildPackage/U-Boot/Defaults)) + $(foreach type,$(if $(DUMP),$(UBOOT_TARGETS),$(BUILD_VARIANT)), \ + $(eval $(call Build/U-Boot/Target,$(type))) + ) + $(eval $(call Build/DefaultTargets)) + $(foreach type,$(if $(DUMP),$(UBOOT_TARGETS),$(BUILD_VARIANT)), \ + $(call BuildPackage,u-boot-$(type)) + ) +endef diff --git a/include/uclibc++.mk b/include/uclibc++.mk new file mode 100644 index 0000000..10f8d98 --- /dev/null +++ b/include/uclibc++.mk @@ -0,0 +1,2 @@ +$(warn uclibc++.mk is deprecated. Please remove it and CXX_DEPENDS) +CXX_DEPENDS = +libstdcpp diff --git a/include/unpack.mk b/include/unpack.mk new file mode 100644 index 0000000..ebece69 --- /dev/null +++ b/include/unpack.mk @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +HOST_TAR:=$(TAR) +TAR_CMD=$(HOST_TAR) -C $(1)/.. $(TAR_OPTIONS) +UNZIP_CMD=unzip -q -d $(1)/.. $(DL_DIR)/$(PKG_SOURCE) + +ifeq ($(PKG_SOURCE),) + PKG_UNPACK ?= true +else + +ifeq ($(strip $(UNPACK_CMD)),) + ifeq ($(strip $(PKG_CAT)),) + # try to autodetect file type + EXT:=$(call ext,$(PKG_SOURCE)) + EXT1:=$(EXT) + + ifeq ($(filter gz tgz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter bzip2 bz2 bz tbz2 tbz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=bzcat $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter xz txz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=xzcat $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq (zst,$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=zstdcat $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter tgz tbz tbz2 txz,$(EXT1)),$(EXT1)) + EXT:=tar + endif + DECOMPRESS_CMD ?= cat $(DL_DIR)/$(PKG_SOURCE) | + ifeq ($(EXT),tar) + UNPACK_CMD=$(DECOMPRESS_CMD) $(TAR_CMD) + endif + ifeq ($(EXT),cpio) + UNPACK_CMD=$(DECOMPRESS_CMD) (cd $(1)/..; $(STAGING_DIR_HOST)/bin/cpio -i -d) + endif + ifeq ($(EXT),zip) + UNPACK_CMD=$(UNZIP_CMD) + endif + endif + + # compatibility code for packages that set PKG_CAT + ifeq ($(strip $(UNPACK_CMD)),) + # use existing PKG_CAT + UNPACK_CMD=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) + ifeq ($(PKG_CAT),unzip) + UNPACK_CMD=$(UNZIP_CMD) + endif + # replace zcat with $(ZCAT), because some system don't support it properly + ifeq ($(PKG_CAT),zcat) + UNPACK_CMD=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) + endif + endif +endif + +ifdef PKG_BUILD_DIR + PKG_UNPACK ?= $(SH_FUNC) $(call UNPACK_CMD,$(PKG_BUILD_DIR)) +endif +ifdef HOST_BUILD_DIR + HOST_UNPACK ?= $(SH_FUNC) $(call UNPACK_CMD,$(HOST_BUILD_DIR)) +endif + +endif # PKG_SOURCE + diff --git a/include/verbose.mk b/include/verbose.mk new file mode 100644 index 0000000..4487a20 --- /dev/null +++ b/include/verbose.mk @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2006-2020 OpenWrt.org + +ifndef OPENWRT_VERBOSE + OPENWRT_VERBOSE:= +endif +ifeq ("$(origin V)", "command line") + OPENWRT_VERBOSE:=$(V) +endif + +ifeq ($(OPENWRT_VERBOSE),1) + OPENWRT_VERBOSE:=w +endif +ifeq ($(OPENWRT_VERBOSE),99) + OPENWRT_VERBOSE:=s +endif + +ifeq ($(NO_TRACE_MAKE),) +NO_TRACE_MAKE := $(MAKE) V=s$(OPENWRT_VERBOSE) +export NO_TRACE_MAKE +endif + +ifeq ($(IS_TTY),1) + ifneq ($(strip $(NO_COLOR)),1) + _Y:=\\033[33m + _R:=\\033[31m + _N:=\\033[m + endif +endif + +define ERROR_MESSAGE + printf "$(_R)%s$(_N)\n" "$(1)" >&8 +endef + +ifeq ($(findstring s,$(OPENWRT_VERBOSE)),) + define MESSAGE + printf "$(_Y)%s$(_N)\n" "$(1)" >&8 + endef + + ifeq ($(QUIET),1) + ifneq ($(CURDIR),$(TOPDIR)) + _DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) + else + _DIR:= + endif + _NULL:=$(if $(MAKECMDGOALS),$(shell \ + $(call MESSAGE, make[$(MAKELEVEL)]$(if $(_DIR), -C $(_DIR)) $(MAKECMDGOALS)); \ + )) + SUBMAKE=$(MAKE) + else + SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1) + export QUIET:=1 + SUBMAKE=cmd() { $(SILENT) $(MAKE) -s "$$@" < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on"; false; } } 8>&1 9>&2; cmd + endif + + .SILENT: $(MAKECMDGOALS) +else + SUBMAKE=$(MAKE) -w + define MESSAGE + printf "%s\n" "$(1)" + endef +endif diff --git a/include/version.mk b/include/version.mk new file mode 100644 index 0000000..ca6a15b --- /dev/null +++ b/include/version.mk @@ -0,0 +1,108 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2012-2015 OpenWrt.org +# Copyright (C) 2016 LEDE Project + +# Substituted by SDK, do not remove +# REVISION:=x +# SOURCE_DATE_EPOCH:=x + +PKG_CONFIG_DEPENDS += \ + CONFIG_VERSION_HOME_URL \ + CONFIG_VERSION_BUG_URL \ + CONFIG_VERSION_NUMBER \ + CONFIG_VERSION_CODE \ + CONFIG_VERSION_REPO \ + CONFIG_VERSION_DIST \ + CONFIG_VERSION_MANUFACTURER \ + CONFIG_VERSION_MANUFACTURER_URL \ + CONFIG_VERSION_PRODUCT \ + CONFIG_VERSION_SUPPORT_URL \ + CONFIG_VERSION_HWREV \ + +sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1)))) + +VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER)) +VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),22.03-SNAPSHOT) + +VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE)) +VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION)) + +VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO)) +VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/releases/22.03-SNAPSHOT) + +VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST)) +VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt) +VERSION_DIST_SANITIZED:=$(call sanitize,$(VERSION_DIST)) + +VERSION_MANUFACTURER:=$(call qstrip,$(CONFIG_VERSION_MANUFACTURER)) +VERSION_MANUFACTURER:=$(if $(VERSION_MANUFACTURER),$(VERSION_MANUFACTURER),OpenWrt) + +VERSION_MANUFACTURER_URL:=$(call qstrip,$(CONFIG_VERSION_MANUFACTURER_URL)) +VERSION_MANUFACTURER_URL:=$(if $(VERSION_MANUFACTURER_URL),$(VERSION_MANUFACTURER_URL),https://openwrt.org/) + +VERSION_BUG_URL:=$(call qstrip,$(CONFIG_VERSION_BUG_URL)) +VERSION_BUG_URL:=$(if $(VERSION_BUG_URL),$(VERSION_BUG_URL),https://bugs.openwrt.org/) + +VERSION_HOME_URL:=$(call qstrip,$(CONFIG_VERSION_HOME_URL)) +VERSION_HOME_URL:=$(if $(VERSION_HOME_URL),$(VERSION_HOME_URL),https://openwrt.org/) + +VERSION_SUPPORT_URL:=$(call qstrip,$(CONFIG_VERSION_SUPPORT_URL)) +VERSION_SUPPORT_URL:=$(if $(VERSION_SUPPORT_URL),$(VERSION_SUPPORT_URL),https://forum.openwrt.org/) + +VERSION_PRODUCT:=$(call qstrip,$(CONFIG_VERSION_PRODUCT)) +VERSION_PRODUCT:=$(if $(VERSION_PRODUCT),$(VERSION_PRODUCT),Generic) + +VERSION_HWREV:=$(call qstrip,$(CONFIG_VERSION_HWREV)) +VERSION_HWREV:=$(if $(VERSION_HWREV),$(VERSION_HWREV),v0) + +define taint2sym +$(CONFIG_$(firstword $(subst :, ,$(subst +,,$(subst -,,$(1)))))) +endef + +define taint2name +$(lastword $(subst :, ,$(1))) +endef + +VERSION_TAINT_SPECS := \ + -ALL_KMODS:no-all \ + -IPV6:no-ipv6 \ + +USE_GLIBC:glibc \ + +USE_MKLIBS:mklibs \ + +BUSYBOX_CUSTOM:busybox \ + +OVERRIDE_PKGS:override \ + +VERSION_TAINTS := $(strip $(foreach taint,$(VERSION_TAINT_SPECS), \ + $(if $(findstring +,$(taint)), \ + $(if $(call taint2sym,$(taint)),$(call taint2name,$(taint))), \ + $(if $(call taint2sym,$(taint)),,$(call taint2name,$(taint))) \ + ))) + +PKG_CONFIG_DEPENDS += $(foreach taint,$(VERSION_TAINT_SPECS),$(call taint2sym,$(taint))) + +# escape commas, backslashes, squotes, and ampersands for sed +define sed_escape +$(subst &,\&,$(subst $(comma),\$(comma),$(subst ','\'',$(subst \,\\,$(1))))) +endef +#' + +VERSION_SED_SCRIPT:=$(SED) 's,%U,$(call sed_escape,$(VERSION_REPO)),g' \ + -e 's,%V,$(call sed_escape,$(VERSION_NUMBER)),g' \ + -e 's,%v,\L$(call sed_escape,$(subst $(space),_,$(VERSION_NUMBER))),g' \ + -e 's,%C,$(call sed_escape,$(VERSION_CODE)),g' \ + -e 's,%c,\L$(call sed_escape,$(subst $(space),_,$(VERSION_CODE))),g' \ + -e 's,%D,$(call sed_escape,$(VERSION_DIST)),g' \ + -e 's,%d,\L$(call sed_escape,$(subst $(space),_,$(VERSION_DIST))),g' \ + -e 's,%R,$(call sed_escape,$(REVISION)),g' \ + -e 's,%T,$(call sed_escape,$(BOARD)),g' \ + -e 's,%S,$(call sed_escape,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic)),g' \ + -e 's,%A,$(call sed_escape,$(ARCH_PACKAGES)),g' \ + -e 's,%t,$(call sed_escape,$(VERSION_TAINTS)),g' \ + -e 's,%M,$(call sed_escape,$(VERSION_MANUFACTURER)),g' \ + -e 's,%m,$(call sed_escape,$(VERSION_MANUFACTURER_URL)),g' \ + -e 's,%b,$(call sed_escape,$(VERSION_BUG_URL)),g' \ + -e 's,%u,$(call sed_escape,$(VERSION_HOME_URL)),g' \ + -e 's,%s,$(call sed_escape,$(VERSION_SUPPORT_URL)),g' \ + -e 's,%P,$(call sed_escape,$(VERSION_PRODUCT)),g' \ + -e 's,%h,$(call sed_escape,$(VERSION_HWREV)),g' + diff --git a/package/Makefile b/package/Makefile new file mode 100644 index 0000000..209be34 --- /dev/null +++ b/package/Makefile @@ -0,0 +1,114 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +curdir:=package + +include $(INCLUDE_DIR)/feeds.mk +include $(INCLUDE_DIR)/rootfs.mk + +-include $(TMP_DIR)/.packagedeps +package-y += kernel/linux +$(curdir)/autoremove:=1 +$(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m)) +$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m)) +$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m)) +ifdef CHECK_ALL +$(curdir)/builddirs-check:=$($(curdir)/builddirs) +$(curdir)/builddirs-download:=$($(curdir)/builddirs) +endif +ifneq ($(IGNORE_ERRORS),) + package-y-filter := $(package-y) + package-m-filter := $(filter-out $(package-y),$(package-m)) + package-n-filter := $(filter-out $(package-y) $(package-m),$(package-)) + package-ignore-errors := $(filter n m y,$(IGNORE_ERRORS)) + package-ignore-errors := $(if $(package-ignore-errors),$(package-ignore-errors),n m) + package-ignore-subdirs := $(sort $(foreach m,$(package-ignore-errors),$(package-$(m)-filter))) + $(curdir)/builddirs-ignore-download := $(package-ignore-subdirs) + $(curdir)/builddirs-ignore-compile := $(package-ignore-subdirs) + $(curdir)/builddirs-ignore-host-download := $(package-ignore-subdirs) + $(curdir)/builddirs-ignore-host-compile := $(package-ignore-subdirs) +endif + +PACKAGE_INSTALL_FILES:= \ + $(foreach pkg,$(sort $(package-y)), \ + $(foreach variant, \ + $(if $(strip $(package/$(pkg)/variants)), \ + $(package/$(pkg)/variants), \ + $(if $(package/$(pkg)/default-variant), \ + $(package/$(pkg)/default-variant), \ + default \ + ) \ + ), \ + $(PKG_INFO_DIR)/$(lastword $(subst /,$(space),$(pkg))).$(variant).install \ + ) \ + ) + +$(curdir)/cleanup: $(TMP_DIR)/.build + rm -rf $(STAGING_DIR_ROOT) + +$(curdir)/merge: + rm -rf $(PACKAGE_DIR_ALL) + mkdir -p $(PACKAGE_DIR_ALL) + -$(foreach pdir,$(PACKAGE_SUBDIRS),$(if $(wildcard $(pdir)/*.ipk),ln -s $(pdir)/*.ipk $(PACKAGE_DIR_ALL);)) + +$(curdir)/merge-index: $(curdir)/merge + (cd $(PACKAGE_DIR_ALL) && $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages; ) + +ifndef SDK + $(curdir)/compile: $(curdir)/system/opkg/host/compile +endif + +$(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index) + - find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755 + rm -rf $(TARGET_DIR) $(TARGET_DIR_ORIG) + mkdir -p $(TARGET_DIR)/tmp + $(file >$(TMP_DIR)/opkg_install_list,\ + $(call opkg_package_files,\ + $(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg))))) + $(call opkg,$(TARGET_DIR)) install $$(cat $(TMP_DIR)/opkg_install_list) + @for file in $(PACKAGE_INSTALL_FILES); do \ + [ -s $$file.flags ] || continue; \ + for flag in `cat $$file.flags`; do \ + $(call opkg,$(TARGET_DIR)) flag $$flag `cat $$file`; \ + done; \ + done || true + + $(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG) + + $(call prepare_rootfs,$(TARGET_DIR),$(TOPDIR)/files) + +$(curdir)/index: FORCE + @echo Generating package index... + @for d in $(PACKAGE_SUBDIRS); do ( \ + mkdir -p $$d; \ + cd $$d || continue; \ + $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages.manifest; \ + grep -vE '^(Maintainer|LicenseFiles|Source|SourceName|Require|SourceDateEpoch)' Packages.manifest > Packages; \ + case "$$(((64 + $$(stat -L -c%s Packages)) % 128))" in 110|111) \ + $(call ERROR_MESSAGE,WARNING: Applying padding in $$d/Packages to workaround usign SHA-512 bug!); \ + { echo ""; echo ""; } >> Packages;; \ + esac; \ + gzip -9nc Packages > Packages.gz; \ + ); done +ifdef CONFIG_SIGNED_PACKAGES + @echo Signing package index... + @for d in $(PACKAGE_SUBDIRS); do ( \ + [ -d $$d ] && \ + cd $$d || continue; \ + $(STAGING_DIR_HOST)/bin/usign -S -m Packages -s $(BUILD_KEY); \ + ); done +endif + +$(curdir)/flags-install:= -j1 + +$(eval $(call stampfile,$(curdir),package,prereq,.config)) +$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build)) +$(eval $(call stampfile,$(curdir),package,check,$(TMP_DIR)/.build)) + +$(eval $(call subdir,$(curdir))) diff --git a/package/base-files/Makefile b/package/base-files/Makefile new file mode 100644 index 0000000..914f059 --- /dev/null +++ b/package/base-files/Makefile @@ -0,0 +1,236 @@ +# +# Copyright (C) 2007-2021 OpenWrt.org +# Copyright (C) 2010 Vertical Communications +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/version.mk +include $(INCLUDE_DIR)/feeds.mk + +PKG_NAME:=base-files +PKG_FLAGS:=nonshared +PKG_RELEASE:=$(COMMITCOUNT) + +PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ +PKG_BUILD_DEPENDS:=usign/host ucert/host +PKG_LICENSE:=GPL-2.0 + +# Extend depends from version.mk +PKG_CONFIG_DEPENDS += \ + CONFIG_SIGNED_PACKAGES CONFIG_TARGET_INIT_PATH CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE \ + CONFIG_NAND_SUPPORT \ + CONFIG_LEGACY_SDCARD_SUPPORT \ + CONFIG_EMMC_SUPPORT \ + CONFIG_CLEAN_IPKG \ + CONFIG_PER_FEED_REPO \ + $(foreach feed,$(FEEDS_AVAILABLE),CONFIG_FEED_$(feed)) + +include $(INCLUDE_DIR)/package.mk + +ifneq ($(DUMP),1) + STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell echo $(CONFIG_TARGET_INIT_PATH) | $(MKHASH) md5) + TARGET:=-$(BOARD) +endif + +define Package/base-files + SECTION:=base + CATEGORY:=Base system + DEPENDS:=+netifd +libc +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:openwrt-keyring +NAND_SUPPORT:ubi-utils +fstools +fwtool + TITLE:=Base filesystem for OpenWrt + URL:=http://openwrt.org/ + VERSION:=$(PKG_RELEASE)-$(REVISION) +endef + +define Package/base-files/conffiles +/etc/config/ +/etc/config/network +/etc/config/system +/etc/dropbear/ +/etc/ethers +/etc/group +/etc/hosts +/etc/inittab +/etc/iproute2/rt_protos +/etc/iproute2/rt_tables +/etc/passwd +/etc/profile +/etc/profile.d +/etc/protocols +/etc/rc.local +/etc/services +/etc/shadow +/etc/shells +/etc/shinit +/etc/sysctl.conf +/etc/sysupgrade.conf +$(call $(TARGET)/conffiles) +endef + +define Package/base-files/description + This package contains a base filesystem and system scripts for OpenWrt. +endef + +define ImageConfigOptions + mkdir -p $(1)/lib/preinit + echo 'pi_suppress_stderr="$(CONFIG_TARGET_PREINIT_SUPPRESS_STDERR)"' >$(1)/lib/preinit/00_preinit.conf + echo 'fs_failsafe_wait_timeout=$(if $(CONFIG_TARGET_PREINIT_TIMEOUT),$(CONFIG_TARGET_PREINIT_TIMEOUT),2)' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_path="$(TARGET_INIT_PATH)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_env=$(if $(CONFIG_TARGET_INIT_ENV),$(CONFIG_TARGET_INIT_ENV),"")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_cmd=$(if $(CONFIG_TARGET_INIT_CMD),$(CONFIG_TARGET_INIT_CMD),"/sbin/init")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_init_suppress_stderr="$(CONFIG_TARGET_INIT_SUPPRESS_STDERR)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_ifname=$(if $(CONFIG_TARGET_PREINIT_IFNAME),$(CONFIG_TARGET_PREINIT_IFNAME),"")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_ip=$(if $(CONFIG_TARGET_PREINIT_IP),$(CONFIG_TARGET_PREINIT_IP),"192.168.1.1")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_netmask=$(if $(CONFIG_TARGET_PREINIT_NETMASK),$(CONFIG_TARGET_PREINIT_NETMASK),"255.255.255.0")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_broadcast=$(if $(CONFIG_TARGET_PREINIT_BROADCAST),$(CONFIG_TARGET_PREINIT_BROADCAST),"192.168.1.255")' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_net_messages="$(CONFIG_TARGET_PREINIT_SHOW_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_no_failsafe_netmsg="$(CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf + echo 'pi_preinit_no_failsafe="$(CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE)"' >>$(1)/lib/preinit/00_preinit.conf +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Compile/Default + +endef +Build/Compile = $(Build/Compile/Default) + +ifdef CONFIG_SIGNED_PACKAGES + define Build/Configure + [ -s $(BUILD_KEY) -a -s $(BUILD_KEY).pub ] || \ + $(STAGING_DIR_HOST)/bin/usign -G -s $(BUILD_KEY) -p $(BUILD_KEY).pub -c "Local build key" + + [ -s $(BUILD_KEY).ucert ] || \ + $(STAGING_DIR_HOST)/bin/ucert -I -c $(BUILD_KEY).ucert -p $(BUILD_KEY).pub -s $(BUILD_KEY) + + endef + +ifndef CONFIG_BUILDBOT + define Package/base-files/install-key + mkdir -p $(1)/etc/opkg/keys + $(CP) $(BUILD_KEY).pub $(1)/etc/opkg/keys/`$(STAGING_DIR_HOST)/bin/usign -F -p $(BUILD_KEY).pub` + + endef +endif +endif + +ifeq ($(CONFIG_NAND_SUPPORT),) + define Package/base-files/nand-support + rm -f $(1)/lib/upgrade/nand.sh + endef +endif + +ifeq ($(CONFIG_EMMC_SUPPORT),) + define Package/base-files/emmc-support + rm -f $(1)/lib/upgrade/emmc.sh + endef +endif + +ifeq ($(CONFIG_LEGACY_SDCARD_SUPPORT),) + define Package/base-files/legacy-sdcard-support + rm -f $(1)/lib/upgrade/legacy-sdcard.sh + endef +endif + + +define Package/base-files/install + $(CP) ./files/* $(1)/ + $(Package/base-files/install-key) + $(Package/base-files/nand-support) + $(Package/base-files/legacy-sdcard-support) + $(Package/base-files/emmc-support) + if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \ + $(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \ + fi + if [ -d $(PLATFORM_DIR)/base-files/. ]; then \ + $(CP) $(PLATFORM_DIR)/base-files/* $(1)/; \ + fi + $(if $(filter-out $(PLATFORM_DIR),$(PLATFORM_SUBDIR)), \ + if [ -d $(PLATFORM_SUBDIR)/base-files/. ]; then \ + $(CP) $(PLATFORM_SUBDIR)/base-files/* $(1)/; \ + fi; \ + ) + + $(VERSION_SED_SCRIPT) \ + $(1)/etc/banner \ + $(1)/etc/device_info \ + $(1)/etc/openwrt_release \ + $(1)/etc/openwrt_version \ + $(1)/usr/lib/os-release + + + $(SED) "s#%PATH%#$(TARGET_INIT_PATH)#g" \ + $(1)/sbin/hotplug-call \ + $(1)/etc/preinit \ + $(1)/etc/profile + + mkdir -p \ + $(1)/CONTROL \ + $(1)/dev \ + $(1)/etc/config \ + $(1)/etc/crontabs \ + $(1)/etc/rc.d \ + $(1)/overlay \ + $(1)/lib/firmware \ + $(1)/mnt \ + $(1)/proc \ + $(1)/tmp \ + $(1)/usr/lib \ + $(1)/usr/bin \ + $(1)/sys \ + $(1)/www \ + $(1)/root + + $(LN) /proc/mounts $(1)/etc/mtab + $(if $(LIB_SUFFIX),-$(LN) lib $(1)/lib$(LIB_SUFFIX)) + $(if $(LIB_SUFFIX),-$(LN) lib $(1)/usr/lib$(LIB_SUFFIX)) + +ifneq ($(CONFIG_TARGET_ROOTFS_PERSIST_VAR),y) + rm -f $(1)/var + $(LN) tmp $(1)/var +else + mkdir -p $(1)/var + $(LN) /tmp/run $(1)/var/run +endif + $(LN) /tmp/resolv.conf /tmp/TZ /tmp/localtime $(1)/etc/ + + chmod 0600 $(1)/etc/shadow + chmod 1777 $(1)/tmp + + $(call ImageConfigOptions,$(1)) + $(call Package/base-files/install-target,$(1)) + for conffile in $(1)/etc/config/*; do \ + if [ -f "$$$$conffile" ]; then \ + grep "$$$${conffile##$(1)}" $(1)/CONTROL/conffiles || \ + echo "$$$${conffile##$(1)}" >> $(1)/CONTROL/conffiles; \ + fi \ + done + + $(if $(CONFIG_INCLUDE_CONFIG), \ + echo -e "# Build configuration for board $(BOARD)/$(SUBTARGET)/$(PROFILE)\n" >$(1)/etc/build.config; \ + cat $(BIN_DIR)/config.buildinfo >>$(1)/etc/build.config; \ + cat $(BIN_DIR)/feeds.buildinfo >>$(1)/etc/build.feeds; \ + cat $(BIN_DIR)/version.buildinfo >>$(1)/etc/build.version) + + $(if $(CONFIG_CLEAN_IPKG),, \ + mkdir -p $(1)/etc/opkg; \ + $(call FeedSourcesAppend,$(1)/etc/opkg/distfeeds.conf); \ + $(VERSION_SED_SCRIPT) $(1)/etc/opkg/distfeeds.conf) + $(if $(CONFIG_IPK_FILES_CHECKSUMS),, \ + rm -f $(1)/sbin/pkg_check) + + $(if $(CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE), \ + rm -f $(1)/etc/banner.failsafe,) +endef + +ifneq ($(DUMP),1) + -include $(PLATFORM_DIR)/base-files.mk + -include $(PLATFORM_SUBDIR)/base-files.mk +endif + +$(eval $(call BuildPackage,base-files)) diff --git a/package/base-files/files/bin/board_detect b/package/base-files/files/bin/board_detect new file mode 100755 index 0000000..94f45be --- /dev/null +++ b/package/base-files/files/bin/board_detect @@ -0,0 +1,14 @@ +#!/bin/sh + +CFG=$1 + +[ -n "$CFG" ] || CFG=/etc/board.json + +[ -d "/etc/board.d/" -a ! -s "$CFG" ] && { + for a in $(ls /etc/board.d/*); do + [ -s $a ] || continue; + $(. $a) + done +} + +[ -s "$CFG" ] || return 1 diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate new file mode 100755 index 0000000..3836281 --- /dev/null +++ b/package/base-files/files/bin/config_generate @@ -0,0 +1,533 @@ +#!/bin/sh + +CFG=/etc/board.json + +. /usr/share/libubox/jshn.sh + +[ -s $CFG ] || /bin/board_detect || exit 1 +[ -s /etc/config/network -a -s /etc/config/system ] && exit 0 + +generate_bridge() { + local name=$1 + local macaddr=$2 + uci -q batch <<-EOF + set network.$name=device + set network.$name.name=$name + set network.$name.type=bridge + EOF + if [ -n "$macaddr" ]; then + uci -q batch <<-EOF + set network.$name.macaddr=$macaddr + EOF + fi +} + +bridge_vlan_id=0 +generate_bridge_vlan() { + local name=$1_vlan + local device=$2 + local ports="$3" + local vlan="$4" + uci -q batch <<-EOF + set network.$name=bridge-vlan + set network.$name.device='$device' + set network.$name.vlan='$vlan' + set network.$name.ports='$ports' + EOF +} + +generate_static_network() { + uci -q batch <<-EOF + delete network.loopback + set network.loopback='interface' + set network.loopback.device='lo' + set network.loopback.proto='static' + set network.loopback.ipaddr='127.0.0.1' + set network.loopback.netmask='255.0.0.0' + EOF + [ -e /proc/sys/net/ipv6 ] && { + uci -q batch <<-EOF + delete network.globals + set network.globals='globals' + set network.globals.ula_prefix='auto' + EOF + } + + if json_is_a dsl object; then + json_select dsl + if json_is_a atmbridge object; then + json_select atmbridge + local vpi vci encaps payload nameprefix + json_get_vars vpi vci encaps payload nameprefix + uci -q batch <<-EOF + delete network.atm + set network.atm='atm-bridge' + set network.atm.vpi='$vpi' + set network.atm.vci='$vci' + set network.atm.encaps='$encaps' + set network.atm.payload='$payload' + set network.atm.nameprefix='$nameprefix' + EOF + json_select .. + fi + + if json_is_a modem object; then + json_select modem + local type annex firmware tone xfer_mode + json_get_vars type annex firmware tone xfer_mode + uci -q batch <<-EOF + delete network.dsl + set network.dsl='dsl' + set network.dsl.annex='$annex' + set network.dsl.firmware='$firmware' + set network.dsl.tone='$tone' + set network.dsl.xfer_mode='$xfer_mode' + EOF + json_select .. + fi + json_select .. + fi +} + +addr_offset=2 +generate_network() { + local ports device macaddr protocol type ipaddr netmask vlan + local bridge=$2 + + json_select network + json_select "$1" + json_get_vars device macaddr metric protocol ipaddr netmask vlan + json_get_values ports ports + json_select .. + json_select .. + + [ -n "$device" -o -n "$ports" ] || return + + # Force bridge for "lan" as it may have other devices (e.g. wireless) + # bridged + [ "$1" = "lan" -a -z "$ports" ] && { + ports="$device" + } + + [ -n "$ports" -a -z "$bridge" ] && { + uci -q batch <<-EOF + add network device + set network.@device[-1].name='br-$1' + set network.@device[-1].type='bridge' + EOF + for port in $ports; do uci add_list network.@device[-1].ports="$port"; done + [ -n "$macaddr" ] && { + for port in $ports; do + uci -q batch <<-EOF + add network device + set network.@device[-1].name='$port' + set network.@device[-1].macaddr='$macaddr' + EOF + done + } + device=br-$1 + type= + macaddr="" + } + + [ -n "$bridge" ] && { + [ -z "$ports" ] && ports="$device" + if [ -z "$vlan" ]; then + bridge_vlan_id=$((bridge_vlan_id + 1)) + vlan=$bridge_vlan_id + fi + generate_bridge_vlan $1 $bridge "$ports" $vlan + device=$bridge.$vlan + type="" + } + + if [ -n "$macaddr" ]; then + uci -q batch <<-EOF + add network device + set network.@device[-1].name='$device' + set network.@device[-1].macaddr='$macaddr' + EOF + fi + + uci -q batch <<-EOF + delete network.$1 + set network.$1='interface' + set network.$1.type='$type' + set network.$1.device='$device' + set network.$1.metric='$metric' + set network.$1.proto='none' + EOF + + case "$protocol" in + static) + local ipad + case "$1" in + lan) ipad=${ipaddr:-"192.168.1.1"} ;; + *) ipad=${ipaddr:-"192.168.$((addr_offset++)).1"} ;; + esac + + netm=${netmask:-"255.255.255.0"} + + uci -q batch <<-EOF + set network.$1.proto='static' + set network.$1.ipaddr='$ipad' + set network.$1.netmask='$netm' + EOF + [ -e /proc/sys/net/ipv6 ] && uci set network.$1.ip6assign='60' + ;; + + dhcp) + # fixup IPv6 slave interface if parent is a bridge + [ "$type" = "bridge" ] && device="br-$1" + + uci set network.$1.proto='dhcp' + [ -e /proc/sys/net/ipv6 ] && { + uci -q batch <<-EOF + delete network.${1}6 + set network.${1}6='interface' + set network.${1}6.device='$device' + set network.${1}6.proto='dhcpv6' + EOF + } + ;; + + pppoe) + uci -q batch <<-EOF + set network.$1.proto='pppoe' + set network.$1.username='username' + set network.$1.password='password' + EOF + [ -e /proc/sys/net/ipv6 ] && { + uci -q batch <<-EOF + set network.$1.ipv6='1' + delete network.${1}6 + set network.${1}6='interface' + set network.${1}6.device='@${1}' + set network.${1}6.proto='dhcpv6' + EOF + } + ;; + esac +} + +generate_switch_vlans_ports() { + local switch="$1" + local port ports role roles num attr val + + # + # autogenerate vlans + # + + if json_is_a roles array; then + json_get_keys roles roles + json_select roles + + for role in $roles; do + json_select "$role" + json_get_vars ports + json_select .. + + uci -q batch <<-EOF + add network switch_vlan + set network.@switch_vlan[-1].device='$switch' + set network.@switch_vlan[-1].vlan='$role' + set network.@switch_vlan[-1].ports='$ports' + EOF + done + + json_select .. + fi + + + # + # write port specific settings + # + + if json_is_a ports array; then + json_get_keys ports ports + json_select ports + + for port in $ports; do + json_select "$port" + json_get_vars num + + if json_is_a attr object; then + json_get_keys attr attr + json_select attr + uci -q batch <<-EOF + add network switch_port + set network.@switch_port[-1].device='$switch' + set network.@switch_port[-1].port=$num + EOF + + for attr in $attr; do + json_get_var val "$attr" + uci -q set network.@switch_port[-1].$attr="$val" + done + json_select .. + fi + json_select .. + done + + json_select .. + fi +} + +generate_switch() { + local key="$1" + local vlans + + json_select switch + json_select "$key" + json_get_vars enable reset blinkrate cpu_port \ + ar8xxx_mib_type ar8xxx_mib_poll_interval + + uci -q batch <<-EOF + add network switch + set network.@switch[-1].name='$key' + set network.@switch[-1].reset='$reset' + set network.@switch[-1].enable_vlan='$enable' + set network.@switch[-1].blinkrate='$blinkrate' + set network.@switch[-1].ar8xxx_mib_type='$ar8xxx_mib_type' + set network.@switch[-1].ar8xxx_mib_poll_interval='$ar8xxx_mib_poll_interval' + EOF + + generate_switch_vlans_ports "$1" + + json_select .. + json_select .. +} + +generate_static_system() { + uci -q batch <<-EOF + delete system.@system[0] + add system system + set system.@system[-1].hostname='OpenWrt' + set system.@system[-1].timezone='UTC' + set system.@system[-1].ttylogin='0' + set system.@system[-1].log_size='64' + set system.@system[-1].urandom_seed='0' + + delete system.ntp + set system.ntp='timeserver' + set system.ntp.enabled='1' + set system.ntp.enable_server='0' + add_list system.ntp.server='0.openwrt.pool.ntp.org' + add_list system.ntp.server='1.openwrt.pool.ntp.org' + add_list system.ntp.server='2.openwrt.pool.ntp.org' + add_list system.ntp.server='3.openwrt.pool.ntp.org' + EOF + + if json_is_a system object; then + json_select system + local hostname + if json_get_var hostname hostname; then + uci -q set "system.@system[-1].hostname=$hostname" + fi + + local compat_version + if json_get_var compat_version compat_version; then + uci -q set "system.@system[-1].compat_version=$compat_version" + else + uci -q set "system.@system[-1].compat_version=1.0" + fi + + if json_is_a ntpserver array; then + local keys key + json_get_keys keys ntpserver + json_select ntpserver + uci -q delete "system.ntp.server" + + for key in $keys; do + local server + if json_get_var server "$key"; then + uci -q add_list "system.ntp.server=$server" + fi + done + json_select .. + fi + json_select .. + fi +} + +generate_rssimon() { + local key="$1" + local cfg="rssid_$key" + local refresh threshold + + json_select rssimon + json_select "$key" + json_get_vars refresh threshold + json_select .. + json_select .. + + uci -q batch <<-EOF + delete system.$cfg + set system.$cfg='rssid' + set system.$cfg.dev='$key' + set system.$cfg.refresh='$refresh' + set system.$cfg.threshold='$threshold' + EOF +} + +generate_led() { + local key="$1" + local cfg="led_$key" + + json_select led + json_select "$key" + json_get_vars name sysfs type trigger default + + uci -q batch <<-EOF + delete system.$cfg + set system.$cfg='led' + set system.$cfg.name='$name' + set system.$cfg.sysfs='$sysfs' + set system.$cfg.trigger='$trigger' + set system.$cfg.default='$default' + EOF + + case "$type" in + gpio) + local gpio inverted + json_get_vars gpio inverted + uci -q batch <<-EOF + set system.$cfg.trigger='gpio' + set system.$cfg.gpio='$gpio' + set system.$cfg.inverted='$inverted' + EOF + ;; + + netdev) + local device mode + json_get_vars device mode + uci -q batch <<-EOF + set system.$cfg.trigger='netdev' + set system.$cfg.mode='$mode' + set system.$cfg.dev='$device' + EOF + ;; + + usb) + local device + json_get_vars device + uci -q batch <<-EOF + set system.$cfg.trigger='usbdev' + set system.$cfg.interval='50' + set system.$cfg.dev='$device' + EOF + ;; + + usbport) + local ports port + json_get_values ports ports + uci set system.$cfg.trigger='usbport' + for port in $ports; do + uci add_list system.$cfg.port=$port + done + ;; + + rssi) + local iface minq maxq offset factor + json_get_vars iface minq maxq offset factor + uci -q batch <<-EOF + set system.$cfg.trigger='rssi' + set system.$cfg.iface='rssid_$iface' + set system.$cfg.minq='$minq' + set system.$cfg.maxq='$maxq' + set system.$cfg.offset='$offset' + set system.$cfg.factor='$factor' + EOF + ;; + + switch) + local port_mask speed_mask mode + json_get_vars port_mask speed_mask mode + uci -q batch <<-EOF + set system.$cfg.port_mask='$port_mask' + set system.$cfg.speed_mask='$speed_mask' + set system.$cfg.mode='$mode' + EOF + ;; + + portstate) + local port_state + json_get_vars port_state + uci -q batch <<-EOF + set system.$cfg.port_state='$port_state' + EOF + ;; + + timer|oneshot) + local delayon delayoff + json_get_vars delayon delayoff + uci -q batch <<-EOF + set system.$cfg.trigger='$type' + set system.$cfg.delayon='$delayon' + set system.$cfg.delayoff='$delayoff' + EOF + ;; + esac + + json_select .. + json_select .. +} + +generate_gpioswitch() { + local cfg="$1" + + json_select gpioswitch + json_select "$cfg" + local name pin default + json_get_vars name pin default + uci -q batch <<-EOF + delete system.$cfg + set system.$cfg='gpio_switch' + set system.$cfg.name='$name' + set system.$cfg.gpio_pin='$pin' + set system.$cfg.value='$default' + EOF + json_select .. + json_select .. +} + +json_init +json_load "$(cat ${CFG})" + +umask 077 + +if [ ! -s /etc/config/network ]; then + bridge_name="" + touch /etc/config/network + generate_static_network + + json_get_vars bridge + [ -n "$bridge" ] && { + json_select bridge + json_get_vars name macaddr + generate_bridge "$name" "$macaddr" + json_select .. + bridge_name=$name + } + + json_get_keys keys network + for key in $keys; do generate_network $key $bridge_name; done + + json_get_keys keys switch + for key in $keys; do generate_switch $key; done +fi + +if [ ! -s /etc/config/system ]; then + touch /etc/config/system + generate_static_system + + json_get_keys keys rssimon + for key in $keys; do generate_rssimon $key; done + + json_get_keys keys gpioswitch + for key in $keys; do generate_gpioswitch $key; done + + json_get_keys keys led + for key in $keys; do generate_led $key; done +fi +uci commit diff --git a/package/base-files/files/bin/ipcalc.sh b/package/base-files/files/bin/ipcalc.sh new file mode 100755 index 0000000..5d5eac3 --- /dev/null +++ b/package/base-files/files/bin/ipcalc.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +awk -f - $* <limit) end=limit + + print "IP="int2ip(ipaddr) + print "NETMASK="int2ip(netmask) + print "BROADCAST="int2ip(broadcast) + print "NETWORK="int2ip(network) + print "PREFIX="32-bitcount(compl32(netmask)) + + # range calculations: + # ipcalc + + if (ARGC > 3) { + print "START="int2ip(start) + print "END="int2ip(end) + } +} +EOF diff --git a/package/base-files/files/etc/banner b/package/base-files/files/etc/banner new file mode 100644 index 0000000..f3af3c0 --- /dev/null +++ b/package/base-files/files/etc/banner @@ -0,0 +1,8 @@ + _______ ________ __ + | |.-----.-----.-----.| | | |.----.| |_ + | - || _ | -__| || | | || _|| _| + |_______|| __|_____|__|__||________||__| |____| + |__| W I R E L E S S F R E E D O M + ----------------------------------------------------- + %D %V, %C + ----------------------------------------------------- diff --git a/package/base-files/files/etc/banner.failsafe b/package/base-files/files/etc/banner.failsafe new file mode 100644 index 0000000..49855e7 --- /dev/null +++ b/package/base-files/files/etc/banner.failsafe @@ -0,0 +1,15 @@ +================= FAILSAFE MODE active ================ +special commands: +* firstboot reset settings to factory defaults +* mount_root mount root-partition with config files + +after mount_root: +* passwd change root's password +* /etc/config directory with config files + +for more help see: +https://openwrt.org/docs/guide-user/troubleshooting/ +- failsafe_and_factory_reset +- root_password_reset +======================================================= + diff --git a/package/base-files/files/etc/board.d/99-default_network b/package/base-files/files/etc/board.d/99-default_network new file mode 100644 index 0000000..49d2a3b --- /dev/null +++ b/package/base-files/files/etc/board.d/99-default_network @@ -0,0 +1,16 @@ +# +# Copyright (C) 2013-2015 OpenWrt.org +# + +. /lib/functions/uci-defaults.sh + +board_config_update + +json_is_a network object && exit 0 + +ucidef_set_interface_lan 'eth0' +[ -d /sys/class/net/eth1 ] && ucidef_set_interface_wan 'eth1' + +board_config_flush + +exit 0 diff --git a/package/base-files/files/etc/device_info b/package/base-files/files/etc/device_info new file mode 100644 index 0000000..4045e9e --- /dev/null +++ b/package/base-files/files/etc/device_info @@ -0,0 +1,4 @@ +DEVICE_MANUFACTURER='%M' +DEVICE_MANUFACTURER_URL='%m' +DEVICE_PRODUCT='%P' +DEVICE_REVISION='%h' diff --git a/package/base-files/files/etc/diag.sh b/package/base-files/files/etc/diag.sh new file mode 100644 index 0000000..37a8ec7 --- /dev/null +++ b/package/base-files/files/etc/diag.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# Copyright (C) 2006-2019 OpenWrt.org + +. /lib/functions/leds.sh + +boot="$(get_dt_led boot)" +failsafe="$(get_dt_led failsafe)" +running="$(get_dt_led running)" +upgrade="$(get_dt_led upgrade)" + +set_led_state() { + status_led="$boot" + + case "$1" in + preinit) + status_led_blink_preinit + ;; + failsafe) + status_led_off + [ -n "$running" ] && { + status_led="$running" + status_led_off + } + status_led="$failsafe" + status_led_blink_failsafe + ;; + preinit_regular) + status_led_blink_preinit_regular + ;; + upgrade) + [ -n "$running" ] && { + status_led="$running" + status_led_off + } + status_led="$upgrade" + status_led_blink_preinit_regular + ;; + done) + status_led_off + [ "$status_led" != "$running" ] && \ + status_led_restore_trigger "boot" + [ -n "$running" ] && { + status_led="$running" + status_led_on + } + ;; + esac +} + +set_state() { + [ -n "$boot" -o -n "$failsafe" -o -n "$running" -o -n "$upgrade" ] && set_led_state "$1" +} diff --git a/package/base-files/files/etc/ethers b/package/base-files/files/etc/ethers new file mode 100644 index 0000000..b92c200 --- /dev/null +++ b/package/base-files/files/etc/ethers @@ -0,0 +1,6 @@ +# +# Lookup man 5 ethers for syntax documentation +# +# Examples : +# 02:00:11:22:33:44 OpenWrt.lan +# 02:00:11:22:33:44 192.168.1.1 diff --git a/package/base-files/files/etc/fstab b/package/base-files/files/etc/fstab new file mode 100644 index 0000000..6e9b7ba --- /dev/null +++ b/package/base-files/files/etc/fstab @@ -0,0 +1 @@ +# diff --git a/package/base-files/files/etc/group b/package/base-files/files/etc/group new file mode 100644 index 0000000..5b06dc6 --- /dev/null +++ b/package/base-files/files/etc/group @@ -0,0 +1,11 @@ +root:x:0: +daemon:x:1: +adm:x:4: +mail:x:8: +dialout:x:20: +audio:x:29: +www-data:x:33: +ftp:x:55: +users:x:100: +network:x:101: +nogroup:x:65534: diff --git a/package/base-files/files/etc/hosts b/package/base-files/files/etc/hosts new file mode 100644 index 0000000..b7713eb --- /dev/null +++ b/package/base-files/files/etc/hosts @@ -0,0 +1,5 @@ +127.0.0.1 localhost + +::1 localhost ip6-localhost ip6-loopback +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters diff --git a/package/base-files/files/etc/hotplug.d/net/00-sysctl b/package/base-files/files/etc/hotplug.d/net/00-sysctl new file mode 100644 index 0000000..8abe7f8 --- /dev/null +++ b/package/base-files/files/etc/hotplug.d/net/00-sysctl @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ "$ACTION" = add ]; then + for CONF in /etc/sysctl.d/*.conf /etc/sysctl.conf; do + [ ! -f "$CONF" ] && continue; + sed -ne "/^[[:space:]]*net\..*\.$DEVICENAME\./p" "$CONF" | \ + sysctl -e -p - | logger -t sysctl + done +fi diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot new file mode 100755 index 0000000..749d9e9 --- /dev/null +++ b/package/base-files/files/etc/init.d/boot @@ -0,0 +1,55 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=10 +STOP=90 + +uci_apply_defaults() { + . /lib/functions/system.sh + + cd /etc/uci-defaults || return 0 + files="$(ls)" + [ -z "$files" ] && return 0 + mkdir -p /tmp/.uci + for file in $files; do + ( . "./$(basename $file)" ) && rm -f "$file" + done + uci commit +} + +boot() { + [ -f /proc/mounts ] || /sbin/mount_root + [ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc + + mkdir -p /var/lock + chmod 1777 /var/lock + mkdir -p /var/log + mkdir -p /var/run + mkdir -p /var/state + mkdir -p /var/tmp + mkdir -p /tmp/.uci + chmod 0700 /tmp/.uci + touch /var/log/wtmp + touch /var/log/lastlog + mkdir -p /tmp/resolv.conf.d + touch /tmp/resolv.conf.d/resolv.conf.auto + ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf + grep -q debugfs /proc/filesystems && /bin/mount -o noatime -t debugfs debugfs /sys/kernel/debug + grep -q bpf /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime,mode=0700 -t bpf bpffs /sys/fs/bpf + grep -q pstore /proc/filesystems && /bin/mount -o noatime -t pstore pstore /sys/fs/pstore + [ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe + + /sbin/kmodloader + + [ ! -f /etc/config/wireless ] && { + # compat for bcm47xx and mvebu + sleep 1 + } + + /bin/config_generate + uci_apply_defaults + sync + + # temporary hack until configd exists + /sbin/reload_config +} diff --git a/package/base-files/files/etc/init.d/done b/package/base-files/files/etc/init.d/done new file mode 100755 index 0000000..32d6118 --- /dev/null +++ b/package/base-files/files/etc/init.d/done @@ -0,0 +1,17 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=95 +boot() { + mount_root done + rm -f /sysupgrade.tgz && sync + + # process user commands + [ -f /etc/rc.local ] && { + sh /etc/rc.local + } + + # set leds to normal state + . /etc/diag.sh + set_state done +} diff --git a/package/base-files/files/etc/init.d/gpio_switch b/package/base-files/files/etc/init.d/gpio_switch new file mode 100755 index 0000000..24d790b --- /dev/null +++ b/package/base-files/files/etc/init.d/gpio_switch @@ -0,0 +1,66 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2015 OpenWrt.org + +START=94 +STOP=10 +USE_PROCD=1 + + +load_gpio_switch() +{ + local name + local gpio_pin + local value + + config_get gpio_pin "$1" gpio_pin + config_get name "$1" name + config_get value "$1" value 0 + + [ -z "$gpio_pin" ] && { + echo >&2 "Skipping gpio_switch '$name' due to missing gpio_pin" + return 1 + } + + local gpio_path + if [ -n "$(echo "$gpio_pin" | grep -E "^[0-9]+$")" ]; then + gpio_path="/sys/class/gpio/gpio${gpio_pin}" + + # export GPIO pin for access + [ -d "$gpio_path" ] || { + echo "$gpio_pin" >/sys/class/gpio/export + # we need to wait a bit until the GPIO appears + [ -d "$gpio_path" ] || sleep 1 + } + + # direction attribute only exists if the kernel supports changing the + # direction of a GPIO + if [ -e "${gpio_path}/direction" ]; then + # set the pin to output with high or low pin value + { [ "$value" = "0" ] && echo "low" || echo "high"; } \ + >"$gpio_path/direction" + else + { [ "$value" = "0" ] && echo "0" || echo "1"; } \ + >"$gpio_path/value" + fi + else + gpio_path="/sys/class/gpio/${gpio_pin}" + + [ -d "$gpio_path" ] && { + { [ "$value" = "0" ] && echo "0" || echo "1"; } \ + >"$gpio_path/value" + } + fi +} + +service_triggers() +{ + procd_add_reload_trigger "system" +} + +start_service() +{ + [ -e /sys/class/gpio/ ] && { + config_load system + config_foreach load_gpio_switch gpio_switch + } +} diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led new file mode 100755 index 0000000..51cb8b5 --- /dev/null +++ b/package/base-files/files/etc/init.d/led @@ -0,0 +1,141 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2008 OpenWrt.org + +START=96 + +load_led() { + local name + local sysfs + local trigger + local dev + local ports + local mode + local default + local delayon + local delayoff + local interval + + config_get sysfs $1 sysfs + config_get name $1 name "$sysfs" + config_get trigger $1 trigger "none" + config_get dev $1 dev + config_get ports $1 port + config_get mode $1 mode + config_get_bool default $1 default "0" + config_get delayon $1 delayon + config_get delayoff $1 delayoff + config_get interval $1 interval "50" + config_get port_state $1 port_state + config_get delay $1 delay "150" + config_get message $1 message "" + config_get gpio $1 gpio "0" + config_get inverted $1 inverted "0" + + # execute application led trigger + [ -f "/usr/libexec/led-trigger/${trigger}" ] && { + . "/usr/libexec/led-trigger/${trigger}" + return 0 + } + + [ "$trigger" = "usbdev" ] && { + # Backward compatibility: translate to the new trigger + trigger="usbport" + # Translate port of root hub, e.g. 4-1 -> usb4-port1 + ports=$(echo "$dev" | sed -n 's/^\([0-9]*\)-\([0-9]*\)$/usb\1-port\2/p') + # Translate port of extra hub, e.g. 2-2.4 -> 2-2-port4 + [ -z "$ports" ] && ports=$(echo "$dev" | sed -n 's/\./-port/p') + } + + [ -e /sys/class/leds/${sysfs}/brightness ] && { + echo "setting up led ${name}" + + printf "%s %s %d\n" \ + "$sysfs" \ + "$(sed -ne 's/^.*\[\(.*\)\].*$/\1/p' /sys/class/leds/${sysfs}/trigger)" \ + "$(cat /sys/class/leds/${sysfs}/brightness)" \ + >> /var/run/led.state + + [ "$default" = 0 ] && + echo 0 >/sys/class/leds/${sysfs}/brightness + + echo $trigger > /sys/class/leds/${sysfs}/trigger 2> /dev/null + ret="$?" + + [ $default = 1 ] && + cat /sys/class/leds/${sysfs}/max_brightness > /sys/class/leds/${sysfs}/brightness + + [ $ret = 0 ] || { + echo >&2 "Skipping trigger '$trigger' for led '$name' due to missing kernel module" + return 1 + } + case "$trigger" in + "netdev") + [ -n "$dev" ] && { + echo $dev > /sys/class/leds/${sysfs}/device_name + for m in $mode; do + [ -e "/sys/class/leds/${sysfs}/$m" ] && \ + echo 1 > /sys/class/leds/${sysfs}/$m + done + echo $interval > /sys/class/leds/${sysfs}/interval + } + ;; + + "timer"|"oneshot") + [ -n "$delayon" ] && \ + echo $delayon > /sys/class/leds/${sysfs}/delay_on + [ -n "$delayoff" ] && \ + echo $delayoff > /sys/class/leds/${sysfs}/delay_off + ;; + + "usbport") + local p + + for p in $ports; do + echo 1 > /sys/class/leds/${sysfs}/ports/$p + done + ;; + + "port_state") + [ -n "$port_state" ] && \ + echo $port_state > /sys/class/leds/${sysfs}/port_state + ;; + + "gpio") + echo $gpio > /sys/class/leds/${sysfs}/gpio + echo $inverted > /sys/class/leds/${sysfs}/inverted + ;; + + switch[0-9]*) + local port_mask speed_mask + + config_get port_mask $1 port_mask + [ -n "$port_mask" ] && \ + echo $port_mask > /sys/class/leds/${sysfs}/port_mask + config_get speed_mask $1 speed_mask + [ -n "$speed_mask" ] && \ + echo $speed_mask > /sys/class/leds/${sysfs}/speed_mask + [ -n "$mode" ] && \ + echo "$mode" > /sys/class/leds/${sysfs}/mode + ;; + esac + } +} + +start() { + [ -e /sys/class/leds/ ] && { + [ -s /var/run/led.state ] && { + local led trigger brightness + while read led trigger brightness; do + [ -e "/sys/class/leds/$led/trigger" ] && \ + echo "$trigger" > "/sys/class/leds/$led/trigger" + + [ -e "/sys/class/leds/$led/brightness" ] && \ + echo "$brightness" > "/sys/class/leds/$led/brightness" + done < /var/run/led.state + rm /var/run/led.state + } + + config_load system + config_foreach load_led led + } +} diff --git a/package/base-files/files/etc/init.d/sysctl b/package/base-files/files/etc/init.d/sysctl new file mode 100755 index 0000000..4db5644 --- /dev/null +++ b/package/base-files/files/etc/init.d/sysctl @@ -0,0 +1,44 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=11 + +apply_defaults() { + local mem="$(awk '/^MemTotal:/ {print $2}' /proc/meminfo)" + local min_free frag_low_thresh frag_high_thresh + + if [ "$mem" -gt 65536 ]; then # 128M + min_free=16384 + elif [ "$mem" -gt 32768 ]; then # 64M + min_free=8192 + else + min_free=1024 + frag_low_thresh=393216 + frag_high_thresh=524288 + fi + + sysctl -qw vm.min_free_kbytes="$min_free" + + [ "$frag_low_thresh" ] && sysctl -qw \ + net.ipv4.ipfrag_low_thresh="$frag_low_thresh" \ + net.ipv4.ipfrag_high_thresh="$frag_high_thresh" \ + net.ipv6.ip6frag_low_thresh="$frag_low_thresh" \ + net.ipv6.ip6frag_high_thresh="$frag_high_thresh" \ + net.netfilter.nf_conntrack_frag6_low_thresh="$frag_low_thresh" \ + net.netfilter.nf_conntrack_frag6_high_thresh="$frag_high_thresh" + + # first set default, then all interfaces to avoid races with appearing interfaces + if [ -d /proc/sys/net/ipv6/conf ]; then + echo 0 > /proc/sys/net/ipv6/conf/default/accept_ra + for iface in /proc/sys/net/ipv6/conf/*/accept_ra; do + echo 0 > "$iface" + done + fi +} + +start() { + apply_defaults + for CONF in /etc/sysctl.d/*.conf /etc/sysctl.conf; do + [ -f "$CONF" ] && sysctl -e -p "$CONF" >&- + done +} diff --git a/package/base-files/files/etc/init.d/sysfixtime b/package/base-files/files/etc/init.d/sysfixtime new file mode 100755 index 0000000..aab5b15 --- /dev/null +++ b/package/base-files/files/etc/init.d/sysfixtime @@ -0,0 +1,34 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2013-2014 OpenWrt.org + +START=00 +STOP=90 + +RTC_DEV=/dev/rtc0 +HWCLOCK=/sbin/hwclock + +boot() { + start && exit 0 + + local maxtime="$(maxtime)" + local curtime="$(date +%s)" + [ $curtime -lt $maxtime ] && date -s @$maxtime +} + +start() { + [ -e "$RTC_DEV" ] && [ -e "$HWCLOCK" ] && $HWCLOCK -s -u -f $RTC_DEV +} + +stop() { + [ -e "$RTC_DEV" ] && [ -e "$HWCLOCK" ] && $HWCLOCK -w -u -f $RTC_DEV && \ + logger -t sysfixtime "saved '$(date)' to $RTC_DEV" +} + +maxtime() { + local file newest + + for file in $( find /etc -type f ) ; do + [ -z "$newest" -o "$newest" -ot "$file" ] && newest=$file + done + [ "$newest" ] && date -r "$newest" +%s +} diff --git a/package/base-files/files/etc/init.d/system b/package/base-files/files/etc/init.d/system new file mode 100755 index 0000000..dcfc261 --- /dev/null +++ b/package/base-files/files/etc/init.d/system @@ -0,0 +1,45 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2014 OpenWrt.org + +START=10 +USE_PROCD=1 + +validate_system_section() { + uci_load_validate system system "$1" "$2" \ + 'hostname:string:OpenWrt' \ + 'conloglevel:uinteger' \ + 'buffersize:uinteger' \ + 'timezone:string:UTC' \ + 'zonename:string' +} + +system_config() { + [ "$2" = 0 ] || { + echo "validation failed" + return 1 + } + + echo "$hostname" > /proc/sys/kernel/hostname + [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize} + echo "$timezone" > /tmp/TZ + [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/${zonename// /_}" ] \ + && ln -sf "/usr/share/zoneinfo/${zonename// /_}" /tmp/localtime \ + && rm -f /tmp/TZ + + # apply timezone to kernel + hwclock -u --systz +} + +reload_service() { + config_load system + config_foreach validate_system_section system system_config +} + +service_triggers() { + procd_add_reload_trigger "system" + procd_add_validation validate_system_section +} + +start_service() { + reload_service +} diff --git a/package/base-files/files/etc/init.d/umount b/package/base-files/files/etc/init.d/umount new file mode 100755 index 0000000..b764ae1 --- /dev/null +++ b/package/base-files/files/etc/init.d/umount @@ -0,0 +1,13 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +STOP=90 + +restart() { + : +} + +stop() { + sync + /bin/umount -a -d -r +} diff --git a/package/base-files/files/etc/inittab b/package/base-files/files/etc/inittab new file mode 100644 index 0000000..9820e71 --- /dev/null +++ b/package/base-files/files/etc/inittab @@ -0,0 +1,3 @@ +::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +::askconsole:/usr/libexec/login.sh diff --git a/package/base-files/files/etc/iproute2/ematch_map b/package/base-files/files/etc/iproute2/ematch_map new file mode 100644 index 0000000..4d6bb2f --- /dev/null +++ b/package/base-files/files/etc/iproute2/ematch_map @@ -0,0 +1,8 @@ +# lookup table for ematch kinds +1 cmp +2 nbyte +3 u32 +4 meta +7 canid +8 ipset +9 ipt diff --git a/package/base-files/files/etc/iproute2/rt_protos b/package/base-files/files/etc/iproute2/rt_protos new file mode 100644 index 0000000..5b61798 --- /dev/null +++ b/package/base-files/files/etc/iproute2/rt_protos @@ -0,0 +1,18 @@ +# +# Reserved protocols. +# +0 unspec +1 redirect +2 kernel +3 boot +4 static +8 gated +9 ra +10 mrt +11 zebra +12 bird +13 dnrouted +14 xorp +15 ntk +16 dhcp +42 babel diff --git a/package/base-files/files/etc/iproute2/rt_tables b/package/base-files/files/etc/iproute2/rt_tables new file mode 100644 index 0000000..5fc09b3 --- /dev/null +++ b/package/base-files/files/etc/iproute2/rt_tables @@ -0,0 +1,12 @@ +# +# reserved values +# +128 prelocal +255 local +254 main +253 default +0 unspec +# +# local +# +#1 inr.ruhep diff --git a/package/base-files/files/etc/openwrt_release b/package/base-files/files/etc/openwrt_release new file mode 100644 index 0000000..d03400c --- /dev/null +++ b/package/base-files/files/etc/openwrt_release @@ -0,0 +1,7 @@ +DISTRIB_ID='%D' +DISTRIB_RELEASE='%V' +DISTRIB_REVISION='%R' +DISTRIB_TARGET='%S' +DISTRIB_ARCH='%A' +DISTRIB_DESCRIPTION='%D %V %C' +DISTRIB_TAINTS='%t' diff --git a/package/base-files/files/etc/openwrt_version b/package/base-files/files/etc/openwrt_version new file mode 100644 index 0000000..48157ed --- /dev/null +++ b/package/base-files/files/etc/openwrt_version @@ -0,0 +1 @@ +%C diff --git a/package/base-files/files/etc/os-release b/package/base-files/files/etc/os-release new file mode 120000 index 0000000..c4c75b4 --- /dev/null +++ b/package/base-files/files/etc/os-release @@ -0,0 +1 @@ +../usr/lib/os-release \ No newline at end of file diff --git a/package/base-files/files/etc/passwd b/package/base-files/files/etc/passwd new file mode 100644 index 0000000..1d06a80 --- /dev/null +++ b/package/base-files/files/etc/passwd @@ -0,0 +1,5 @@ +root:x:0:0:root:/root:/bin/ash +daemon:*:1:1:daemon:/var:/bin/false +ftp:*:55:55:ftp:/home/ftp:/bin/false +network:*:101:101:network:/var:/bin/false +nobody:*:65534:65534:nobody:/var:/bin/false diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit new file mode 100755 index 0000000..829574f --- /dev/null +++ b/package/base-files/files/etc/preinit @@ -0,0 +1,29 @@ +#!/bin/sh +# Copyright (C) 2006-2016 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +[ -z "$PREINIT" ] && exec /sbin/init + +export PATH="%PATH%" + +. /lib/functions.sh +. /lib/functions/preinit.sh +. /lib/functions/system.sh + +boot_hook_init preinit_essential +boot_hook_init preinit_main +boot_hook_init failsafe +boot_hook_init initramfs +boot_hook_init preinit_mount_root + +for pi_source_file in /lib/preinit/*; do + . $pi_source_file +done + +boot_run_hook preinit_essential + +pi_mount_skip_next=false +pi_jffs2_mount_success=false +pi_failsafe_net_message=false + +boot_run_hook preinit_main diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile new file mode 100644 index 0000000..76b149b --- /dev/null +++ b/package/base-files/files/etc/profile @@ -0,0 +1,40 @@ +[ -e /tmp/.failsafe ] && export FAILSAFE=1 + +[ -f /etc/banner ] && cat /etc/banner +[ -n "$FAILSAFE" ] && cat /etc/banner.failsafe + +grep -Fsq '/ overlay ro,' /proc/mounts && { + echo 'Your JFFS2-partition seems full and overlayfs is mounted read-only.' + echo 'Please try to remove files from /overlay/upper/... and reboot!' +} + +export PATH="%PATH%" +export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6) +export HOME=${HOME:-/root} +export PS1='\u@\h:\w\$ ' +export ENV=/etc/shinit + +case "$TERM" in + xterm*|rxvt*) + export PS1='\[\e]0;\u@\h: \w\a\]'$PS1 + ;; +esac + +[ -n "$FAILSAFE" ] || { + for FILE in /etc/profile.d/*.sh; do + [ -e "$FILE" ] && . "$FILE" + done + unset FILE +} + +if ( grep -qs '^root::' /etc/shadow && \ + [ -z "$FAILSAFE" ] ) +then +cat << EOF +=== WARNING! ===================================== +There is no root password defined on this device! +Use the "passwd" command to set up a new password +in order to prevent unauthorized SSH logins. +-------------------------------------------------- +EOF +fi diff --git a/package/base-files/files/etc/protocols b/package/base-files/files/etc/protocols new file mode 100644 index 0000000..26bc775 --- /dev/null +++ b/package/base-files/files/etc/protocols @@ -0,0 +1,57 @@ +# Internet (IP) protocols +# +# Updated from http://www.iana.org/assignments/protocol-numbers and other +# sources. +# New protocols will be added on request if they have been officially +# assigned by IANA and are not historical. +# If you need a huge list of used numbers please install the nmap package. + +ip 0 IP # internet protocol, pseudo protocol number +#hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option [RFC1883] +icmp 1 ICMP # internet control message protocol +igmp 2 IGMP # Internet Group Management +ggp 3 GGP # gateway-gateway protocol +ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') +st 5 ST # ST datagram mode +tcp 6 TCP # transmission control protocol +egp 8 EGP # exterior gateway protocol +igp 9 IGP # any private interior gateway (Cisco) +pup 12 PUP # PARC universal packet protocol +udp 17 UDP # user datagram protocol +hmp 20 HMP # host monitoring protocol +xns-idp 22 XNS-IDP # Xerox NS IDP +rdp 27 RDP # "reliable datagram" protocol +iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 [RFC905] +dccp 33 DCCP # Datagram Congestion Control Protocol [RFC4340] +xtp 36 XTP # Xpress Transfer Protocol +ddp 37 DDP # Datagram Delivery Protocol +idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport +ipv6 41 IPv6 # Internet Protocol, version 6 +ipv6-route 43 IPv6-Route # Routing Header for IPv6 +ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 +idrp 45 IDRP # Inter-Domain Routing Protocol +rsvp 46 RSVP # Reservation Protocol +gre 47 GRE # General Routing Encapsulation +esp 50 IPSEC-ESP # Encap Security Payload [RFC2046] +ah 51 IPSEC-AH # Authentication Header [RFC2402] +skip 57 SKIP # SKIP +ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 +ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 +ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 +rspf 73 RSPF CPHB # Radio Shortest Path First (officially CPHB) +vmtp 81 VMTP # Versatile Message Transport +eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco) +ospf 89 OSPFIGP # Open Shortest Path First IGP +ax.25 93 AX.25 # AX.25 frames +ipip 94 IPIP # IP-within-IP Encapsulation Protocol +etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378] +encap 98 ENCAP # Yet Another IP encapsulation [RFC1241] +# 99 # any private encryption scheme +pim 103 PIM # Protocol Independent Multicast +ipcomp 108 IPCOMP # IP Payload Compression Protocol +vrrp 112 VRRP # Virtual Router Redundancy Protocol +l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC2661] +isis 124 ISIS # IS-IS over IPv4 +sctp 132 SCTP # Stream Control Transmission Protocol +fc 133 FC # Fibre Channel + diff --git a/package/base-files/files/etc/rc.button/failsafe b/package/base-files/files/etc/rc.button/failsafe new file mode 100755 index 0000000..ba958fa --- /dev/null +++ b/package/base-files/files/etc/rc.button/failsafe @@ -0,0 +1,5 @@ +#!/bin/sh + +[ "${TYPE}" = "switch" ] || echo ${BUTTON} > /tmp/failsafe_button + +return 0 diff --git a/package/base-files/files/etc/rc.button/power b/package/base-files/files/etc/rc.button/power new file mode 100755 index 0000000..c245744 --- /dev/null +++ b/package/base-files/files/etc/rc.button/power @@ -0,0 +1,7 @@ +#!/bin/sh + +[ "${ACTION}" = "released" ] || exit 0 + +exec /sbin/poweroff + +return 0 diff --git a/package/base-files/files/etc/rc.button/reboot b/package/base-files/files/etc/rc.button/reboot new file mode 100755 index 0000000..cd547e3 --- /dev/null +++ b/package/base-files/files/etc/rc.button/reboot @@ -0,0 +1,12 @@ +#!/bin/sh + +[ "${ACTION}" = "released" ] || exit 0 + +if [ "$SEEN" -ge 5 ] +then + echo "REBOOT" > /dev/console + sync + reboot +fi + +return 0 diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset new file mode 100755 index 0000000..2403122 --- /dev/null +++ b/package/base-files/files/etc/rc.button/reset @@ -0,0 +1,31 @@ +#!/bin/sh + +. /lib/functions.sh + +OVERLAY="$( grep ' /overlay ' /proc/mounts )" + +case "$ACTION" in +pressed) + [ -z "$OVERLAY" ] && return 0 + + return 5 +;; +timeout) + . /etc/diag.sh + set_state failsafe +;; +released) + if [ "$SEEN" -lt 1 ] + then + echo "REBOOT" > /dev/console + sync + reboot + elif [ "$SEEN" -ge 5 -a -n "$OVERLAY" ] + then + echo "FACTORY RESET" > /dev/console + jffs2reset -y && reboot & + fi +;; +esac + +return 0 diff --git a/package/base-files/files/etc/rc.button/rfkill b/package/base-files/files/etc/rc.button/rfkill new file mode 100755 index 0000000..fbdda40 --- /dev/null +++ b/package/base-files/files/etc/rc.button/rfkill @@ -0,0 +1,32 @@ +#!/bin/sh + +[ "${ACTION}" = "released" -o -n "${TYPE}" ] || exit 0 + +. /lib/functions.sh + +rfkill_state=0 + +wifi_rfkill_set() { + uci set wireless.$1.disabled=$rfkill_state +} + +wifi_rfkill_check() { + local disabled + config_get disabled $1 disabled + [ "$disabled" = "1" ] || rfkill_state=1 +} + +config_load wireless +case "${TYPE}" in +"switch") + [ "${ACTION}" = "released" ] && rfkill_state=1 + ;; +*) + config_foreach wifi_rfkill_check wifi-device + ;; +esac +config_foreach wifi_rfkill_set wifi-device +uci commit wireless +wifi up + +return 0 diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common new file mode 100755 index 0000000..d747303 --- /dev/null +++ b/package/base-files/files/etc/rc.common @@ -0,0 +1,194 @@ +#!/bin/sh +# Copyright (C) 2006-2012 OpenWrt.org + +. $IPKG_INSTROOT/lib/functions.sh +. $IPKG_INSTROOT/lib/functions/service.sh + +initscript=$1 +action=${2:-help} +shift 2 + +start() { + return 0 +} + +stop() { + return 0 +} + +reload() { + restart +} + +restart() { + trap '' TERM + stop "$@" + trap - TERM + start "$@" +} + +boot() { + start "$@" +} + +shutdown() { + stop +} + +disable() { + name="$(basename "${initscript}")" + rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name + rm -f "$IPKG_INSTROOT"/etc/rc.d/K??$name +} + +enable() { + err=1 + name="$(basename "${initscript}")" + [ "$START" ] && \ + ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" && \ + err=0 + [ "$STOP" ] && \ + ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" && \ + err=0 + return $err +} + +enabled() { + name="$(basename "${initscript}")" + name="${name##[SK][0-9][0-9]}" + { + [ -z "${START:-}" ] || [ -L "$IPKG_INSTROOT/etc/rc.d/S${START}$name" ] + } && { + [ -z "${STOP:-}" ] || [ -L "$IPKG_INSTROOT/etc/rc.d/K${STOP}$name" ] + } +} + +depends() { + return 0 +} + +ALL_HELP="" +ALL_COMMANDS="boot shutdown depends" +extra_command() { + local cmd="$1" + local help="$2" + + local extra="$(printf "%-16s%s" "${cmd}" "${help}")" + ALL_HELP="${ALL_HELP}\t${extra}\n" + ALL_COMMANDS="${ALL_COMMANDS} ${cmd}" +} + +help() { + cat </dev/null >/dev/null; then + service_started + fi + } + + trace() { + TRACE_SYSCALLS=1 + start "$@" + } + + info() { + json_init + json_add_string name "$(basename ${basescript:-$initscript})" + json_add_boolean verbose "1" + _procd_ubus_call list + } + + stop() { + procd_lock + stop_service "$@" + procd_kill "$(basename ${basescript:-$initscript})" "$1" + if eval "type service_stopped" 2>/dev/null >/dev/null; then + service_stopped + fi + } + + reload() { + if eval "type reload_service" 2>/dev/null >/dev/null; then + procd_lock + reload_service "$@" + else + start + fi + } + + running() { + service_running "$@" + } + + status() { + if eval "type status_service" 2>/dev/null >/dev/null; then + status_service "$@" + else + _procd_status "$(basename ${basescript:-$initscript})" "$1" + fi + } +} + +ALL_COMMANDS="${ALL_COMMANDS} ${EXTRA_COMMANDS}" +ALL_HELP="${ALL_HELP}${EXTRA_HELP}" +list_contains ALL_COMMANDS "$action" || action=help +$action "$@" diff --git a/package/base-files/files/etc/rc.local b/package/base-files/files/etc/rc.local new file mode 100644 index 0000000..5639477 --- /dev/null +++ b/package/base-files/files/etc/rc.local @@ -0,0 +1,4 @@ +# Put your custom commands here that should be executed once +# the system init finished. By default this file does nothing. + +exit 0 diff --git a/package/base-files/files/etc/services b/package/base-files/files/etc/services new file mode 100644 index 0000000..968f9e7 --- /dev/null +++ b/package/base-files/files/etc/services @@ -0,0 +1,173 @@ +echo 7/tcp +echo 7/udp +discard 9/tcp +discard 9/udp +daytime 13/tcp +daytime 13/udp +netstat 15/tcp +chargen 19/tcp +chargen 19/udp +ftp-data 20/tcp +ftp 21/tcp +ssh 22/tcp +ssh 22/udp +telnet 23/tcp +smtp 25/tcp +time 37/tcp +time 37/udp +whois 43/tcp +domain 53/tcp +domain 53/udp +bootps 67/tcp +bootps 67/udp +bootpc 68/tcp +bootpc 68/udp +tftp 69/udp +finger 79/tcp +www 80/tcp http +kerberos 88/tcp kerberos5 krb5 kerberos-sec +kerberos 88/udp kerberos5 krb5 kerberos-sec +pop3 110/tcp +pop3 110/udp +sunrpc 111/tcp rpcbind +sunrpc 111/udp rpcbind +auth 113/tcp ident +sftp 115/tcp +nntp 119/tcp +ntp 123/tcp +ntp 123/udp +netbios-ns 137/tcp +netbios-ns 137/udp +netbios-dgm 138/tcp +netbios-dgm 138/udp +netbios-ssn 139/tcp +netbios-ssn 139/udp +imap2 143/tcp imap +imap2 143/udp imap +snmp 161/tcp +snmp 161/udp +snmp-trap 162/tcp snmptrap +snmp-trap 162/udp snmptrap +xdmcp 177/tcp +xdmcp 177/udp +bgp 179/tcp +bgp 179/udp +imap3 220/tcp +imap3 220/udp +ldap 389/tcp +ldap 389/udp +https 443/tcp +https 443/udp +microsoft-ds 445/tcp +microsoft-ds 445/udp +isakmp 500/tcp +isakmp 500/udp +rtsp 554/tcp +rtsp 554/udp +ipp 631/tcp +ipp 631/udp +syslog 514/udp +printer 515/tcp spooler +dhcpv6-client 546/tcp +dhcpv6-client 546/udp +dhcpv6-server 547/tcp +dhcpv6-server 547/udp +afpovertcp 548/tcp +afpovertcp 548/udp +nntps 563/tcp snntp +nntps 563/udp snntp +submission 587/tcp +submission 587/udp +ldaps 636/tcp +ldaps 636/udp +tinc 655/tcp +tinc 655/udp +rsync 873/tcp +rsync 873/udp +ftps-data 989/tcp +ftps 990/tcp +imaps 993/tcp +imaps 993/udp +ircs 994/tcp +ircs 994/udp +pop3s 995/tcp +pop3s 995/udp +socks 1080/tcp +socks 1080/udp +openvpn 1194/tcp +openvpn 1194/udp +l2f 1701/tcp l2tp +l2f 1701/udp l2tp +radius 1812/tcp +radius 1812/udp +radius-acct 1813/tcp radacct +radius-acct 1813/udp radacct +nfs 2049/tcp +nfs 2049/udp +dict 2628/tcp +dict 2628/udp +gpsd 2947/tcp +gpsd 2947/udp +icpv2 3130/tcp icp +icpv2 3130/udp icp +mysql 3306/tcp +mysql 3306/udp +nut 3493/tcp +nut 3493/udp +distcc 3632/tcp +distcc 3632/udp +daap 3689/tcp +daap 3689/udp +svn 3690/tcp subversion +svn 3690/udp subversion +epmd 4369/tcp +epmd 4369/udp +iax 4569/tcp +iax 4569/udp +mtn 4691/tcp +mtn 4691/udp +munin 4949/tcp +sip 5060/tcp +sip 5060/udp +sip-tls 5061/tcp +sip-tls 5061/udp +xmpp-client 5222/tcp jabber-client +xmpp-client 5222/udp jabber-client +xmpp-server 5269/tcp jabber-server +xmpp-server 5269/udp jabber-server +mdns 5353/tcp +mdns 5353/udp +postgresql 5432/tcp postgres +postgresql 5432/udp postgres +x11 6000/tcp +x11 6000/udp +mysql-proxy 6446/tcp +mysql-proxy 6446/udp +bacula-dir 9101/tcp +bacula-dir 9101/udp +bacula-fd 9102/tcp +bacula-fd 9102/udp +bacula-sd 9103/tcp +bacula-sd 9103/udp +nbd 10809/tcp +zabbix-agent 10050/tcp +zabbix-agent 10050/udp +zabbix-trapper 10051/tcp +zabbix-trapper 10051/udp +hkp 11371/tcp +hkp 11371/udp +ssmtp 465/tcp smtps +spamd 783/tcp +zebrasrv 2600/tcp +zebra 2601/tcp +ripd 2602/tcp +ripngd 2603/tcp +ospfd 2604/tcp +bgpd 2605/tcp +ospf6d 2606/tcp +ospfapi 2607/tcp +isisd 2608/tcp +sane-port 6566/tcp sane saned +ircd 6667/tcp +git 9418/tcp + diff --git a/package/base-files/files/etc/shadow b/package/base-files/files/etc/shadow new file mode 100644 index 0000000..39bdb9c --- /dev/null +++ b/package/base-files/files/etc/shadow @@ -0,0 +1,5 @@ +root:::0:99999:7::: +daemon:*:0:0:99999:7::: +ftp:*:0:0:99999:7::: +network:*:0:0:99999:7::: +nobody:*:0:0:99999:7::: diff --git a/package/base-files/files/etc/shells b/package/base-files/files/etc/shells new file mode 100644 index 0000000..006aa38 --- /dev/null +++ b/package/base-files/files/etc/shells @@ -0,0 +1 @@ +/bin/ash diff --git a/package/base-files/files/etc/shinit b/package/base-files/files/etc/shinit new file mode 100644 index 0000000..8df9771 --- /dev/null +++ b/package/base-files/files/etc/shinit @@ -0,0 +1,12 @@ +[ -x /bin/more ] || [ -x /usr/bin/more ] || alias more=less +[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi + +alias ll='ls -alF --color=auto' + +[ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc + +[ -x /usr/bin/arp -o -x /sbin/arp ] || arp() { cat /proc/net/arp; } +[ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; } + +[ -n "$KSH_VERSION" -o \! -s "$HOME/.shinit" ] || . "$HOME/.shinit" +[ -z "$KSH_VERSION" -o \! -s "$HOME/.mkshrc" ] || . "$HOME/.mkshrc" diff --git a/package/base-files/files/etc/sysctl.conf b/package/base-files/files/etc/sysctl.conf new file mode 100644 index 0000000..ae04212 --- /dev/null +++ b/package/base-files/files/etc/sysctl.conf @@ -0,0 +1 @@ +# Defaults are configured in /etc/sysctl.d/* and can be customized in this file diff --git a/package/base-files/files/etc/sysctl.d/10-default.conf b/package/base-files/files/etc/sysctl.d/10-default.conf new file mode 100644 index 0000000..bc8c579 --- /dev/null +++ b/package/base-files/files/etc/sysctl.d/10-default.conf @@ -0,0 +1,27 @@ +# Do not edit, changes to this file will be lost on upgrades +# /etc/sysctl.conf can be used to customize sysctl settings + +kernel.panic=3 +kernel.core_pattern=/tmp/%e.%t.%p.%s.core +fs.suid_dumpable=2 + +fs.protected_hardlinks=1 +fs.protected_symlinks=1 + +net.core.bpf_jit_enable=1 + +net.ipv4.conf.default.arp_ignore=1 +net.ipv4.conf.all.arp_ignore=1 +net.ipv4.ip_forward=1 +net.ipv4.icmp_echo_ignore_broadcasts=1 +net.ipv4.icmp_ignore_bogus_error_responses=1 +net.ipv4.igmp_max_memberships=100 +net.ipv4.tcp_fin_timeout=30 +net.ipv4.tcp_keepalive_time=120 +net.ipv4.tcp_syncookies=1 +net.ipv4.tcp_timestamps=1 +net.ipv4.tcp_sack=1 +net.ipv4.tcp_dsack=1 + +net.ipv6.conf.default.forwarding=1 +net.ipv6.conf.all.forwarding=1 diff --git a/package/base-files/files/etc/sysupgrade.conf b/package/base-files/files/etc/sysupgrade.conf new file mode 100644 index 0000000..e06fd5e --- /dev/null +++ b/package/base-files/files/etc/sysupgrade.conf @@ -0,0 +1,5 @@ +## This file contains files and directories that should +## be preserved during an upgrade. + +# /etc/example.conf +# /etc/openvpn/ diff --git a/package/base-files/files/etc/uci-defaults/10_migrate-shadow b/package/base-files/files/etc/uci-defaults/10_migrate-shadow new file mode 100644 index 0000000..481444f --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/10_migrate-shadow @@ -0,0 +1,10 @@ +ppwd="$(sed -ne '/^root:/s/^root:\([^:]*\):.*$/\1/p' /etc/passwd)" +spwd="$(sed -ne '/^root:/s/^root:\([^:]*\):.*$/\1/p' /etc/shadow)" + +if [ -n "${ppwd#[\!x]}" ] && [ -z "${spwd#[\!x]}" ]; then + logger -t migrate-shadow "Moving root password hash into shadow database" + sed -i -e "s:^root\:[^\:]*\::root\:x\::" /etc/passwd + sed -i -e "s:^root\:[^\:]*\::root\:$ppwd\::" /etc/shadow +fi + +exit 0 diff --git a/package/base-files/files/etc/uci-defaults/12_network-generate-ula b/package/base-files/files/etc/uci-defaults/12_network-generate-ula new file mode 100644 index 0000000..19d7ed7 --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/12_network-generate-ula @@ -0,0 +1,13 @@ +[ "$(uci -q get network.globals.ula_prefix)" != "auto" ] && exit 0 + +r1=$(dd if=/dev/urandom bs=1 count=1 |hexdump -e '1/1 "%02x"') +r2=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"') +r3=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"') + +uci -q batch <<-EOF >/dev/null + set network.globals.ula_prefix=fd$r1:$r2:$r3::/48 + commit network +EOF + +exit 0 + diff --git a/package/base-files/files/etc/uci-defaults/13_fix-group-user b/package/base-files/files/etc/uci-defaults/13_fix-group-user new file mode 100644 index 0000000..74f501e --- /dev/null +++ b/package/base-files/files/etc/uci-defaults/13_fix-group-user @@ -0,0 +1,9 @@ +. /lib/functions.sh + +for file in $(grep -sl Require-User /usr/lib/opkg/info/*.control); do + file="${file##*/}" + file="${file%.control}" + add_group_and_user "${file}" +done + +exit 0 diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh new file mode 100644 index 0000000..4b1b838 --- /dev/null +++ b/package/base-files/files/lib/functions.sh @@ -0,0 +1,436 @@ +# Copyright (C) 2006-2014 OpenWrt.org +# Copyright (C) 2006 Fokus Fraunhofer +# Copyright (C) 2010 Vertical Communications + + +debug () { + ${DEBUG:-:} "$@" +} + +# newline +N=" +" + +_C=0 +NO_EXPORT=1 +LOAD_STATE=1 +LIST_SEP=" " + +# xor multiple hex values of the same length +xor() { + local val + local ret="0x$1" + local retlen=${#1} + + shift + while [ -n "$1" ]; do + val="0x$1" + ret=$((ret ^ val)) + shift + done + + printf "%0${retlen}x" "$ret" +} + +append() { + local var="$1" + local value="$2" + local sep="${3:- }" + + eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" +} + +list_contains() { + local var="$1" + local str="$2" + local val + + eval "val=\" \${$var} \"" + [ "${val%% $str *}" != "$val" ] +} + +config_load() { + [ -n "$IPKG_INSTROOT" ] && return 0 + uci_load "$@" +} + +reset_cb() { + config_cb() { return 0; } + option_cb() { return 0; } + list_cb() { return 0; } +} +reset_cb + +package() { + return 0 +} + +config () { + local cfgtype="$1" + local name="$2" + + export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=$((CONFIG_NUM_SECTIONS + 1)) + name="${name:-cfg$CONFIG_NUM_SECTIONS}" + append CONFIG_SECTIONS "$name" + export ${NO_EXPORT:+-n} CONFIG_SECTION="$name" + config_set "$CONFIG_SECTION" "TYPE" "${cfgtype}" + [ -n "$NO_CALLBACK" ] || config_cb "$cfgtype" "$name" +} + +option () { + local varname="$1"; shift + local value="$*" + + config_set "$CONFIG_SECTION" "${varname}" "${value}" + [ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*" +} + +list() { + local varname="$1"; shift + local value="$*" + local len + + config_get len "$CONFIG_SECTION" "${varname}_LENGTH" 0 + [ $len = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}" + len=$((len + 1)) + config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value" + config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len" + append "CONFIG_${CONFIG_SECTION}_${varname}" "$value" "$LIST_SEP" + [ -n "$NO_CALLBACK" ] || list_cb "$varname" "$*" +} + +config_unset() { + config_set "$1" "$2" "" +} + +# config_get