Merge branch 'main' into add-uhttpd-umdns-support

This commit is contained in:
morse-lyall 2024-11-10 12:25:35 +11:00 committed by GitHub
commit 8ca1647e0b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
63 changed files with 443 additions and 181 deletions

View File

@ -295,12 +295,22 @@ menu "Global build settings"
Enable GCC Stack Smashing Protection (SSP) for userspace applications
config PKG_CC_STACKPROTECTOR_NONE
bool "None"
help
No stack smashing protection.
config PKG_CC_STACKPROTECTOR_REGULAR
bool "Regular"
help
Protects functions with vulnerable objects.
This includes functions with buffers larger than 8 bytes or calls to alloca.
config PKG_CC_STACKPROTECTOR_STRONG
bool "Strong"
help
Like Regular, but also protects functions with
local arrays or references to local frame addresses.
config PKG_CC_STACKPROTECTOR_ALL
bool "All"
help
Protects all functions.
endchoice
choice
@ -310,10 +320,18 @@ menu "Global build settings"
Enable GCC Stack-Smashing Protection (SSP) for the kernel
config KERNEL_CC_STACKPROTECTOR_NONE
bool "None"
help
No stack smashing protection.
config KERNEL_CC_STACKPROTECTOR_REGULAR
bool "Regular"
help
Protects functions with vulnerable objects.
This includes functions with buffers larger than 8 bytes or calls to alloca.
config KERNEL_CC_STACKPROTECTOR_STRONG
bool "Strong"
help
Like Regular, but also protects functions with
local arrays or references to local frame addresses.
endchoice
config KERNEL_STACKPROTECTOR

View File

@ -48,7 +48,6 @@ apk = \
$(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk \
--root $(1) \
--keys-dir $(if $(APK_KEYS),$(APK_KEYS),$(TOPDIR)) \
--no-cache \
--no-logfile \
--preserve-env
@ -84,7 +83,7 @@ define prepare_rootfs
IPKG_POSTINST_PATH=./usr/lib/opkg/info/*.postinst; \
fi; \
for script in $$IPKG_POSTINST_PATH; do \
PATH="$(TARGET_PATH_PKG)" IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \
IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \
ret=$$?; \
if [ $$ret -ne 0 ]; then \
echo "postinst script $$script has failed with exit code $$ret" >&2; \

View File

@ -98,7 +98,7 @@ $(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(curdir)/merge-index
ifneq ($(CONFIG_USE_APK),)
$(file >$(TMP_DIR)/apk_install_list,\
$(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg))))
$(call apk,$(TARGET_DIR)) add --initdb --no-scripts --arch $(ARCH_PACKAGES) \
$(call apk,$(TARGET_DIR)) add --no-cache --initdb --no-scripts --arch $(ARCH_PACKAGES) \
--repositories-file /dev/zero --repository file://$(PACKAGE_DIR_ALL)/packages.adb \
$$(cat $(TMP_DIR)/apk_install_list)
else
@ -130,7 +130,7 @@ ifneq ($(CONFIG_USE_APK),)
--keys-dir $(TOPDIR) \
--sign $(BUILD_KEY_APK_SEC) \
--output packages.adb \
$$(ls *.apk | grep -v 'kernel\|libc'); \
$$(ls *.apk | grep -v 'base-files-\|kernel-\|libc-'); \
done
else
@for d in $(PACKAGE_SUBDIRS); do ( \

View File

@ -163,6 +163,7 @@ ruckus,zf7372)
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x40000" "0x10000"
;;
sophos,ap15|\
sophos,ap15c|\
sophos,ap55|\
sophos,ap55c|\
sophos,ap100|\

View File

@ -693,7 +693,6 @@ static struct platform_driver gpio_keys_driver = {
.remove = gpio_keys_remove,
.driver = {
.name = "gpio-keys",
.owner = THIS_MODULE,
.of_match_table = of_match_ptr(gpio_keys_of_match),
},
};
@ -703,7 +702,6 @@ static struct platform_driver gpio_keys_polled_driver = {
.remove = gpio_keys_remove,
.driver = {
.name = "gpio-keys-polled",
.owner = THIS_MODULE,
.of_match_table = of_match_ptr(gpio_keys_polled_of_match),
},
};

View File

@ -366,7 +366,6 @@ err:
static struct platform_driver nct5104d_gpio_driver = {
.driver = {
.owner = THIS_MODULE,
.name = DRVNAME,
},
.probe = nct5104d_gpio_probe,

View File

@ -2807,7 +2807,6 @@ static struct platform_driver ltq_mei_driver = {
.remove = ltq_mei_remove,
.driver = {
.name = "lantiq,mei-xway",
.owner = THIS_MODULE,
.of_match_table = ltq_mei_match,
},
};

View File

@ -36,7 +36,7 @@
}
#ifndef _lint
@@ -1159,8 +1159,30 @@ module_param(debug_level, byte, 0);
@@ -1159,8 +1159,29 @@ module_param(debug_level, byte, 0);
MODULE_PARM_DESC(debug_level, "set to get more (1) or fewer (4) debug outputs");
#endif /* #ifndef DSL_DEBUG_DISABLE*/
@ -59,7 +59,6 @@
+ .remove = __devexit_p(ltq_adsl_remove),
+ .driver = {
+ .name = "adsl",
+ .owner = THIS_MODULE,
+ .of_match_table = ltq_adsl_match,
+ },
+};

View File

