Merge Official Source

This commit is contained in:
CN_SZTL 2020-11-28 17:10:30 +08:00
commit 769ae66506
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
245 changed files with 5932 additions and 35059 deletions

View File

@ -182,6 +182,14 @@ menu "Global build settings"
help help
Specifies arguments passed to the strip command when stripping binaries. 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 config STRIP_KERNEL_EXPORTS
bool "Strip unnecessary exports from the kernel image" bool "Strip unnecessary exports from the kernel image"
help help

View File

@ -107,6 +107,11 @@ menuconfig DEVEL
It can be a git hash or a branch name. It can be a git hash or a branch name.
If unused, the clone's repository HEAD will be checked-out. 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 config BUILD_LOG
bool "Enable log files during build process" if DEVEL bool "Enable log files during build process" if DEVEL
help help

View File

@ -86,6 +86,8 @@ define Host/Configure/Default
LDFLAGS="$(HOST_LDFLAGS)" \ LDFLAGS="$(HOST_LDFLAGS)" \
cmake \ cmake \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER="$(HOSTCC)" \
-DCMAKE_CXX_COMPILER="$(HOSTCXX)" \
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ -DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \

View File

@ -186,6 +186,8 @@ ifndef DUMP
clean-build: host-clean-build clean-build: host-clean-build
endif endif
$(DL_DIR)/$(FILE): FORCE
$(_host_target)host-prepare: $(HOST_STAMP_PREPARED) $(_host_target)host-prepare: $(HOST_STAMP_PREPARED)
$(_host_target)host-configure: $(HOST_STAMP_CONFIGURED) $(_host_target)host-configure: $(HOST_STAMP_CONFIGURED)
$(_host_target)host-compile: $(HOST_STAMP_BUILT) $(HOST_STAMP_INSTALLED) $(_host_target)host-compile: $(HOST_STAMP_BUILT) $(HOST_STAMP_INSTALLED)

View File

@ -394,10 +394,17 @@ define Build/tplink-v2-image
endef endef
define Build/uImage define Build/uImage
mkimage -A $(LINUX_KARCH) \ mkimage \
-O linux -T kernel \ -A $(LINUX_KARCH) \
-C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ -O linux \
-n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' -d $@ $@.new -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 $@ mv $@.new $@
endef endef

View File

@ -400,6 +400,7 @@ define Device/Init
SOC := SOC :=
BOARD_NAME := BOARD_NAME :=
UIMAGE_MAGIC :=
UIMAGE_NAME := UIMAGE_NAME :=
DEVICE_COMPAT_VERSION := 1.0 DEVICE_COMPAT_VERSION := 1.0
DEVICE_COMPAT_MESSAGE := DEVICE_COMPAT_MESSAGE :=
@ -419,7 +420,8 @@ DEFAULT_DEVICE_VARS := \
CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \ CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \
VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \ VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \
DEVICE_DTS_CONFIG DEVICE_DTS_DIR DEVICE_FDT_NUM SOC BOARD_NAME \ DEVICE_DTS_CONFIG DEVICE_DTS_DIR DEVICE_FDT_NUM SOC BOARD_NAME \
UIMAGE_NAME SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \ UIMAGE_MAGIC UIMAGE_NAME \
SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \
UBOOT_PATH IMAGE_SIZE \ UBOOT_PATH IMAGE_SIZE \
DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \ DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \
DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \ DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \

View File

@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif endif
LINUX_VERSION-5.4 = .79 LINUX_VERSION-5.4 = .80
LINUX_KERNEL_HASH-5.4.79 = a59091fb08ff66a344a7842b7c891f36cef609eed1d2944edf475cca8d91ce25 LINUX_KERNEL_HASH-5.4.80 = 49da425c1f3c530fd3ff31d85a0461f6b6dc6e459f7faf3eee23e49a98ce64c7
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -218,7 +218,7 @@ $(_endef)
ifneq ($$(CONFIG_IPK_FILES_CHECKSUMS),) ifneq ($$(CONFIG_IPK_FILES_CHECKSUMS),)
(cd $$(IDIR_$(1)); \ (cd $$(IDIR_$(1)); \
( \ ( \
find . -type f \! -path ./CONTROL/\* -exec sha256sum \{\} \; 2> /dev/null | \ find . -type f \! -path ./CONTROL/\* -exec mkhash sha256 -n \{\} \; 2> /dev/null | \
sed 's|\([[:blank:]]\)\./| \1/|' > $$(IDIR_$(1))/CONTROL/files-sha256sum \ sed 's|\([[:blank:]]\)\./| \1/|' > $$(IDIR_$(1))/CONTROL/files-sha256sum \
) || true \ ) || true \
) )

View File

@ -189,6 +189,8 @@ define Build/CoreTargets
$(call Build/Autoclean) $(call Build/Autoclean)
$(call DefaultTargets) $(call DefaultTargets)
$(DL_DIR)/$(FILE): FORCE
download: download:
$(foreach hook,$(Hooks/Download), $(foreach hook,$(Hooks/Download),
$(call $(hook))$(sep) $(call $(hook))$(sep)

View File

@ -149,6 +149,7 @@ $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
$(eval $(call CleanupPython2)) $(eval $(call CleanupPython2))
$(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \ $(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \
python3.9 -V 2>&1 | grep 'Python 3', \
python3.8 -V 2>&1 | grep 'Python 3', \ python3.8 -V 2>&1 | grep 'Python 3', \
python3.7 -V 2>&1 | grep 'Python 3', \ python3.7 -V 2>&1 | grep 'Python 3', \
python3.6 -V 2>&1 | grep 'Python 3', \ python3.6 -V 2>&1 | grep 'Python 3', \
@ -156,6 +157,7 @@ $(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \
python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?')) python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))
$(eval $(call SetupHostCommand,python3,Please install Python >= 3.5, \ $(eval $(call SetupHostCommand,python3,Please install Python >= 3.5, \
python3.9 -V 2>&1 | grep 'Python 3', \
python3.8 -V 2>&1 | grep 'Python 3', \ python3.8 -V 2>&1 | grep 'Python 3', \
python3.7 -V 2>&1 | grep 'Python 3', \ python3.7 -V 2>&1 | grep 'Python 3', \
python3.6 -V 2>&1 | grep 'Python 3', \ python3.6 -V 2>&1 | grep 'Python 3', \

View File

@ -23,7 +23,7 @@ define subtarget
endef endef
define ERROR define ERROR
($(call MESSAGE, $(2)); $(if $(BUILD_LOG), echo "$(2)" >> $(BUILD_LOG_DIR)/$(1)/error.txt)) ($(call MESSAGE, $(2)); $(if $(BUILD_LOG), echo "$(2)" >> $(BUILD_LOG_DIR)/$(1)/error.txt;) $(if $(3),, exit 1;))
endef endef
lastdir=$(word $(words $(subst /, ,$(1))),$(subst /, ,$(1))) lastdir=$(word $(words $(subst /, ,$(1))),$(subst /, ,$(1)))
@ -66,7 +66,7 @@ define subdir
$(foreach btype,$(buildtypes-$(bd)), $(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 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))) \ $(call log_make,$(1)/$(bd),$(target),$(btype),$(filter-out __default,$(variant))) \
$(if $(findstring $(bd),$($(1)/builddirs-ignore-$(btype)-$(target))), || $(call ERROR,$(1), ERROR: $(1)/$(bd) [$(btype)] failed to build.)) || $(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))) $(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)))) $(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(target): $(if $(NO_DEPS)$(QUILT),,$($(1)/$(bd)/$(target)) $(call $(1)//$(target),$(1)/$(bd))))
@ -74,7 +74,7 @@ define subdir
$(if $(BUILD_LOG),@mkdir -p $(BUILD_LOG_DIR)/$(1)/$(bd)/$(filter-out __default,$(variant))) $(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)))) $(if $($(1)/autoremove),$(call rebuild_check,$(1)/$(bd),$(target),,$(filter-out __default,$(variant))))
$(call log_make,$(1)/$(bd),$(target),,$(filter-out __default,$(variant))) \ $(call log_make,$(1)/$(bd),$(target),,$(filter-out __default,$(variant))) \
$(if $(findstring $(bd),$($(1)/builddirs-ignore-$(target))), || $(call ERROR,$(1), ERROR: $(1)/$(bd) failed to build$(if $(filter-out __default,$(variant)), (build variant: $(variant))).)) || $(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),, $(if $(PREREQ_ONLY)$(DUMP_TARGET_DB),,
# aliases # aliases

View File

@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/feeds.mk include $(INCLUDE_DIR)/feeds.mk
PKG_NAME:=base-files PKG_NAME:=base-files
PKG_RELEASE:=237 PKG_RELEASE:=238
PKG_FLAGS:=nonshared PKG_FLAGS:=nonshared
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/

View File

@ -108,7 +108,7 @@ config_unset() {
# config_get <section> <option> # config_get <section> <option>
config_get() { config_get() {
case "$2${3:-$1}" in case "$2${3:-$1}" in
*[^A-Za-z0-9_]*) : ;; *[!A-Za-z0-9_]*) : ;;
*) *)
case "$3" in case "$3" in
"") eval echo "\"\${CONFIG_${1}_${2}:-\${4}}\"";; "") eval echo "\"\${CONFIG_${1}_${2}:-\${4}}\"";;

View File

@ -20,11 +20,13 @@ do_mount_root() {
boot_run_hook preinit_mount_root boot_run_hook preinit_mount_root
[ -f /sysupgrade.tgz ] && { [ -f /sysupgrade.tgz ] && {
echo "- config restore -" echo "- config restore -"
cp /etc/passwd /etc/group /etc/shadow /tmp
cd / cd /
tar xzf /sysupgrade.tgz tar xzf /sysupgrade.tgz
missing_lines /rom/etc/passwd /etc/passwd >> /etc/passwd missing_lines /tmp/passwd /etc/passwd >> /etc/passwd
missing_lines /rom/etc/group /etc/group >> /etc/group missing_lines /tmp/group /etc/group >> /etc/group
missing_lines /rom/etc/shadow /etc/shadow >> /etc/shadow missing_lines /tmp/shadow /etc/shadow >> /etc/shadow
rm /tmp/passwd /tmp/group /tmp/shadow
# Prevent configuration corruption on a power loss # Prevent configuration corruption on a power loss
sync sync
} }

View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=uboot-envtools PKG_NAME:=uboot-envtools
PKG_DISTNAME:=u-boot PKG_DISTNAME:=u-boot
PKG_VERSION:=2020.04 PKG_VERSION:=2020.04
PKG_RELEASE:=6 PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:= \ PKG_SOURCE_URL:= \

View File

@ -23,6 +23,7 @@ allnet,all-wap02860ac|\
arduino,yun|\ arduino,yun|\
buffalo,bhr-4grv2|\ buffalo,bhr-4grv2|\
devolo,magic-2-wifi|\ devolo,magic-2-wifi|\
engenius,eap300-v2|\
engenius,ecb1750|\ engenius,ecb1750|\
engenius,enh202-v1|\ engenius,enh202-v1|\
engenius,ens202ext-v1|\ engenius,ens202ext-v1|\

View File

@ -31,6 +31,7 @@ mediatek,linkit-smart-7688|\
samknows,whitebox-v8|\ samknows,whitebox-v8|\
xiaomi,mir3g-v2|\ xiaomi,mir3g-v2|\
xiaomi,mi-router-4a-gigabit|\ xiaomi,mi-router-4a-gigabit|\
xiaomi,mi-router-4c|\
xiaomi,miwifi-nano|\ xiaomi,miwifi-nano|\
zbtlink,zbt-wg2626) zbtlink,zbt-wg2626)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000" ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000"

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ath10k-ct-firmware PKG_NAME:=ath10k-ct-firmware
PKG_VERSION:=2020-07-02 PKG_VERSION:=2020-07-02
PKG_RELEASE:=1 PKG_RELEASE:=2
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
@ -226,13 +226,19 @@ $(Package/ath10k-ct-firmware-default)
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca988x PROVIDES:=ath10k-firmware-qca988x
CONFLICTS:=ath10k-firmware-qca988x
endef endef
define Package/ath10k-firmware-qca988x-ct-full-htt define Package/ath10k-firmware-qca988x-ct-full-htt
$(Package/ath10k-ct-firmware-default) $(Package/ath10k-ct-firmware-default)
TITLE:=ath10k CT 10.1 full-htt-mgt fw for QCA988x TITLE:=ath10k CT 10.1 full-htt-mgt fw for QCA988x
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca988x PROVIDES:=\
ath10k-firmware-qca988x \
ath10k-firmware-qca988x-ct
CONFLICTS:=\
ath10k-firmware-qca988x \
ath10k-firmware-qca988x-ct
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
@ -242,13 +248,19 @@ $(Package/ath10k-ct-firmware-default)
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9887 PROVIDES:=ath10k-firmware-qca9887
CONFLICTS:=ath10k-firmware-qca9887
endef endef
define Package/ath10k-firmware-qca9887-ct-full-htt define Package/ath10k-firmware-qca9887-ct-full-htt
$(Package/ath10k-ct-firmware-default) $(Package/ath10k-ct-firmware-default)
TITLE:=ath10k CT 10.1 full-htt-mgt fw for QCA9887 TITLE:=ath10k CT 10.1 full-htt-mgt fw for QCA9887
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9887 PROVIDES:=\
ath10k-firmware-qca9887 \
ath10k-firmware-qca9887-ct
CONFLICTS:=\
ath10k-firmware-qca9887 \
ath10k-firmware-qca9887-ct
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
@ -258,13 +270,20 @@ $(Package/ath10k-ct-firmware-default)
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca99x0 PROVIDES:=ath10k-firmware-qca99x0
CONFLICTS:=ath10k-firmware-qca99x0
endef endef
define Package/ath10k-firmware-qca99x0-ct-full-htt define Package/ath10k-firmware-qca99x0-ct-full-htt
$(Package/ath10k-ct-firmware-default) $(Package/ath10k-ct-firmware-default)
TITLE:=ath10k CT 10.4 full-htt-mgt fw for QCA99x0 TITLE:=ath10k CT 10.4 full-htt-mgt fw for QCA99x0
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca99x0 PROVIDES:=\
ath10k-firmware-qca99x0 \
ath10k-firmware-qca99x0-ct
CONFLICTS:=\
ath10k-firmware-qca99x0 \
ath10k-firmware-qca99x0-ct \
ath10k-firmware-qca99x0-ct-htt
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
define Package/ath10k-firmware-qca99x0-ct-htt define Package/ath10k-firmware-qca99x0-ct-htt
@ -272,7 +291,12 @@ $(Package/ath10k-firmware-default)
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA99x0 TITLE:=ath10k CT 10.4 htt-mgt fw for QCA99x0
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca99x0 PROVIDES:=\
ath10k-firmware-qca99x0 \
ath10k-firmware-qca99x0-ct
CONFLICTS:=\
ath10k-firmware-qca99x0 \
ath10k-firmware-qca99x0-ct
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
@ -282,13 +306,20 @@ $(Package/ath10k-ct-firmware-default)
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9984 PROVIDES:=ath10k-firmware-qca9984
CONFLICTS:=ath10k-firmware-qca9984
endef endef
define Package/ath10k-firmware-qca9984-ct-full-htt define Package/ath10k-firmware-qca9984-ct-full-htt
$(Package/ath10k-ct-firmware-default) $(Package/ath10k-ct-firmware-default)
TITLE:=ath10k CT 10.4 full-htt-mgt fw for QCA9984 TITLE:=ath10k CT 10.4 full-htt-mgt fw for QCA9984
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9984 PROVIDES:=\
ath10k-firmware-qca9984 \
ath10k-firmware-qca9984-ct
CONFLICTS:=\
ath10k-firmware-qca9984 \
ath10k-firmware-qca9984-ct \
ath10k-firmware-qca9984-ct-htt
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
define Package/ath10k-firmware-qca9984-ct-htt define Package/ath10k-firmware-qca9984-ct-htt
@ -296,7 +327,12 @@ $(Package/ath10k-firmware-default)
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9984 TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9984
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9984 PROVIDES:=\
ath10k-firmware-qca9984 \
ath10k-firmware-qca9984-ct
CONFLICTS:=\
ath10k-firmware-qca9984 \
ath10k-firmware-qca9984-ct
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
@ -306,13 +342,20 @@ $(Package/ath10k-ct-firmware-default)
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca4019 PROVIDES:=ath10k-firmware-qca4019
CONFLICTS:=ath10k-firmware-qca4019
endef endef
define Package/ath10k-firmware-qca4019-ct-full-htt define Package/ath10k-firmware-qca4019-ct-full-htt
$(Package/ath10k-ct-firmware-default) $(Package/ath10k-ct-firmware-default)
TITLE:=ath10k CT 10.4 full-htt-mgt for QCA4018/9 TITLE:=ath10k CT 10.4 full-htt-mgt for QCA4018/9
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca4019 PROVIDES:=\
ath10k-firmware-qca4019 \
ath10k-firmware-qca4019-ct
CONFLICTS:=\
ath10k-firmware-qca4019 \
ath10k-firmware-qca4019-ct \
ath10k-firmware-qca4019-ct-htt
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
define Package/ath10k-firmware-qca4019-ct-htt define Package/ath10k-firmware-qca4019-ct-htt
@ -320,7 +363,12 @@ $(Package/ath10k-firmware-default)
TITLE:=ath10k CT 10.4 htt-mgt for QCA4018/9 TITLE:=ath10k CT 10.4 htt-mgt for QCA4018/9
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca4019 PROVIDES:=\
ath10k-firmware-qca4019 \
ath10k-firmware-qca4019-ct
CONFLICTS:=\
ath10k-firmware-qca4019 \
ath10k-firmware-qca4019-ct
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
@ -330,13 +378,20 @@ $(Package/ath10k-ct-firmware-default)
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9888 PROVIDES:=ath10k-firmware-qca9888
CONFLICTS:=ath10k-firmware-qca9888
endef endef
define Package/ath10k-firmware-qca9888-ct-full-htt define Package/ath10k-firmware-qca9888-ct-full-htt
$(Package/ath10k-ct-firmware-default) $(Package/ath10k-ct-firmware-default)
TITLE:=ath10k CT 10.4 full-htt-mgt fw for QCA9886/8 TITLE:=ath10k CT 10.4 full-htt-mgt fw for QCA9886/8
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9888 PROVIDES:=\
ath10k-firmware-qca9888 \
ath10k-firmware-qca9888-ct
CONFLICTS:=\
ath10k-firmware-qca9888 \
ath10k-firmware-qca9888-ct \
ath10k-firmware-qca9888-ct-htt
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef
define Package/ath10k-firmware-qca9888-ct-htt define Package/ath10k-firmware-qca9888-ct-htt
@ -344,7 +399,12 @@ $(Package/ath10k-firmware-default)
TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9886/8 TITLE:=ath10k CT 10.4 htt-mgt fw for QCA9886/8
SECTION:=firmware SECTION:=firmware
CATEGORY:=Firmware CATEGORY:=Firmware
PROVIDES:=ath10k-firmware-qca9888 PROVIDES:=\
ath10k-firmware-qca9888 \
ath10k-firmware-qca9888-ct
CONFLICTS:=\
ath10k-firmware-qca9888 \
ath10k-firmware-qca9888-ct
DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct DEPENDS:=+!PACKAGE_kmod-ath10k-ct-smallbuffers:kmod-ath10k-ct
endef endef

