Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
1c8d86eb3a
@ -21,6 +21,11 @@ include $(INCLUDE_DIR)/rootfs.mk
|
|||||||
override MAKE:=$(_SINGLE)$(SUBMAKE)
|
override MAKE:=$(_SINGLE)$(SUBMAKE)
|
||||||
override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE)
|
override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Convert size with unit postfix to unitless expression in bytes.
|
||||||
|
#
|
||||||
|
# @param 1: Size with unit. Possible unit postfix are `g`, `m`, `k`.
|
||||||
|
##
|
||||||
exp_units = $(subst k, * 1024,$(subst m, * 1024k,$(subst g, * 1024m,$(1))))
|
exp_units = $(subst k, * 1024,$(subst m, * 1024k,$(subst g, * 1024m,$(1))))
|
||||||
|
|
||||||
target_params = $(subst +,$(space),$*)
|
target_params = $(subst +,$(space),$*)
|
||||||
@ -111,6 +116,12 @@ endef
|
|||||||
|
|
||||||
PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE))))
|
PROFILE_SANITIZED := $(call tolower,$(subst DEVICE_,,$(subst $(space),-,$(PROFILE))))
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Call function for each group of arguments.
|
||||||
|
#
|
||||||
|
# @param 1: List of lists of arguments. Lists are separated by `|`.
|
||||||
|
# @param 2: Function to call for list of arguments.
|
||||||
|
##
|
||||||
define split_args
|
define split_args
|
||||||
$(foreach data, \
|
$(foreach data, \
|
||||||
$(subst |,$(space),\
|
$(subst |,$(space),\
|
||||||
@ -118,12 +129,24 @@ $(foreach data, \
|
|||||||
$(call $(2),$(strip $(subst ^,$(space),$(data)))))
|
$(call $(2),$(strip $(subst ^,$(space),$(data)))))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Call build function with arguments.
|
||||||
|
#
|
||||||
|
# @param 1: Function to call. Function name is prepended with `Build/`.
|
||||||
|
# @param 2...: Function arguments.
|
||||||
|
##
|
||||||
define build_cmd
|
define build_cmd
|
||||||
$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1))))
|
$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1))))
|
||||||
$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1)))
|
$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1)))
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Call build functions from the list.
|
||||||
|
#
|
||||||
|
# @param 1: List of build functions with arguments, separated by `|`.
|
||||||
|
# First word in each group is a build command without `Build/` prefix.
|
||||||
|
##
|
||||||
define concat_cmd
|
define concat_cmd
|
||||||
$(call split_args,$(1),build_cmd)
|
$(call split_args,$(1),build_cmd)
|
||||||
endef
|
endef
|
||||||
@ -163,6 +186,12 @@ DTC_WARN_FLAGS := \
|
|||||||
DTC_FLAGS += $(DTC_WARN_FLAGS)
|
DTC_FLAGS += $(DTC_WARN_FLAGS)
|
||||||
DTCO_FLAGS += $(DTC_WARN_FLAGS)
|
DTCO_FLAGS += $(DTC_WARN_FLAGS)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Pad file to specified size.
|
||||||
|
#
|
||||||
|
# @param 1: File.
|
||||||
|
# @param 2: Padding.
|
||||||
|
##
|
||||||
define Image/pad-to
|
define Image/pad-to
|
||||||
dd if=$(1) of=$(1).new bs=$(2) conv=sync
|
dd if=$(1) of=$(1).new bs=$(2) conv=sync
|
||||||
mv $(1).new $(1)
|
mv $(1).new $(1)
|
||||||
@ -403,26 +432,53 @@ define Device/InitProfile
|
|||||||
DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE)
|
DEVICE_DESCRIPTION = Build firmware images for $$(DEVICE_TITLE)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Image configuration variables.
|
||||||
|
#
|
||||||
|
# @param 1: Device name.
|
||||||
|
##
|
||||||
define Device/Init
|
define Device/Init
|
||||||
|
##@ Device name.
|
||||||
DEVICE_NAME := $(1)
|
DEVICE_NAME := $(1)
|
||||||
|
##@ Commands to build kernel.
|
||||||
|
# Commands with arguments are separated by `|`.
|
||||||
|
##
|
||||||
KERNEL:=
|
KERNEL:=
|
||||||
|
##@ Commands to build initramfs.
|
||||||
|
# Commands with arguments are separated by `|`.
|
||||||
|
##
|
||||||
KERNEL_INITRAMFS = $$(KERNEL)
|
KERNEL_INITRAMFS = $$(KERNEL)
|
||||||
|
##@ Kernel command line.
|
||||||
CMDLINE:=
|
CMDLINE:=
|
||||||
|
|
||||||
|
##@ Images to build.
|
||||||
IMAGES :=
|
IMAGES :=
|
||||||
|
##@ Artifacts to build.
|
||||||
ARTIFACTS :=
|
ARTIFACTS :=
|
||||||
|
##@ Device image prefix.
|
||||||
DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
|
DEVICE_IMG_PREFIX := $(IMG_PREFIX)-$(1)
|
||||||
|
##@ Device image name.
|
||||||
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
|
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1)-$$(2)
|
||||||
|
##@ Factory image name.
|
||||||
FACTORY_IMG_NAME :=
|
FACTORY_IMG_NAME :=
|
||||||
|
##@ Maximum image size. Optional.
|
||||||
IMAGE_SIZE :=
|
IMAGE_SIZE :=
|
||||||
|
##@ Maximum image size. Optional.
|
||||||
NAND_SIZE :=
|
NAND_SIZE :=
|
||||||
|
##@ Kernel image prefix.
|
||||||
KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
|
KERNEL_PREFIX = $$(DEVICE_IMG_PREFIX)
|
||||||
|
##@ Kernel image suffix.
|
||||||
KERNEL_SUFFIX := -kernel.bin
|
KERNEL_SUFFIX := -kernel.bin
|
||||||
|
##@ Initramfs image suffix.
|
||||||
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
|
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
|
||||||
|
##@ Kernel image name.
|
||||||
KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX)
|
KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX)
|
||||||
|
##@ Initramfs image prefix.
|
||||||
KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs
|
KERNEL_INITRAMFS_PREFIX = $$(DEVICE_IMG_PREFIX)-initramfs
|
||||||
KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX)
|
KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_INITRAMFS_SUFFIX)
|
||||||
|
##@ Initramfs image name.
|
||||||
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
|
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
|
||||||
|
##@ Kernel install flag.
|
||||||
KERNEL_INSTALL :=
|
KERNEL_INSTALL :=
|
||||||
KERNEL_NAME := vmlinux
|
KERNEL_NAME := vmlinux
|
||||||
KERNEL_DEPENDS :=
|
KERNEL_DEPENDS :=
|
||||||
|
|||||||
@ -7,10 +7,17 @@ ifneq ($(__target_inc),1)
|
|||||||
__target_inc=1
|
__target_inc=1
|
||||||
|
|
||||||
|
|
||||||
# default device type
|
##@
|
||||||
|
# @brief Default device type ( basic | nas | router ).
|
||||||
|
##
|
||||||
DEVICE_TYPE?=router
|
DEVICE_TYPE?=router
|
||||||
|
|
||||||
# Default packages - the really basic set
|
##@
|
||||||
|
# @brief Default packages.
|
||||||
|
#
|
||||||
|
# The really basic set. Additional packages are added based on @DEVICE_TYPE and
|
||||||
|
# @CONFIG_* values.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES:=\
|
DEFAULT_PACKAGES:=\
|
||||||
base-files \
|
base-files \
|
||||||
ca-bundle \
|
ca-bundle \
|
||||||
@ -27,15 +34,21 @@ DEFAULT_PACKAGES:=\
|
|||||||
urandom-seed \
|
urandom-seed \
|
||||||
urngd
|
urngd
|
||||||
|
|
||||||
# For the basic set
|
##@
|
||||||
|
# @brief Default packages for @DEVICE_TYPE basic.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES.basic:=
|
DEFAULT_PACKAGES.basic:=
|
||||||
# For nas targets
|
##@
|
||||||
|
# @brief Default packages for @DEVICE_TYPE nas.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES.nas:=\
|
DEFAULT_PACKAGES.nas:=\
|
||||||
block-mount \
|
block-mount \
|
||||||
fdisk \
|
fdisk \
|
||||||
lsblk \
|
lsblk \
|
||||||
mdadm
|
mdadm
|
||||||
# For router targets
|
##@
|
||||||
|
# @brief Default packages for @DEVICE_TYPE router.
|
||||||
|
##
|
||||||
DEFAULT_PACKAGES.router:=\
|
DEFAULT_PACKAGES.router:=\
|
||||||
dnsmasq-full \
|
dnsmasq-full \
|
||||||
firewall4 \
|
firewall4 \
|
||||||
@ -101,7 +114,18 @@ DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))
|
|||||||
# Add tweaked packages
|
# Add tweaked packages
|
||||||
# DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.tweak)
|
# DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.tweak)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Filter out packages, prepended with `-`.
|
||||||
|
#
|
||||||
|
# @param 1: Package list.
|
||||||
|
##
|
||||||
filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1))
|
filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1))
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Append extra package dependencies.
|
||||||
|
#
|
||||||
|
# @param 1: Package list.
|
||||||
|
##
|
||||||
extra_packages = $(if $(filter wpad wpad-% nas,$(1)),iwinfo)
|
extra_packages = $(if $(filter wpad wpad-% nas,$(1)),iwinfo)
|
||||||
|
|
||||||
define ProfileDefault
|
define ProfileDefault
|
||||||
|
|||||||
@ -131,6 +131,11 @@ ifneq ($(CONFIG_USE_APK),)
|
|||||||
--sign $(BUILD_KEY_APK_SEC) \
|
--sign $(BUILD_KEY_APK_SEC) \
|
||||||
--output packages.adb \
|
--output packages.adb \
|
||||||
$$(ls *.apk | grep -v 'base-files-\|kernel-\|libc-'); \
|
$$(ls *.apk | grep -v 'base-files-\|kernel-\|libc-'); \
|
||||||
|
echo -n '{"architecture": "$(ARCH_PACKAGES)", "packages":{' > index.json; \
|
||||||
|
$(STAGING_DIR_HOST)/bin/apk adbdump packages.adb | \
|
||||||
|
awk '/- name: / {pkg = $$NF} ; / version: / {printf "\"%s\": \"%s\", ", pkg, $$NF}' | \
|
||||||
|
sed 's/, $$//' >> index.json; \
|
||||||
|
echo '}}' >> index.json; \
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
@for d in $(PACKAGE_SUBDIRS); do ( \
|
@for d in $(PACKAGE_SUBDIRS); do ( \
|
||||||
|
|||||||
@ -39,7 +39,11 @@ endif
|
|||||||
define Package/base-files
|
define Package/base-files
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
DEPENDS:=+netifd +libc +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:openwrt-keyring +NAND_SUPPORT:ubi-utils +fstools +fwtool
|
DEPENDS:= \
|
||||||
|
+netifd +libc +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:openwrt-keyring \
|
||||||
|
+NAND_SUPPORT:ubi-utils +fstools +fwtool \
|
||||||
|
+SELINUX:procd-selinux +!SELINUX:procd +SECCOMP:procd-seccomp \
|
||||||
|
+SELINUX:busybox-selinux +!SELINUX:busybox
|
||||||
TITLE:=Base filesystem for OpenWrt
|
TITLE:=Base filesystem for OpenWrt
|
||||||
URL:=http://openwrt.org/
|
URL:=http://openwrt.org/
|
||||||
VERSION:=$(PKG_RELEASE)~$(lastword $(subst -, ,$(REVISION)))
|
VERSION:=$(PKG_RELEASE)~$(lastword $(subst -, ,$(REVISION)))
|
||||||
|
|||||||
@ -30,7 +30,7 @@ define Package/perf
|
|||||||
DEPENDS:= +libelf +libdw +PACKAGE_libunwind:libunwind +libpthread +librt +objdump @!IN_SDK @KERNEL_PERF_EVENTS \
|
DEPENDS:= +libelf +libdw +PACKAGE_libunwind:libunwind +libpthread +librt +objdump @!IN_SDK @KERNEL_PERF_EVENTS \
|
||||||
+PACKAGE_libbfd:libbfd +PACKAGE_libopcodes:libopcodes +libtraceevent
|
+PACKAGE_libbfd:libbfd +PACKAGE_libopcodes:libopcodes +libtraceevent
|
||||||
TITLE:=Linux performance monitoring tool
|
TITLE:=Linux performance monitoring tool
|
||||||
VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
|
VERSION:=$(LINUX_VERSION)-r$(PKG_RELEASE)
|
||||||
URL:=http://www.kernel.org
|
URL:=http://www.kernel.org
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
|
|||||||
define KernelPackage/cryptodev
|
define KernelPackage/cryptodev
|
||||||
SUBMENU:=Cryptographic API modules
|
SUBMENU:=Cryptographic API modules
|
||||||
TITLE:=Driver for cryptographic acceleration
|
TITLE:=Driver for cryptographic acceleration
|
||||||
URL:=http://cryptodev-linux.org/
|
URL:=https://github.com/cryptodev-linux/cryptodev-linux
|
||||||
DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash
|
DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash
|
||||||
FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX)
|
FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX)
|
||||||
AUTOLOAD:=$(call AutoLoad,50,cryptodev)
|
AUTOLOAD:=$(call AutoLoad,50,cryptodev)
|
||||||
@ -36,8 +36,9 @@ define KernelPackage/cryptodev
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/cryptodev/description
|
define KernelPackage/cryptodev/description
|
||||||
This is a driver for that allows to use the Linux kernel supported
|
This driver allows use of the Linux kernel supported hardware-based
|
||||||
hardware ciphers by user-space applications.
|
cryptographic and hash accelerators by user-space applications,
|
||||||
|
via a "/dev/crypto" device.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Configure
|
define Build/Configure
|
||||||
|
|||||||
@ -50,7 +50,6 @@ define Package/procd
|
|||||||
$(call Package/procd/Default)
|
$(call Package/procd/Default)
|
||||||
VARIANT:=default
|
VARIANT:=default
|
||||||
CONFLICTS:=procd-selinux
|
CONFLICTS:=procd-selinux
|
||||||
DEFAULT:=y if !SELINUX
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/procd-selinux
|
define Package/procd-selinux
|
||||||
@ -59,7 +58,6 @@ define Package/procd-selinux
|
|||||||
TITLE += with SELinux support
|
TITLE += with SELinux support
|
||||||
PROVIDES:=procd
|
PROVIDES:=procd
|
||||||
VARIANT:=selinux
|
VARIANT:=selinux
|
||||||
DEFAULT:=y if SELINUX
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/procd-ujail
|
define Package/procd-ujail
|
||||||
@ -75,7 +73,6 @@ define Package/procd-seccomp
|
|||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
DEPENDS:=@SECCOMP +libubox +libblobmsg-json
|
DEPENDS:=@SECCOMP +libubox +libblobmsg-json
|
||||||
TITLE:=OpenWrt process seccomp helper + utrace
|
TITLE:=OpenWrt process seccomp helper + utrace
|
||||||
DEFAULT:=y if SECCOMP
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/uxc
|
define Package/uxc
|
||||||
|
|||||||
@ -56,7 +56,6 @@ define Package/busybox
|
|||||||
$(call Package/busybox/Default)
|
$(call Package/busybox/Default)
|
||||||
CONFLICTS:=busybox-selinux
|
CONFLICTS:=busybox-selinux
|
||||||
VARIANT:=default
|
VARIANT:=default
|
||||||
DEFAULT:=y if !SELINUX
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/busybox-selinux
|
define Package/busybox-selinux
|
||||||
@ -65,7 +64,6 @@ define Package/busybox-selinux
|
|||||||
DEPENDS += +libselinux
|
DEPENDS += +libselinux
|
||||||
VARIANT:=selinux
|
VARIANT:=selinux
|
||||||
PROVIDES:=busybox
|
PROVIDES:=busybox
|
||||||
DEFAULT:=y if SELINUX
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/busybox/description
|
define Package/busybox/description
|
||||||
|
|||||||
97
rules.mk
97
rules.mk
@ -20,6 +20,11 @@ endif
|
|||||||
export TMP_DIR:=$(TOPDIR)/tmp
|
export TMP_DIR:=$(TOPDIR)/tmp
|
||||||
export TMPDIR:=$(TMP_DIR)
|
export TMPDIR:=$(TMP_DIR)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Strip quotes `"` and pounds `#` from string.
|
||||||
|
#
|
||||||
|
# @param 1: String.
|
||||||
|
##
|
||||||
qstrip=$(strip $(subst ",,$(1)))
|
qstrip=$(strip $(subst ",,$(1)))
|
||||||
#"))
|
#"))
|
||||||
|
|
||||||
@ -27,8 +32,23 @@ empty:=
|
|||||||
space:= $(empty) $(empty)
|
space:= $(empty) $(empty)
|
||||||
comma:=,
|
comma:=,
|
||||||
pound:=\#
|
pound:=\#
|
||||||
|
##@
|
||||||
|
# @brief Merge strings by removing spaces.
|
||||||
|
#
|
||||||
|
# @param 1: String.
|
||||||
|
##
|
||||||
merge=$(subst $(space),,$(1))
|
merge=$(subst $(space),,$(1))
|
||||||
|
##@
|
||||||
|
# @brief Get hash sum of variable list.
|
||||||
|
#
|
||||||
|
# @param 1: List of variable names.
|
||||||
|
##
|
||||||
confvar=$(shell echo '$(foreach v,$(1),$(v)=$(subst ','\'',$($(v))))' | $(MKHASH) md5)
|
confvar=$(shell echo '$(foreach v,$(1),$(v)=$(subst ','\'',$($(v))))' | $(MKHASH) md5)
|
||||||
|
##@
|
||||||
|
# @brief Strip last extension from file name.
|
||||||
|
#
|
||||||
|
# @param 1: File name.
|
||||||
|
##
|
||||||
strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
|
strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1))
|
||||||
|
|
||||||
paren_left = (
|
paren_left = (
|
||||||
@ -51,9 +71,18 @@ __tr_head = $(subst $(paren_left)subst,$(paren_left)subst$(space),$(__tr_head_st
|
|||||||
__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right)))
|
__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right)))
|
||||||
__tr_template = $(__tr_head)$$(1)$(__tr_tail)
|
__tr_template = $(__tr_head)$$(1)$(__tr_tail)
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Convert string characters to upper.
|
||||||
|
##
|
||||||
$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper)))
|
$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper)))
|
||||||
|
##@
|
||||||
|
# @brief Convert string characters to lower.
|
||||||
|
##
|
||||||
$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower)))
|
$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower)))
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Abbreviate version. Truncate to 8 characters.
|
||||||
|
##
|
||||||
version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1)))
|
version_abbrev = $(if $(if $(CHECK),,$(DUMP)),$(1),$(shell printf '%.8s' $(1)))
|
||||||
|
|
||||||
_SINGLE=export MAKEFLAGS=$(space);
|
_SINGLE=export MAKEFLAGS=$(space);
|
||||||
@ -102,6 +131,13 @@ endif
|
|||||||
|
|
||||||
DEFAULT_SUBDIR_TARGETS:=clean download prepare compile update refresh prereq dist distcheck configure check check-depends
|
DEFAULT_SUBDIR_TARGETS:=clean download prepare compile update refresh prereq dist distcheck configure check check-depends
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Create default targets.
|
||||||
|
#
|
||||||
|
# Targets are created from @DEFAULT_SUBDIR_TARGETS and input argument lists.
|
||||||
|
#
|
||||||
|
# @param 1: Additional targets list.
|
||||||
|
##
|
||||||
define DefaultTargets
|
define DefaultTargets
|
||||||
$(foreach t,$(DEFAULT_SUBDIR_TARGETS) $(1),
|
$(foreach t,$(DEFAULT_SUBDIR_TARGETS) $(1),
|
||||||
.$(t):
|
.$(t):
|
||||||
@ -371,16 +407,28 @@ export BISON_PKGDATADIR:=$(STAGING_DIR_HOST)/share/bison
|
|||||||
export HOST_GNULIB_SRCDIR:=$(STAGING_DIR_HOST)/share/gnulib
|
export HOST_GNULIB_SRCDIR:=$(STAGING_DIR_HOST)/share/gnulib
|
||||||
export M4:=$(STAGING_DIR_HOST)/bin/m4
|
export M4:=$(STAGING_DIR_HOST)/bin/m4
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Slugify variable name and prepend suffix.
|
||||||
|
##
|
||||||
define shvar
|
define shvar
|
||||||
V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
V_$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Create and export variable, set to function result.
|
||||||
|
#
|
||||||
|
# @param 1: Function name. Used as variable name, prepended with `V_`.
|
||||||
|
##
|
||||||
define shexport
|
define shexport
|
||||||
export $(call shvar,$(1))=$$(call $(1))
|
export $(call shvar,$(1))=$$(call $(1))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Support 64 bit tine in C code.
|
||||||
|
#
|
||||||
# Test support for 64-bit time with C code from largefile.m4 provided by GNU Gnulib
|
# Test support for 64-bit time with C code from largefile.m4 provided by GNU Gnulib
|
||||||
# the value is 'y' when successful and '' otherwise
|
# the value is `y` when successful and `` otherwise
|
||||||
|
##
|
||||||
define YEAR_2038
|
define YEAR_2038
|
||||||
$(shell \
|
$(shell \
|
||||||
mkdir -p $(TMP_DIR); \
|
mkdir -p $(TMP_DIR); \
|
||||||
@ -392,9 +440,12 @@ $(shell \
|
|||||||
)
|
)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Execute commands under flock
|
##@
|
||||||
# $(1) => The shell expression.
|
# @brief Execute commands under flock
|
||||||
# $(2) => The lock name. If not given, the global lock will be used.
|
#
|
||||||
|
# @param 1: The shell expression.
|
||||||
|
# @param 2: The lock name. If not given, the global lock will be used.
|
||||||
|
##
|
||||||
ifneq ($(wildcard $(STAGING_DIR_HOST)/bin/flock),)
|
ifneq ($(wildcard $(STAGING_DIR_HOST)/bin/flock),)
|
||||||
define locked
|
define locked
|
||||||
SHELL= \
|
SHELL= \
|
||||||
@ -406,10 +457,14 @@ else
|
|||||||
locked=$(1)
|
locked=$(1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Recursively copy paths into another directory, purge dangling
|
|
||||||
|
##@
|
||||||
|
# @brief Recursively copy paths into another directory, purge dangling
|
||||||
# symlinks before.
|
# symlinks before.
|
||||||
# $(1) => File glob expression
|
#
|
||||||
# $(2) => Destination directory
|
# @param 1: File glob expression.
|
||||||
|
# @param 1: Destination directory.
|
||||||
|
##
|
||||||
define file_copy
|
define file_copy
|
||||||
for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \
|
for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \
|
||||||
( cd $$src_dir; find -type f -or -type d ) | \
|
( cd $$src_dir; find -type f -or -type d ) | \
|
||||||
@ -424,19 +479,30 @@ define file_copy
|
|||||||
$(CP) $(1) $(2)
|
$(CP) $(1) $(2)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Calculate sha256sum of any plain file within a given directory
|
##@
|
||||||
# $(1) => Input directory
|
# @brief Calculate sha256sum of any plain file within a given directory.
|
||||||
# $(2) => If set, recurse into subdirectories
|
#
|
||||||
|
# @param 1: Input directory.
|
||||||
|
# @param 2: If set, recurse into subdirectories.
|
||||||
|
##
|
||||||
define sha256sums
|
define sha256sums
|
||||||
(cd $(1); find . $(if $(2),,-maxdepth 1) -type f -not -name 'sha256sums' -printf "%P\n" | sort | \
|
(cd $(1); find . $(if $(2),,-maxdepth 1) -type f -not -name 'sha256sums' -printf "%P\n" | sort | \
|
||||||
xargs -r $(MKHASH) -n sha256 | sed -ne 's!^\(.*\) \(.*\)$$!\1 *\2!p' > sha256sums)
|
xargs -r $(MKHASH) -n sha256 | sed -ne 's!^\(.*\) \(.*\)$$!\1 *\2!p' > sha256sums)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# file extension
|
##@
|
||||||
|
# @brief Retrieve file extension.
|
||||||
|
#
|
||||||
|
# @param 1: File name.
|
||||||
|
##
|
||||||
ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
|
ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
|
||||||
|
|
||||||
# Count Git commits of a package
|
##@
|
||||||
# $(1) => if non-empty: count commits since last ": [uU]pdate to " or ": [bB]ump to " in commit message
|
# @brief Count Git commits of a package.
|
||||||
|
#
|
||||||
|
# @param 1: if non-empty: count commits since last ": [uU]pdate to "
|
||||||
|
# or ": [bB]ump to " in commit message.
|
||||||
|
##
|
||||||
define commitcount
|
define commitcount
|
||||||
$(shell \
|
$(shell \
|
||||||
if git log -1 >/dev/null 2>/dev/null; then \
|
if git log -1 >/dev/null 2>/dev/null; then \
|
||||||
@ -458,6 +524,11 @@ $(shell \
|
|||||||
)
|
)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
##@
|
||||||
|
# @brief Get ABI version string, stripping `-`, `_` and `.`.
|
||||||
|
#
|
||||||
|
# @param 1: Version string.
|
||||||
|
##
|
||||||
abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1))))
|
abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1))))
|
||||||
|
|
||||||
COMMITCOUNT = $(if $(DUMP),0,$(call commitcount))
|
COMMITCOUNT = $(if $(DUMP),0,$(call commitcount))
|
||||||
|
|||||||
@ -138,6 +138,11 @@ _call_info: FORCE
|
|||||||
echo 'Available Profiles:'
|
echo 'Available Profiles:'
|
||||||
echo; $(PROFILE_LIST)
|
echo; $(PROFILE_LIST)
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_USE_APK),)
|
||||||
|
DEFAULT_PACKAGES += apk-openssl
|
||||||
|
else
|
||||||
|
DEFAULT_PACKAGES += opkg
|
||||||
|
endif
|
||||||
BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $($(USER_PROFILE)_PACKAGES) kernel)
|
BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $($(USER_PROFILE)_PACKAGES) kernel)
|
||||||
# "-pkgname" in the package list means remove "pkgname" from the package list
|
# "-pkgname" in the package list means remove "pkgname" from the package list
|
||||||
BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
|
BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
|
||||||
|
|||||||
@ -0,0 +1,92 @@
|
|||||||
|
From 3affa310de523d63e52ea8e2efb3c476df29e414 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||||
|
Date: Tue, 29 Oct 2024 13:17:09 +0100
|
||||||
|
Subject: [PATCH 1/2] net: airoha: Read completion queue data in
|
||||||
|
airoha_qdma_tx_napi_poll()
|
||||||
|
|
||||||
|
In order to avoid any possible race, read completion queue head and
|
||||||
|
pending entry in airoha_qdma_tx_napi_poll routine instead of doing it in
|
||||||
|
airoha_irq_handler. Remove unused airoha_tx_irq_queue unused fields.
|
||||||
|
This is a preliminary patch to add Qdisc offload for airoha_eth driver.
|
||||||
|
|
||||||
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||||
|
Link: https://patch.msgid.link/20241029-airoha-en7581-tx-napi-work-v1-1-96ad1686b946@kernel.org
|
||||||
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||||
|
---
|
||||||
|
drivers/net/ethernet/mediatek/airoha_eth.c | 31 +++++++++-------------
|
||||||
|
1 file changed, 13 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
--- a/drivers/net/ethernet/mediatek/airoha_eth.c
|
||||||
|
+++ b/drivers/net/ethernet/mediatek/airoha_eth.c
|
||||||
|
@@ -752,11 +752,9 @@ struct airoha_tx_irq_queue {
|
||||||
|
struct airoha_qdma *qdma;
|
||||||
|
|
||||||
|
struct napi_struct napi;
|
||||||
|
- u32 *q;
|
||||||
|
|
||||||
|
int size;
|
||||||
|
- int queued;
|
||||||
|
- u16 head;
|
||||||
|
+ u32 *q;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct airoha_hw_stats {
|
||||||
|
@@ -1656,25 +1654,31 @@ static int airoha_qdma_init_rx(struct ai
|
||||||
|
static int airoha_qdma_tx_napi_poll(struct napi_struct *napi, int budget)
|
||||||
|
{
|
||||||
|
struct airoha_tx_irq_queue *irq_q;
|
||||||
|
+ int id, done = 0, irq_queued;
|
||||||
|
struct airoha_qdma *qdma;
|
||||||
|
struct airoha_eth *eth;
|
||||||
|
- int id, done = 0;
|
||||||
|
+ u32 status, head;
|
||||||
|
|
||||||
|
irq_q = container_of(napi, struct airoha_tx_irq_queue, napi);
|
||||||
|
qdma = irq_q->qdma;
|
||||||
|
id = irq_q - &qdma->q_tx_irq[0];
|
||||||
|
eth = qdma->eth;
|
||||||
|
|
||||||
|
- while (irq_q->queued > 0 && done < budget) {
|
||||||
|
- u32 qid, last, val = irq_q->q[irq_q->head];
|
||||||
|
+ status = airoha_qdma_rr(qdma, REG_IRQ_STATUS(id));
|
||||||
|
+ head = FIELD_GET(IRQ_HEAD_IDX_MASK, status);
|
||||||
|
+ head = head % irq_q->size;
|
||||||
|
+ irq_queued = FIELD_GET(IRQ_ENTRY_LEN_MASK, status);
|
||||||
|
+
|
||||||
|
+ while (irq_queued > 0 && done < budget) {
|
||||||
|
+ u32 qid, last, val = irq_q->q[head];
|
||||||
|
struct airoha_queue *q;
|
||||||
|
|
||||||
|
if (val == 0xff)
|
||||||
|
break;
|
||||||
|
|
||||||
|
- irq_q->q[irq_q->head] = 0xff; /* mark as done */
|
||||||
|
- irq_q->head = (irq_q->head + 1) % irq_q->size;
|
||||||
|
- irq_q->queued--;
|
||||||
|
+ irq_q->q[head] = 0xff; /* mark as done */
|
||||||
|
+ head = (head + 1) % irq_q->size;
|
||||||
|
+ irq_queued--;
|
||||||
|
done++;
|
||||||
|
|
||||||
|
last = FIELD_GET(IRQ_DESC_IDX_MASK, val);
|
||||||
|
@@ -2026,20 +2030,11 @@ static irqreturn_t airoha_irq_handler(in
|
||||||
|
|
||||||
|
if (intr[0] & INT_TX_MASK) {
|
||||||
|
for (i = 0; i < ARRAY_SIZE(qdma->q_tx_irq); i++) {
|
||||||
|
- struct airoha_tx_irq_queue *irq_q = &qdma->q_tx_irq[i];
|
||||||
|
- u32 status, head;
|
||||||
|
-
|
||||||
|
if (!(intr[0] & TX_DONE_INT_MASK(i)))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
airoha_qdma_irq_disable(qdma, QDMA_INT_REG_IDX0,
|
||||||
|
TX_DONE_INT_MASK(i));
|
||||||
|
-
|
||||||
|
- status = airoha_qdma_rr(qdma, REG_IRQ_STATUS(i));
|
||||||
|
- head = FIELD_GET(IRQ_HEAD_IDX_MASK, status);
|
||||||
|
- irq_q->head = head % irq_q->size;
|
||||||
|
- irq_q->queued = FIELD_GET(IRQ_ENTRY_LEN_MASK, status);
|
||||||
|
-
|
||||||
|
napi_schedule(&qdma->q_tx_irq[i].napi);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,130 @@
|
|||||||
|
From 0c729f53b8c33b9e5eadc2d5e673759e3510501e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||||
|
Date: Tue, 29 Oct 2024 13:17:10 +0100
|
||||||
|
Subject: [PATCH 2/2] net: airoha: Simplify Tx napi logic
|
||||||
|
|
||||||
|
Simplify Tx napi logic relying just on the packet index provided by
|
||||||
|
completion queue indicating the completed packet that can be removed
|
||||||
|
from the Tx DMA ring.
|
||||||
|
This is a preliminary patch to add Qdisc offload for airoha_eth driver.
|
||||||
|
|
||||||
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
||||||
|
Link: https://patch.msgid.link/20241029-airoha-en7581-tx-napi-work-v1-2-96ad1686b946@kernel.org
|
||||||
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||||
|
---
|
||||||
|
drivers/net/ethernet/mediatek/airoha_eth.c | 73 ++++++++++++----------
|
||||||
|
1 file changed, 41 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
|
--- a/drivers/net/ethernet/mediatek/airoha_eth.c
|
||||||
|
+++ b/drivers/net/ethernet/mediatek/airoha_eth.c
|
||||||
|
@@ -1670,8 +1670,12 @@ static int airoha_qdma_tx_napi_poll(stru
|
||||||
|
irq_queued = FIELD_GET(IRQ_ENTRY_LEN_MASK, status);
|
||||||
|
|
||||||
|
while (irq_queued > 0 && done < budget) {
|
||||||
|
- u32 qid, last, val = irq_q->q[head];
|
||||||
|
+ u32 qid, val = irq_q->q[head];
|
||||||
|
+ struct airoha_qdma_desc *desc;
|
||||||
|
+ struct airoha_queue_entry *e;
|
||||||
|
struct airoha_queue *q;
|
||||||
|
+ u32 index, desc_ctrl;
|
||||||
|
+ struct sk_buff *skb;
|
||||||
|
|
||||||
|
if (val == 0xff)
|
||||||
|
break;
|
||||||
|
@@ -1681,9 +1685,7 @@ static int airoha_qdma_tx_napi_poll(stru
|
||||||
|
irq_queued--;
|
||||||
|
done++;
|
||||||
|
|
||||||
|
- last = FIELD_GET(IRQ_DESC_IDX_MASK, val);
|
||||||
|
qid = FIELD_GET(IRQ_RING_IDX_MASK, val);
|
||||||
|
-
|
||||||
|
if (qid >= ARRAY_SIZE(qdma->q_tx))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
@@ -1691,46 +1693,53 @@ static int airoha_qdma_tx_napi_poll(stru
|
||||||
|
if (!q->ndesc)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
+ index = FIELD_GET(IRQ_DESC_IDX_MASK, val);
|
||||||
|
+ if (index >= q->ndesc)
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
spin_lock_bh(&q->lock);
|
||||||
|
|
||||||
|
- while (q->queued > 0) {
|
||||||
|
- struct airoha_qdma_desc *desc = &q->desc[q->tail];
|
||||||
|
- struct airoha_queue_entry *e = &q->entry[q->tail];
|
||||||
|
- u32 desc_ctrl = le32_to_cpu(desc->ctrl);
|
||||||
|
- struct sk_buff *skb = e->skb;
|
||||||
|
- u16 index = q->tail;
|
||||||
|
-
|
||||||
|
- if (!(desc_ctrl & QDMA_DESC_DONE_MASK) &&
|
||||||
|
- !(desc_ctrl & QDMA_DESC_DROP_MASK))
|
||||||
|
- break;
|
||||||
|
+ if (!q->queued)
|
||||||
|
+ goto unlock;
|
||||||
|
|
||||||
|
- q->tail = (q->tail + 1) % q->ndesc;
|
||||||
|
- q->queued--;
|
||||||
|
+ desc = &q->desc[index];
|
||||||
|
+ desc_ctrl = le32_to_cpu(desc->ctrl);
|
||||||
|
|
||||||
|
- dma_unmap_single(eth->dev, e->dma_addr, e->dma_len,
|
||||||
|
- DMA_TO_DEVICE);
|
||||||
|
-
|
||||||
|
- WRITE_ONCE(desc->msg0, 0);
|
||||||
|
- WRITE_ONCE(desc->msg1, 0);
|
||||||
|
+ if (!(desc_ctrl & QDMA_DESC_DONE_MASK) &&
|
||||||
|
+ !(desc_ctrl & QDMA_DESC_DROP_MASK))
|
||||||
|
+ goto unlock;
|
||||||
|
+
|
||||||
|
+ e = &q->entry[index];
|
||||||
|
+ skb = e->skb;
|
||||||
|
+
|
||||||
|
+ dma_unmap_single(eth->dev, e->dma_addr, e->dma_len,
|
||||||
|
+ DMA_TO_DEVICE);
|
||||||
|
+ memset(e, 0, sizeof(*e));
|
||||||
|
+ WRITE_ONCE(desc->msg0, 0);
|
||||||
|
+ WRITE_ONCE(desc->msg1, 0);
|
||||||
|
+ q->queued--;
|
||||||
|
+
|
||||||
|
+ /* completion ring can report out-of-order indexes if hw QoS
|
||||||
|
+ * is enabled and packets with different priority are queued
|
||||||
|
+ * to same DMA ring. Take into account possible out-of-order
|
||||||
|
+ * reports incrementing DMA ring tail pointer
|
||||||
|
+ */
|
||||||
|
+ while (q->tail != q->head && !q->entry[q->tail].dma_addr)
|
||||||
|
+ q->tail = (q->tail + 1) % q->ndesc;
|
||||||
|
|
||||||
|
- if (skb) {
|
||||||
|
- u16 queue = skb_get_queue_mapping(skb);
|
||||||
|
- struct netdev_queue *txq;
|
||||||
|
-
|
||||||
|
- txq = netdev_get_tx_queue(skb->dev, queue);
|
||||||
|
- netdev_tx_completed_queue(txq, 1, skb->len);
|
||||||
|
- if (netif_tx_queue_stopped(txq) &&
|
||||||
|
- q->ndesc - q->queued >= q->free_thr)
|
||||||
|
- netif_tx_wake_queue(txq);
|
||||||
|
-
|
||||||
|
- dev_kfree_skb_any(skb);
|
||||||
|
- e->skb = NULL;
|
||||||
|
- }
|
||||||
|
+ if (skb) {
|
||||||
|
+ u16 queue = skb_get_queue_mapping(skb);
|
||||||
|
+ struct netdev_queue *txq;
|
||||||
|
+
|
||||||
|
+ txq = netdev_get_tx_queue(skb->dev, queue);
|
||||||
|
+ netdev_tx_completed_queue(txq, 1, skb->len);
|
||||||
|
+ if (netif_tx_queue_stopped(txq) &&
|
||||||
|
+ q->ndesc - q->queued >= q->free_thr)
|
||||||
|
+ netif_tx_wake_queue(txq);
|
||||||
|
|
||||||
|
- if (index == last)
|
||||||
|
- break;
|
||||||
|
+ dev_kfree_skb_any(skb);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+unlock:
|
||||||
|
spin_unlock_bh(&q->lock);
|
||||||
|
}
|
||||||
|
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
From 7e102b1eb2ca3eff7a6f33ebeab17825e6f70956 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robert Marko <robimarko@gmail.com>
|
||||||
|
Date: Mon, 4 Nov 2024 22:01:24 +0100
|
||||||
|
Subject: [PATCH] arm64: dts: qcom: ipq6018: add NSS reserved memory
|
||||||
|
|
||||||
|
It seems that despite NSS not being supported in OpenWrt the memory it
|
||||||
|
usually uses needs to be reserved anyway for stability reasons.
|
||||||
|
|
||||||
|
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||||
|
---
|
||||||
|
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
|
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
|
@@ -199,6 +199,11 @@
|
||||||
|
no-map;
|
||||||
|
};
|
||||||
|
|
||||||
|
+ nss_region: memory@40000000 {
|
||||||
|
+ reg = <0x0 0x40000000 0x0 0x01000000>;
|
||||||
|
+ no-map;
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
bootloader@4a100000 {
|
||||||
|
reg = <0x0 0x4a100000 0x0 0x400000>;
|
||||||
|
no-map;
|
||||||
@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||||||
|
|
||||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
@@ -809,6 +809,102 @@
|
@@ -814,6 +814,102 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||||||
|
|
||||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
@@ -1157,6 +1157,7 @@
|
@@ -1162,6 +1162,7 @@
|
||||||
|
|
||||||
wcss_smp2p_out: master-kernel {
|
wcss_smp2p_out: master-kernel {
|
||||||
qcom,entry-name = "master-kernel";
|
qcom,entry-name = "master-kernel";
|
||||||
|
|||||||
@ -13,7 +13,7 @@ Signed-off-by: Mantas Pucka <mantas@8devices.com>
|
|||||||
|
|
||||||
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
|
||||||
@@ -930,8 +930,8 @@
|
@@ -935,8 +935,8 @@
|
||||||
"wcss_reset",
|
"wcss_reset",
|
||||||
"wcss_q6_reset";
|
"wcss_q6_reset";
|
||||||
|
|
||||||
|
|||||||
@ -1492,7 +1492,9 @@ static int __init rtl83xx_sw_probe(struct platform_device *pdev)
|
|||||||
priv->ds->needs_standalone_vlan_filtering = true;
|
priv->ds->needs_standalone_vlan_filtering = true;
|
||||||
priv->dev = dev;
|
priv->dev = dev;
|
||||||
|
|
||||||
mutex_init(&priv->reg_mutex);
|
err = devm_mutex_init(dev, &priv->reg_mutex);
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
|
||||||
priv->family_id = soc_info.family;
|
priv->family_id = soc_info.family;
|
||||||
priv->id = soc_info.id;
|
priv->id = soc_info.id;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user