@ -1894,7 +1894,6 @@ static struct platform_driver ltq_atm_driver = {
.remove = ltq_atm_remove,
.driver = {
.name = "atm",
.owner = THIS_MODULE,
.of_match_table = ltq_atm_match,
},
};

View File

@ -196,7 +196,6 @@ static struct platform_driver ltq_deu_driver = {
.remove = ltq_deu_remove,
.driver = {
.name = "deu",
.owner = THIS_MODULE,
.of_match_table = ltq_deu_match,
},
};

View File

@ -1600,7 +1600,6 @@ static struct platform_driver ltq_ptm_driver = {
.remove = ltq_ptm_remove,
.driver = {
.name = "ptm",
.owner = THIS_MODULE,
.of_match_table = ltq_ptm_match,
},
};

View File

@ -1138,7 +1138,6 @@ static struct platform_driver ltq_ptm_driver = {
.remove = ltq_ptm_remove,
.driver = {
.name = "ptm",
.owner = THIS_MODULE,
.of_match_table = ltq_ptm_match,
},
};

View File

@ -0,0 +1,34 @@
From 3983dc1674fec43beb8ce9d9bfdd6302fef86eae Mon Sep 17 00:00:00 2001
From: Andrew MacIntyre <andymac@pcug.org.au>
Date: Mon, 4 Nov 2024 22:41:25 +1100
Subject: [PATCH] vrx518_tc: allow larger MTU to support RFC4638
vrx518_tc currently sets the interface maximum MTU to the ethernet default
of 1500 bytes by default via ether_setup() called from ptm_setup().
To support 1508 byte baby jumbo frames (RFC4638) for PPPoE connections
over VDSL links as already supported by the VR9 ltq_ptm driver ([1], [2])
set the interface maximum MTU to MAX_MTU.
MAX_MTU is defined in dcdp/inc/tc_common.h to 2002 bytes and this value is
used in ptm_change_mtu() and elsewhere as the maximum MTU, however this is
short circuited by checks against the interface maximum MTU.
[1]: https://forum.openwrt.org/t/fritzbox-7530-and-rfc4638-baby-jumbo-frames/181327
[2]: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=8a2a20e71e2909f84dab47e51dfda9e292a6c1ae
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
---
dcdp/ptm_tc.c | 1 +
1 file changed, 1 insertion(+)
--- a/dcdp/ptm_tc.c 2023-12-17 16:11:22.503500398 +1100
+++ b/dcdp/ptm_tc.c 2024-01-26 16:48:49.881623474 +1100
@@ -657,6 +657,7 @@ static void ptm_setup(struct net_device
ether_setup(dev);
dev->watchdog_timeo = 10 * HZ;
dev->netdev_ops = &g_ptm_netdev_ops;
+ dev->max_mtu = MAX_MTU;
}
static int ptm_dev_init(struct tc_priv *tc_priv, u32 id,

View File

@ -311,6 +311,38 @@ endef
$(eval $(call KernelPackage,drm-exec))
define KernelPackage/drm-dma-helper
SUBMENU:=$(VIDEO_MENU)
HIDDEN:=1
TITLE:=GEM DMA helper functions
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-kms-helper
KCONFIG:=CONFIG_DRM_GEM_DMA_HELPER
FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_dma_helper.ko
AUTOLOAD:=$(call AutoProbe,drm_dma_helper)
endef
define KernelPackage/drm-dma-helper/description
GEM DMA helper functions.
endef
$(eval $(call KernelPackage,drm-dma-helper))
define KernelPackage/drm-mipi-dbi
SUBMENU:=$(VIDEO_MENU)
HIDDEN:=1
TITLE:=MIPI DBI helpers
DEPENDS:=@DISPLAY_SUPPORT +kmod-backlight +kmod-drm-kms-helper
KCONFIG:=CONFIG_DRM_MIPI_DBI
FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_mipi_dbi.ko
AUTOLOAD:=$(call AutoProbe,drm_mipi_dbi)
endef
define KernelPackage/drm-mipi-dbi/description
MIPI Display Bus Interface (DBI) LCD controller support.
endef
$(eval $(call KernelPackage,drm-mipi-dbi))
define KernelPackage/drm-ttm
SUBMENU:=$(VIDEO_MENU)
TITLE:=GPU memory management subsystem
@ -484,6 +516,24 @@ endef
$(eval $(call KernelPackage,drm-imx-ldb))
define KernelPackage/drm-panel-mipi-dbi
SUBMENU:=$(VIDEO_MENU)
TITLE:=Generic MIPI DBI LCD panel
DEPENDS:=+kmod-drm-mipi-dbi +kmod-drm-dma-helper
KCONFIG:=CONFIG_DRM_PANEL_MIPI_DBI \
CONFIG_DRM_FBDEV_EMULATION=y \
CONFIG_DRM_FBDEV_OVERALLOC=100
FILES:= \
$(LINUX_DIR)/drivers/gpu/drm/tiny/panel-mipi-dbi.ko
AUTOLOAD:=$(call AutoProbe,panel-mipi-dbi)
endef
define KernelPackage/drm-panel-mipi-dbi/description
Generic driver for MIPI Alliance Display Bus Interface
endef
$(eval $(call KernelPackage,drm-panel-mipi-dbi))
define KernelPackage/drm-radeon
SUBMENU:=$(VIDEO_MENU)
TITLE:=Radeon DRM support

View File

@ -146,7 +146,6 @@ static struct platform_driver ubootenv_driver = {
.remove = ubootenv_remove,
.driver = {
.name = NAME,
.owner = THIS_MODULE,
.of_match_table = of_ubootenv_match,
},
};

View File

@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
PKG_SOURCE_DATE:=2024-10-06
PKG_SOURCE_VERSION:=3c6265fdbd02ebd35fa3e7a58d6dfeed081a09d7
PKG_MIRROR_HASH:=00b01243b99995dc52a047e5663cf5c7732f8defd6b726f73ac15e142b02b4fa
PKG_SOURCE_DATE:=2024-11-08
PKG_SOURCE_VERSION:=34eb11eb6f5c62de480d6192f0ca840093127fee
PKG_MIRROR_HASH:=c4c2bc626426d2cd73c9ece54b22ada6ed6254afa992f51b8725312aca240cfd
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=GPL-2.0

View File

@ -379,6 +379,7 @@ _wdev_common_device_config() {
_wdev_common_iface_config() {
config_add_string mode ssid encryption 'key:wpakey'
config_add_boolean bridge_isolate
config_add_array tags
}
_wdev_common_vlan_config() {

View File

@ -84,7 +84,11 @@ ifneq ($(CONFIG_DRIVER_11BE_SUPPORT),)
HOSTAPD_IEEE80211BE:=y
endif
CORE_DEPENDS = +ucode +libubus +libucode +ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop +libblobmsg-json +libudebug
CORE_DEPENDS = +ucode +libucode \
+ucode-mod-fs +ucode-mod-nl80211 +ucode-mod-rtnl +ucode-mod-ubus +ucode-mod-uloop \
+libubus +libblobmsg-json \
+libudebug
OPENSSL_DEPENDS = +PACKAGE_$(1):libopenssl +PACKAGE_$(1):libopenssl-legacy
DRIVER_MAKEOPTS= \
@ -716,7 +720,13 @@ define Install/supplicant
endef
define Package/hostapd-common/install
$(INSTALL_DIR) $(1)/etc/capabilities $(1)/etc/rc.button $(1)/etc/hotplug.d/ieee80211 $(1)/etc/init.d $(1)/lib/netifd $(1)/usr/share/acl.d $(1)/usr/share/hostap
$(INSTALL_DIR) \
$(1)/etc/capabilities \
$(1)/etc/rc.button \
$(1)/etc/hotplug.d/ieee80211 \
$(1)/etc/init.d $(1)/lib/netifd \
$(1)/usr/share/acl.d \
$(1)/usr/share/hostap
$(INSTALL_BIN) ./files/dhcp-get-server.sh $(1)/lib/netifd/dhcp-get-server.sh
$(INSTALL_BIN) ./files/wpad.init $(1)/etc/init.d/wpad
$(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps

View File

@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_URL=https://gitlab.alpinelinux.org/alpine/apk-tools.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2024-10-28
PKG_SOURCE_VERSION:=a1ad8568a1378d71c1f6354c428ebb1baa46fa05
PKG_MIRROR_HASH:=68747e1253776dc00286c01e408f4c4e1eb61acf56009b7ecb3de4d49b34e567
PKG_SOURCE_DATE:=2024-11-08
PKG_SOURCE_VERSION:=d9c24813d983df9524fa7a2b78fc3132c159a20f
PKG_MIRROR_HASH:=3d1a79c08ef8c8b9404f9287d9acda6468b8b1c2a99dd384287f522ed3b1a047
PKG_VERSION=3.0.0_pre$(subst -,,$(PKG_SOURCE_DATE))

View File

@ -10,7 +10,7 @@ Signed-off-by: Paul Spooren <mail@aparcar.org>
--- a/src/database.c
+++ b/src/database.c
@@ -1626,7 +1626,7 @@ const char *apk_db_layer_name(int layer)
@@ -1627,7 +1627,7 @@ const char *apk_db_layer_name(int layer)
{
switch (layer) {
case APK_DB_LAYER_ROOT: return "lib/apk/db";

View File

@ -1,29 +0,0 @@
From ffcda7769279e75993110766555eea6d3c6baae7 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Fri, 25 Oct 2024 01:09:41 +0200
Subject: [PATCH] apk_defines: add default arch for ARM Big-Endian
Add default arch for ARM Big-Endiang named armeb. One example of such
target are devices based on the Intel XScale IXP4xx SoC.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
src/apk_defines.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/apk_defines.h b/src/apk_defines.h
index c92dacd..06351df 100644
--- a/src/apk_defines.h
+++ b/src/apk_defines.h
@@ -126,6 +126,8 @@ static inline int IS_ERR(const void *ptr) { return (unsigned long)ptr >= (unsign
#define APK_DEFAULT_BASE_ARCH "armhf"
#elif defined(__arm__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define APK_DEFAULT_BASE_ARCH "armel"
+#elif defined(__arm__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#define APK_DEFAULT_BASE_ARCH "armeb"
#elif defined(__aarch64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define APK_DEFAULT_BASE_ARCH "aarch64"
#elif defined(__s390x__)
--
2.45.2

View File

@ -0,0 +1,91 @@
From f74ca42e0fa5bf131644a46d8259edd493bf072c Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Wed, 23 Oct 2024 01:11:01 +0200
Subject: [PATCH] app_list: add full print
Add full print variant to dump info about each package.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
src/app_list.c | 42 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 41 insertions(+), 1 deletion(-)
--- a/src/app_list.c
+++ b/src/app_list.c
@@ -27,6 +27,7 @@ struct list_ctx {
unsigned int match_depends : 1;
unsigned int match_providers : 1;
unsigned int manifest : 1;
+ unsigned int full : 1;
struct apk_string_array *filters;
};
@@ -118,6 +119,40 @@ static void print_manifest(const struct
printf("%s " BLOB_FMT "\n", pkg->name->name, BLOB_PRINTF(*pkg->version));
}
+static void print_full(const struct apk_package *pkg, const struct list_ctx *ctx)
+{
+ struct apk_dependency *d;
+
+ printf("Package: %s\n", pkg->name->name);
+ printf("Version: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->version));
+ if (apk_array_len(pkg->depends)) {
+ int i = 0;
+
+ printf("Depends: ");
+ foreach_array_item(d, pkg->depends) {
+ i++;
+ printf("%s%s", d->name->name, i < apk_array_len(pkg->depends) ? ", ": "\n");
+ }
+ }
+ if (apk_array_len(pkg->provides)) {
+ int i = 0;
+
+ printf("Provides: ");
+ foreach_array_item(d, pkg->provides) {
+ i++;
+ printf("%s%s", d->name->name, i < apk_array_len(pkg->provides) ? ", ": "\n");
+ }
+ }
+ if (pkg->ipkg && ctx->installed)
+ printf("Status: install ok %s\n", pkg->marked ? "hold" : "installed");
+ if (pkg->description)
+ printf("Description: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->description));
+ printf("License: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->license));
+ printf("Installed-Size: %zu\n", pkg->installed_size);
+ printf("Size: %zu\n", pkg->size);
+ printf("\n");
+}
+
static void filter_package(const struct apk_database *db, const struct apk_package *pkg, const struct list_ctx *ctx, const struct apk_name *name)
{
if (ctx->match_origin && !origin_matches(ctx, pkg))
@@ -138,7 +173,9 @@ static void filter_package(const struct
if (ctx->match_providers)
printf("<%s> ", name->name);
- if (ctx->manifest)
+ if (ctx->full)
+ print_full(pkg, ctx);
+ else if (ctx->manifest)
print_manifest(pkg, ctx);
else
print_package(db, pkg, ctx);
@@ -178,6 +215,7 @@ static int print_result(struct apk_datab
OPT(OPT_LIST_depends, APK_OPT_SH("d") "depends") \
OPT(OPT_LIST_installed, APK_OPT_SH("I") "installed") \
OPT(OPT_LIST_manifest, "manifest") \
+ OPT(OPT_LIST_full, "full") \
OPT(OPT_LIST_origin, APK_OPT_SH("o") "origin") \
OPT(OPT_LIST_orphaned, APK_OPT_SH("O") "orphaned") \
OPT(OPT_LIST_providers, APK_OPT_SH("P") "providers") \
@@ -191,6 +229,8 @@ static int option_parse_applet(void *pct
struct list_ctx *ctx = pctx;
switch (opt) {
+ case OPT_LIST_full:
+ ctx->full = 1;
case OPT_LIST_available:
ctx->available = 1;
ctx->orphaned = 0;

View File

@ -68,19 +68,16 @@ else
echo 'src imagebuilder file:packages' >> $(PKG_BUILD_DIR)/repositories.conf
endif
ifeq ($(CONFIG_BUILDBOT),)
ifeq ($(CONFIG_IB_STANDALONE),)
ifeq ($(CONFIG_IB_STANDALONE),)
$(FIND) $(call FeedPackageDir,libc) -type f \
\( -name 'libc*.$(PACKAGE_SUFFIX)' -or -name 'kernel*.$(PACKAGE_SUFFIX)' -or -name 'kmod-*.$(PACKAGE_SUFFIX)' \) \
-exec $(CP) -t $(PKG_BUILD_DIR)/packages {} +
else
\( \
-name 'base-files-*.$(PACKAGE_SUFFIX)' -or \
-name 'libc-*.$(PACKAGE_SUFFIX)' -or \
-name 'kernel-*.$(PACKAGE_SUFFIX)' \) \
-exec $(CP) -t $(PKG_BUILD_DIR)/packages {} +
else
$(FIND) $(wildcard $(PACKAGE_SUBDIRS)) -type f -name '*.$(PACKAGE_SUFFIX)' \
-exec $(CP) -t $(PKG_BUILD_DIR)/packages/ {} +
endif
else
$(FIND) $(call FeedPackageDir,libc) -type f \
\( -name 'libc*.$(PACKAGE_SUFFIX)' -or -name 'kernel*.$(PACKAGE_SUFFIX)' \) \
-exec $(CP) -t $(IB_LDIR)/ {} +
endif
ifneq ($(CONFIG_SIGNATURE_CHECK),)

View File

@ -181,11 +181,9 @@ ifeq ($(CONFIG_USE_APK),)
) >/dev/null 2>/dev/null
$(OPKG) update >&2 || true
else
$(APK) add --initdb
(cd $(PACKAGE_DIR); $(APK) mkndx \
$(if $(CONFIG_SIGNATURE_CHECK), --keys-dir $(APK_KEYS) --sign $(BUILD_KEY_APK_SEC)) \
--allow-untrusted --output packages.adb *.apk) >/dev/null 2>/dev/null || true
$(APK) update >&2 || true
endif
package_reload:
@ -201,6 +199,7 @@ ifeq ($(CONFIG_USE_APK),)
$(OPKG) update >&2 || true; \
fi
else
$(APK) add --initdb
if [ -d "$(PACKAGE_DIR)" ] && ( \
[ ! -f "$(PACKAGE_DIR)/packages.adb" ] || \
[ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/packages.adb`" ] ); then \
@ -208,7 +207,6 @@ else
$(MAKE) package_index; \
else \
mkdir -p $(TARGET_DIR)/tmp; \
$(APK) update >&2 || true; \
fi
endif
@ -224,12 +222,10 @@ package_install: FORCE
@echo
@echo Installing packages...
ifeq ($(CONFIG_USE_APK),)
$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/libc_*.ipk $(PACKAGE_DIR)/libc_*.ipk))
$(OPKG) install $(firstword $(wildcard $(LINUX_DIR)/kernel_*.ipk $(PACKAGE_DIR)/kernel_*.ipk))
$(OPKG) install $(wildcard $(PACKAGE_DIR)/libc_*.ipk)
$(OPKG) install $(wildcard $(PACKAGE_DIR)/kernel_*.ipk)
$(OPKG) install $(BUILD_PACKAGES)
else
$(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/libc-*.apk $(PACKAGE_DIR)/libc-*.apk))
$(APK) add --no-scripts $(firstword $(wildcard $(LINUX_DIR)/kernel-*.apk $(PACKAGE_DIR)/kernel-*.apk))
$(APK) add --no-scripts $(BUILD_PACKAGES)
endif

View File

@ -0,0 +1,159 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "qca955x.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
compatible = "sophos,ap15c", "qca,qca9557";
model = "Sophos AP15C";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_yellow;
led-running = &led_status_green;
led-upgrade = &led_status_yellow;
label-mac-device = &eth0;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
leds {
compatible = "gpio-leds";
led_status_green: status_green {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led_status_yellow: status_yellow {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_YELLOW>;
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
};
};
&spi {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x040000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
};
partition@50000 {
label = "art";
reg = <0x050000 0x010000>;
read-only;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
cal_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
};
};
partition@60000 {
label = "config";
reg = <0x060000 0x010000>;
read-only;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
macaddr_config_201a: macaddr@201a {
reg = <0x201a 0x6>;
};
};
};
partition@70000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x070000 0xf90000>;
};
};
};
};
&mdio0 {
status = "okay";
phy-mask = <0x10>;
phy4: ethernet-phy@4 {
reg = <4>;
eee-broken-100tx;
eee-broken-1000t;
};
};
&eth0 {
status = "okay";
pll-data = <0xa6000000 0xa0000101 0xa0001313>;
nvmem-cells = <&macaddr_config_201a>;
nvmem-cell-names = "mac-address";
phy-mode = "rgmii-id";
phy-handle = <&phy4>;
gmac_config: gmac-config {
device = <&gmac>;
rgmii-enabled = <1>;
rxdv-delay = <3>;
rxd-delay = <3>;
txen-delay = <3>;
txd-delay = <3>;
};
};
&wmac {
status = "okay";
nvmem-cells = <&cal_art_1000>;
nvmem-cell-names = "calibration";
};

View File

@ -123,7 +123,7 @@
partition@2c0000 {
label = "firmware";
reg = <0x2c0000 0x5000000>;
reg = <0x2c0000 0x7d40000>;
compatible = "fixed-partitions";
#address-cells = <1>;
@ -136,7 +136,7 @@
partition@400000 {
label = "ubi";
reg = <0x400000 0x4c00000>;
reg = <0x400000 0x7940000>;
};
/* Original layout for secondary partitions */
@ -151,11 +151,11 @@
}; */
};
partition@52c0000 {
/* Original layout for user data partition */
/* partition@52c0000 {
label = "syscfg";
reg = <0x52c0000 0x2d40000>;
read-only;
};
}; */
};
};

View File

@ -168,7 +168,6 @@ static struct platform_driver gpio_latch_driver = {
.probe = gpio_latch_probe,
.driver = {
.name = GPIO_LATCH_DRIVER_NAME,
.owner = THIS_MODULE,
.of_match_table = gpio_latch_match,
},
};

View File

@ -182,7 +182,6 @@ static struct platform_driver gpio_rb91x_key_driver = {
.probe = gpio_rb91x_key_probe,
.driver = {
.name = GPIO_RB91X_KEY_DRIVER_NAME,
.owner = THIS_MODULE,
.of_match_table = gpio_rb91x_key_match,
},
};

View File

@ -1478,7 +1478,6 @@ static struct platform_driver ar934x_nfc_driver = {
.remove = ar934x_nfc_remove,
.driver = {
.name = AR934X_NFC_DRIVER_NAME,
.owner = THIS_MODULE,
.of_match_table = ar934x_nfc_match,
},
};

View File

@ -356,7 +356,6 @@ static struct platform_driver rb91x_nand_driver = {
.remove = rb91x_nand_remove,
.driver = {
.name = "rb91x-nand",
.owner = THIS_MODULE,
.of_match_table = rb91x_nand_match,
},
};

View File

@ -76,6 +76,7 @@ ath79_setup_interfaces()
ruckus,zf7351|\
siemens,ws-ap3610|\
sophos,ap15|\
sophos,ap15c|\
sophos,ap55|\
sophos,ap55c|\
sophos,ap100|\

View File

@ -2972,6 +2972,14 @@ define Device/sophos_ap15
endef
TARGET_DEVICES += sophos_ap15
define Device/sophos_ap15c
SOC := qca9557
DEVICE_VENDOR := Sophos
DEVICE_MODEL := AP15C
IMAGE_SIZE := 15936k
endef
TARGET_DEVICES += sophos_ap15c
define Device/sophos_ap55
SOC := qca9558
DEVICE_VENDOR := Sophos

View File

@ -281,6 +281,12 @@ TARGET_DEVICES += glinet_gl-x1200-nor
define Device/linksys_ea4500-v3
SOC := qca9558
DEVICE_COMPAT_VERSION := 1.1
DEVICE_COMPAT_MESSAGE := Partition table has been changed. Please \
install kmod-mtd-rw and erase mtd8 (syscfg) before upgrade \
to keep configures, or forcibly flash factory image to mtd5 \
(firmware) partition with mtd tool to discard configures but \
claim additional space immediately.
DEVICE_VENDOR := Linksys
DEVICE_MODEL := EA4500
DEVICE_VARIANT := v3
@ -288,7 +294,7 @@ define Device/linksys_ea4500-v3
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE := 4096k
IMAGE_SIZE := 81920k
IMAGE_SIZE := 128256k
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
LINKSYS_HWNAME := EA4500V3
IMAGES += factory.img

View File

@ -4,6 +4,7 @@
board_config_update
case "$(board_name)" in
linksys,ea4500-v3|\
netgear,wndr4300-v2|\
netgear,wndr4500-v3)
ucidef_set_compat_version "1.1"

View File

@ -32,7 +32,7 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
--- /dev/null
+++ b/drivers/watchdog/old_gpio_wdt.c
@@ -0,0 +1,301 @@
@@ -0,0 +1,300 @@
+/*
+ * Driver for GPIO-controlled Hardware Watchdogs.
+ *
@ -294,7 +294,6 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
+ .probe = gpio_wdt_probe,
+ .remove = gpio_wdt_remove,
+ .driver.name = "gpio-wdt",
+ .driver.owner = THIS_MODULE,
+};
+
+static int __init gpio_wdt_init(void)

View File

@ -1503,7 +1503,6 @@ MODULE_DEVICE_TABLE(of, rtl8366rb_match);
static struct platform_driver rtl8366rb_driver = {
.driver = {
.name = RTL8366RB_DRIVER_NAME,
.owner = THIS_MODULE,
.of_match_table = of_match_ptr(rtl8366rb_match),
},
.probe = rtl8366rb_probe,

View File

@ -1291,7 +1291,6 @@ MODULE_DEVICE_TABLE(of, rtl8366s_match);
static struct platform_driver rtl8366s_driver = {
.driver = {
.name = RTL8366S_DRIVER_NAME,
.owner = THIS_MODULE,
#ifdef CONFIG_OF
.of_match_table = of_match_ptr(rtl8366s_match),
#endif

View File

@ -1834,7 +1834,6 @@ MODULE_DEVICE_TABLE(of, rtl8367_match);
static struct platform_driver rtl8367_driver = {
.driver = {
.name = RTL8367_DRIVER_NAME,
.owner = THIS_MODULE,
#ifdef CONFIG_OF
.of_match_table = of_match_ptr(rtl8367_match),
#endif

View File

@ -1633,7 +1633,6 @@ MODULE_DEVICE_TABLE(of, rtl8367b_match);
static struct platform_driver rtl8367b_driver = {
.driver = {
.name = RTL8367B_DRIVER_NAME,
.owner = THIS_MODULE,
#ifdef CONFIG_OF
.of_match_table = of_match_ptr(rtl8367b_match),
#endif

View File

@ -15,7 +15,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
#include "gpiolib-of.h"
@@ -1129,3 +1131,74 @@ void of_gpiochip_remove(struct gpio_chip
@@ -1129,3 +1131,73 @@ void of_gpiochip_remove(struct gpio_chip
{
of_node_put(dev_of_node(&chip->gpiodev->dev));
}
@ -81,7 +81,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+static struct platform_driver gpio_export_driver = {
+ .driver = {
+ .name = "gpio-export",
+ .owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(gpio_export_ids),
+ },
+ .probe = of_gpio_export_probe,

View File

@ -81,7 +81,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
swim_mod-y := swim.o swim_asm.o
--- /dev/null
+++ b/drivers/block/fitblk.c
@@ -0,0 +1,659 @@
@@ -0,0 +1,658 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * uImage.FIT virtual block device driver.
@ -714,7 +714,6 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
+ .probe = fitblk_probe,
+ .driver = {
+ .name = "fitblk",
+ .owner = THIS_MODULE,
+ },
+};
+

View File

@ -23,7 +23,7 @@ Subject: SoC: add qualcomm syscon
+obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o
--- /dev/null
+++ b/drivers/soc/qcom/qcom_tcsr.c
@@ -0,0 +1,96 @@
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
+ *
@ -109,7 +109,6 @@ Subject: SoC: add qualcomm syscon
+static struct platform_driver tcsr_driver = {
+ .driver = {
+ .name = "tcsr",
+ .owner = THIS_MODULE,
+ .of_match_table = tcsr_dt_match,
+ },
+ .probe = tcsr_probe,

View File

@ -28,7 +28,7 @@ Subject: SoC: add qualcomm syscon
depends on ARCH_QCOM || COMPILE_TEST
--- /dev/null
+++ b/drivers/soc/qcom/qcom_tcsr.c
@@ -0,0 +1,62 @@
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2014, The Linux foundation. All rights reserved.
+ *
@ -80,7 +80,6 @@ Subject: SoC: add qualcomm syscon
+static struct platform_driver tcsr_driver = {
+ .driver = {
+ .name = "tcsr",
+ .owner = THIS_MODULE,
+ .of_match_table = tcsr_dt_match,
+ },
+ .probe = tcsr_probe,

View File

@ -186,7 +186,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
obj-y += vmmc.o
--- /dev/null
+++ b/arch/mips/lantiq/xway/timer.c
@@ -0,0 +1,887 @@
@@ -0,0 +1,886 @@
+#ifndef CONFIG_SOC_AMAZON_SE
+
+#include <linux/kernel.h>
@ -1043,7 +1043,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ .probe = gptu_probe,
+ .driver = {
+ .name = "gptu-xway",
+ .owner = THIS_MODULE,
+ .of_match_table = gptu_match,
+ },
+};

View File

@ -47,7 +47,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
obj-$(CONFIG_I2C_MESON) += i2c-meson.o
--- /dev/null
+++ b/drivers/i2c/busses/i2c-lantiq.c
@@ -0,0 +1,746 @@
@@ -0,0 +1,745 @@
+
+/*
+ * Lantiq I2C bus adapter
@ -782,7 +782,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ .remove = ltq_i2c_remove,
+ .driver = {
+ .name = DRV_NAME,
+ .owner = THIS_MODULE,
+ .of_match_table = ltq_i2c_match,
+ },
+};

View File

@ -36,7 +36,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+obj-$(CONFIG_PCI) += ath5k_eep.o
--- /dev/null
+++ b/arch/mips/lantiq/xway/ath5k_eep.c
@@ -0,0 +1,136 @@
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2011 Luca Olivetti <luca@ventoso.org>
+ * Copyright (C) 2011 John Crispin <blogic@openwrt.org>
@ -149,7 +149,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+static struct platform_driver ath5k_eeprom_driver = {
+ .driver = {
+ .name = "ath5k,eeprom",
+ .owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(ath5k_eeprom_ids),
+ },
+};

View File

@ -293,7 +293,7 @@ Signed-off-by: Eddi De Pieri <eddi@depieri.net>
register_pci_controller(&ifx_pcie_controller[pcie_port].pcic);
/* XXX, clear error status */
@@ -1083,6 +1185,30 @@ static int __init ifx_pcie_bios_init(voi
@@ -1083,6 +1185,29 @@ static int __init ifx_pcie_bios_init(voi
return 0;
}
@ -308,7 +308,6 @@ Signed-off-by: Eddi De Pieri <eddi@depieri.net>
+ .probe = ifx_pcie_bios_probe,
+ .driver = {
+ .name = "pcie-xrx200",
+ .owner = THIS_MODULE,
+ .of_match_table = ifxmips_pcie_match,
+ },
+};

View File

@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = {
.remove = rtk_gsw_remove,
.driver = {
.name = "rtk-gsw",
.owner = THIS_MODULE,
.of_match_table = rtk_gsw_match,
},
};

View File

@ -49,7 +49,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
+obj-$(CONFIG_QCOM_APM) += apm.o
--- /dev/null
+++ b/drivers/power/qcom/apm.c
@@ -0,0 +1,944 @@
@@ -0,0 +1,943 @@
+/*
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
+ *
@ -971,7 +971,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
+ .driver = {
+ .name = MSM_APM_DRIVER_NAME,
+ .of_match_table = msm_apm_match_table,
+ .owner = THIS_MODULE,
+ },
+ .probe = msm_apm_probe,
+ .remove = msm_apm_remove,

View File

@ -77,7 +77,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
obj-$(CONFIG_REGULATOR_PF8X00) += pf8x00-regulator.o
--- /dev/null
+++ b/drivers/regulator/cpr3-npu-regulator.c
@@ -0,0 +1,695 @@
@@ -0,0 +1,694 @@
+/*
+ * Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ *
@ -752,7 +752,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
+ .driver = {
+ .name = "qcom,cpr3-npu-regulator",
+ .of_match_table = cpr3_regulator_match_table,
+ .owner = THIS_MODULE,
+ },
+ .probe = cpr3_npu_regulator_probe,
+ .remove = cpr3_npu_regulator_remove,
@ -9866,7 +9865,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
+}
--- /dev/null
+++ b/drivers/regulator/cpr4-apss-regulator.c
@@ -0,0 +1,1819 @@
@@ -0,0 +1,1818 @@
+/*
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
+ *
@ -11663,7 +11662,6 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
+ .driver = {
+ .name = "qcom,cpr4-apss-regulator",
+ .of_match_table = cpr4_regulator_match_table,
+ .owner = THIS_MODULE,
+ },
+ .probe = cpr4_apss_regulator_probe,
+ .remove = cpr4_apss_regulator_remove,

View File

@ -87,6 +87,7 @@
regulator-max-microvolt = <5000000>;
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
};

View File

@ -63,6 +63,7 @@
regulator-max-microvolt = <5000000>;
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
};

View File

@ -22,6 +22,7 @@
regulator-max-microvolt = <5000000>;
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
};

View File

@ -100,13 +100,8 @@
};
partition@140000 {
label = "kernel1";
reg = <0x140000 0x300000>;
};
partition@440000 {
label = "kernel2";
reg = <0x440000 0x300000>;
label = "kernel";
reg = <0x140000 0x600000>;
};
partition@740000 {

View File

@ -103,6 +103,7 @@
regulator-max-microvolt = <5000000>;
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
};

View File

@ -101,6 +101,7 @@
regulator-max-microvolt = <5000000>;
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
};
};

View File

@ -1525,7 +1525,6 @@ static struct platform_driver esw_driver = {
.remove = esw_remove,
.driver = {
.name = "rt3050-esw",
.owner = THIS_MODULE,
.of_match_table = ralink_esw_match,
},
};

View File

@ -296,7 +296,6 @@ static struct platform_driver gsw_driver = {
.remove = mt7620_gsw_remove,
.driver = {
.name = "mt7620-gsw",
.owner = THIS_MODULE,
.of_match_table = mediatek_gsw_match,
},
};

View File

@ -1657,7 +1657,6 @@ static struct platform_driver fe_driver = {
.remove = fe_remove,
.driver = {
.name = "mtk_soc_eth",
.owner = THIS_MODULE,
.of_match_table = of_fe_match,
},
};

View File

@ -229,30 +229,6 @@ define Build/belkin-header
mv $@.new $@
endef
define Build/ubnt-erx-factory-image
if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
echo '21001:7' > $(1).compat; \
$(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
\
$(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
$(MKHASH) md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
$(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
\
echo "dummy" > $(1).rootfs; \
$(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
\
$(MKHASH) md5 $(1).rootfs > $(1).md5; \
$(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
\
echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
$(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
\
$(CP) $(1) $(BIN_DIR)/; \
else \
echo "WARNING: initramfs kernel image too big, cannot generate factory image (actual $$(stat -c%s $@); max $(KERNEL_SIZE))" >&2; \
fi
endef
define Build/zytrx-header
$(eval board=$(word 1,$(1)))
$(eval version=$(word 2,$(1)))
@ -2858,14 +2834,15 @@ define Device/ubnt_edgerouter_common
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
DEVICE_VENDOR := Ubiquiti
IMAGE_SIZE := 256768k
IMAGE_SIZE := 259840k
FILESYSTEMS := squashfs
KERNEL_SIZE := 3145728
KERNEL_INITRAMFS := $$(KERNEL) | \
ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
KERNEL_SIZE := 6144k
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
DEVICE_PACKAGES += -wpad-basic-mbedtls -uboot-envtools
DEFAULT := n
DEVICE_COMPAT_VERSION := 2.0
DEVICE_COMPAT_MESSAGE := Partition table has been changed due to kernel size restrictions. \
Refer to the wiki page for instructions to migrate to the new layout: \
https://openwrt.org/toh/ubiquiti/edgerouter_x_er-x_ka
endef
define Device/ubnt_edgerouter-x

View File

@ -8,6 +8,8 @@
board_config_update
case "$(board_name)" in
ubnt,edgerouter-x|\
ubnt,edgerouter-x-sfp|\
iptime,ax2004m)
ucidef_set_compat_version "2.0"
;;

View File

@ -8,32 +8,16 @@
UBNT_ERX_KERNEL_INDEX_OFFSET=160
ubnt_get_target_kernel() {
ubnt_update_kernel_flag() {
local factory_mtd=$1
local current_kernel_index=$(hexdump -s $UBNT_ERX_KERNEL_INDEX_OFFSET -n 1 -e '/1 "%X "' ${factory_mtd})
local kernel_index=$(hexdump -s $UBNT_ERX_KERNEL_INDEX_OFFSET -n 1 -e '/1 "%X "' ${factory_mtd})
if [ $current_kernel_index == "0" ]; then
echo 'kernel2'
elif [ $current_kernel_index == "1" ]; then
echo 'kernel1'
fi
}
ubnt_update_target_kernel() {
local factory_mtd=$1
local kernel_part=$2
local new_kernel_index
if [ $kernel_part == "kernel1" ]; then
new_kernel_index="\x00"
elif [ $kernel_part == "kernel2" ]; then
new_kernel_index="\x01"
else
echo 'Unknown kernel image index' >&2
return 1
if [ $kernel_index = "0" ]; then
echo "Kernel flag already set to kernel slot 1"
return 0
fi
if ! (echo -e $new_kernel_index | dd of=${factory_mtd} bs=1 count=1 seek=$UBNT_ERX_KERNEL_INDEX_OFFSET); then
if ! (echo -e "\x00" | dd of=${factory_mtd} bs=1 count=1 seek=$UBNT_ERX_KERNEL_INDEX_OFFSET); then
echo 'Failed to update kernel bootup index' >&2
return 1
fi
@ -46,15 +30,6 @@ platform_upgrade_ubnt_erx() {
exit 1
fi
local kernel_part="$(ubnt_get_target_kernel ${factory_mtd})"
if [ -z "$kernel_part" ]; then
echo "cannot find factory partition" >&2
exit 1
fi
# This is a global defined in nand.sh, sets partition kernel will be flashed into
CI_KERNPART=${kernel_part}
#Remove volume possibly left over from stock firmware
local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
if [ -z "$ubidev" ]; then
@ -72,7 +47,7 @@ platform_upgrade_ubnt_erx() {
[ -n "$troot_ubivol" ] && ubirmvol /dev/$ubidev -N troot || true
fi
ubnt_update_target_kernel ${factory_mtd} ${kernel_part} || exit 1
ubnt_update_kernel_flag ${factory_mtd} || exit 1
nand_do_upgrade "$1"
}

View File

@ -333,7 +333,6 @@ static struct platform_driver sf_gpio_driver = {
.remove = sf_gpio_remove,
.driver = {
.name = "siflower_gpio",
.owner = THIS_MODULE,
.of_match_table = sf_gpio_ids,
},
};