View File

@ -11,7 +11,7 @@ UNPACK_CMD=unzip -q -p $(DL_DIR)/$(PKG_SOURCE) $(PKG_SOURCE_UNZIP) | gzip -dc |
PKG_NAME:=cypress-firmware PKG_NAME:=cypress-firmware
PKG_VERSION:=v5.4.18-2020_0402 PKG_VERSION:=v5.4.18-2020_0402
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_UNZIP:=cypress-firmware-$(PKG_VERSION).tar.gz PKG_SOURCE_UNZIP:=cypress-firmware-$(PKG_VERSION).tar.gz
PKG_SOURCE:=cypress-fmac-$(PKG_VERSION).zip PKG_SOURCE:=cypress-fmac-$(PKG_VERSION).zip
@ -70,6 +70,7 @@ define Package/cypress-firmware-43362-sdio
$(Package/cypress-firmware-default) $(Package/cypress-firmware-default)
TITLE:=CYW43362 FullMac SDIO firmware TITLE:=CYW43362 FullMac SDIO firmware
PROVIDES:=brcmfmac-firmware-43362-sdio PROVIDES:=brcmfmac-firmware-43362-sdio
CONFLICTS:=brcmfmac-firmware-43362-sdio
endef endef
define Package/cypress-firmware-43362-sdio/install define Package/cypress-firmware-43362-sdio/install
@ -101,6 +102,7 @@ define Package/cypress-firmware-43430-sdio
$(Package/cypress-firmware-default) $(Package/cypress-firmware-default)
TITLE:=CYW43430 FullMac SDIO firmware TITLE:=CYW43430 FullMac SDIO firmware
PROVIDES:=brcmfmac-firmware-43430-sdio PROVIDES:=brcmfmac-firmware-43430-sdio
CONFLICTS:=brcmfmac-firmware-43430-sdio
endef endef
define Package/cypress-firmware-43430-sdio/install define Package/cypress-firmware-43430-sdio/install
@ -120,6 +122,7 @@ define Package/cypress-firmware-43455-sdio
$(Package/cypress-firmware-default) $(Package/cypress-firmware-default)
TITLE:=CYW43455 FullMac SDIO firmware TITLE:=CYW43455 FullMac SDIO firmware
PROVIDES:=brcmfmac-firmware-43455-sdio PROVIDES:=brcmfmac-firmware-43455-sdio
CONFLICTS:=brcmfmac-firmware-43455-sdio
endef endef
define Package/cypress-firmware-43455-sdio/install define Package/cypress-firmware-43455-sdio/install

View File

@ -11,7 +11,7 @@ PKG_NAME:=cypress-nvram
PKG_SOURCE_DATE:=2019-09-03 PKG_SOURCE_DATE:=2019-09-03
PKG_SOURCE_VERSION:=e7b78df22f2a0c5f56abb7b5880661611de35e5f PKG_SOURCE_VERSION:=e7b78df22f2a0c5f56abb7b5880661611de35e5f
PKG_MIRROR_HASH:=1cb20a749696852be0a512d51961365dd9c031362af0af1a2b9f5a3fb894885f PKG_MIRROR_HASH:=1cb20a749696852be0a512d51961365dd9c031362af0af1a2b9f5a3fb894885f
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/openwrt/cypress-nvram.git PKG_SOURCE_URL:=https://github.com/openwrt/cypress-nvram.git
@ -35,6 +35,8 @@ define Package/cypress-nvram-43430-sdio-rpi-3b
$(Package/cypress-nvram-default) $(Package/cypress-nvram-default)
TITLE:=CYW43430 NVRAM for Raspberry Pi 3B TITLE:=CYW43430 NVRAM for Raspberry Pi 3B
DEPENDS:=@TARGET_bcm27xx DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43430-sdio-rpi-3b
CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-3b
endef endef
define Package/cypress-nvram-43430-sdio-rpi-3b/install define Package/cypress-nvram-43430-sdio-rpi-3b/install
@ -51,6 +53,8 @@ define Package/cypress-nvram-43430-sdio-rpi-zero-w
$(Package/cypress-nvram-default) $(Package/cypress-nvram-default)
TITLE:=CYW43430 NVRAM for Raspberry Pi Zero W TITLE:=CYW43430 NVRAM for Raspberry Pi Zero W
DEPENDS:=@TARGET_bcm27xx DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43430-sdio-rpi-zero-w
CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-zero-w
endef endef
define Package/cypress-nvram-43430-sdio-rpi-zero-w/install define Package/cypress-nvram-43430-sdio-rpi-zero-w/install
@ -67,6 +71,8 @@ define Package/cypress-nvram-43455-sdio-rpi-3b-plus
$(Package/cypress-nvram-default) $(Package/cypress-nvram-default)
TITLE:=CYW43455 NVRAM for Raspberry Pi 3B+ TITLE:=CYW43455 NVRAM for Raspberry Pi 3B+
DEPENDS:=@TARGET_bcm27xx DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43455-sdio-rpi-3b-plus
CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-3b-plus
endef endef
define Package/cypress-nvram-43455-sdio-rpi-3b-plus/install define Package/cypress-nvram-43455-sdio-rpi-3b-plus/install
@ -83,6 +89,8 @@ define Package/cypress-nvram-43455-sdio-rpi-4b
$(Package/cypress-nvram-default) $(Package/cypress-nvram-default)
TITLE:=CYW43455 NVRAM for Raspberry Pi 4B TITLE:=CYW43455 NVRAM for Raspberry Pi 4B
DEPENDS:=@TARGET_bcm27xx DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43455-sdio-rpi-4b
CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-4b
endef endef
define Package/cypress-nvram-43455-sdio-rpi-4b/install define Package/cypress-nvram-43455-sdio-rpi-4b/install

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=linux-firmware PKG_NAME:=linux-firmware
PKG_VERSION:=20201118 PKG_VERSION:=20201118
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz

View File

@ -101,9 +101,7 @@ Package/brcmfmac-firmware-43455-sdio-rpi-4b = $(call Package/firmware-default,Br
define Package/brcmfmac-firmware-43455-sdio-rpi-4b/install define Package/brcmfmac-firmware-43455-sdio-rpi-4b/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm $(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \ $(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \ $(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
$(SED) 's/boardflags3=.*/boardflags3=0x44200100/g' \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt $(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
endef endef
$(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio-rpi-4b)) $(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio-rpi-4b))

View File

@ -1,21 +1,21 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=ath10k-ct PKG_NAME:=ath10k-ct
PKG_RELEASE=1 PKG_RELEASE=2
PKG_LICENSE:=GPLv2 PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:= PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2020-06-30 PKG_SOURCE_DATE:=2020-10-08
PKG_SOURCE_VERSION:=edfbf9161ab75e4831981284ab2d5b1b9fb6ef72 PKG_SOURCE_VERSION:=1d28d176e5b6e63a6583f497adf68e1d9c1dc962
PKG_MIRROR_HASH:=98b7f88baea7314144fa8f8d141ad0dbbf2816f9606b0a89afb396761b558d14 PKG_MIRROR_HASH:=f611762647822742f7c8f9da242e33d9bf6da0a14976b87408af28f280802ae0
# Build the 5.4 ath10k-ct driver version. Other option is "-4.19". # Build the 5.8 ath10k-ct driver version.
# Probably this should match as closely as # Probably this should match as closely as
# possible to whatever mac80211 backports version is being used. # possible to whatever mac80211 backports version is being used.
CT_KVER="-5.4" CT_KVER="-5.8"
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com> PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1

View File

@ -9,9 +9,17 @@ mcast_rate set for a wifi-iface.
Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Sven Eckelmann <sven@narfation.org>
--- a/ath10k-5.4/mac.c --- a/ath10k-5.8/mac.c
+++ b/ath10k-5.4/mac.c +++ b/ath10k-5.8/mac.c
@@ -6793,6 +6793,7 @@ static void ath10k_bss_info_changed(stru @@ -6653,6 +6653,7 @@ static void ath10k_recalculate_mgmt_rate
return;
}
+ arvif->mgt_rate[def->chan->band] = hw_rate_code;
vdev_param = ar->wmi.vdev_param->mgmt_rate;
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
hw_rate_code);
@@ -6879,6 +6880,7 @@ static void ath10k_bss_info_changed(stru
"mac vdev %d mcast_rate %x\n", "mac vdev %d mcast_rate %x\n",
arvif->vdev_id, rate); arvif->vdev_id, rate);
@ -19,7 +27,7 @@ Signed-off-by: Sven Eckelmann <sven@narfation.org>
vdev_param = ar->wmi.vdev_param->mcast_data_rate; vdev_param = ar->wmi.vdev_param->mcast_data_rate;
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
vdev_param, rate); vdev_param, rate);
@@ -6801,6 +6802,7 @@ static void ath10k_bss_info_changed(stru @@ -6887,6 +6889,7 @@ static void ath10k_bss_info_changed(stru
"failed to set mcast rate on vdev %i: %d\n", "failed to set mcast rate on vdev %i: %d\n",
arvif->vdev_id, ret); arvif->vdev_id, ret);
@ -27,11 +35,3 @@ Signed-off-by: Sven Eckelmann <sven@narfation.org>
vdev_param = ar->wmi.vdev_param->bcast_data_rate; vdev_param = ar->wmi.vdev_param->bcast_data_rate;
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
vdev_param, rate); vdev_param, rate);
@@ -6827,6 +6829,7 @@ static void ath10k_bss_info_changed(stru
return;
}
+ arvif->mgt_rate[def.chan->band] = hw_rate_code;
vdev_param = ar->wmi.vdev_param->mgmt_rate;
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
hw_rate_code);

View File

@ -66,25 +66,25 @@ v13:
* cleanup includes * cleanup includes
ath10k-5.4/Kconfig | 10 +++ ath10k-5.8/Kconfig | 10 +++
ath10k-5.4/Makefile | 1 + ath10k-5.8/Makefile | 1 +
ath10k-5.4/core.c | 22 +++++++ ath10k-5.8/core.c | 22 +++++++
ath10k-5.4/core.h | 9 ++- ath10k-5.8/core.h | 9 ++-
ath10k-5.4/hw.h | 1 + ath10k-5.8/hw.h | 1 +
ath10k-5.4/leds.c | 103 ++++++++++++++++++++++++++++++ ath10k-5.8/leds.c | 103 ++++++++++++++++++++++++++++++
ath10k-5.4/leds.h | 45 +++++++++++++ ath10k-5.8/leds.h | 45 +++++++++++++
ath10k-5.4/mac.c | 1 + ath10k-5.8/mac.c | 1 +
ath10k-5.4/wmi-ops.h | 32 ++++++++++ ath10k-5.8/wmi-ops.h | 32 ++++++++++
ath10k-5.4/wmi-tlv.c | 2 + ath10k-5.8/wmi-tlv.c | 2 +
ath10k-5.4/wmi.c | 54 ++++++++++++++++ ath10k-5.8/wmi.c | 54 ++++++++++++++++
ath10k-5.4/wmi.h | 35 ++++++++++ ath10k-5.8/wmi.h | 35 ++++++++++
12 files changed, 314 insertions(+), 1 deletion(-) 12 files changed, 314 insertions(+), 1 deletion(-)
create mode 100644 ath10k-5.4/leds.c create mode 100644 ath10k-5.8/leds.c
create mode 100644 ath10k-5.4/leds.h create mode 100644 ath10k-5.8/leds.h
--- a/ath10k-5.4/Kconfig --- a/ath10k-5.8/Kconfig
+++ b/ath10k-5.4/Kconfig +++ b/ath10k-5.8/Kconfig
@@ -66,6 +66,16 @@ config ATH10K_DEBUGFS @@ -65,6 +65,16 @@ config ATH10K_DEBUGFS
If unsure, say Y to make it easier to debug problems. If unsure, say Y to make it easier to debug problems.
@ -101,19 +101,19 @@ v13:
config ATH10K_SPECTRAL config ATH10K_SPECTRAL
bool "Atheros ath10k spectral scan support" bool "Atheros ath10k spectral scan support"
depends on ATH10K_DEBUGFS depends on ATH10K_DEBUGFS
--- a/ath10k-5.4/Makefile --- a/ath10k-5.8/Makefile
+++ b/ath10k-5.4/Makefile +++ b/ath10k-5.8/Makefile
@@ -19,6 +19,7 @@ ath10k_core-$(CONFIG_ATH10K_SPECTRAL) += @@ -20,6 +20,7 @@ ath10k_core-$(CONFIG_ATH10K_SPECTRAL) +=
ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o
ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o
ath10k_core-$(CONFIG_THERMAL) += thermal.o ath10k_core-$(CONFIG_THERMAL) += thermal.o
+ath10k_core-$(CONFIG_ATH10K_LEDS) += leds.o +ath10k_core-$(CONFIG_ATH10K_LEDS) += leds.o
ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o
ath10k_core-$(CONFIG_PM) += wow.o ath10k_core-$(CONFIG_PM) += wow.o
ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o ath10k_core-$(CONFIG_ATH10K_CE) += ce.o
--- a/ath10k-5.4/core.c --- a/ath10k-5.8/core.c
+++ b/ath10k-5.4/core.c +++ b/ath10k-5.8/core.c
@@ -25,6 +25,7 @@ @@ -26,6 +26,7 @@
#include "testmode.h" #include "testmode.h"
#include "wmi-ops.h" #include "wmi-ops.h"
#include "coredump.h" #include "coredump.h"
@ -121,7 +121,7 @@ v13:
/* Disable ath10k-ct DBGLOG output by default */ /* Disable ath10k-ct DBGLOG output by default */
unsigned int ath10k_debug_mask = ATH10K_DBG_NO_DBGLOG; unsigned int ath10k_debug_mask = ATH10K_DBG_NO_DBGLOG;
@@ -67,6 +68,7 @@ static const struct ath10k_hw_params ath @@ -68,6 +69,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA988X_2_0_DEVICE_ID, .dev_id = QCA988X_2_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI, .bus = ATH10K_BUS_PCI,
.name = "qca988x hw2.0", .name = "qca988x hw2.0",
@ -129,7 +129,7 @@ v13:
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR, .patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7, .uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL, .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
@@ -137,6 +139,7 @@ static const struct ath10k_hw_params ath @@ -138,6 +140,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA9887_1_0_DEVICE_ID, .dev_id = QCA9887_1_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI, .bus = ATH10K_BUS_PCI,
.name = "qca9887 hw1.0", .name = "qca9887 hw1.0",
@ -137,7 +137,7 @@ v13:
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR, .patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
.uart_pin = 7, .uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL, .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
@@ -344,6 +347,7 @@ static const struct ath10k_hw_params ath @@ -347,6 +350,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA99X0_2_0_DEVICE_ID, .dev_id = QCA99X0_2_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI, .bus = ATH10K_BUS_PCI,
.name = "qca99x0 hw2.0", .name = "qca99x0 hw2.0",
@ -145,7 +145,7 @@ v13:
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR, .patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7, .uart_pin = 7,
.otp_exe_param = 0x00000700, .otp_exe_param = 0x00000700,
@@ -385,6 +389,7 @@ static const struct ath10k_hw_params ath @@ -388,6 +392,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA9984_1_0_DEVICE_ID, .dev_id = QCA9984_1_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI, .bus = ATH10K_BUS_PCI,
.name = "qca9984/qca9994 hw1.0", .name = "qca9984/qca9994 hw1.0",
@ -153,7 +153,7 @@ v13:
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR, .patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
.uart_pin = 7, .uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH, .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
@@ -433,6 +438,7 @@ static const struct ath10k_hw_params ath @@ -436,6 +441,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA9888_2_0_DEVICE_ID, .dev_id = QCA9888_2_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI, .bus = ATH10K_BUS_PCI,
.name = "qca9888 hw2.0", .name = "qca9888 hw2.0",
@ -161,7 +161,7 @@ v13:
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR, .patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7, .uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH, .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
@@ -3573,6 +3579,10 @@ int ath10k_core_start(struct ath10k *ar, @@ -3675,6 +3681,10 @@ int ath10k_core_start(struct ath10k *ar,
ath10k_wmi_check_apply_board_power_ctl_table(ar); ath10k_wmi_check_apply_board_power_ctl_table(ar);
} }
@ -172,7 +172,7 @@ v13:
return 0; return 0;
err_hif_stop: err_hif_stop:
@@ -3829,9 +3839,18 @@ static void ath10k_core_register_work(st @@ -3933,9 +3943,18 @@ static void ath10k_core_register_work(st
goto err_spectral_destroy; goto err_spectral_destroy;
} }
@ -191,7 +191,7 @@ v13:
err_spectral_destroy: err_spectral_destroy:
ath10k_spectral_destroy(ar); ath10k_spectral_destroy(ar);
err_debug_destroy: err_debug_destroy:
@@ -3891,6 +3910,8 @@ void ath10k_core_unregister(struct ath10 @@ -3995,6 +4014,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags)) if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return; return;
@ -200,8 +200,8 @@ v13:
ath10k_thermal_unregister(ar); ath10k_thermal_unregister(ar);
/* Stop spectral before unregistering from mac80211 to remove the /* Stop spectral before unregistering from mac80211 to remove the
* relayfs debugfs file cleanly. Otherwise the parent debugfs tree * relayfs debugfs file cleanly. Otherwise the parent debugfs tree
--- a/ath10k-5.4/core.h --- a/ath10k-5.8/core.h
+++ b/ath10k-5.4/core.h +++ b/ath10k-5.8/core.h
@@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/uuid.h> #include <linux/uuid.h>
@ -210,7 +210,7 @@ v13:
#include "htt.h" #include "htt.h"
#include "htc.h" #include "htc.h"
@@ -1470,6 +1471,13 @@ struct ath10k { @@ -1523,6 +1524,13 @@ struct ath10k {
} testmode; } testmode;
struct { struct {
@ -222,11 +222,11 @@ v13:
+ +
+ struct { + struct {
/* protected by data_lock */ /* protected by data_lock */
u32 rx_crc_err_drop;
u32 fw_crash_counter; u32 fw_crash_counter;
u32 fw_warm_reset_counter; --- a/ath10k-5.8/hw.h
--- a/ath10k-5.4/hw.h +++ b/ath10k-5.8/hw.h
+++ b/ath10k-5.4/hw.h @@ -521,6 +521,7 @@ struct ath10k_hw_params {
@@ -518,6 +518,7 @@ struct ath10k_hw_params {
const char *name; const char *name;
u32 patch_load_addr; u32 patch_load_addr;
int uart_pin; int uart_pin;
@ -235,7 +235,7 @@ v13:
/* Type of hw cycle counter wraparound logic, for more info /* Type of hw cycle counter wraparound logic, for more info
--- /dev/null --- /dev/null
+++ b/ath10k-5.4/leds.c +++ b/ath10k-5.8/leds.c
@@ -0,0 +1,103 @@ @@ -0,0 +1,103 @@
+/* +/*
+ * Copyright (c) 2005-2011 Atheros Communications Inc. + * Copyright (c) 2005-2011 Atheros Communications Inc.
@ -341,7 +341,7 @@ v13:
+} +}
+ +
--- /dev/null --- /dev/null
+++ b/ath10k-5.4/leds.h +++ b/ath10k-5.8/leds.h
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
+/* +/*
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved. + * Copyright (c) 2018, The Linux Foundation. All rights reserved.
@ -384,9 +384,9 @@ v13:
+ +
+#endif +#endif
+#endif /* _LEDS_H_ */ +#endif /* _LEDS_H_ */
--- a/ath10k-5.4/mac.c --- a/ath10k-5.8/mac.c
+++ b/ath10k-5.4/mac.c +++ b/ath10k-5.8/mac.c
@@ -24,6 +24,7 @@ @@ -25,6 +25,7 @@
#include "wmi-tlv.h" #include "wmi-tlv.h"
#include "wmi-ops.h" #include "wmi-ops.h"
#include "wow.h" #include "wow.h"
@ -394,9 +394,9 @@ v13:
/*********/ /*********/
/* Rates */ /* Rates */
--- a/ath10k-5.4/wmi-ops.h --- a/ath10k-5.8/wmi-ops.h
+++ b/ath10k-5.4/wmi-ops.h +++ b/ath10k-5.8/wmi-ops.h
@@ -218,7 +218,10 @@ struct wmi_ops { @@ -226,7 +226,10 @@ struct wmi_ops {
struct sk_buff *(*gen_bb_timing) struct sk_buff *(*gen_bb_timing)
(struct ath10k *ar, (struct ath10k *ar,
const struct wmi_bb_timing_cfg_arg *arg); const struct wmi_bb_timing_cfg_arg *arg);
@ -407,7 +407,7 @@ v13:
}; };
int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
@@ -1105,6 +1108,35 @@ ath10k_wmi_force_fw_hang(struct ath10k * @@ -1145,6 +1148,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid); return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
} }
@ -443,9 +443,9 @@ v13:
static inline int static inline int
ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level) ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level)
{ {
--- a/ath10k-5.4/wmi-tlv.c --- a/ath10k-5.8/wmi-tlv.c
+++ b/ath10k-5.4/wmi-tlv.c +++ b/ath10k-5.8/wmi-tlv.c
@@ -4367,6 +4367,8 @@ static const struct wmi_ops wmi_tlv_ops @@ -4583,6 +4583,8 @@ static const struct wmi_ops wmi_tlv_ops
.gen_echo = ath10k_wmi_tlv_op_gen_echo, .gen_echo = ath10k_wmi_tlv_op_gen_echo,
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf, .gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
.gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable, .gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable,
@ -454,9 +454,9 @@ v13:
}; };
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = { static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
--- a/ath10k-5.4/wmi.c --- a/ath10k-5.8/wmi.c
+++ b/ath10k-5.4/wmi.c +++ b/ath10k-5.8/wmi.c
@@ -8305,6 +8305,49 @@ ath10k_wmi_op_gen_peer_set_param(struct @@ -8412,6 +8412,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
return skb; return skb;
} }
@ -506,7 +506,7 @@ v13:
static struct sk_buff * static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id, ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode) enum wmi_sta_ps_mode psmode)
@@ -10104,6 +10147,9 @@ static const struct wmi_ops wmi_ops = { @@ -10211,6 +10254,9 @@ static const struct wmi_ops wmi_ops = {
.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill, .fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype, .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
.gen_echo = ath10k_wmi_op_gen_echo, .gen_echo = ath10k_wmi_op_gen_echo,
@ -516,7 +516,7 @@ v13:
/* .gen_bcn_tmpl not implemented */ /* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */ /* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */ /* .gen_p2p_go_bcn_ie not implemented */
@@ -10174,6 +10220,8 @@ static const struct wmi_ops wmi_10_1_ops @@ -10281,6 +10327,8 @@ static const struct wmi_ops wmi_10_1_ops
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill, .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype, .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
.gen_echo = ath10k_wmi_op_gen_echo, .gen_echo = ath10k_wmi_op_gen_echo,
@ -525,7 +525,7 @@ v13:
/* .gen_bcn_tmpl not implemented */ /* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */ /* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */ /* .gen_p2p_go_bcn_ie not implemented */
@@ -10253,6 +10301,8 @@ static const struct wmi_ops wmi_10_2_ops @@ -10360,6 +10408,8 @@ static const struct wmi_ops wmi_10_2_ops
.gen_delba_send = ath10k_wmi_op_gen_delba_send, .gen_delba_send = ath10k_wmi_op_gen_delba_send,
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill, .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype, .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
@ -534,7 +534,7 @@ v13:
/* .gen_pdev_enable_adaptive_cca not implemented */ /* .gen_pdev_enable_adaptive_cca not implemented */
}; };
@@ -10324,6 +10374,8 @@ static const struct wmi_ops wmi_10_2_4_o @@ -10431,6 +10481,8 @@ static const struct wmi_ops wmi_10_2_4_o
ath10k_wmi_op_gen_pdev_enable_adaptive_cca, ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
.get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype, .get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
.gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing, .gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing,
@ -543,7 +543,7 @@ v13:
/* .gen_bcn_tmpl not implemented */ /* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */ /* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */ /* .gen_p2p_go_bcn_ie not implemented */
@@ -10405,6 +10457,8 @@ static const struct wmi_ops wmi_10_4_ops @@ -10512,6 +10564,8 @@ static const struct wmi_ops wmi_10_4_ops
.gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info, .gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
.gen_echo = ath10k_wmi_op_gen_echo, .gen_echo = ath10k_wmi_op_gen_echo,
.gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config, .gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
@ -552,9 +552,9 @@ v13:
}; };
int ath10k_wmi_attach(struct ath10k *ar) int ath10k_wmi_attach(struct ath10k *ar)
--- a/ath10k-5.4/wmi.h --- a/ath10k-5.8/wmi.h
+++ b/ath10k-5.4/wmi.h +++ b/ath10k-5.8/wmi.h
@@ -3110,6 +3110,41 @@ enum wmi_10_4_feature_mask { @@ -3121,6 +3121,41 @@ enum wmi_10_4_feature_mask {
}; };

View File

@ -9,14 +9,14 @@ traffic.
Signed-off-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Mathias Kresin <dev@kresin.me>
--- ---
ath10k-5.4/core.h | 4 ++++ ath10k-5.8/core.h | 4 ++++
ath10k-5.4/leds.c | 4 +--- ath10k-5.8/leds.c | 4 +---
ath10k-5.4/mac.c | 2 +- ath10k-5.8/mac.c | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-) 3 files changed, 6 insertions(+), 4 deletions(-)
--- a/ath10k-5.4/core.h --- a/ath10k-5.8/core.h
+++ b/ath10k-5.4/core.h +++ b/ath10k-5.8/core.h
@@ -1574,6 +1574,10 @@ struct ath10k { @@ -1631,6 +1631,10 @@ struct ath10k {
u8 csi_data[4096]; u8 csi_data[4096];
u16 csi_data_len; u16 csi_data_len;
@ -25,10 +25,10 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
+#endif +#endif
+ +
/* must be last */ /* must be last */
u8 drv_priv[0] __aligned(sizeof(void *)); u8 drv_priv[] __aligned(sizeof(void *));
}; };
--- a/ath10k-5.4/leds.c --- a/ath10k-5.8/leds.c
+++ b/ath10k-5.4/leds.c +++ b/ath10k-5.8/leds.c
@@ -81,9 +81,7 @@ int ath10k_leds_register(struct ath10k * @@ -81,9 +81,7 @@ int ath10k_leds_register(struct ath10k *
ar->leds.cdev.name = ar->leds.label; ar->leds.cdev.name = ar->leds.label;
@ -40,9 +40,9 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev); ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev);
if (ret) if (ret)
--- a/ath10k-5.4/mac.c --- a/ath10k-5.8/mac.c
+++ b/ath10k-5.4/mac.c +++ b/ath10k-5.8/mac.c
@@ -10383,7 +10383,7 @@ int ath10k_mac_register(struct ath10k *a @@ -10680,7 +10680,7 @@ int ath10k_mac_register(struct ath10k *a
ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
#ifdef CPTCFG_MAC80211_LEDS #ifdef CPTCFG_MAC80211_LEDS

View File

@ -1,10 +0,0 @@
--- a/ath10k-5.4/mac.c
+++ b/ath10k-5.4/mac.c
@@ -10182,6 +10182,7 @@ int ath10k_mac_register(struct ath10k *a
wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_VHT_IBSS);
wiphy_ext_feature_set(ar->hw->wiphy,
NL80211_EXT_FEATURE_SET_SCAN_DWELL);
+ wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_AQL);
if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map) ||
test_bit(WMI_SERVICE_HTT_MGMT_TX_COMP_VALID_FLAGS, ar->wmi.svc_map))

View File

@ -1,6 +1,6 @@
--- a/ath10k-5.4/htt.h --- a/ath10k-5.8/htt.h
+++ b/ath10k-5.4/htt.h +++ b/ath10k-5.8/htt.h
@@ -225,7 +225,11 @@ enum htt_rx_ring_flags { @@ -237,7 +237,11 @@ enum htt_rx_ring_flags {
}; };
#define HTT_RX_RING_SIZE_MIN 128 #define HTT_RX_RING_SIZE_MIN 128

View File

@ -1,6 +1,6 @@
--- a/ath10k-5.4/pci.c --- a/ath10k-5.8/pci.c
+++ b/ath10k-5.4/pci.c +++ b/ath10k-5.8/pci.c
@@ -131,7 +131,11 @@ static struct ce_attr host_ce_config_wla @@ -131,7 +131,11 @@ static const struct ce_attr pci_host_ce_
.flags = CE_ATTR_FLAGS, .flags = CE_ATTR_FLAGS,
.src_nentries = 0, .src_nentries = 0,
.src_sz_max = 2048, .src_sz_max = 2048,
@ -12,7 +12,7 @@
.recv_cb = ath10k_pci_htt_htc_rx_cb, .recv_cb = ath10k_pci_htt_htc_rx_cb,
}, },
@@ -140,7 +144,11 @@ static struct ce_attr host_ce_config_wla @@ -140,7 +144,11 @@ static const struct ce_attr pci_host_ce_
.flags = CE_ATTR_FLAGS, .flags = CE_ATTR_FLAGS,
.src_nentries = 0, .src_nentries = 0,
.src_sz_max = 2048, .src_sz_max = 2048,
@ -24,7 +24,7 @@
.recv_cb = ath10k_pci_htc_rx_cb, .recv_cb = ath10k_pci_htc_rx_cb,
}, },
@@ -167,7 +175,11 @@ static struct ce_attr host_ce_config_wla @@ -167,7 +175,11 @@ static const struct ce_attr pci_host_ce_
.flags = CE_ATTR_FLAGS, .flags = CE_ATTR_FLAGS,
.src_nentries = 0, .src_nentries = 0,
.src_sz_max = 512, .src_sz_max = 512,
@ -36,7 +36,7 @@
.recv_cb = ath10k_pci_htt_rx_cb, .recv_cb = ath10k_pci_htt_rx_cb,
}, },
@@ -192,7 +204,11 @@ static struct ce_attr host_ce_config_wla @@ -192,7 +204,11 @@ static const struct ce_attr pci_host_ce_
.flags = CE_ATTR_FLAGS, .flags = CE_ATTR_FLAGS,
.src_nentries = 0, .src_nentries = 0,
.src_sz_max = 2048, .src_sz_max = 2048,

View File

@ -7,26 +7,25 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=exfat PKG_NAME:=exfat
PKG_VERSION:=5.8.7 PKG_VERSION:=5.10.1
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/namjaejeon/linux-exfat-oot/tar.gz/$(PKG_VERSION)? PKG_SOURCE_URL:=https://codeload.github.com/namjaejeon/linux-exfat-oot/tar.gz/$(PKG_VERSION)?
PKG_HASH:=20254677bed3f456e89cc9d757c1a47abbadab4d75640eef4a995370a37be3f4 PKG_HASH:=0ff77dd7d39eb231d00c3c4909b9fad31ebeeb618bd6fa18fce142becc9c1f98
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/linux-exfat-oot-$(PKG_VERSION)
PKG_MAINTAINER:= PKG_MAINTAINER:=
PKG_LICENSE:=GPL-2.0-only PKG_LICENSE:=GPL-2.0-only
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
TAR_OPTIONS+= --strip-components 1
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define KernelPackage/fs-exfat define KernelPackage/fs-exfat
SECTION:=kernel SECTION:=kernel
CATEGORY:=Kernel modules CATEGORY:=Kernel modules
SUBMENU:=Filesystems SUBMENU:=Filesystems
TITLE:=exFAT kernel module TITLE:=exFAT kernel module
URL:=https://github.com/namjaejeon/linux-exfat-oot
FILES:=$(PKG_BUILD_DIR)/exfat.ko FILES:=$(PKG_BUILD_DIR)/exfat.ko
AUTOLOAD:=$(call AutoProbe,exfat) AUTOLOAD:=$(call AutoProbe,exfat)
DEPENDS:= +kmod-nls-base DEPENDS:= +kmod-nls-base

View File

@ -1218,10 +1218,10 @@ define KernelPackage/sfc
DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-lib-crc32c +kmod-ptp +kmod-hwmon-core DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-lib-crc32c +kmod-ptp +kmod-hwmon-core
KCONFIG:= \ KCONFIG:= \
CONFIG_SFC \ CONFIG_SFC \
CONFIG_SFC_MTD \ CONFIG_SFC_MTD=y \
CONFIG_SFC_MCDI_MON \ CONFIG_SFC_MCDI_MON=y \
CONFIG_SFC_MCDI_LOGGING \ CONFIG_SFC_MCDI_LOGGING=y \
CONFIG_SFC_SRIOV CONFIG_SFC_SRIOV=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/sfc/sfc.ko FILES:=$(LINUX_DIR)/drivers/net/ethernet/sfc/sfc.ko
AUTOLOAD:=$(call AutoProbe,sfc) AUTOLOAD:=$(call AutoProbe,sfc)
endef endef
@ -1239,7 +1239,7 @@ define KernelPackage/sfc-falcon
DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-lib-crc32c +kmod-i2c-algo-bit DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-lib-crc32c +kmod-i2c-algo-bit
KCONFIG:= \ KCONFIG:= \
CONFIG_SFC_FALCON \ CONFIG_SFC_FALCON \
CONFIG_SFC_FALCON_MTD CONFIG_SFC_FALCON_MTD=y
FILES:=$(LINUX_DIR)/drivers/net/ethernet/sfc/falcon/sfc-falcon.ko FILES:=$(LINUX_DIR)/drivers/net/ethernet/sfc/falcon/sfc-falcon.ko
AUTOLOAD:=$(call AutoProbe,sfc-falcon) AUTOLOAD:=$(call AutoProbe,sfc-falcon)
endef endef

View File

@ -8,24 +8,26 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=libiconv-full PKG_NAME:=libiconv-full
PKG_VERSION:=1.11.1 PKG_VERSION:=1.16
PKG_RELEASE:=4 PKG_RELEASE:=1
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_SOURCE:=libiconv-$(PKG_VERSION).tar.gz PKG_SOURCE:=libiconv-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/libiconv PKG_SOURCE_URL:=@GNU/libiconv
PKG_HASH:=e78c347a1a0cb15f2648519e9799151f4b4a934b61ad9ee7424478efe2b8257f PKG_HASH:=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
PKG_BUILD_DIR:=$(BUILD_DIR)/libiconv-$(PKG_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/libiconv-$(PKG_VERSION)
PKG_LICENSE:=LGPL-2.0
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=COPYING.LIB PKG_LICENSE_FILES:=COPYING.LIB
PKG_FIXUP:=patch-libtool PKG_FIXUP:=patch-libtool
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
define Package/libiconv-full/Default define Package/libiconv-full/Default
URL:=http://www.gnu.org/software/libiconv/ URL:=https://www.gnu.org/software/libiconv/
TITLE:=Character set conversion TITLE:=Character set conversion
endef endef
@ -53,21 +55,12 @@ define Package/iconv
TITLE+= utility TITLE+= utility
endef endef
TARGET_CFLAGS += $(FPIC) -DUSE_DOS -std=gnu89
CONFIGURE_ARGS += \ CONFIGURE_ARGS += \
--enable-shared \ --enable-shared \
--enable-static \ --enable-static \
--disable-rpath \ --disable-rpath \
--enable-relocatable --enable-relocatable
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CC="$(TARGET_CC)" \
DESTDIR="$(PKG_INSTALL_DIR)" \
install
endef
define Build/InstallDev define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib/libiconv-full/include $(INSTALL_DIR) $(1)/usr/lib/libiconv-full/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/iconv.h $(1)/usr/lib/libiconv-full/include/ $(CP) $(PKG_INSTALL_DIR)/usr/include/iconv.h $(1)/usr/lib/libiconv-full/include/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +0,0 @@
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,2 @@
+ACLOCAL_AMFLAGS = -I m4
+SUBDIRS = .
--- /dev/null
+++ b/libcharset/Makefile.am
@@ -0,0 +1 @@
+ACLOCAL_AMFLAGS = -I m4
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_ISC_POSIX
dnl checks for installer options
-AC_RELOCATABLE
+gl_RELOCATABLE
AC_ARG_ENABLE([extra-encodings],
[AC_HELP_STRING([--enable-extra-encodings],
--- a/libcharset/configure.ac
+++ b/libcharset/configure.ac
@@ -41,7 +41,7 @@ AC_CANONICAL_HOST
dnl checks for installer options
-AC_RELOCATABLE_LIBRARY
+gl_RELOCATABLE_LIBRARY
dnl checks for programs

View File

@ -1,17 +0,0 @@
Make iconv 1.11.x link correctly with libtool2 - argument "-Xcompiler" ensures "-shared" is passed to $(CC) when used as linker. Otherwise $(CC) tries to create an executable and fails while looking for a main()-function
diff -ruN libiconv-1.11.1/lib/Makefile.in libiconv-1.11.1.mod/lib/Makefile.in
--- libiconv-1.11.1/lib/Makefile.in 2006-07-14 15:18:42.000000000 +0200
+++ libiconv-1.11.1.mod/lib/Makefile.in 2010-12-01 20:47:57.000000000 +0100
@@ -70,9 +70,9 @@
preloadable_libiconv_linux.so : $(SOURCES)
if test -n "@GCC@"; then \
- $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \
+ $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -Xcompiler -shared -o preloadable_libiconv_linux.so; \
else \
- $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \
+ $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -Xcompiler -shared -o preloadable_libiconv_linux.so; \
fi
preloadable_libiconv_solaris.so : $(SOURCES)

View File

@ -1,23 +0,0 @@
--- a/m4/canonicalize.m4
+++ b/m4/canonicalize.m4
@@ -11,8 +11,6 @@ AC_DEFUN([gl_CANONICALIZE],
AC_CHECK_FUNCS(canonicalize_file_name)
if test $ac_cv_func_canonicalize_file_name = no; then
AC_LIBOBJ(canonicalize)
- AC_DEFINE([realpath], [rpl_realpath],
- [Define to a replacement function name for realpath().])
gl_PREREQ_CANONICALIZE
fi
])
--- a/configure
+++ b/configure
@@ -35532,9 +35532,6 @@ done
if test $ac_cv_func_canonicalize_file_name = no; then
SRCLIBOBJS="$SRCLIBOBJS canonicalize.$ac_objext"
-cat >>confdefs.h <<\_ACEOF
-#define realpath rpl_realpath
-_ACEOF

View File

@ -1,48 +0,0 @@
#
# Copyright (C) 2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libroxml
PKG_VERSION:=3.0.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://download.libroxml.net/pool/v3.x
PKG_HASH:=ed6d68d1bceabf98e5e76907411e2e4d93b2dbd48479ab41dede851f59dad6a3
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=LGPL-2.1+
include $(INCLUDE_DIR)/package.mk
define Package/libroxml
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Minimum, easy-to-use, C implementation for xml file parsing
URL:=http://www.libroxml.net/
ABI_VERSION:=3.0.2
endef
CONFIGURE_ARGS += \
--enable-shared \
--enable-static \
--disable-roxml
define Build/InstallDev
$(INSTALL_DIR) $(1)
$(CP) $(PKG_INSTALL_DIR)/* $(1)/
endef
define Package/libroxml/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libroxml.so.* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libroxml))

View File

@ -1,54 +0,0 @@
#
# Copyright (C) 2010-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libusb-compat
PKG_VERSION:=0.1.5
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/libusb
PKG_HASH:=404ef4b6b324be79ac1bfb3d839eac860fbc929e6acb1ef88793a6ea328bc55a
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=LGPL-2.1
PKG_MAINTAINER := Felix Fietkau <nbd@nbd.name>
include $(INCLUDE_DIR)/package.mk
define Package/libusb-compat
SECTION:=libs
CATEGORY:=Libraries
TITLE:=libusb-0.1 compatibility library
DEPENDS:=+libusb-1.0
URL:=http://libusb.wiki.sourceforge.net/
ABI_VERSION:=4
endef
define Package/libusb-compat/description
libusb is a C library that gives applications easy access to USB devices on
many different operating systems.
endef
TARGET_CFLAGS += $(FPIC)
define Build/InstallDev
$(INSTALL_DIR) $(1)
$(CP) $(PKG_INSTALL_DIR)/* $(1)/
$(INSTALL_DIR) $(2)/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/libusb-config $(2)/bin/
endef
define Package/libusb-compat/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libusb-0.1.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libusb-compat))

View File

@ -1,185 +0,0 @@
--- a/libusb/usb.h
+++ b/libusb/usb.h
@@ -27,6 +27,7 @@
#include <unistd.h>
#include <stdlib.h>
+#include <stdint.h>
#include <limits.h>
#include <dirent.h>
@@ -78,40 +79,40 @@
/* All standard descriptors have these 2 fields in common */
struct usb_descriptor_header {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
};
/* String descriptor */
struct usb_string_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t wData[1];
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t wData[1];
};
/* HID descriptor */
struct usb_hid_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t bcdHID;
- u_int8_t bCountryCode;
- u_int8_t bNumDescriptors;
- /* u_int8_t bReportDescriptorType; */
- /* u_int16_t wDescriptorLength; */
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t bcdHID;
+ uint8_t bCountryCode;
+ uint8_t bNumDescriptors;
+ /* uint8_t bReportDescriptorType; */
+ /* uint16_t wDescriptorLength; */
/* ... */
};
/* Endpoint descriptor */
#define USB_MAXENDPOINTS 32
struct usb_endpoint_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int8_t bEndpointAddress;
- u_int8_t bmAttributes;
- u_int16_t wMaxPacketSize;
- u_int8_t bInterval;
- u_int8_t bRefresh;
- u_int8_t bSynchAddress;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint8_t bEndpointAddress;
+ uint8_t bmAttributes;
+ uint16_t wMaxPacketSize;
+ uint8_t bInterval;
+ uint8_t bRefresh;
+ uint8_t bSynchAddress;
unsigned char *extra; /* Extra descriptors */
int extralen;
@@ -129,15 +130,15 @@ struct usb_endpoint_descriptor {
/* Interface descriptor */
#define USB_MAXINTERFACES 32
struct usb_interface_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int8_t bInterfaceNumber;
- u_int8_t bAlternateSetting;
- u_int8_t bNumEndpoints;
- u_int8_t bInterfaceClass;
- u_int8_t bInterfaceSubClass;
- u_int8_t bInterfaceProtocol;
- u_int8_t iInterface;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint8_t bInterfaceNumber;
+ uint8_t bAlternateSetting;
+ uint8_t bNumEndpoints;
+ uint8_t bInterfaceClass;
+ uint8_t bInterfaceSubClass;
+ uint8_t bInterfaceProtocol;
+ uint8_t iInterface;
struct usb_endpoint_descriptor *endpoint;
@@ -155,14 +156,14 @@ struct usb_interface {
/* Configuration descriptor information.. */
#define USB_MAXCONFIG 8
struct usb_config_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t wTotalLength;
- u_int8_t bNumInterfaces;
- u_int8_t bConfigurationValue;
- u_int8_t iConfiguration;
- u_int8_t bmAttributes;
- u_int8_t MaxPower;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t wTotalLength;
+ uint8_t bNumInterfaces;
+ uint8_t bConfigurationValue;
+ uint8_t iConfiguration;
+ uint8_t bmAttributes;
+ uint8_t MaxPower;
struct usb_interface *interface;
@@ -172,28 +173,28 @@ struct usb_config_descriptor {
/* Device descriptor */
struct usb_device_descriptor {
- u_int8_t bLength;
- u_int8_t bDescriptorType;
- u_int16_t bcdUSB;
- u_int8_t bDeviceClass;
- u_int8_t bDeviceSubClass;
- u_int8_t bDeviceProtocol;
- u_int8_t bMaxPacketSize0;
- u_int16_t idVendor;
- u_int16_t idProduct;
- u_int16_t bcdDevice;
- u_int8_t iManufacturer;
- u_int8_t iProduct;
- u_int8_t iSerialNumber;
- u_int8_t bNumConfigurations;
+ uint8_t bLength;
+ uint8_t bDescriptorType;
+ uint16_t bcdUSB;
+ uint8_t bDeviceClass;
+ uint8_t bDeviceSubClass;
+ uint8_t bDeviceProtocol;
+ uint8_t bMaxPacketSize0;
+ uint16_t idVendor;
+ uint16_t idProduct;
+ uint16_t bcdDevice;
+ uint8_t iManufacturer;
+ uint8_t iProduct;
+ uint8_t iSerialNumber;
+ uint8_t bNumConfigurations;
};
struct usb_ctrl_setup {
- u_int8_t bRequestType;
- u_int8_t bRequest;
- u_int16_t wValue;
- u_int16_t wIndex;
- u_int16_t wLength;
+ uint8_t bRequestType;
+ uint8_t bRequest;
+ uint16_t wValue;
+ uint16_t wIndex;
+ uint16_t wLength;
};
/*
@@ -254,7 +255,7 @@ struct usb_device {
void *dev; /* Darwin support */
- u_int8_t devnum;
+ uint8_t devnum;
unsigned char num_children;
struct usb_device **children;
@@ -266,7 +267,7 @@ struct usb_bus {
char dirname[PATH_MAX + 1];
struct usb_device *devices;
- u_int32_t location;
+ uint32_t location;
struct usb_device *root_dev;
};

View File

@ -0,0 +1,34 @@
--- a/configure
+++ b/configure
@@ -4635,6 +4635,7 @@ $as_echo_n "checking build system compil
# remove anything that might look like compiler output to our "||" expression
rm -f conftest* a.out b.out a.exe a_out.exe
cat >conftest.c <<EOF
+#include <stdlib.h>
int
main ()
{
@@ -4667,6 +4668,7 @@ $as_echo_n "checking build system compil
# remove anything that might look like compiler output to our "||" expression
rm -f conftest* a.out b.out a.exe a_out.exe
cat >conftest.c <<EOF
+#include <stdlib.h>
int
main ()
{
@@ -4703,6 +4705,7 @@ $as_echo_n "checking build system compil
# remove anything that might look like compiler output to our "||" expression
rm -f conftest* a.out b.out a.exe a_out.exe
cat >conftest.c <<EOF
+#include <stdlib.h>
int
main ()
{
@@ -4753,6 +4756,7 @@ else
gmp_cv_prog_exeext_for_build="$EXEEXT"
else
cat >conftest.c <<EOF
+#include <stdlib.h>
int
main ()
{

View File

@ -659,6 +659,8 @@ hostapd_set_bss_options() {
} }
json_get_vars time_advertisement time_zone wnm_sleep_mode bss_transition json_get_vars time_advertisement time_zone wnm_sleep_mode bss_transition
set_default bss_transition 0
set_default wnm_sleep_mode 0
[ -n "$time_advertisement" ] && append bss_conf "time_advertisement=$time_advertisement" "$N" [ -n "$time_advertisement" ] && append bss_conf "time_advertisement=$time_advertisement" "$N"
[ -n "$time_zone" ] && append bss_conf "time_zone=$time_zone" "$N" [ -n "$time_zone" ] && append bss_conf "time_zone=$time_zone" "$N"
@ -670,13 +672,18 @@ hostapd_set_bss_options() {
if [ "$ieee80211k" -eq "1" ]; then if [ "$ieee80211k" -eq "1" ]; then
set_default rrm_neighbor_report 1 set_default rrm_neighbor_report 1
set_default rrm_beacon_report 1 set_default rrm_beacon_report 1
else
set_default rrm_neighbor_report 0
set_default rrm_beacon_report 0
fi fi
[ "$rrm_neighbor_report" -eq "1" ] && append bss_conf "rrm_neighbor_report=1" "$N" [ "$rrm_neighbor_report" -eq "1" ] && append bss_conf "rrm_neighbor_report=1" "$N"
[ "$rrm_beacon_report" -eq "1" ] && append bss_conf "rrm_beacon_report=1" "$N" [ "$rrm_beacon_report" -eq "1" ] && append bss_conf "rrm_beacon_report=1" "$N"
json_get_vars ftm_responder stationary_ap lci civic json_get_vars ftm_responder stationary_ap lci civic
set_default ftm_responder 0
if [ "$ftm_responder" -eq "1" ]; then if [ "$ftm_responder" -eq "1" ]; then
set_default stationary_ap 0
iw phy "$phy" info | grep -q "ENABLE_FTM_RESPONDER" && { iw phy "$phy" info | grep -q "ENABLE_FTM_RESPONDER" && {
append bss_conf "ftm_responder=1" "$N" append bss_conf "ftm_responder=1" "$N"
[ "$stationary_ap" -eq "1" ] && append bss_conf "stationary_ap=1" "$N" [ "$stationary_ap" -eq "1" ] && append bss_conf "stationary_ap=1" "$N"

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=lldpd PKG_NAME:=lldpd
PKG_VERSION:=1.0.5 PKG_VERSION:=1.0.7
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://media.luffy.cx/files/lldpd PKG_SOURCE_URL:=https://media.luffy.cx/files/lldpd
PKG_HASH:=2dd3b212f4dbabfcbb2794c0010b245f9f8e74b387984e757be6243a74c6cb99 PKG_HASH:=1df79179d489c841b49265f2ab5ff05f284a647e95862d2f3c02b3fb079a87e1
PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be> PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
PKG_LICENSE:=ISC PKG_LICENSE:=ISC

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=umdns PKG_NAME:=umdns
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_URL=$(PROJECT_GIT)/project/mdnsd.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/mdnsd.git
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git

View File

@ -5,6 +5,7 @@
"names": [ "names": [
"read", "read",
"write", "write",
"writev",
"open", "open",
"close", "close",
"time", "time",

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=tcpdump PKG_NAME:=tcpdump
PKG_VERSION:=4.9.3 PKG_VERSION:=4.9.3
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.us.tcpdump.org/release/ \ PKG_SOURCE_URL:=http://www.us.tcpdump.org/release/ \

View File

@ -0,0 +1,47 @@
--- a/print-ppp.c
+++ b/print-ppp.c
@@ -1368,19 +1368,29 @@ trunc:
}
#ifndef TCPDUMP_MINI
+/*
+ * Un-escape RFC 1662 PPP in HDLC-like framing, with octet escapes.
+ * The length argument is the on-the-wire length, not the captured
+ * length; we can only un-escape the captured part.
+ */
static void
ppp_hdlc(netdissect_options *ndo,
const u_char *p, int length)
{
+ u_int caplen = ndo->ndo_snapend - p;
u_char *b, *t, c;
const u_char *s;
- int i, proto;
+ u_int i;
+ int proto;
const void *se;
+ if (caplen == 0)
+ return;
+
if (length <= 0)
return;
- b = (u_char *)malloc(length);
+ b = (u_char *)malloc(caplen);
if (b == NULL)
return;
@@ -1389,10 +1399,10 @@ ppp_hdlc(netdissect_options *ndo,
* Do this so that we dont overwrite the original packet
* contents.
*/
- for (s = p, t = b, i = length; i > 0 && ND_TTEST(*s); i--) {
+ for (s = p, t = b, i = caplen; i != 0; i--) {
c = *s++;
if (c == 0x7d) {
- if (i <= 1 || !ND_TTEST(*s))
+ if (i <= 1)
break;
i--;
c = *s++ ^ 0x20;

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=uqmi PKG_NAME:=uqmi
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uqmi.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/uqmi.git

View File

@ -30,7 +30,7 @@ proto_qmi_init_config() {
proto_qmi_setup() { proto_qmi_setup() {
local interface="$1" local interface="$1"
local dataformat connstat local dataformat connstat plmn_mode mcc mnc
local device apn auth username password pincode delay modes pdptype local device apn auth username password pincode delay modes pdptype
local profile dhcp dhcpv6 autoconnect plmn timeout mtu $PROTO_DEFAULT_OPTIONS local profile dhcp dhcpv6 autoconnect plmn timeout mtu $PROTO_DEFAULT_OPTIONS
local ip4table ip6table local ip4table ip6table
@ -152,24 +152,38 @@ proto_qmi_setup() {
esac esac
fi fi
[ -n "$plmn" ] && { if [ -n "$plmn" ]; then
local mcc mnc json_load "$(uqmi -s -d "$device" --get-plmn)"
if [ "$plmn" = 0 ]; then json_get_var plmn_mode mode
json_get_vars mcc mnc || {
mcc=0
mnc=0
}
if [ "$plmn" = "0" ]; then
if [ "$plmn_mode" != "automatic" ]; then
mcc=0 mcc=0
mnc=0 mnc=0
echo "Setting PLMN to auto" echo "Setting PLMN to auto"
else fi
elif [ "$mcc" -ne "${plmn:0:3}" -o "$mnc" -ne "${plmn:3}" ]; then
mcc=${plmn:0:3} mcc=${plmn:0:3}
mnc=${plmn:3} mnc=${plmn:3}
echo "Setting PLMN to $plmn" echo "Setting PLMN to $plmn"
else
mcc=""
mnc=""
fi fi
fi
if [ -n "$mcc" -a -n "$mnc" ]; then
uqmi -s -d "$device" --set-plmn --mcc "$mcc" --mnc "$mnc" > /dev/null 2>&1 || { uqmi -s -d "$device" --set-plmn --mcc "$mcc" --mnc "$mnc" > /dev/null 2>&1 || {
echo "Unable to set PLMN" echo "Unable to set PLMN"
proto_notify_error "$interface" PLMN_FAILED proto_notify_error "$interface" PLMN_FAILED
proto_block_restart "$interface" proto_block_restart "$interface"
return 1 return 1
} }
} fi
# Cleanup current state if any # Cleanup current state if any
uqmi -s -d "$device" --stop-network 0xffffffff --autoconnect > /dev/null 2>&1 uqmi -s -d "$device" --stop-network 0xffffffff --autoconnect > /dev/null 2>&1

View File

@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=opkg PKG_NAME:=opkg
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_FLAGS:=essential PKG_FLAGS:=essential
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://git.openwrt.org/project/opkg-lede.git PKG_SOURCE_URL:=https://git.openwrt.org/project/opkg-lede.git
PKG_SOURCE_DATE:=2020-11-03 PKG_SOURCE_DATE:=2020-11-25
PKG_SOURCE_VERSION:=da9746aaa28fdc63a6e062bf00b25eba52bc8e5f PKG_SOURCE_VERSION:=66f458decf9fd2839d77bf420e93d9c78025488a
PKG_MIRROR_HASH:=9c42a8f7dbce4d50b01c3cd10e1974611ffdd9547c27f8f5725b6237433f54e2 PKG_MIRROR_HASH:=932cf0002fd05e8a231df6d3e2c807b2c62501aa36ac2a3e20665622872e262d
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING PKG_LICENSE_FILES:=COPYING

View File

@ -12,9 +12,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git
PKG_SOURCE_DATE:=2020-11-23 PKG_SOURCE_DATE:=2020-11-27
PKG_SOURCE_VERSION:=e935c0c043b12415fa36aca01cfc757cadb9fac4 PKG_SOURCE_VERSION:=31e0a46ded22a517c03cb899f890207f0db75fb8
PKG_MIRROR_HASH:=6bb79a7b5c87afbfc7227758cffbebcc5c9752e791bb5a39280a9aebd159250b PKG_MIRROR_HASH:=66014cf40e87f45b3dce23b10ed0218fc458ec620e6ab1fd33e4af0c2aca2442
CMAKE_INSTALL:=1 CMAKE_INSTALL:=1
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0

View File

@ -1105,7 +1105,7 @@ config BUSYBOX_DEFAULT_FEATURE_FIND_MTIME
default y default y
config BUSYBOX_DEFAULT_FEATURE_FIND_MMIN config BUSYBOX_DEFAULT_FEATURE_FIND_MMIN
bool bool
default n default y
config BUSYBOX_DEFAULT_FEATURE_FIND_PERM config BUSYBOX_DEFAULT_FEATURE_FIND_PERM
bool bool
default y default y

View File

@ -174,8 +174,6 @@ TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) $(call qstrip,$(
TARGET_CXXFLAGS = $(TARGET_CFLAGS) TARGET_CXXFLAGS = $(TARGET_CFLAGS)
TARGET_ASFLAGS_DEFAULT = $(TARGET_CFLAGS) TARGET_ASFLAGS_DEFAULT = $(TARGET_CFLAGS)
TARGET_ASFLAGS = $(TARGET_ASFLAGS_DEFAULT) TARGET_ASFLAGS = $(TARGET_ASFLAGS_DEFAULT)
TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include
TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib
ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),) ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC)))) LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC))))
LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s) LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s)
@ -328,7 +326,7 @@ else
STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS)) STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS))
else else
ifneq ($(CONFIG_USE_SSTRIP),) ifneq ($(CONFIG_USE_SSTRIP),)
STRIP:=$(STAGING_DIR_HOST)/bin/sstrip STRIP:=$(STAGING_DIR_HOST)/bin/sstrip $(call qstrip,$(CONFIG_SSTRIP_ARGS))
endif endif
endif endif
RSTRIP= \ RSTRIP= \

View File

@ -277,6 +277,24 @@ foreach my $mirror (@ARGV) {
push @mirrors, 'https://sources.openwrt.org'; push @mirrors, 'https://sources.openwrt.org';
push @mirrors, 'https://mirror2.openwrt.org/sources'; push @mirrors, 'https://mirror2.openwrt.org/sources';
if (-f "$target/$filename") {
$hash_cmd and do {
if (system("cat '$target/$filename' | $hash_cmd > '$target/$filename.hash'")) {
die "Failed to generate hash for $filename\n";
}
my $sum = `cat "$target/$filename.hash"`;
$sum =~ /^(\w+)\s*/ or die "Could not generate file hash\n";
$sum = $1;
cleanup();
exit 0 if $sum eq $file_hash;
die "Hash of the local file $filename does not match (file: $sum, requested: $file_hash) - deleting download.\n";
unlink "$target/$filename";
};
}
while (!-f "$target/$filename") { while (!-f "$target/$filename") {
my $mirror = shift @mirrors; my $mirror = shift @mirrors;
$mirror or die "No more mirrors to try - giving up.\n"; $mirror or die "No more mirrors to try - giving up.\n";

View File

@ -158,8 +158,8 @@ my %update_method = (
'init' => "git clone --depth 1 '%s' '%s'", 'init' => "git clone --depth 1 '%s' '%s'",
'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'", 'init_branch' => "git clone --depth 1 --branch '%s' '%s' '%s'",
'init_commit' => "git clone '%s' '%s' && cd '%s' && git checkout -b '%s' '%s' && cd -", 'init_commit' => "git clone '%s' '%s' && cd '%s' && git checkout -b '%s' '%s' && cd -",
'update' => "git pull --ff", 'update' => "git pull --ff-only",
'update_force' => "git pull --ff || (git reset --hard HEAD; git pull --ff; exit 1)", 'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)",
'post_update' => "git submodule update --init --recursive", 'post_update' => "git submodule update --init --recursive",
'controldir' => ".git", 'controldir' => ".git",
'revision' => "git rev-parse --short HEAD | tr -d '\n'"}, 'revision' => "git rev-parse --short HEAD | tr -d '\n'"},

View File

@ -79,7 +79,12 @@
#ifndef __FreeBSD__
#include <endian.h> #include <endian.h>
#else
#include <sys/endian.h>
#endif
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdint.h> #include <stdint.h>
@ -89,6 +94,7 @@
#define ARRAY_SIZE(_n) (sizeof(_n) / sizeof((_n)[0])) #define ARRAY_SIZE(_n) (sizeof(_n) / sizeof((_n)[0]))
#ifndef __FreeBSD__
static void static void
be32enc(void *buf, uint32_t u) be32enc(void *buf, uint32_t u)
{ {
@ -99,6 +105,7 @@ be32enc(void *buf, uint32_t u)
p[2] = ((uint8_t) ((u >> 8) & 0xff)); p[2] = ((uint8_t) ((u >> 8) & 0xff));
p[3] = ((uint8_t) (u & 0xff)); p[3] = ((uint8_t) (u & 0xff));
} }
#endif
static void static void
be64enc(void *buf, uint64_t u) be64enc(void *buf, uint64_t u)

151
scripts/size_compare.sh Executable file
View File

@ -0,0 +1,151 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2020 Paul Spooren <mail@aparcar.org>
#
###
### size_compare - compare size of OpenWrt packages against upstream
###
### The script compares locally compiled package with the package indexes
### available upstream. This way the storage impact of optimizations or
### feature modifiactions is easy to see.
###
### If no environmental variables are set the scritp reads the current
### .config file. The evaluated env variables are the following:
###
### TARGET SUBTARGET ARCH PACKAGES BIN_DIR BASE_URL CHECK_INSTALLED
###
### Usage:
### ./scripts/size_compare.sh
###
### Options:
### -p --package-size Check IPK package size and not installed size
### -h --help This message
CONFIG_TARGET=$(sed -n 's/^CONFIG_TARGET_BOARD="\(.*\)"$/\1/p' .config)
CONFIG_SUBTARGET=$(sed -n 's/^CONFIG_TARGET_SUBTARGET="\(.*\)"$/\1/p' .config)
CONFIG_ARCH=$(sed -n 's/^CONFIG_TARGET_ARCH_PACKAGES="\(.*\)"$/\1/p' .config)
CONFIG_PACKAGES=$(sed -n 's/^CONFIG_PACKAGE_\(.*\)=y$/\1/p' .config | tr '\n' ' ')
CONFIG_BIN_DIR=$(sed -n 's/^CONFIG_BINARY_DIR="\(.*\)"$/\1/p' .config)
TARGET=${TARGET:-$CONFIG_TARGET}
SUBTARGET=${SUBTARGET:-$CONFIG_SUBTARGET}
ARCH=${ARCH:-$CONFIG_ARCH}
PACKAGES=${PACKAGES:-$CONFIG_PACKAGES}
BIN_DIR=${CONFIG_BIN_DIR:-./bin}
BASE_URL="${BASE_URL:-https://downloads.openwrt.org/snapshots}"
CHECK_INSTALLED="${CHECK_INSTALLED:-y}"
TARGET_URL="$BASE_URL/targets/$TARGET/$SUBTARGET/packages/Packages.gz"
CONFIG_URL="$BASE_URL/targets/$TARGET/$SUBTARGET/config.buildinfo"
PACKAGES_URL="$BASE_URL/packages/$ARCH/base/Packages.gz"
if command -v curl > /dev/null; then
DOWNLOAD_METHOD="curl"
else
DOWNLOAD_METHOD="wget --output-document=-"
fi
help() {
sed -rn 's/^### ?//;T;p' "$0"
}
package_size () {
FOUND_PACKAGE=
if [ -z "$CHECK_INSTALLED" ]; then
SEARCH_PATTERN="Size"
else
SEARCH_PATTERN="Installed-Size"
fi
while IFS= read -r line; do
if [ "$line" = "Package: $2" ]; then
FOUND_PACKAGE=y
fi
if [ -n "$FOUND_PACKAGE" ]; then
case $line in
"$SEARCH_PATTERN"*)
echo "$line" | cut -d ' ' -f 2
break
;;
esac
fi
done < "$1"
}
compare_sizes () {
for PACKAGE in $PACKAGES; do
if [ "$PACKAGE" = "libc" ]; then
continue
fi
PACKAGE_FILE=$(find "$BIN_DIR/packages/$ARCH/" \
"$BIN_DIR/targets/$TARGET/$SUBTARGET/" \
-name "${PACKAGE}_*.ipk" 2>/dev/null | head -n1)
if [ -z "$PACKAGE_FILE" ]; then
continue
fi
if [ -z "$CHECK_INSTALLED" ]; then
SIZE_LOCAL=$(stat -c '%s' "$PACKAGE_FILE")
else
SIZE_LOCAL=$(tar tzvf "$PACKAGE_FILE" ./data.tar.gz | awk '{ print $3 }')
fi
SIZE_UPSTREAM=$(package_size "$TMP_INDEX" "$PACKAGE")
SIZE_DIFF="$((SIZE_LOCAL-SIZE_UPSTREAM))"
if [ "$SIZE_DIFF" -gt 0 ]; then
SIZE_DIFF="+$SIZE_DIFF"
fi
if [ -n "$SIZE_UPSTREAM" ]; then
echo "${SIZE_DIFF} ${SIZE_LOCAL} ${SIZE_UPSTREAM} $PACKAGE"
else
echo "$PACKAGE is missing upstream"
fi
done
}
if [ "$1" = "-h" ]; then
help
exit 0
fi
if [ "$1" = "-p" ]; then
CHECK_INSTALLED=
fi
echo "Compare packages of $TARGET/$SUBTARGET/$ARCH":
echo "$PACKAGES"
echo
echo "Checking configuration difference"
TMP_CONFIG=$(mktemp /tmp/config.XXXXXX)
sed -n 's/^ \+config \(.*\)/\1/p' config/Config-build.in config/Config-devel.in > "${TMP_CONFIG}-FOCUS"
sort .config | grep -f "${TMP_CONFIG}-FOCUS" | grep -v "^#" | sort > "${TMP_CONFIG}-LOCAL"
mv .config .config.bak
"$DOWNLOAD_METHOD" "$CONFIG_URL" > .config
make defconfig > /dev/null 2> /dev/null
grep -f "${TMP_CONFIG}-FOCUS" .config | grep -v "^#" | sort > "${TMP_CONFIG}-UPSTREAM"
mv .config.bak .config
echo
echo " --- start config diff ---"
diff -u "${TMP_CONFIG}-LOCAL" "${TMP_CONFIG}-UPSTREAM"
echo " --- end config diff ---"
rm "${TMP_CONFIG}-FOCUS" "${TMP_CONFIG}-UPSTREAM" "${TMP_CONFIG}-LOCAL"
echo
if [ -z "$CHECK_INSTALLED" ]; then
echo "Checking IPK package size"
else
echo "Checking installed size"
fi
echo
echo "Fetching latest package indexes..."
TMP_INDEX=$(mktemp /tmp/size_compare_package_index.XXXXXX)
"$DOWNLOAD_METHOD" "$TARGET_URL" | gzip -d > "$TMP_INDEX" || exit 1
"$DOWNLOAD_METHOD" "$PACKAGES_URL" | gzip -d >> "$TMP_INDEX" || exit 1
echo
echo "Comparing package sizes..."
echo "Change Local Remote Package"
compare_sizes | sort -g -r
rm "$TMP_INDEX"

View File

@ -89,6 +89,8 @@ endif
$(CP) -L $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/* $(IB_DTSDIR); \ $(CP) -L $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/* $(IB_DTSDIR); \
fi fi
$(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(PKG_BUILD_DIR)/include/version.mk $(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(PKG_BUILD_DIR)/include/version.mk
$(SED) 's,^# SOURCE_DATE_EPOCH:=.*,SOURCE_DATE_EPOCH:=$(SOURCE_DATE_EPOCH),g' $(PKG_BUILD_DIR)/include/version.mk
$(SED) '/LINUX_VERMAGIC:=/ { s,unknown,$(LINUX_VERMAGIC),g }' $(PKG_BUILD_DIR)/include/kernel.mk
find $(PKG_BUILD_DIR) -name CVS -o -name .git -o -name .svn \ find $(PKG_BUILD_DIR) -name CVS -o -name .git -o -name .svn \
| $(XARGS) rm -rf | $(XARGS) rm -rf
$(INSTALL_DIR) $(IB_IDIR) $(INSTALL_DIR) $(IB_IDIR)

View File

@ -8,7 +8,7 @@ ARCH:=powerpc
BOARD:=apm821xx BOARD:=apm821xx
BOARDNAME:=AppliedMicro APM821xx BOARDNAME:=AppliedMicro APM821xx
CPU_TYPE:=464fp CPU_TYPE:=464fp
FEATURES:=fpu dt gpio FEATURES:=fpu dt gpio ramdisk squashfs usb
SUBTARGETS:=nand sata SUBTARGETS:=nand sata
KERNEL_PATCHVER:=5.4 KERNEL_PATCHVER:=5.4

View File

@ -1,5 +1,5 @@
BOARDNAME:=Devices with NAND flash (Routers) BOARDNAME:=Devices with NAND flash (Routers)
FEATURES += nand pcie ramdisk squashfs usb FEATURES += nand pcie
DEFAULT_PACKAGES += kmod-ath9k swconfig wpad-basic-wolfssl DEFAULT_PACKAGES += kmod-ath9k swconfig wpad-basic-wolfssl

View File

@ -1,6 +1,6 @@
BOARDNAME := Devices which boot from SATA (NAS) BOARDNAME := Devices which boot from SATA (NAS)
DEVICE_TYPE := nas DEVICE_TYPE := nas
FEATURES += ext4 usb ramdisk squashfs rootfs-part boot-part FEATURES += boot-part ext4 rootfs-part
DEFAULT_PACKAGES += badblocks block-mount e2fsprogs kmod-hwmon-drivetemp \ DEFAULT_PACKAGES += badblocks block-mount e2fsprogs kmod-hwmon-drivetemp \
kmod-dm kmod-md-mod partx-utils mkf2fs f2fsck kmod-dm kmod-md-mod partx-utils mkf2fs f2fsck

View File

@ -0,0 +1,169 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9341.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "Engenius EAP300 v2";
compatible = "engenius,eap300-v2", "qca,ar9341";
aliases {
serial0 = &uart;
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "blue:power";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wlan {
label = "blue:wlan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
lan {
label = "blue:lan";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
virtual_flash {
compatible = "mtd-concat";
devices = <&firmware1 &firmware2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
compatible = "openwrt,okli";
label = "firmware";
reg = <0x0 0x0>;
};
};
};
};
&ref {
clock-frequency = <40000000>;
};
&uart {
status = "okay";
};
&spi {
status = "okay";
num-cs = <1>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <20000000>;
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 = "custom";
reg = <0x050000 0x050000>;
read-only;
};
partition@a0000 {
label = "loader";
reg = <0x0a0000 0x010000>;
read-only;
};
firmware2: partition@b0000 {
label = "firmware2";
reg = <0x0b0000 0x170000>;
};
partition@220000 {
label = "fakeroot";
reg = <0x220000 0x010000>;
read-only;
};
firmware1: partition@230000 {
label = "firmware1";
reg = <0x230000 0xbc0000>;
};
partition@df0000 {
label = "failsafe";
reg = <0xdf0000 0x200000>;
read-only;
};
art: partition@ff0000 {
label = "art";
reg = <0xff0000 0x010000>;
read-only;
};
};
};
};
&eth0 {
status = "okay";
mtd-mac-address = <&art 0x0>;
phy-handle = <&swphy0>;
gmac-config {
device = <&gmac>;
switch-phy-swap = <1>;
};
};
&eth1 {
compatible = "syscon", "simple-mfd";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
};

View File

@ -150,6 +150,7 @@ telco,t1)
ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1" ucidef_set_led_netdev "wan" "WAN" "blue:wan" "eth1"
;; ;;
comfast,cf-wr752ac-v1|\ comfast,cf-wr752ac-v1|\
engenius,eap300-v2|\
engenius,ecb1750|\ engenius,ecb1750|\
enterasys,ws-ap3705i) enterasys,ws-ap3705i)
ucidef_set_led_netdev "lan" "LAN" "blue:lan" "eth0" ucidef_set_led_netdev "lan" "LAN" "blue:lan" "eth0"

View File

@ -28,6 +28,7 @@ ath79_setup_interfaces()
dlink,dap-1330-a1|\ dlink,dap-1330-a1|\
dlink,dap-1365-a1|\ dlink,dap-1365-a1|\
dlink,dir-505|\ dlink,dir-505|\
engenius,eap300-v2|\
engenius,ecb1750|\ engenius,ecb1750|\
enterasys,ws-ap3705i|\ enterasys,ws-ap3705i|\
glinet,gl-ar300m-lite|\ glinet,gl-ar300m-lite|\
@ -425,6 +426,7 @@ ath79_setup_macs()
alfa-network,n5q|\ alfa-network,n5q|\
alfa-network,pi-wifi4|\ alfa-network,pi-wifi4|\
alfa-network,r36a|\ alfa-network,r36a|\
engenius,eap300-v2|\
engenius,ens202ext-v1) engenius,ens202ext-v1)
label_mac=$(mtd_get_mac_binary art 0x1002) label_mac=$(mtd_get_mac_binary art 0x1002)
;; ;;

View File

@ -1,9 +1,9 @@
DEVICE_VARS += NETGEAR_KERNEL_MAGIC NETGEAR_BOARD_ID NETGEAR_HW_ID DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
define Build/netgear-rootfs define Build/netgear-rootfs
mkimage \ mkimage \
-A mips -O linux -T filesystem -C none \ -A mips -O linux -T filesystem -C none \
-M $(NETGEAR_KERNEL_MAGIC) \ $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC)) \
-n '$(VERSION_DIST) filesystem' \ -n '$(VERSION_DIST) filesystem' \
-d $(IMAGE_ROOTFS) $@.fs -d $(IMAGE_ROOTFS) $@.fs
cat $@.fs >> $@ cat $@.fs >> $@
@ -22,21 +22,17 @@ define Build/netgear-squashfs
dd if=/dev/zero bs=1k count=1 >> $@.squashfs dd if=/dev/zero bs=1k count=1 >> $@.squashfs
mkimage \ mkimage \
-A mips -O linux -T filesystem -C none \ -A mips -O linux -T filesystem -C none \
-M $(NETGEAR_KERNEL_MAGIC) \ $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC)) \
-a 0xbf070000 -e 0xbf070000 \ -a 0xbf070000 -e 0xbf070000 \
-n 'MIPS $(VERSION_DIST) Linux-$(LINUX_VERSION)' \ -n 'MIPS $(VERSION_DIST) Linux-$(LINUX_VERSION)' \
-d $@.squashfs $@ -d $@.squashfs $@
rm -rf $@.squashfs $@.fs rm -rf $@.squashfs $@.fs
endef endef
define Build/netgear-uImage
$(call Build/uImage,$(1) -M $(NETGEAR_KERNEL_MAGIC))
endef
define Device/netgear_generic define Device/netgear_generic
DEVICE_VENDOR := NETGEAR DEVICE_VENDOR := NETGEAR
KERNEL := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma KERNEL := kernel-bin | append-dtb | lzma -d20 | uImage lzma
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | uImage lzma
IMAGES += factory.img IMAGES += factory.img
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | \ IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | \
append-rootfs | pad-rootfs append-rootfs | pad-rootfs

View File

@ -889,6 +889,17 @@ define Device/engenius_loader_okli
check-size | engenius-tar-gz $$$$(ENGENIUS_IMGNAME) check-size | engenius-tar-gz $$$$(ENGENIUS_IMGNAME)
endef endef
define Device/engenius_eap300-v2
$(Device/engenius_loader_okli)
SOC := ar9341
DEVICE_MODEL := EAP300
DEVICE_VARIANT := v2
IMAGE_SIZE := 12032k
LOADER_FLASH_OFFS := 0x230000
ENGENIUS_IMGNAME := senao-eap300v2
endef
TARGET_DEVICES += engenius_eap300-v2
define Device/engenius_ecb1750 define Device/engenius_ecb1750
SOC := qca9558 SOC := qca9558
DEVICE_VENDOR := EnGenius DEVICE_VENDOR := EnGenius
@ -1241,7 +1252,7 @@ TARGET_DEVICES += nec_wg800hp
define Device/netgear_ex6400_ex7300 define Device/netgear_ex6400_ex7300
$(Device/netgear_generic) $(Device/netgear_generic)
SOC := qca9558 SOC := qca9558
NETGEAR_KERNEL_MAGIC := 0x27051956 UIMAGE_MAGIC := 0x27051956
NETGEAR_BOARD_ID := EX7300series NETGEAR_BOARD_ID := EX7300series
NETGEAR_HW_ID := 29765104+16+0+128 NETGEAR_HW_ID := 29765104+16+0+128
IMAGE_SIZE := 15552k IMAGE_SIZE := 15552k
@ -1277,7 +1288,7 @@ define Device/netgear_wndr3700
$(Device/netgear_wndr3x00) $(Device/netgear_wndr3x00)
DEVICE_MODEL := WNDR3700 DEVICE_MODEL := WNDR3700
DEVICE_VARIANT := v1 DEVICE_VARIANT := v1
NETGEAR_KERNEL_MAGIC := 0x33373030 UIMAGE_MAGIC := 0x33373030
NETGEAR_BOARD_ID := WNDR3700 NETGEAR_BOARD_ID := WNDR3700
IMAGE_SIZE := 7680k IMAGE_SIZE := 7680k
IMAGES += factory-NA.img IMAGES += factory-NA.img
@ -1291,7 +1302,7 @@ define Device/netgear_wndr3700-v2
$(Device/netgear_wndr3x00) $(Device/netgear_wndr3x00)
DEVICE_MODEL := WNDR3700 DEVICE_MODEL := WNDR3700
DEVICE_VARIANT := v2 DEVICE_VARIANT := v2
NETGEAR_KERNEL_MAGIC := 0x33373031 UIMAGE_MAGIC := 0x33373031
NETGEAR_BOARD_ID := WNDR3700v2 NETGEAR_BOARD_ID := WNDR3700v2
NETGEAR_HW_ID := 29763654+16+64 NETGEAR_HW_ID := 29763654+16+64
IMAGE_SIZE := 15872k IMAGE_SIZE := 15872k
@ -1302,7 +1313,7 @@ TARGET_DEVICES += netgear_wndr3700-v2
define Device/netgear_wndr3800 define Device/netgear_wndr3800
$(Device/netgear_wndr3x00) $(Device/netgear_wndr3x00)
DEVICE_MODEL := WNDR3800 DEVICE_MODEL := WNDR3800
NETGEAR_KERNEL_MAGIC := 0x33373031 UIMAGE_MAGIC := 0x33373031
NETGEAR_BOARD_ID := WNDR3800 NETGEAR_BOARD_ID := WNDR3800
NETGEAR_HW_ID := 29763654+16+128 NETGEAR_HW_ID := 29763654+16+128
IMAGE_SIZE := 15872k IMAGE_SIZE := 15872k
@ -1313,7 +1324,7 @@ TARGET_DEVICES += netgear_wndr3800
define Device/netgear_wndr3800ch define Device/netgear_wndr3800ch
$(Device/netgear_wndr3x00) $(Device/netgear_wndr3x00)
DEVICE_MODEL := WNDR3800CH DEVICE_MODEL := WNDR3800CH
NETGEAR_KERNEL_MAGIC := 0x33373031 UIMAGE_MAGIC := 0x33373031
NETGEAR_BOARD_ID := WNDR3800CH NETGEAR_BOARD_ID := WNDR3800CH
NETGEAR_HW_ID := 29763654+16+128 NETGEAR_HW_ID := 29763654+16+128
IMAGE_SIZE := 15872k IMAGE_SIZE := 15872k
@ -1325,7 +1336,7 @@ define Device/netgear_wndrmac-v1
$(Device/netgear_wndr3x00) $(Device/netgear_wndr3x00)
DEVICE_MODEL := WNDRMAC DEVICE_MODEL := WNDRMAC
DEVICE_VARIANT := v1 DEVICE_VARIANT := v1
NETGEAR_KERNEL_MAGIC := 0x33373031 UIMAGE_MAGIC := 0x33373031
NETGEAR_BOARD_ID := WNDRMAC NETGEAR_BOARD_ID := WNDRMAC
NETGEAR_HW_ID := 29763654+16+64 NETGEAR_HW_ID := 29763654+16+64
IMAGE_SIZE := 15872k IMAGE_SIZE := 15872k
@ -1337,7 +1348,7 @@ define Device/netgear_wndrmac-v2
$(Device/netgear_wndr3x00) $(Device/netgear_wndr3x00)
DEVICE_MODEL := WNDRMAC DEVICE_MODEL := WNDRMAC
DEVICE_VARIANT := v2 DEVICE_VARIANT := v2
NETGEAR_KERNEL_MAGIC := 0x33373031 UIMAGE_MAGIC := 0x33373031
NETGEAR_BOARD_ID := WNDRMACv2 NETGEAR_BOARD_ID := WNDRMACv2
NETGEAR_HW_ID := 29763654+16+128 NETGEAR_HW_ID := 29763654+16+128
IMAGE_SIZE := 15872k IMAGE_SIZE := 15872k
@ -1350,7 +1361,7 @@ define Device/netgear_wnr2200_common
SOC := ar7241 SOC := ar7241
DEVICE_MODEL := WNR2200 DEVICE_MODEL := WNR2200
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
NETGEAR_KERNEL_MAGIC := 0x32323030 UIMAGE_MAGIC := 0x32323030
NETGEAR_BOARD_ID := wnr2200 NETGEAR_BOARD_ID := wnr2200
endef endef

View File

@ -1,5 +1,3 @@
include ./common-netgear.mk # for netgear-uImage
DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION
# attention: only zlib compression is allowed for the boot fs # attention: only zlib compression is allowed for the boot fs
@ -163,10 +161,10 @@ define Device/netgear_ath79_nand
PAGESIZE := 2048 PAGESIZE := 2048
IMAGE_SIZE := 25600k IMAGE_SIZE := 25600k
KERNEL := kernel-bin | append-dtb | lzma -d20 | \ KERNEL := kernel-bin | append-dtb | lzma -d20 | \
pad-offset $$(KERNEL_SIZE) 129 | netgear-uImage lzma | \ pad-offset $$(KERNEL_SIZE) 129 | uImage lzma | \
append-string -e '\xff' | \ append-string -e '\xff' | \
append-uImage-fakehdr filesystem $$(NETGEAR_KERNEL_MAGIC) append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC)
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | uImage lzma
IMAGES := sysupgrade.bin factory.img IMAGES := sysupgrade.bin factory.img
IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \ IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \
check-size check-size
@ -179,7 +177,7 @@ define Device/netgear_wndr3700-v4
SOC := ar9344 SOC := ar9344
DEVICE_MODEL := WNDR3700 DEVICE_MODEL := WNDR3700
DEVICE_VARIANT := v4 DEVICE_VARIANT := v4
NETGEAR_KERNEL_MAGIC := 0x33373033 UIMAGE_MAGIC := 0x33373033
NETGEAR_BOARD_ID := WNDR3700v4 NETGEAR_BOARD_ID := WNDR3700v4
NETGEAR_HW_ID := 29763948+128+128 NETGEAR_HW_ID := 29763948+128+128
$(Device/netgear_ath79_nand) $(Device/netgear_ath79_nand)
@ -189,7 +187,7 @@ TARGET_DEVICES += netgear_wndr3700-v4
define Device/netgear_wndr4300 define Device/netgear_wndr4300
SOC := ar9344 SOC := ar9344
DEVICE_MODEL := WNDR4300 DEVICE_MODEL := WNDR4300
NETGEAR_KERNEL_MAGIC := 0x33373033 UIMAGE_MAGIC := 0x33373033
NETGEAR_BOARD_ID := WNDR4300 NETGEAR_BOARD_ID := WNDR4300
NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
$(Device/netgear_ath79_nand) $(Device/netgear_ath79_nand)
@ -199,7 +197,7 @@ TARGET_DEVICES += netgear_wndr4300
define Device/netgear_wndr4300sw define Device/netgear_wndr4300sw
SOC := ar9344 SOC := ar9344
DEVICE_MODEL := WNDR4300SW DEVICE_MODEL := WNDR4300SW
NETGEAR_KERNEL_MAGIC := 0x33373033 UIMAGE_MAGIC := 0x33373033
NETGEAR_BOARD_ID := WNDR4300SW NETGEAR_BOARD_ID := WNDR4300SW
NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
$(Device/netgear_ath79_nand) $(Device/netgear_ath79_nand)
@ -209,7 +207,7 @@ TARGET_DEVICES += netgear_wndr4300sw
define Device/netgear_wndr4300tn define Device/netgear_wndr4300tn
SOC := ar9344 SOC := ar9344
DEVICE_MODEL := WNDR4300TN DEVICE_MODEL := WNDR4300TN
NETGEAR_KERNEL_MAGIC := 0x33373033 UIMAGE_MAGIC := 0x33373033
NETGEAR_BOARD_ID := WNDR4300TN NETGEAR_BOARD_ID := WNDR4300TN
NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
$(Device/netgear_ath79_nand) $(Device/netgear_ath79_nand)
@ -220,7 +218,7 @@ define Device/netgear_wndr4300-v2
SOC := qca9563 SOC := qca9563
DEVICE_MODEL := WNDR4300 DEVICE_MODEL := WNDR4300
DEVICE_VARIANT := v2 DEVICE_VARIANT := v2
NETGEAR_KERNEL_MAGIC := 0x27051956 UIMAGE_MAGIC := 0x27051956
NETGEAR_BOARD_ID := WNDR4500series NETGEAR_BOARD_ID := WNDR4500series
NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175
$(Device/netgear_ath79_nand) $(Device/netgear_ath79_nand)
@ -231,7 +229,7 @@ define Device/netgear_wndr4500-v3
SOC := qca9563 SOC := qca9563
DEVICE_MODEL := WNDR4500 DEVICE_MODEL := WNDR4500
DEVICE_VARIANT := v3 DEVICE_VARIANT := v3
NETGEAR_KERNEL_MAGIC := 0x27051956 UIMAGE_MAGIC := 0x27051956
NETGEAR_BOARD_ID := WNDR4500series NETGEAR_BOARD_ID := WNDR4500series
NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
$(Device/netgear_ath79_nand) $(Device/netgear_ath79_nand)

View File

@ -6,7 +6,7 @@ define Device/netgear_wnr612-v2
DEVICE_MODEL := WNR612 DEVICE_MODEL := WNR612
DEVICE_VARIANT := v2 DEVICE_VARIANT := v2
DEVICE_DTS := ar7240_netgear_wnr612-v2 DEVICE_DTS := ar7240_netgear_wnr612-v2
NETGEAR_KERNEL_MAGIC := 0x32303631 UIMAGE_MAGIC := 0x32303631
NETGEAR_BOARD_ID := REALWNR612V2 NETGEAR_BOARD_ID := REALWNR612V2
IMAGE_SIZE := 3712k IMAGE_SIZE := 3712k
SUPPORTED_DEVICES += wnr612-v2 SUPPORTED_DEVICES += wnr612-v2
@ -19,7 +19,7 @@ define Device/on_n150r
SOC := ar7240 SOC := ar7240
DEVICE_VENDOR := On Networks DEVICE_VENDOR := On Networks
DEVICE_MODEL := N150R DEVICE_MODEL := N150R
NETGEAR_KERNEL_MAGIC := 0x32303631 UIMAGE_MAGIC := 0x32303631
NETGEAR_BOARD_ID := N150R NETGEAR_BOARD_ID := N150R
IMAGE_SIZE := 3712k IMAGE_SIZE := 3712k
SUPPORTED_DEVICES += n150r SUPPORTED_DEVICES += n150r
@ -32,7 +32,7 @@ define Device/netgear_wnr1000-v2
SOC := ar7240 SOC := ar7240
DEVICE_MODEL := WNR1000 DEVICE_MODEL := WNR1000
DEVICE_VARIANT := v2 DEVICE_VARIANT := v2
NETGEAR_KERNEL_MAGIC := 0x31303031 UIMAGE_MAGIC := 0x31303031
NETGEAR_BOARD_ID := WNR1000V2 NETGEAR_BOARD_ID := WNR1000V2
NETGEAR_HW_ID := 29763331+4+32 NETGEAR_HW_ID := 29763331+4+32
IMAGE_SIZE := 3712k IMAGE_SIZE := 3712k
@ -46,7 +46,7 @@ define Device/netgear_wnr2000-v3
SOC := ar7241 SOC := ar7241
DEVICE_MODEL := WNR2000 DEVICE_MODEL := WNR2000
DEVICE_VARIANT := v3 DEVICE_VARIANT := v3
NETGEAR_KERNEL_MAGIC := 0x32303033 UIMAGE_MAGIC := 0x32303033
NETGEAR_BOARD_ID := WNR2000V3 NETGEAR_BOARD_ID := WNR2000V3
NETGEAR_HW_ID := 29763551+04+32 NETGEAR_HW_ID := 29763551+04+32
IMAGE_SIZE := 3712k IMAGE_SIZE := 3712k

View File

@ -754,7 +754,7 @@
ptr = ip6hoff + sizeof(struct ipv6hdr); ptr = ip6hoff + sizeof(struct ipv6hdr);
--- a/include/net/neighbour.h --- a/include/net/neighbour.h
+++ b/include/net/neighbour.h +++ b/include/net/neighbour.h
@@ -273,8 +273,10 @@ static inline bool neigh_key_eq128(const @@ -274,8 +274,10 @@ static inline bool neigh_key_eq128(const
const u32 *n32 = (const u32 *)n->primary_key; const u32 *n32 = (const u32 *)n->primary_key;
const u32 *p32 = pkey; const u32 *p32 = pkey;

View File

@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -8489,8 +8489,6 @@ int alloc_contig_range(unsigned long sta @@ -8511,8 +8511,6 @@ int alloc_contig_range(unsigned long sta
/* Make sure the range is really isolated. */ /* Make sure the range is really isolated. */
if (test_pages_isolated(outer_start, end, false)) { if (test_pages_isolated(outer_start, end, false)) {

View File

@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spi.c --- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c +++ b/drivers/spi/spi.c
@@ -3058,6 +3058,7 @@ static int __spi_validate_bits_per_word( @@ -3114,6 +3114,7 @@ static int __spi_validate_bits_per_word(
*/ */
int spi_setup(struct spi_device *spi) int spi_setup(struct spi_device *spi)
{ {
@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
unsigned bad_bits, ugly_bits; unsigned bad_bits, ugly_bits;
int status; int status;
@@ -3075,6 +3076,14 @@ int spi_setup(struct spi_device *spi) @@ -3131,6 +3132,14 @@ int spi_setup(struct spi_device *spi)
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL | (SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL))) SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL; return -EINVAL;

View File

@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spi.c --- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c +++ b/drivers/spi/spi.c
@@ -3070,8 +3070,8 @@ int spi_setup(struct spi_device *spi) @@ -3126,8 +3126,8 @@ int spi_setup(struct spi_device *spi)
if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods && if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods &&
ctlr->cs_gpiods[spi->chip_select] && !(spi->mode & SPI_CS_HIGH)) { ctlr->cs_gpiods[spi->chip_select] && !(spi->mode & SPI_CS_HIGH)) {

View File

@ -99,7 +99,7 @@ Subject: [PATCH 210/210] b44: register adm switch
dev_info(sdev->dev, dev_info(sdev->dev,
"could not find PHY at %i, use fixed one\n", "could not find PHY at %i, use fixed one\n",
bp->phy_addr); bp->phy_addr);
@@ -2480,6 +2548,7 @@ static void b44_remove_one(struct ssb_de @@ -2481,6 +2549,7 @@ static void b44_remove_one(struct ssb_de
unregister_netdev(dev); unregister_netdev(dev);
if (bp->flags & B44_FLAG_EXTERNAL_PHY) if (bp->flags & B44_FLAG_EXTERNAL_PHY)
b44_unregister_phy_one(bp); b44_unregister_phy_one(bp);

View File

@ -1,29 +0,0 @@
From df8d85d8c69d6837817e54dcb73c84a8b5a13877 Mon Sep 17 00:00:00 2001
From: Filip Moc <dev@moc6.cz>
Date: Tue, 17 Nov 2020 18:36:31 +0100
Subject: net: usb: qmi_wwan: Set DTR quirk for MR400
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
LTE module MR400 embedded in TL-MR6400 v4 requires DTR to be set.
Signed-off-by: Filip Moc <dev@moc6.cz>
Acked-by: Bjørn Mork <bjorn@mork.no>
Link: https://lore.kernel.org/r/20201117173631.GA550981@moc6.cz
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
drivers/net/usb/qmi_wwan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -1092,7 +1092,7 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x05c6, 0x9011, 4)},
{QMI_FIXED_INTF(0x05c6, 0x9021, 1)},
{QMI_FIXED_INTF(0x05c6, 0x9022, 2)},
- {QMI_FIXED_INTF(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */
+ {QMI_QUIRK_SET_DTR(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */
{QMI_FIXED_INTF(0x05c6, 0x9026, 3)},
{QMI_FIXED_INTF(0x05c6, 0x902e, 5)},
{QMI_FIXED_INTF(0x05c6, 0x9031, 5)},

View File

@ -258,6 +258,7 @@ static struct mtd_part_parser uimage_generic_parser = {
.type = MTD_PARSER_TYPE_FIRMWARE, .type = MTD_PARSER_TYPE_FIRMWARE,
}; };
#define FW_MAGIC_GS110TPPV1 0x4e474520
#define FW_MAGIC_WNR2000V1 0x32303031 #define FW_MAGIC_WNR2000V1 0x32303031
#define FW_MAGIC_WNR2000V3 0x32303033 #define FW_MAGIC_WNR2000V3 0x32303033
#define FW_MAGIC_WNR2000V4 0x32303034 #define FW_MAGIC_WNR2000V4 0x32303034
@ -275,6 +276,10 @@ static ssize_t uimage_verify_wndr3700(u_char *buf, size_t len, int *extralen)
uint8_t expected_type = IH_TYPE_FILESYSTEM; uint8_t expected_type = IH_TYPE_FILESYSTEM;
switch (be32_to_cpu(header->ih_magic)) { switch (be32_to_cpu(header->ih_magic)) {
case FW_MAGIC_GS110TPPV1:
case FW_MAGIC_WNR2000V4:
expected_type = IH_TYPE_KERNEL;
break;
case FW_MAGIC_WNR612V2: case FW_MAGIC_WNR612V2:
case FW_MAGIC_WNR1000V2: case FW_MAGIC_WNR1000V2:
case FW_MAGIC_WNR1000V2_VC: case FW_MAGIC_WNR1000V2_VC:
@ -285,9 +290,6 @@ static ssize_t uimage_verify_wndr3700(u_char *buf, size_t len, int *extralen)
case FW_MAGIC_WNDR3700V2: case FW_MAGIC_WNDR3700V2:
case FW_MAGIC_WPN824N: case FW_MAGIC_WPN824N:
break; break;
case FW_MAGIC_WNR2000V4:
expected_type = IH_TYPE_KERNEL;
break;
default: default:
return -EINVAL; return -EINVAL;
} }

View File

@ -1,4 +1,14 @@
#!/bin/sh #!/bin/sh
# Copyright (C) 2006 OpenWrt.org # Copyright (C) 2006 OpenWrt.org
export INITRAMFS=1 export INITRAMFS=1
exec /sbin/init
# switch to tmpfs to allow run daemons in jail on initramfs boot
DIRS=$(echo *)
NEW_ROOT=/new_root
mkdir -p $NEW_ROOT
mount -t tmpfs tmpfs $NEW_ROOT
cp -pr $DIRS $NEW_ROOT
exec switch_root $NEW_ROOT /sbin/init

View File

@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
--- a/mm/page_alloc.c --- a/mm/page_alloc.c
+++ b/mm/page_alloc.c +++ b/mm/page_alloc.c
@@ -6861,7 +6861,7 @@ static void __ref alloc_node_mem_map(str @@ -6883,7 +6883,7 @@ static void __ref alloc_node_mem_map(str
mem_map = NODE_DATA(0)->node_mem_map; mem_map = NODE_DATA(0)->node_mem_map;
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM) #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
if (page_to_pfn(mem_map) != pgdat->node_start_pfn) if (page_to_pfn(mem_map) != pgdat->node_start_pfn)

View File

@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include "br_private.h" #include "br_private.h"
@@ -375,6 +379,28 @@ static const struct ethtool_ops br_ethto @@ -376,6 +380,28 @@ static const struct ethtool_ops br_ethto
.get_link = ethtool_op_get_link, .get_link = ethtool_op_get_link,
}; };
@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const struct net_device_ops br_netdev_ops = { static const struct net_device_ops br_netdev_ops = {
.ndo_open = br_dev_open, .ndo_open = br_dev_open,
.ndo_stop = br_dev_stop, .ndo_stop = br_dev_stop,
@@ -403,6 +429,9 @@ static const struct net_device_ops br_ne @@ -404,6 +430,9 @@ static const struct net_device_ops br_ne
.ndo_bridge_setlink = br_setlink, .ndo_bridge_setlink = br_setlink,
.ndo_bridge_dellink = br_dellink, .ndo_bridge_dellink = br_dellink,
.ndo_features_check = passthru_features_check, .ndo_features_check = passthru_features_check,

View File

@ -7,7 +7,7 @@
ARCH:=mips ARCH:=mips
SUBTARGET:=ase SUBTARGET:=ase
BOARDNAME:=Amazon-SE BOARDNAME:=Amazon-SE
FEATURES:=squashfs atm mips16 small_flash FEATURES:=atm mips16 small_flash
CPU_TYPE:=mips32 CPU_TYPE:=mips32
DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug \ DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug \

View File

@ -1,7 +1,7 @@
ARCH:=mips ARCH:=mips
SUBTARGET:=falcon SUBTARGET:=falcon
BOARDNAME:=Falcon BOARDNAME:=Falcon
FEATURES:=squashfs nand FEATURES:=nand
CPU_TYPE:=24kc CPU_TYPE:=24kc
DEFAULT_PACKAGES+= kmod-leds-gpio \ DEFAULT_PACKAGES+= kmod-leds-gpio \

View File

@ -1,7 +1,7 @@
ARCH:=mips ARCH:=mips
SUBTARGET:=xrx200 SUBTARGET:=xrx200
BOARDNAME:=XRX200 BOARDNAME:=XRX200
FEATURES:=squashfs atm nand ramdisk FEATURES:=atm nand ramdisk
CPU_TYPE:=24kc CPU_TYPE:=24kc
DEFAULT_PACKAGES+=kmod-leds-gpio \ DEFAULT_PACKAGES+=kmod-leds-gpio \

View File

@ -1,7 +1,7 @@
ARCH:=mips ARCH:=mips
SUBTARGET:=xway SUBTARGET:=xway
BOARDNAME:=XWAY BOARDNAME:=XWAY
FEATURES:=squashfs atm nand ramdisk FEATURES:=atm nand ramdisk
CPU_TYPE:=24kc CPU_TYPE:=24kc
DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug swconfig DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug swconfig

View File

@ -1,7 +1,7 @@
ARCH:=mips ARCH:=mips
SUBTARGET:=xway_legacy SUBTARGET:=xway_legacy
BOARDNAME:=XWAY Legacy BOARDNAME:=XWAY Legacy
FEATURES:=squashfs atm ramdisk small_flash FEATURES:=atm ramdisk small_flash
CPU_TYPE:=24kc CPU_TYPE:=24kc
DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug swconfig DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug swconfig

View File

@ -295,7 +295,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
ret = devm_request_irq(&pdev->dev, irq, mxs_saif_irq, 0, ret = devm_request_irq(&pdev->dev, irq, mxs_saif_irq, 0,
--- a/sound/soc/qcom/lpass-platform.c --- a/sound/soc/qcom/lpass-platform.c
+++ b/sound/soc/qcom/lpass-platform.c +++ b/sound/soc/qcom/lpass-platform.c
@@ -565,8 +565,11 @@ int asoc_qcom_lpass_platform_register(st @@ -568,8 +568,11 @@ int asoc_qcom_lpass_platform_register(st
int ret; int ret;
drvdata->lpaif_irq = platform_get_irq_byname(pdev, "lpass-irq-lpaif"); drvdata->lpaif_irq = platform_get_irq_byname(pdev, "lpass-irq-lpaif");

View File

@ -25,7 +25,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -783,16 +783,23 @@ static inline struct flexcan_priv *rx_of @@ -785,16 +785,23 @@ static inline struct flexcan_priv *rx_of
return container_of(offload, struct flexcan_priv, offload); return container_of(offload, struct flexcan_priv, offload);
} }
@ -52,7 +52,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
mb = flexcan_get_mb(priv, n); mb = flexcan_get_mb(priv, n);
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
@@ -806,7 +813,7 @@ static unsigned int flexcan_mailbox_read @@ -808,7 +815,7 @@ static unsigned int flexcan_mailbox_read
code = reg_ctrl & FLEXCAN_MB_CODE_MASK; code = reg_ctrl & FLEXCAN_MB_CODE_MASK;
if ((code != FLEXCAN_MB_CODE_RX_FULL) && if ((code != FLEXCAN_MB_CODE_RX_FULL) &&
(code != FLEXCAN_MB_CODE_RX_OVERRUN)) (code != FLEXCAN_MB_CODE_RX_OVERRUN))
@ -61,7 +61,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
if (code == FLEXCAN_MB_CODE_RX_OVERRUN) { if (code == FLEXCAN_MB_CODE_RX_OVERRUN) {
/* This MB was overrun, we lost data */ /* This MB was overrun, we lost data */
@@ -816,11 +823,17 @@ static unsigned int flexcan_mailbox_read @@ -818,11 +825,17 @@ static unsigned int flexcan_mailbox_read
} else { } else {
reg_iflag1 = priv->read(&regs->iflag1); reg_iflag1 = priv->read(&regs->iflag1);
if (!(reg_iflag1 & FLEXCAN_IFLAG_RX_FIFO_AVAILABLE)) if (!(reg_iflag1 & FLEXCAN_IFLAG_RX_FIFO_AVAILABLE))
@ -80,7 +80,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
/* increase timstamp to full 32 bit */ /* increase timstamp to full 32 bit */
*timestamp = reg_ctrl << 16; *timestamp = reg_ctrl << 16;
@@ -839,7 +852,7 @@ static unsigned int flexcan_mailbox_read @@ -841,7 +854,7 @@ static unsigned int flexcan_mailbox_read
*(__be32 *)(cf->data + i) = data; *(__be32 *)(cf->data + i) = data;
} }
@ -89,7 +89,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
/* Clear IRQ */ /* Clear IRQ */
if (n < 32) if (n < 32)
@@ -856,7 +869,7 @@ static unsigned int flexcan_mailbox_read @@ -858,7 +871,7 @@ static unsigned int flexcan_mailbox_read
*/ */
priv->read(&regs->timer); priv->read(&regs->timer);

View File

@ -17,7 +17,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -1569,7 +1569,6 @@ static int flexcan_probe(struct platform @@ -1573,7 +1573,6 @@ static int flexcan_probe(struct platform
struct net_device *dev; struct net_device *dev;
struct flexcan_priv *priv; struct flexcan_priv *priv;
struct regulator *reg_xceiver; struct regulator *reg_xceiver;
@ -25,7 +25,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
struct clk *clk_ipg = NULL, *clk_per = NULL; struct clk *clk_ipg = NULL, *clk_per = NULL;
struct flexcan_regs __iomem *regs; struct flexcan_regs __iomem *regs;
int err, irq; int err, irq;
@@ -1604,12 +1603,11 @@ static int flexcan_probe(struct platform @@ -1608,12 +1607,11 @@ static int flexcan_probe(struct platform
clock_freq = clk_get_rate(clk_per); clock_freq = clk_get_rate(clk_per);
} }

View File

@ -18,7 +18,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -743,8 +743,6 @@ static void flexcan_irq_state(struct net @@ -745,8 +745,6 @@ static void flexcan_irq_state(struct net
u32 timestamp; u32 timestamp;
int err; int err;
@ -27,7 +27,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
flt = reg_esr & FLEXCAN_ESR_FLT_CONF_MASK; flt = reg_esr & FLEXCAN_ESR_FLT_CONF_MASK;
if (likely(flt == FLEXCAN_ESR_FLT_CONF_ACTIVE)) { if (likely(flt == FLEXCAN_ESR_FLT_CONF_ACTIVE)) {
tx_state = unlikely(reg_esr & FLEXCAN_ESR_TX_WRN) ? tx_state = unlikely(reg_esr & FLEXCAN_ESR_TX_WRN) ?
@@ -764,6 +762,8 @@ static void flexcan_irq_state(struct net @@ -766,6 +764,8 @@ static void flexcan_irq_state(struct net
if (likely(new_state == priv->can.state)) if (likely(new_state == priv->can.state))
return; return;

View File

@ -23,7 +23,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
#define FLEXCAN_IFLAG_RX_FIFO_OVERFLOW BIT(7) #define FLEXCAN_IFLAG_RX_FIFO_OVERFLOW BIT(7)
#define FLEXCAN_IFLAG_RX_FIFO_WARN BIT(6) #define FLEXCAN_IFLAG_RX_FIFO_WARN BIT(6)
#define FLEXCAN_IFLAG_RX_FIFO_AVAILABLE BIT(5) #define FLEXCAN_IFLAG_RX_FIFO_AVAILABLE BIT(5)
@@ -879,7 +879,7 @@ static inline u64 flexcan_read_reg_iflag @@ -881,7 +881,7 @@ static inline u64 flexcan_read_reg_iflag
u32 iflag1, iflag2; u32 iflag1, iflag2;
iflag2 = priv->read(&regs->iflag2) & priv->reg_imask2_default & iflag2 = priv->read(&regs->iflag2) & priv->reg_imask2_default &
@ -32,7 +32,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
iflag1 = priv->read(&regs->iflag1) & priv->reg_imask1_default; iflag1 = priv->read(&regs->iflag1) & priv->reg_imask1_default;
return (u64)iflag2 << 32 | iflag1; return (u64)iflag2 << 32 | iflag1;
@@ -929,7 +929,7 @@ static irqreturn_t flexcan_irq(int irq, @@ -931,7 +931,7 @@ static irqreturn_t flexcan_irq(int irq,
reg_iflag2 = priv->read(&regs->iflag2); reg_iflag2 = priv->read(&regs->iflag2);
/* transmission complete interrupt */ /* transmission complete interrupt */
@ -41,7 +41,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
u32 reg_ctrl = priv->read(&priv->tx_mb->can_ctrl); u32 reg_ctrl = priv->read(&priv->tx_mb->can_ctrl);
handled = IRQ_HANDLED; handled = IRQ_HANDLED;
@@ -941,7 +941,7 @@ static irqreturn_t flexcan_irq(int irq, @@ -943,7 +943,7 @@ static irqreturn_t flexcan_irq(int irq,
/* after sending a RTR frame MB is in RX mode */ /* after sending a RTR frame MB is in RX mode */
priv->write(FLEXCAN_MB_CODE_TX_INACTIVE, priv->write(FLEXCAN_MB_CODE_TX_INACTIVE,
&priv->tx_mb->can_ctrl); &priv->tx_mb->can_ctrl);
@ -50,7 +50,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
netif_wake_queue(dev); netif_wake_queue(dev);
} }
@@ -1320,7 +1320,7 @@ static int flexcan_open(struct net_devic @@ -1321,7 +1321,7 @@ static int flexcan_open(struct net_devic
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
priv->reg_imask1_default = 0; priv->reg_imask1_default = 0;

View File

@ -16,7 +16,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -897,13 +897,13 @@ static irqreturn_t flexcan_irq(int irq, @@ -899,13 +899,13 @@ static irqreturn_t flexcan_irq(int irq,
/* reception interrupt */ /* reception interrupt */
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {

View File

@ -49,7 +49,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
struct clk *clk_ipg; struct clk *clk_ipg;
struct clk *clk_per; struct clk *clk_per;
@@ -878,9 +878,9 @@ static inline u64 flexcan_read_reg_iflag @@ -880,9 +880,9 @@ static inline u64 flexcan_read_reg_iflag
struct flexcan_regs __iomem *regs = priv->regs; struct flexcan_regs __iomem *regs = priv->regs;
u32 iflag1, iflag2; u32 iflag1, iflag2;
@ -61,7 +61,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
return (u64)iflag2 << 32 | iflag1; return (u64)iflag2 << 32 | iflag1;
} }
@@ -1227,8 +1227,8 @@ static int flexcan_chip_start(struct net @@ -1225,8 +1225,8 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */ /* enable interrupts atomically */
disable_irq(dev->irq); disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl); priv->write(priv->reg_ctrl_default, &regs->ctrl);
@ -72,7 +72,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
enable_irq(dev->irq); enable_irq(dev->irq);
/* print chip status */ /* print chip status */
@@ -1319,8 +1319,8 @@ static int flexcan_open(struct net_devic @@ -1320,8 +1320,8 @@ static int flexcan_open(struct net_devic
priv->tx_mb_idx = priv->mb_count - 1; priv->tx_mb_idx = priv->mb_count - 1;
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
@ -83,7 +83,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->offload.mailbox_read = flexcan_mailbox_read; priv->offload.mailbox_read = flexcan_mailbox_read;
@@ -1332,12 +1332,12 @@ static int flexcan_open(struct net_devic @@ -1333,12 +1333,12 @@ static int flexcan_open(struct net_devic
imask = GENMASK_ULL(priv->offload.mb_last, imask = GENMASK_ULL(priv->offload.mb_last,
priv->offload.mb_first); priv->offload.mb_first);

View File

@ -24,7 +24,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -878,8 +878,7 @@ static inline u64 flexcan_read_reg_iflag @@ -880,8 +880,7 @@ static inline u64 flexcan_read_reg_iflag
struct flexcan_regs __iomem *regs = priv->regs; struct flexcan_regs __iomem *regs = priv->regs;
u32 iflag1, iflag2; u32 iflag1, iflag2;
@ -34,7 +34,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
iflag1 = priv->read(&regs->iflag1) & priv->rx_mask1; iflag1 = priv->read(&regs->iflag1) & priv->rx_mask1;
return (u64)iflag2 << 32 | iflag1; return (u64)iflag2 << 32 | iflag1;
@@ -1228,7 +1227,7 @@ static int flexcan_chip_start(struct net @@ -1226,7 +1225,7 @@ static int flexcan_chip_start(struct net
disable_irq(dev->irq); disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl); priv->write(priv->reg_ctrl_default, &regs->ctrl);
priv->write(priv->rx_mask1, &regs->imask1); priv->write(priv->rx_mask1, &regs->imask1);
@ -43,7 +43,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
enable_irq(dev->irq); enable_irq(dev->irq);
/* print chip status */ /* print chip status */
@@ -1319,9 +1318,6 @@ static int flexcan_open(struct net_devic @@ -1320,9 +1319,6 @@ static int flexcan_open(struct net_devic
priv->tx_mb_idx = priv->mb_count - 1; priv->tx_mb_idx = priv->mb_count - 1;
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
@ -53,7 +53,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->offload.mailbox_read = flexcan_mailbox_read; priv->offload.mailbox_read = flexcan_mailbox_read;
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
@@ -1332,12 +1328,12 @@ static int flexcan_open(struct net_devic @@ -1333,12 +1329,12 @@ static int flexcan_open(struct net_devic
imask = GENMASK_ULL(priv->offload.mb_last, imask = GENMASK_ULL(priv->offload.mb_last,
priv->offload.mb_first); priv->offload.mb_first);

View File

@ -41,7 +41,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
struct clk *clk_ipg; struct clk *clk_ipg;
struct clk *clk_per; struct clk *clk_per;
@@ -872,16 +872,15 @@ static struct sk_buff *flexcan_mailbox_r @@ -874,16 +874,15 @@ static struct sk_buff *flexcan_mailbox_r
return skb; return skb;
} }
@ -62,7 +62,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
} }
static irqreturn_t flexcan_irq(int irq, void *dev_id) static irqreturn_t flexcan_irq(int irq, void *dev_id)
@@ -1052,6 +1051,7 @@ static int flexcan_chip_start(struct net @@ -1054,6 +1053,7 @@ static int flexcan_chip_start(struct net
struct flexcan_priv *priv = netdev_priv(dev); struct flexcan_priv *priv = netdev_priv(dev);
struct flexcan_regs __iomem *regs = priv->regs; struct flexcan_regs __iomem *regs = priv->regs;
u32 reg_mcr, reg_ctrl, reg_ctrl2, reg_mecr; u32 reg_mcr, reg_ctrl, reg_ctrl2, reg_mecr;
@ -70,7 +70,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
int err, i; int err, i;
struct flexcan_mb __iomem *mb; struct flexcan_mb __iomem *mb;
@@ -1226,8 +1226,9 @@ static int flexcan_chip_start(struct net @@ -1224,8 +1224,9 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */ /* enable interrupts atomically */
disable_irq(dev->irq); disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl); priv->write(priv->reg_ctrl_default, &regs->ctrl);
@ -82,7 +82,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
enable_irq(dev->irq); enable_irq(dev->irq);
/* print chip status */ /* print chip status */
@@ -1321,19 +1322,14 @@ static int flexcan_open(struct net_devic @@ -1322,19 +1323,14 @@ static int flexcan_open(struct net_devic
priv->offload.mailbox_read = flexcan_mailbox_read; priv->offload.mailbox_read = flexcan_mailbox_read;
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {

View File

@ -39,7 +39,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
u32 reg_ctrl_default; u32 reg_ctrl_default;
struct clk *clk_ipg; struct clk *clk_ipg;
@@ -890,7 +890,8 @@ static irqreturn_t flexcan_irq(int irq, @@ -892,7 +892,8 @@ static irqreturn_t flexcan_irq(int irq,
struct flexcan_priv *priv = netdev_priv(dev); struct flexcan_priv *priv = netdev_priv(dev);
struct flexcan_regs __iomem *regs = priv->regs; struct flexcan_regs __iomem *regs = priv->regs;
irqreturn_t handled = IRQ_NONE; irqreturn_t handled = IRQ_NONE;
@ -49,7 +49,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
enum can_state last_state = priv->can.state; enum can_state last_state = priv->can.state;
/* reception interrupt */ /* reception interrupt */
@@ -924,10 +925,10 @@ static irqreturn_t flexcan_irq(int irq, @@ -926,10 +927,10 @@ static irqreturn_t flexcan_irq(int irq,
} }
} }
@ -62,7 +62,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
u32 reg_ctrl = priv->read(&priv->tx_mb->can_ctrl); u32 reg_ctrl = priv->read(&priv->tx_mb->can_ctrl);
handled = IRQ_HANDLED; handled = IRQ_HANDLED;
@@ -939,7 +940,7 @@ static irqreturn_t flexcan_irq(int irq, @@ -941,7 +942,7 @@ static irqreturn_t flexcan_irq(int irq,
/* after sending a RTR frame MB is in RX mode */ /* after sending a RTR frame MB is in RX mode */
priv->write(FLEXCAN_MB_CODE_TX_INACTIVE, priv->write(FLEXCAN_MB_CODE_TX_INACTIVE,
&priv->tx_mb->can_ctrl); &priv->tx_mb->can_ctrl);
@ -71,7 +71,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
netif_wake_queue(dev); netif_wake_queue(dev);
} }
@@ -1226,7 +1227,7 @@ static int flexcan_chip_start(struct net @@ -1224,7 +1225,7 @@ static int flexcan_chip_start(struct net
/* enable interrupts atomically */ /* enable interrupts atomically */
disable_irq(dev->irq); disable_irq(dev->irq);
priv->write(priv->reg_ctrl_default, &regs->ctrl); priv->write(priv->reg_ctrl_default, &regs->ctrl);
@ -80,7 +80,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->write(upper_32_bits(reg_imask), &regs->imask2); priv->write(upper_32_bits(reg_imask), &regs->imask2);
priv->write(lower_32_bits(reg_imask), &regs->imask1); priv->write(lower_32_bits(reg_imask), &regs->imask1);
enable_irq(dev->irq); enable_irq(dev->irq);
@@ -1318,6 +1319,7 @@ static int flexcan_open(struct net_devic @@ -1319,6 +1320,7 @@ static int flexcan_open(struct net_devic
flexcan_get_mb(priv, FLEXCAN_TX_MB_RESERVED_OFF_FIFO); flexcan_get_mb(priv, FLEXCAN_TX_MB_RESERVED_OFF_FIFO);
priv->tx_mb_idx = priv->mb_count - 1; priv->tx_mb_idx = priv->mb_count - 1;
priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);

View File

@ -24,7 +24,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -778,6 +778,23 @@ static void flexcan_irq_state(struct net @@ -780,6 +780,23 @@ static void flexcan_irq_state(struct net
dev->stats.rx_fifo_errors++; dev->stats.rx_fifo_errors++;
} }
@ -48,7 +48,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *offload) static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *offload)
{ {
return container_of(offload, struct flexcan_priv, offload); return container_of(offload, struct flexcan_priv, offload);
@@ -872,17 +889,6 @@ static struct sk_buff *flexcan_mailbox_r @@ -874,17 +891,6 @@ static struct sk_buff *flexcan_mailbox_r
return skb; return skb;
} }

View File

@ -28,7 +28,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -790,11 +790,24 @@ static inline u64 flexcan_read64_mask(st @@ -792,11 +792,24 @@ static inline u64 flexcan_read64_mask(st
return reg & mask; return reg & mask;
} }
@ -53,7 +53,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *offload) static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *offload)
{ {
return container_of(offload, struct flexcan_priv, offload); return container_of(offload, struct flexcan_priv, offload);
@@ -931,7 +944,7 @@ static irqreturn_t flexcan_irq(int irq, @@ -933,7 +946,7 @@ static irqreturn_t flexcan_irq(int irq,
} }
} }
@ -62,7 +62,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
/* transmission complete interrupt */ /* transmission complete interrupt */
if (reg_iflag_tx & priv->tx_mask) { if (reg_iflag_tx & priv->tx_mask) {
@@ -946,7 +959,7 @@ static irqreturn_t flexcan_irq(int irq, @@ -948,7 +961,7 @@ static irqreturn_t flexcan_irq(int irq,
/* after sending a RTR frame MB is in RX mode */ /* after sending a RTR frame MB is in RX mode */
priv->write(FLEXCAN_MB_CODE_TX_INACTIVE, priv->write(FLEXCAN_MB_CODE_TX_INACTIVE,
&priv->tx_mb->can_ctrl); &priv->tx_mb->can_ctrl);

View File

@ -16,7 +16,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -883,15 +883,10 @@ static struct sk_buff *flexcan_mailbox_r @@ -885,15 +885,10 @@ static struct sk_buff *flexcan_mailbox_r
} }
mark_as_read: mark_as_read:

View File

@ -15,7 +15,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -627,10 +627,10 @@ static int flexcan_get_berr_counter(cons @@ -629,10 +629,10 @@ static int flexcan_get_berr_counter(cons
static netdev_tx_t flexcan_start_xmit(struct sk_buff *skb, struct net_device *dev) static netdev_tx_t flexcan_start_xmit(struct sk_buff *skb, struct net_device *dev)
{ {
const struct flexcan_priv *priv = netdev_priv(dev); const struct flexcan_priv *priv = netdev_priv(dev);
@ -28,7 +28,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
int i; int i;
if (can_dropped_invalid_skb(dev, skb)) if (can_dropped_invalid_skb(dev, skb))
@@ -638,18 +638,18 @@ static netdev_tx_t flexcan_start_xmit(st @@ -640,18 +640,18 @@ static netdev_tx_t flexcan_start_xmit(st
netif_stop_queue(dev); netif_stop_queue(dev);
@ -53,7 +53,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->write(data, &priv->tx_mb->data[i / sizeof(u32)]); priv->write(data, &priv->tx_mb->data[i / sizeof(u32)]);
} }
@@ -821,7 +821,7 @@ static struct sk_buff *flexcan_mailbox_r @@ -823,7 +823,7 @@ static struct sk_buff *flexcan_mailbox_r
struct flexcan_regs __iomem *regs = priv->regs; struct flexcan_regs __iomem *regs = priv->regs;
struct flexcan_mb __iomem *mb; struct flexcan_mb __iomem *mb;
struct sk_buff *skb; struct sk_buff *skb;
@ -62,7 +62,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
u32 reg_ctrl, reg_id, reg_iflag1; u32 reg_ctrl, reg_id, reg_iflag1;
int i; int i;
@@ -858,8 +858,8 @@ static struct sk_buff *flexcan_mailbox_r @@ -860,8 +860,8 @@ static struct sk_buff *flexcan_mailbox_r
reg_ctrl = priv->read(&mb->can_ctrl); reg_ctrl = priv->read(&mb->can_ctrl);
} }
@ -73,7 +73,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
skb = ERR_PTR(-ENOMEM); skb = ERR_PTR(-ENOMEM);
goto mark_as_read; goto mark_as_read;
} }
@@ -869,17 +869,17 @@ static struct sk_buff *flexcan_mailbox_r @@ -871,17 +871,17 @@ static struct sk_buff *flexcan_mailbox_r
reg_id = priv->read(&mb->can_id); reg_id = priv->read(&mb->can_id);
if (reg_ctrl & FLEXCAN_MB_CNT_IDE) if (reg_ctrl & FLEXCAN_MB_CNT_IDE)

View File

@ -124,7 +124,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
/* FlexCAN module is essentially modelled as a little-endian IP in most /* FlexCAN module is essentially modelled as a little-endian IP in most
* SoCs, i.e the registers as well as the message buffer areas are * SoCs, i.e the registers as well as the message buffer areas are
* implemented in a little-endian fashion. * implemented in a little-endian fashion.
@@ -630,7 +684,7 @@ static netdev_tx_t flexcan_start_xmit(st @@ -632,7 +686,7 @@ static netdev_tx_t flexcan_start_xmit(st
struct canfd_frame *cfd = (struct canfd_frame *)skb->data; struct canfd_frame *cfd = (struct canfd_frame *)skb->data;
u32 can_id; u32 can_id;
u32 data; u32 data;
@ -133,7 +133,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
int i; int i;
if (can_dropped_invalid_skb(dev, skb)) if (can_dropped_invalid_skb(dev, skb))
@@ -648,6 +702,9 @@ static netdev_tx_t flexcan_start_xmit(st @@ -650,6 +704,9 @@ static netdev_tx_t flexcan_start_xmit(st
if (cfd->can_id & CAN_RTR_FLAG) if (cfd->can_id & CAN_RTR_FLAG)
ctrl |= FLEXCAN_MB_CNT_RTR; ctrl |= FLEXCAN_MB_CNT_RTR;
@ -143,7 +143,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
for (i = 0; i < cfd->len; i += sizeof(u32)) { for (i = 0; i < cfd->len; i += sizeof(u32)) {
data = be32_to_cpup((__be32 *)&cfd->data[i]); data = be32_to_cpup((__be32 *)&cfd->data[i]);
priv->write(data, &priv->tx_mb->data[i / sizeof(u32)]); priv->write(data, &priv->tx_mb->data[i / sizeof(u32)]);
@@ -858,7 +915,10 @@ static struct sk_buff *flexcan_mailbox_r @@ -860,7 +917,10 @@ static struct sk_buff *flexcan_mailbox_r
reg_ctrl = priv->read(&mb->can_ctrl); reg_ctrl = priv->read(&mb->can_ctrl);
} }
@ -155,7 +155,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
if (unlikely(!skb)) { if (unlikely(!skb)) {
skb = ERR_PTR(-ENOMEM); skb = ERR_PTR(-ENOMEM);
goto mark_as_read; goto mark_as_read;
@@ -873,9 +933,17 @@ static struct sk_buff *flexcan_mailbox_r @@ -875,9 +935,17 @@ static struct sk_buff *flexcan_mailbox_r
else else
cfd->can_id = (reg_id >> 18) & CAN_SFF_MASK; cfd->can_id = (reg_id >> 18) & CAN_SFF_MASK;
@ -176,7 +176,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
for (i = 0; i < cfd->len; i += sizeof(u32)) { for (i = 0; i < cfd->len; i += sizeof(u32)) {
__be32 data = cpu_to_be32(priv->read(&mb->data[i / sizeof(u32)])); __be32 data = cpu_to_be32(priv->read(&mb->data[i / sizeof(u32)]));
@@ -1020,27 +1088,14 @@ static irqreturn_t flexcan_irq(int irq, @@ -1022,27 +1090,14 @@ static irqreturn_t flexcan_irq(int irq,
static void flexcan_set_bittiming(struct net_device *dev) static void flexcan_set_bittiming(struct net_device *dev)
{ {
@ -209,7 +209,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
if (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK) if (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK)
reg |= FLEXCAN_CTRL_LPB; reg |= FLEXCAN_CTRL_LPB;
if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY)
@@ -1051,9 +1106,102 @@ static void flexcan_set_bittiming(struct @@ -1053,9 +1108,102 @@ static void flexcan_set_bittiming(struct
netdev_dbg(dev, "writing ctrl=0x%08x\n", reg); netdev_dbg(dev, "writing ctrl=0x%08x\n", reg);
priv->write(reg, &regs->ctrl); priv->write(reg, &regs->ctrl);
@ -315,7 +315,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
} }
/* flexcan_chip_start /* flexcan_chip_start
@@ -1065,7 +1213,7 @@ static int flexcan_chip_start(struct net @@ -1067,7 +1215,7 @@ static int flexcan_chip_start(struct net
{ {
struct flexcan_priv *priv = netdev_priv(dev); struct flexcan_priv *priv = netdev_priv(dev);
struct flexcan_regs __iomem *regs = priv->regs; struct flexcan_regs __iomem *regs = priv->regs;
@ -324,7 +324,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
u64 reg_imask; u64 reg_imask;
int err, i; int err, i;
struct flexcan_mb __iomem *mb; struct flexcan_mb __iomem *mb;
@@ -1162,6 +1310,26 @@ static int flexcan_chip_start(struct net @@ -1164,6 +1312,26 @@ static int flexcan_chip_start(struct net
netdev_dbg(dev, "%s: writing ctrl=0x%08x", __func__, reg_ctrl); netdev_dbg(dev, "%s: writing ctrl=0x%08x", __func__, reg_ctrl);
priv->write(reg_ctrl, &regs->ctrl); priv->write(reg_ctrl, &regs->ctrl);
@ -351,7 +351,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) { if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) {
reg_ctrl2 = priv->read(&regs->ctrl2); reg_ctrl2 = priv->read(&regs->ctrl2);
reg_ctrl2 |= FLEXCAN_CTRL2_EACEN | FLEXCAN_CTRL2_RRS; reg_ctrl2 |= FLEXCAN_CTRL2_EACEN | FLEXCAN_CTRL2_RRS;
@@ -1309,6 +1477,12 @@ static int flexcan_open(struct net_devic @@ -1304,6 +1472,12 @@ static int flexcan_open(struct net_devic
struct flexcan_priv *priv = netdev_priv(dev); struct flexcan_priv *priv = netdev_priv(dev);
int err; int err;
@ -362,11 +362,11 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+ } + }
+ +
err = pm_runtime_get_sync(priv->dev); err = pm_runtime_get_sync(priv->dev);
if (err < 0) if (err < 0) {
return err; pm_runtime_put_noidle(priv->dev);
@@ -1321,7 +1495,10 @@ static int flexcan_open(struct net_devic @@ -1322,7 +1496,10 @@ static int flexcan_open(struct net_devic
if (err) if (err)
goto out_close; goto out_transceiver_disable;
- priv->mb_size = sizeof(struct flexcan_mb) + CAN_MAX_DLEN; - priv->mb_size = sizeof(struct flexcan_mb) + CAN_MAX_DLEN;
+ if (priv->can.ctrlmode & CAN_CTRLMODE_FD) + if (priv->can.ctrlmode & CAN_CTRLMODE_FD)
@ -376,7 +376,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) + priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) +
(sizeof(priv->regs->mb[1]) / priv->mb_size); (sizeof(priv->regs->mb[1]) / priv->mb_size);
@@ -1666,6 +1843,18 @@ static int flexcan_probe(struct platform @@ -1670,6 +1847,18 @@ static int flexcan_probe(struct platform
priv->devtype_data = devtype_data; priv->devtype_data = devtype_data;
priv->reg_xceiver = reg_xceiver; priv->reg_xceiver = reg_xceiver;

View File

@ -13,7 +13,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
--- a/drivers/net/can/flexcan.c --- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c
@@ -702,9 +702,13 @@ static netdev_tx_t flexcan_start_xmit(st @@ -704,9 +704,13 @@ static netdev_tx_t flexcan_start_xmit(st
if (cfd->can_id & CAN_RTR_FLAG) if (cfd->can_id & CAN_RTR_FLAG)
ctrl |= FLEXCAN_MB_CNT_RTR; ctrl |= FLEXCAN_MB_CNT_RTR;
@ -28,7 +28,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
for (i = 0; i < cfd->len; i += sizeof(u32)) { for (i = 0; i < cfd->len; i += sizeof(u32)) {
data = be32_to_cpup((__be32 *)&cfd->data[i]); data = be32_to_cpup((__be32 *)&cfd->data[i]);
priv->write(data, &priv->tx_mb->data[i / sizeof(u32)]); priv->write(data, &priv->tx_mb->data[i / sizeof(u32)]);
@@ -935,6 +939,9 @@ static struct sk_buff *flexcan_mailbox_r @@ -937,6 +941,9 @@ static struct sk_buff *flexcan_mailbox_r
if (reg_ctrl & FLEXCAN_MB_CNT_EDL) { if (reg_ctrl & FLEXCAN_MB_CNT_EDL) {
cfd->len = can_dlc2len(get_canfd_dlc((reg_ctrl >> 16) & 0xf)); cfd->len = can_dlc2len(get_canfd_dlc((reg_ctrl >> 16) & 0xf));

View File

@ -31,7 +31,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
/* FLEXCAN memory error control register (MECR) bits */ /* FLEXCAN memory error control register (MECR) bits */
#define FLEXCAN_MECR_ECRWRDIS BIT(31) #define FLEXCAN_MECR_ECRWRDIS BIT(31)
@@ -1322,6 +1323,7 @@ static int flexcan_chip_start(struct net @@ -1324,6 +1325,7 @@ static int flexcan_chip_start(struct net
reg_fdctrl = priv->read(&regs->fdctrl) & ~FLEXCAN_FDCTRL_FDRATE; reg_fdctrl = priv->read(&regs->fdctrl) & ~FLEXCAN_FDCTRL_FDRATE;
reg_fdctrl &= ~(FLEXCAN_FDCTRL_MBDSR1(0x3) | FLEXCAN_FDCTRL_MBDSR0(0x3)); reg_fdctrl &= ~(FLEXCAN_FDCTRL_MBDSR1(0x3) | FLEXCAN_FDCTRL_MBDSR0(0x3));
reg_mcr = priv->read(&regs->mcr) & ~FLEXCAN_MCR_FDEN; reg_mcr = priv->read(&regs->mcr) & ~FLEXCAN_MCR_FDEN;
@ -39,7 +39,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
/* support BRS when set CAN FD mode /* support BRS when set CAN FD mode
* 64 bytes payload per MB and 7 MBs per RAM block by default * 64 bytes payload per MB and 7 MBs per RAM block by default
@@ -1331,10 +1333,14 @@ static int flexcan_chip_start(struct net @@ -1333,10 +1335,14 @@ static int flexcan_chip_start(struct net
reg_fdctrl |= FLEXCAN_FDCTRL_FDRATE; reg_fdctrl |= FLEXCAN_FDCTRL_FDRATE;
reg_fdctrl |= FLEXCAN_FDCTRL_MBDSR1(0x3) | FLEXCAN_FDCTRL_MBDSR0(0x3); reg_fdctrl |= FLEXCAN_FDCTRL_MBDSR1(0x3) | FLEXCAN_FDCTRL_MBDSR0(0x3);
reg_mcr |= FLEXCAN_MCR_FDEN; reg_mcr |= FLEXCAN_MCR_FDEN;
@ -54,7 +54,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
} }
if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) { if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) {
@@ -1852,7 +1858,7 @@ static int flexcan_probe(struct platform @@ -1856,7 +1862,7 @@ static int flexcan_probe(struct platform
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_TIMESTAMP_SUPPORT_FD) { if (priv->devtype_data->quirks & FLEXCAN_QUIRK_TIMESTAMP_SUPPORT_FD) {
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {

Some files were not shown because too many files have changed in this diff Show More