Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
Simple overlapping changes in stmmac driver. Adjust skb_gro_flush_final_remcsum function signature to make GRO list changes in net-next, as per Stephen Rothwell's example merge resolution. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
5cd3da4ba2
|
@ -324,8 +324,7 @@ Global Attributes
|
||||||
|
|
||||||
``intel_pstate`` exposes several global attributes (files) in ``sysfs`` to
|
``intel_pstate`` exposes several global attributes (files) in ``sysfs`` to
|
||||||
control its functionality at the system level. They are located in the
|
control its functionality at the system level. They are located in the
|
||||||
``/sys/devices/system/cpu/cpufreq/intel_pstate/`` directory and affect all
|
``/sys/devices/system/cpu/intel_pstate/`` directory and affect all CPUs.
|
||||||
CPUs.
|
|
||||||
|
|
||||||
Some of them are not present if the ``intel_pstate=per_cpu_perf_limits``
|
Some of them are not present if the ``intel_pstate=per_cpu_perf_limits``
|
||||||
argument is passed to the kernel in the command line.
|
argument is passed to the kernel in the command line.
|
||||||
|
@ -379,6 +378,17 @@ argument is passed to the kernel in the command line.
|
||||||
but it affects the maximum possible value of per-policy P-state limits
|
but it affects the maximum possible value of per-policy P-state limits
|
||||||
(see `Interpretation of Policy Attributes`_ below for details).
|
(see `Interpretation of Policy Attributes`_ below for details).
|
||||||
|
|
||||||
|
``hwp_dynamic_boost``
|
||||||
|
This attribute is only present if ``intel_pstate`` works in the
|
||||||
|
`active mode with the HWP feature enabled <Active Mode With HWP_>`_ in
|
||||||
|
the processor. If set (equal to 1), it causes the minimum P-state limit
|
||||||
|
to be increased dynamically for a short time whenever a task previously
|
||||||
|
waiting on I/O is selected to run on a given logical CPU (the purpose
|
||||||
|
of this mechanism is to improve performance).
|
||||||
|
|
||||||
|
This setting has no effect on logical CPUs whose minimum P-state limit
|
||||||
|
is directly set to the highest non-turbo P-state or above it.
|
||||||
|
|
||||||
.. _status_attr:
|
.. _status_attr:
|
||||||
|
|
||||||
``status``
|
``status``
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
Spreadtrum SC27xx PMIC Vibrator
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: should be "sprd,sc2731-vibrator".
|
||||||
|
- reg: address of vibrator control register.
|
||||||
|
|
||||||
|
Example :
|
||||||
|
|
||||||
|
sc2731_pmic: pmic@0 {
|
||||||
|
compatible = "sprd,sc2731";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <26000000>;
|
||||||
|
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
vibrator@eb4 {
|
||||||
|
compatible = "sprd,sc2731-vibrator";
|
||||||
|
reg = <0xeb4>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -441,8 +441,6 @@ prototypes:
|
||||||
int (*iterate) (struct file *, struct dir_context *);
|
int (*iterate) (struct file *, struct dir_context *);
|
||||||
int (*iterate_shared) (struct file *, struct dir_context *);
|
int (*iterate_shared) (struct file *, struct dir_context *);
|
||||||
__poll_t (*poll) (struct file *, struct poll_table_struct *);
|
__poll_t (*poll) (struct file *, struct poll_table_struct *);
|
||||||
struct wait_queue_head * (*get_poll_head)(struct file *, __poll_t);
|
|
||||||
__poll_t (*poll_mask) (struct file *, __poll_t);
|
|
||||||
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
|
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
|
||||||
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
|
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
|
||||||
int (*mmap) (struct file *, struct vm_area_struct *);
|
int (*mmap) (struct file *, struct vm_area_struct *);
|
||||||
|
@ -473,7 +471,7 @@ prototypes:
|
||||||
};
|
};
|
||||||
|
|
||||||
locking rules:
|
locking rules:
|
||||||
All except for ->poll_mask may block.
|
All may block.
|
||||||
|
|
||||||
->llseek() locking has moved from llseek to the individual llseek
|
->llseek() locking has moved from llseek to the individual llseek
|
||||||
implementations. If your fs is not using generic_file_llseek, you
|
implementations. If your fs is not using generic_file_llseek, you
|
||||||
|
@ -505,9 +503,6 @@ in sys_read() and friends.
|
||||||
the lease within the individual filesystem to record the result of the
|
the lease within the individual filesystem to record the result of the
|
||||||
operation
|
operation
|
||||||
|
|
||||||
->poll_mask can be called with or without the waitqueue lock for the waitqueue
|
|
||||||
returned from ->get_poll_head.
|
|
||||||
|
|
||||||
--------------------------- dquot_operations -------------------------------
|
--------------------------- dquot_operations -------------------------------
|
||||||
prototypes:
|
prototypes:
|
||||||
int (*write_dquot) (struct dquot *);
|
int (*write_dquot) (struct dquot *);
|
||||||
|
|
|
@ -857,8 +857,6 @@ struct file_operations {
|
||||||
ssize_t (*write_iter) (struct kiocb *, struct iov_iter *);
|
ssize_t (*write_iter) (struct kiocb *, struct iov_iter *);
|
||||||
int (*iterate) (struct file *, struct dir_context *);
|
int (*iterate) (struct file *, struct dir_context *);
|
||||||
__poll_t (*poll) (struct file *, struct poll_table_struct *);
|
__poll_t (*poll) (struct file *, struct poll_table_struct *);
|
||||||
struct wait_queue_head * (*get_poll_head)(struct file *, __poll_t);
|
|
||||||
__poll_t (*poll_mask) (struct file *, __poll_t);
|
|
||||||
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
|
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
|
||||||
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
|
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
|
||||||
int (*mmap) (struct file *, struct vm_area_struct *);
|
int (*mmap) (struct file *, struct vm_area_struct *);
|
||||||
|
@ -903,17 +901,6 @@ otherwise noted.
|
||||||
activity on this file and (optionally) go to sleep until there
|
activity on this file and (optionally) go to sleep until there
|
||||||
is activity. Called by the select(2) and poll(2) system calls
|
is activity. Called by the select(2) and poll(2) system calls
|
||||||
|
|
||||||
get_poll_head: Returns the struct wait_queue_head that callers can
|
|
||||||
wait on. Callers need to check the returned events using ->poll_mask
|
|
||||||
once woken. Can return NULL to indicate polling is not supported,
|
|
||||||
or any error code using the ERR_PTR convention to indicate that a
|
|
||||||
grave error occured and ->poll_mask shall not be called.
|
|
||||||
|
|
||||||
poll_mask: return the mask of EPOLL* values describing the file descriptor
|
|
||||||
state. Called either before going to sleep on the waitqueue returned by
|
|
||||||
get_poll_head, or after it has been woken. If ->get_poll_head and
|
|
||||||
->poll_mask are implemented ->poll does not need to be implement.
|
|
||||||
|
|
||||||
unlocked_ioctl: called by the ioctl(2) system call.
|
unlocked_ioctl: called by the ioctl(2) system call.
|
||||||
|
|
||||||
compat_ioctl: called by the ioctl(2) system call when 32 bit system calls
|
compat_ioctl: called by the ioctl(2) system call when 32 bit system calls
|
||||||
|
|
|
@ -430,6 +430,12 @@ This sets the config program's title bar if the config program chooses
|
||||||
to use it. It should be placed at the top of the configuration, before any
|
to use it. It should be placed at the top of the configuration, before any
|
||||||
other statement.
|
other statement.
|
||||||
|
|
||||||
|
'#' Kconfig source file comment:
|
||||||
|
|
||||||
|
An unquoted '#' character anywhere in a source file line indicates
|
||||||
|
the beginning of a source file comment. The remainder of that line
|
||||||
|
is a comment.
|
||||||
|
|
||||||
|
|
||||||
Kconfig hints
|
Kconfig hints
|
||||||
-------------
|
-------------
|
||||||
|
|
|
@ -226,7 +226,7 @@ $ rm configs/<config name>.<number>/<function>
|
||||||
where <config name>.<number> specify the configuration and <function> is
|
where <config name>.<number> specify the configuration and <function> is
|
||||||
a symlink to a function being removed from the configuration, e.g.:
|
a symlink to a function being removed from the configuration, e.g.:
|
||||||
|
|
||||||
$ rm configfs/c.1/ncm.usb0
|
$ rm configs/c.1/ncm.usb0
|
||||||
|
|
||||||
...
|
...
|
||||||
...
|
...
|
||||||
|
|
25
MAINTAINERS
25
MAINTAINERS
|
@ -2971,9 +2971,13 @@ N: bcm585*
|
||||||
N: bcm586*
|
N: bcm586*
|
||||||
N: bcm88312
|
N: bcm88312
|
||||||
N: hr2
|
N: hr2
|
||||||
F: arch/arm64/boot/dts/broadcom/ns2*
|
N: stingray
|
||||||
|
F: arch/arm64/boot/dts/broadcom/northstar2/*
|
||||||
|
F: arch/arm64/boot/dts/broadcom/stingray/*
|
||||||
F: drivers/clk/bcm/clk-ns*
|
F: drivers/clk/bcm/clk-ns*
|
||||||
|
F: drivers/clk/bcm/clk-sr*
|
||||||
F: drivers/pinctrl/bcm/pinctrl-ns*
|
F: drivers/pinctrl/bcm/pinctrl-ns*
|
||||||
|
F: include/dt-bindings/clock/bcm-sr*
|
||||||
|
|
||||||
BROADCOM KONA GPIO DRIVER
|
BROADCOM KONA GPIO DRIVER
|
||||||
M: Ray Jui <rjui@broadcom.com>
|
M: Ray Jui <rjui@broadcom.com>
|
||||||
|
@ -5669,7 +5673,7 @@ F: drivers/crypto/caam/
|
||||||
F: Documentation/devicetree/bindings/crypto/fsl-sec4.txt
|
F: Documentation/devicetree/bindings/crypto/fsl-sec4.txt
|
||||||
|
|
||||||
FREESCALE DIU FRAMEBUFFER DRIVER
|
FREESCALE DIU FRAMEBUFFER DRIVER
|
||||||
M: Timur Tabi <timur@tabi.org>
|
M: Timur Tabi <timur@kernel.org>
|
||||||
L: linux-fbdev@vger.kernel.org
|
L: linux-fbdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/video/fbdev/fsl-diu-fb.*
|
F: drivers/video/fbdev/fsl-diu-fb.*
|
||||||
|
@ -5769,7 +5773,7 @@ S: Maintained
|
||||||
F: drivers/net/wan/fsl_ucc_hdlc*
|
F: drivers/net/wan/fsl_ucc_hdlc*
|
||||||
|
|
||||||
FREESCALE QUICC ENGINE UCC UART DRIVER
|
FREESCALE QUICC ENGINE UCC UART DRIVER
|
||||||
M: Timur Tabi <timur@tabi.org>
|
M: Timur Tabi <timur@kernel.org>
|
||||||
L: linuxppc-dev@lists.ozlabs.org
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/tty/serial/ucc_uart.c
|
F: drivers/tty/serial/ucc_uart.c
|
||||||
|
@ -5793,7 +5797,7 @@ F: drivers/net/ethernet/freescale/fs_enet/
|
||||||
F: include/linux/fs_enet_pd.h
|
F: include/linux/fs_enet_pd.h
|
||||||
|
|
||||||
FREESCALE SOC SOUND DRIVERS
|
FREESCALE SOC SOUND DRIVERS
|
||||||
M: Timur Tabi <timur@tabi.org>
|
M: Timur Tabi <timur@kernel.org>
|
||||||
M: Nicolin Chen <nicoleotsuka@gmail.com>
|
M: Nicolin Chen <nicoleotsuka@gmail.com>
|
||||||
M: Xiubo Li <Xiubo.Lee@gmail.com>
|
M: Xiubo Li <Xiubo.Lee@gmail.com>
|
||||||
R: Fabio Estevam <fabio.estevam@nxp.com>
|
R: Fabio Estevam <fabio.estevam@nxp.com>
|
||||||
|
@ -11478,6 +11482,15 @@ W: http://wireless.kernel.org/en/users/Drivers/p54
|
||||||
S: Obsolete
|
S: Obsolete
|
||||||
F: drivers/net/wireless/intersil/prism54/
|
F: drivers/net/wireless/intersil/prism54/
|
||||||
|
|
||||||
|
PROC FILESYSTEM
|
||||||
|
R: Alexey Dobriyan <adobriyan@gmail.com>
|
||||||
|
L: linux-kernel@vger.kernel.org
|
||||||
|
L: linux-fsdevel@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
F: fs/proc/
|
||||||
|
F: include/linux/proc_fs.h
|
||||||
|
F: tools/testing/selftests/proc/
|
||||||
|
|
||||||
PROC SYSCTL
|
PROC SYSCTL
|
||||||
M: "Luis R. Rodriguez" <mcgrof@kernel.org>
|
M: "Luis R. Rodriguez" <mcgrof@kernel.org>
|
||||||
M: Kees Cook <keescook@chromium.org>
|
M: Kees Cook <keescook@chromium.org>
|
||||||
|
@ -11810,9 +11823,9 @@ F: Documentation/devicetree/bindings/opp/kryo-cpufreq.txt
|
||||||
F: drivers/cpufreq/qcom-cpufreq-kryo.c
|
F: drivers/cpufreq/qcom-cpufreq-kryo.c
|
||||||
|
|
||||||
QUALCOMM EMAC GIGABIT ETHERNET DRIVER
|
QUALCOMM EMAC GIGABIT ETHERNET DRIVER
|
||||||
M: Timur Tabi <timur@codeaurora.org>
|
M: Timur Tabi <timur@kernel.org>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Maintained
|
||||||
F: drivers/net/ethernet/qualcomm/emac/
|
F: drivers/net/ethernet/qualcomm/emac/
|
||||||
|
|
||||||
QUALCOMM HEXAGON ARCHITECTURE
|
QUALCOMM HEXAGON ARCHITECTURE
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -2,7 +2,7 @@
|
||||||
VERSION = 4
|
VERSION = 4
|
||||||
PATCHLEVEL = 18
|
PATCHLEVEL = 18
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc2
|
EXTRAVERSION = -rc3
|
||||||
NAME = Merciless Moray
|
NAME = Merciless Moray
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
|
@ -507,11 +507,6 @@ ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLA
|
||||||
KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
|
KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/cc-can-link.sh $(CC)), y)
|
|
||||||
CC_CAN_LINK := y
|
|
||||||
export CC_CAN_LINK
|
|
||||||
endif
|
|
||||||
|
|
||||||
# The expansion should be delayed until arch/$(SRCARCH)/Makefile is included.
|
# The expansion should be delayed until arch/$(SRCARCH)/Makefile is included.
|
||||||
# Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
|
# Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
|
||||||
# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
|
# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
|
||||||
|
|
|
@ -1245,8 +1245,14 @@ config PCI
|
||||||
VESA. If you have PCI, say Y, otherwise N.
|
VESA. If you have PCI, say Y, otherwise N.
|
||||||
|
|
||||||
config PCI_DOMAINS
|
config PCI_DOMAINS
|
||||||
bool
|
bool "Support for multiple PCI domains"
|
||||||
depends on PCI
|
depends on PCI
|
||||||
|
help
|
||||||
|
Enable PCI domains kernel management. Say Y if your machine
|
||||||
|
has a PCI bus hierarchy that requires more than one PCI
|
||||||
|
domain (aka segment) to be correctly managed. Say N otherwise.
|
||||||
|
|
||||||
|
If you don't know what to do here, say N.
|
||||||
|
|
||||||
config PCI_DOMAINS_GENERIC
|
config PCI_DOMAINS_GENERIC
|
||||||
def_bool PCI_DOMAINS
|
def_bool PCI_DOMAINS
|
||||||
|
|
|
@ -139,7 +139,7 @@
|
||||||
3700 5
|
3700 5
|
||||||
3900 6
|
3900 6
|
||||||
4000 7>;
|
4000 7>;
|
||||||
cooling-cells = <2>;
|
#cooling-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio-leds {
|
gpio-leds {
|
||||||
|
|
|
@ -216,7 +216,7 @@
|
||||||
reg = <0x18008000 0x100>;
|
reg = <0x18008000 0x100>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
@ -245,7 +245,7 @@
|
||||||
reg = <0x1800b000 0x100>;
|
reg = <0x1800b000 0x100>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
@ -256,7 +256,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <0>;
|
linux,pci-domain = <0>;
|
||||||
|
|
||||||
|
@ -278,10 +278,10 @@
|
||||||
compatible = "brcm,iproc-msi";
|
compatible = "brcm,iproc-msi";
|
||||||
msi-controller;
|
msi-controller;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 97 IRQ_TYPE_NONE>,
|
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 98 IRQ_TYPE_NONE>,
|
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 99 IRQ_TYPE_NONE>;
|
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <1>;
|
linux,pci-domain = <1>;
|
||||||
|
|
||||||
|
@ -313,10 +313,10 @@
|
||||||
compatible = "brcm,iproc-msi";
|
compatible = "brcm,iproc-msi";
|
||||||
msi-controller;
|
msi-controller;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
interrupts = <GIC_SPI 102 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 103 IRQ_TYPE_NONE>,
|
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 104 IRQ_TYPE_NONE>,
|
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 105 IRQ_TYPE_NONE>;
|
<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -264,7 +264,7 @@
|
||||||
reg = <0x38000 0x50>;
|
reg = <0x38000 0x50>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 95 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -279,7 +279,7 @@
|
||||||
reg = <0x3b000 0x50>;
|
reg = <0x3b000 0x50>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -300,7 +300,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 186 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <0>;
|
linux,pci-domain = <0>;
|
||||||
|
|
||||||
|
@ -322,10 +322,10 @@
|
||||||
compatible = "brcm,iproc-msi";
|
compatible = "brcm,iproc-msi";
|
||||||
msi-controller;
|
msi-controller;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
interrupts = <GIC_SPI 182 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 183 IRQ_TYPE_NONE>,
|
<GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 184 IRQ_TYPE_NONE>,
|
<GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 185 IRQ_TYPE_NONE>;
|
<GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
brcm,pcie-msi-inten;
|
brcm,pcie-msi-inten;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -336,7 +336,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 192 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <1>;
|
linux,pci-domain = <1>;
|
||||||
|
|
||||||
|
@ -358,10 +358,10 @@
|
||||||
compatible = "brcm,iproc-msi";
|
compatible = "brcm,iproc-msi";
|
||||||
msi-controller;
|
msi-controller;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 189 IRQ_TYPE_NONE>,
|
<GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 190 IRQ_TYPE_NONE>,
|
<GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 191 IRQ_TYPE_NONE>;
|
<GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
brcm,pcie-msi-inten;
|
brcm,pcie-msi-inten;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -391,7 +391,7 @@
|
||||||
reg = <0x38000 0x50>;
|
reg = <0x38000 0x50>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
dma-coherent;
|
dma-coherent;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
@ -496,7 +496,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 131 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <0>;
|
linux,pci-domain = <0>;
|
||||||
|
|
||||||
|
@ -519,10 +519,10 @@
|
||||||
compatible = "brcm,iproc-msi";
|
compatible = "brcm,iproc-msi";
|
||||||
msi-controller;
|
msi-controller;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
interrupts = <GIC_SPI 127 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 128 IRQ_TYPE_NONE>,
|
<GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 129 IRQ_TYPE_NONE>,
|
<GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 130 IRQ_TYPE_NONE>;
|
<GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
brcm,pcie-msi-inten;
|
brcm,pcie-msi-inten;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -533,7 +533,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 137 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <1>;
|
linux,pci-domain = <1>;
|
||||||
|
|
||||||
|
@ -556,10 +556,10 @@
|
||||||
compatible = "brcm,iproc-msi";
|
compatible = "brcm,iproc-msi";
|
||||||
msi-controller;
|
msi-controller;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
interrupts = <GIC_SPI 133 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 134 IRQ_TYPE_NONE>,
|
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 135 IRQ_TYPE_NONE>,
|
<GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 136 IRQ_TYPE_NONE>;
|
<GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
brcm,pcie-msi-inten;
|
brcm,pcie-msi-inten;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -570,7 +570,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 143 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <2>;
|
linux,pci-domain = <2>;
|
||||||
|
|
||||||
|
@ -593,10 +593,10 @@
|
||||||
compatible = "brcm,iproc-msi";
|
compatible = "brcm,iproc-msi";
|
||||||
msi-controller;
|
msi-controller;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
interrupts = <GIC_SPI 139 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 140 IRQ_TYPE_NONE>,
|
<GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 141 IRQ_TYPE_NONE>,
|
<GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 142 IRQ_TYPE_NONE>;
|
<GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
brcm,pcie-msi-inten;
|
brcm,pcie-msi-inten;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -365,7 +365,7 @@
|
||||||
i2c0: i2c@18009000 {
|
i2c0: i2c@18009000 {
|
||||||
compatible = "brcm,iproc-i2c";
|
compatible = "brcm,iproc-i2c";
|
||||||
reg = <0x18009000 0x50>;
|
reg = <0x18009000 0x50>;
|
||||||
interrupts = <GIC_SPI 121 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
|
|
|
@ -549,11 +549,7 @@
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
reg = <0x226000 0x1000>;
|
reg = <0x226000 0x1000>;
|
||||||
interrupts = <42 IRQ_TYPE_EDGE_BOTH
|
interrupts = <42 43 44 45 46 47 48 49 50>;
|
||||||
43 IRQ_TYPE_EDGE_BOTH 44 IRQ_TYPE_EDGE_BOTH
|
|
||||||
45 IRQ_TYPE_EDGE_BOTH 46 IRQ_TYPE_EDGE_BOTH
|
|
||||||
47 IRQ_TYPE_EDGE_BOTH 48 IRQ_TYPE_EDGE_BOTH
|
|
||||||
49 IRQ_TYPE_EDGE_BOTH 50 IRQ_TYPE_EDGE_BOTH>;
|
|
||||||
ti,ngpio = <144>;
|
ti,ngpio = <144>;
|
||||||
ti,davinci-gpio-unbanked = <0>;
|
ti,davinci-gpio-unbanked = <0>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
|
@ -90,7 +90,7 @@
|
||||||
clocks = <&clks IMX6Q_CLK_ECSPI5>,
|
clocks = <&clks IMX6Q_CLK_ECSPI5>,
|
||||||
<&clks IMX6Q_CLK_ECSPI5>;
|
<&clks IMX6Q_CLK_ECSPI5>;
|
||||||
clock-names = "ipg", "per";
|
clock-names = "ipg", "per";
|
||||||
dmas = <&sdma 11 7 1>, <&sdma 12 7 2>;
|
dmas = <&sdma 11 8 1>, <&sdma 12 8 2>;
|
||||||
dma-names = "rx", "tx";
|
dma-names = "rx", "tx";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1344,7 +1344,7 @@
|
||||||
ranges = <0x81000000 0 0 0x08f80000 0 0x00010000 /* downstream I/O */
|
ranges = <0x81000000 0 0 0x08f80000 0 0x00010000 /* downstream I/O */
|
||||||
0x82000000 0 0x08000000 0x08000000 0 0x00f00000>; /* non-prefetchable memory */
|
0x82000000 0 0x08000000 0x08000000 0 0x00f00000>; /* non-prefetchable memory */
|
||||||
num-lanes = <1>;
|
num-lanes = <1>;
|
||||||
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupt-names = "msi";
|
interrupt-names = "msi";
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0x7>;
|
interrupt-map-mask = <0 0 0 0x7>;
|
||||||
|
|
|
@ -748,13 +748,13 @@
|
||||||
nand0: nand@ff900000 {
|
nand0: nand@ff900000 {
|
||||||
#address-cells = <0x1>;
|
#address-cells = <0x1>;
|
||||||
#size-cells = <0x1>;
|
#size-cells = <0x1>;
|
||||||
compatible = "denali,denali-nand-dt";
|
compatible = "altr,socfpga-denali-nand";
|
||||||
reg = <0xff900000 0x100000>,
|
reg = <0xff900000 0x100000>,
|
||||||
<0xffb80000 0x10000>;
|
<0xffb80000 0x10000>;
|
||||||
reg-names = "nand_data", "denali_reg";
|
reg-names = "nand_data", "denali_reg";
|
||||||
interrupts = <0x0 0x90 0x4>;
|
interrupts = <0x0 0x90 0x4>;
|
||||||
dma-mask = <0xffffffff>;
|
dma-mask = <0xffffffff>;
|
||||||
clocks = <&nand_clk>;
|
clocks = <&nand_x_clk>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -593,8 +593,7 @@
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
reg = <0xffda5000 0x100>;
|
reg = <0xffda5000 0x100>;
|
||||||
interrupts = <0 102 4>;
|
interrupts = <0 102 4>;
|
||||||
num-chipselect = <4>;
|
num-cs = <4>;
|
||||||
bus-num = <0>;
|
|
||||||
/*32bit_access;*/
|
/*32bit_access;*/
|
||||||
tx-dma-channel = <&pdma 16>;
|
tx-dma-channel = <&pdma 16>;
|
||||||
rx-dma-channel = <&pdma 17>;
|
rx-dma-channel = <&pdma 17>;
|
||||||
|
@ -633,7 +632,7 @@
|
||||||
nand: nand@ffb90000 {
|
nand: nand@ffb90000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
compatible = "denali,denali-nand-dt", "altr,socfpga-denali-nand";
|
compatible = "altr,socfpga-denali-nand";
|
||||||
reg = <0xffb90000 0x72000>,
|
reg = <0xffb90000 0x72000>,
|
||||||
<0xffb80000 0x10000>;
|
<0xffb80000 0x10000>;
|
||||||
reg-names = "nand_data", "denali_reg";
|
reg-names = "nand_data", "denali_reg";
|
||||||
|
|
|
@ -10,7 +10,7 @@ obj-$(CONFIG_DMABOUNCE) += dmabounce.o
|
||||||
obj-$(CONFIG_SHARP_LOCOMO) += locomo.o
|
obj-$(CONFIG_SHARP_LOCOMO) += locomo.o
|
||||||
obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o
|
obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o
|
||||||
obj-$(CONFIG_SHARP_SCOOP) += scoop.o
|
obj-$(CONFIG_SHARP_SCOOP) += scoop.o
|
||||||
obj-$(CONFIG_SMP) += secure_cntvoff.o
|
obj-$(CONFIG_CPU_V7) += secure_cntvoff.o
|
||||||
obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
|
obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
|
||||||
obj-$(CONFIG_MCPM) += mcpm_head.o mcpm_entry.o mcpm_platsmp.o vlock.o
|
obj-$(CONFIG_MCPM) += mcpm_head.o mcpm_entry.o mcpm_platsmp.o vlock.o
|
||||||
CFLAGS_REMOVE_mcpm_entry.o = -pg
|
CFLAGS_REMOVE_mcpm_entry.o = -pg
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_NO_HZ=y
|
CONFIG_NO_HZ=y
|
||||||
CONFIG_HIGH_RES_TIMERS=y
|
CONFIG_HIGH_RES_TIMERS=y
|
||||||
CONFIG_CGROUPS=y
|
CONFIG_CGROUPS=y
|
||||||
|
@ -10,20 +9,10 @@ CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
CONFIG_CMDLINE_PARTITION=y
|
CONFIG_CMDLINE_PARTITION=y
|
||||||
CONFIG_ARCH_MULTI_V7=y
|
|
||||||
# CONFIG_ARCH_MULTI_V5 is not set
|
|
||||||
# CONFIG_ARCH_MULTI_V4 is not set
|
|
||||||
CONFIG_ARCH_VIRT=y
|
CONFIG_ARCH_VIRT=y
|
||||||
CONFIG_ARCH_ALPINE=y
|
CONFIG_ARCH_ALPINE=y
|
||||||
CONFIG_ARCH_ARTPEC=y
|
CONFIG_ARCH_ARTPEC=y
|
||||||
CONFIG_MACH_ARTPEC6=y
|
CONFIG_MACH_ARTPEC6=y
|
||||||
CONFIG_ARCH_MVEBU=y
|
|
||||||
CONFIG_MACH_ARMADA_370=y
|
|
||||||
CONFIG_MACH_ARMADA_375=y
|
|
||||||
CONFIG_MACH_ARMADA_38X=y
|
|
||||||
CONFIG_MACH_ARMADA_39X=y
|
|
||||||
CONFIG_MACH_ARMADA_XP=y
|
|
||||||
CONFIG_MACH_DOVE=y
|
|
||||||
CONFIG_ARCH_AT91=y
|
CONFIG_ARCH_AT91=y
|
||||||
CONFIG_SOC_SAMA5D2=y
|
CONFIG_SOC_SAMA5D2=y
|
||||||
CONFIG_SOC_SAMA5D3=y
|
CONFIG_SOC_SAMA5D3=y
|
||||||
|
@ -32,9 +21,9 @@ CONFIG_ARCH_BCM=y
|
||||||
CONFIG_ARCH_BCM_CYGNUS=y
|
CONFIG_ARCH_BCM_CYGNUS=y
|
||||||
CONFIG_ARCH_BCM_HR2=y
|
CONFIG_ARCH_BCM_HR2=y
|
||||||
CONFIG_ARCH_BCM_NSP=y
|
CONFIG_ARCH_BCM_NSP=y
|
||||||
CONFIG_ARCH_BCM_21664=y
|
|
||||||
CONFIG_ARCH_BCM_281XX=y
|
|
||||||
CONFIG_ARCH_BCM_5301X=y
|
CONFIG_ARCH_BCM_5301X=y
|
||||||
|
CONFIG_ARCH_BCM_281XX=y
|
||||||
|
CONFIG_ARCH_BCM_21664=y
|
||||||
CONFIG_ARCH_BCM2835=y
|
CONFIG_ARCH_BCM2835=y
|
||||||
CONFIG_ARCH_BCM_63XX=y
|
CONFIG_ARCH_BCM_63XX=y
|
||||||
CONFIG_ARCH_BRCMSTB=y
|
CONFIG_ARCH_BRCMSTB=y
|
||||||
|
@ -43,14 +32,14 @@ CONFIG_MACH_BERLIN_BG2=y
|
||||||
CONFIG_MACH_BERLIN_BG2CD=y
|
CONFIG_MACH_BERLIN_BG2CD=y
|
||||||
CONFIG_MACH_BERLIN_BG2Q=y
|
CONFIG_MACH_BERLIN_BG2Q=y
|
||||||
CONFIG_ARCH_DIGICOLOR=y
|
CONFIG_ARCH_DIGICOLOR=y
|
||||||
|
CONFIG_ARCH_EXYNOS=y
|
||||||
|
CONFIG_EXYNOS5420_MCPM=y
|
||||||
CONFIG_ARCH_HIGHBANK=y
|
CONFIG_ARCH_HIGHBANK=y
|
||||||
CONFIG_ARCH_HISI=y
|
CONFIG_ARCH_HISI=y
|
||||||
CONFIG_ARCH_HI3xxx=y
|
CONFIG_ARCH_HI3xxx=y
|
||||||
CONFIG_ARCH_HIX5HD2=y
|
|
||||||
CONFIG_ARCH_HIP01=y
|
CONFIG_ARCH_HIP01=y
|
||||||
CONFIG_ARCH_HIP04=y
|
CONFIG_ARCH_HIP04=y
|
||||||
CONFIG_ARCH_KEYSTONE=y
|
CONFIG_ARCH_HIX5HD2=y
|
||||||
CONFIG_ARCH_MESON=y
|
|
||||||
CONFIG_ARCH_MXC=y
|
CONFIG_ARCH_MXC=y
|
||||||
CONFIG_SOC_IMX50=y
|
CONFIG_SOC_IMX50=y
|
||||||
CONFIG_SOC_IMX51=y
|
CONFIG_SOC_IMX51=y
|
||||||
|
@ -60,29 +49,30 @@ CONFIG_SOC_IMX6SL=y
|
||||||
CONFIG_SOC_IMX6SX=y
|
CONFIG_SOC_IMX6SX=y
|
||||||
CONFIG_SOC_IMX6UL=y
|
CONFIG_SOC_IMX6UL=y
|
||||||
CONFIG_SOC_IMX7D=y
|
CONFIG_SOC_IMX7D=y
|
||||||
CONFIG_SOC_VF610=y
|
|
||||||
CONFIG_SOC_LS1021A=y
|
CONFIG_SOC_LS1021A=y
|
||||||
|
CONFIG_SOC_VF610=y
|
||||||
|
CONFIG_ARCH_KEYSTONE=y
|
||||||
|
CONFIG_ARCH_MEDIATEK=y
|
||||||
|
CONFIG_ARCH_MESON=y
|
||||||
|
CONFIG_ARCH_MVEBU=y
|
||||||
|
CONFIG_MACH_ARMADA_370=y
|
||||||
|
CONFIG_MACH_ARMADA_375=y
|
||||||
|
CONFIG_MACH_ARMADA_38X=y
|
||||||
|
CONFIG_MACH_ARMADA_39X=y
|
||||||
|
CONFIG_MACH_ARMADA_XP=y
|
||||||
|
CONFIG_MACH_DOVE=y
|
||||||
CONFIG_ARCH_OMAP3=y
|
CONFIG_ARCH_OMAP3=y
|
||||||
CONFIG_ARCH_OMAP4=y
|
CONFIG_ARCH_OMAP4=y
|
||||||
CONFIG_SOC_OMAP5=y
|
CONFIG_SOC_OMAP5=y
|
||||||
CONFIG_SOC_AM33XX=y
|
CONFIG_SOC_AM33XX=y
|
||||||
CONFIG_SOC_AM43XX=y
|
CONFIG_SOC_AM43XX=y
|
||||||
CONFIG_SOC_DRA7XX=y
|
CONFIG_SOC_DRA7XX=y
|
||||||
|
CONFIG_ARCH_SIRF=y
|
||||||
CONFIG_ARCH_QCOM=y
|
CONFIG_ARCH_QCOM=y
|
||||||
CONFIG_ARCH_MEDIATEK=y
|
|
||||||
CONFIG_ARCH_MSM8X60=y
|
CONFIG_ARCH_MSM8X60=y
|
||||||
CONFIG_ARCH_MSM8960=y
|
CONFIG_ARCH_MSM8960=y
|
||||||
CONFIG_ARCH_MSM8974=y
|
CONFIG_ARCH_MSM8974=y
|
||||||
CONFIG_ARCH_ROCKCHIP=y
|
CONFIG_ARCH_ROCKCHIP=y
|
||||||
CONFIG_ARCH_SOCFPGA=y
|
|
||||||
CONFIG_PLAT_SPEAR=y
|
|
||||||
CONFIG_ARCH_SPEAR13XX=y
|
|
||||||
CONFIG_MACH_SPEAR1310=y
|
|
||||||
CONFIG_MACH_SPEAR1340=y
|
|
||||||
CONFIG_ARCH_STI=y
|
|
||||||
CONFIG_ARCH_STM32=y
|
|
||||||
CONFIG_ARCH_EXYNOS=y
|
|
||||||
CONFIG_EXYNOS5420_MCPM=y
|
|
||||||
CONFIG_ARCH_RENESAS=y
|
CONFIG_ARCH_RENESAS=y
|
||||||
CONFIG_ARCH_EMEV2=y
|
CONFIG_ARCH_EMEV2=y
|
||||||
CONFIG_ARCH_R7S72100=y
|
CONFIG_ARCH_R7S72100=y
|
||||||
|
@ -99,40 +89,33 @@ CONFIG_ARCH_R8A7792=y
|
||||||
CONFIG_ARCH_R8A7793=y
|
CONFIG_ARCH_R8A7793=y
|
||||||
CONFIG_ARCH_R8A7794=y
|
CONFIG_ARCH_R8A7794=y
|
||||||
CONFIG_ARCH_SH73A0=y
|
CONFIG_ARCH_SH73A0=y
|
||||||
|
CONFIG_ARCH_SOCFPGA=y
|
||||||
|
CONFIG_PLAT_SPEAR=y
|
||||||
|
CONFIG_ARCH_SPEAR13XX=y
|
||||||
|
CONFIG_MACH_SPEAR1310=y
|
||||||
|
CONFIG_MACH_SPEAR1340=y
|
||||||
|
CONFIG_ARCH_STI=y
|
||||||
|
CONFIG_ARCH_STM32=y
|
||||||
CONFIG_ARCH_SUNXI=y
|
CONFIG_ARCH_SUNXI=y
|
||||||
CONFIG_ARCH_SIRF=y
|
|
||||||
CONFIG_ARCH_TEGRA=y
|
CONFIG_ARCH_TEGRA=y
|
||||||
CONFIG_ARCH_TEGRA_2x_SOC=y
|
|
||||||
CONFIG_ARCH_TEGRA_3x_SOC=y
|
|
||||||
CONFIG_ARCH_TEGRA_114_SOC=y
|
|
||||||
CONFIG_ARCH_TEGRA_124_SOC=y
|
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
CONFIG_ARCH_U8500=y
|
CONFIG_ARCH_U8500=y
|
||||||
CONFIG_MACH_HREFV60=y
|
|
||||||
CONFIG_MACH_SNOWBALL=y
|
|
||||||
CONFIG_ARCH_VEXPRESS=y
|
CONFIG_ARCH_VEXPRESS=y
|
||||||
CONFIG_ARCH_VEXPRESS_TC2_PM=y
|
CONFIG_ARCH_VEXPRESS_TC2_PM=y
|
||||||
CONFIG_ARCH_WM8850=y
|
CONFIG_ARCH_WM8850=y
|
||||||
CONFIG_ARCH_ZYNQ=y
|
CONFIG_ARCH_ZYNQ=y
|
||||||
CONFIG_TRUSTED_FOUNDATIONS=y
|
CONFIG_PCIEPORTBUS=y
|
||||||
CONFIG_PCI=y
|
|
||||||
CONFIG_PCI_HOST_GENERIC=y
|
|
||||||
CONFIG_PCI_DRA7XX=y
|
|
||||||
CONFIG_PCI_DRA7XX_EP=y
|
|
||||||
CONFIG_PCI_KEYSTONE=y
|
|
||||||
CONFIG_PCI_MSI=y
|
|
||||||
CONFIG_PCI_MVEBU=y
|
CONFIG_PCI_MVEBU=y
|
||||||
CONFIG_PCI_TEGRA=y
|
CONFIG_PCI_TEGRA=y
|
||||||
CONFIG_PCI_RCAR_GEN2=y
|
CONFIG_PCI_RCAR_GEN2=y
|
||||||
CONFIG_PCIE_RCAR=y
|
CONFIG_PCIE_RCAR=y
|
||||||
CONFIG_PCIEPORTBUS=y
|
CONFIG_PCI_DRA7XX_EP=y
|
||||||
|
CONFIG_PCI_KEYSTONE=y
|
||||||
CONFIG_PCI_ENDPOINT=y
|
CONFIG_PCI_ENDPOINT=y
|
||||||
CONFIG_PCI_ENDPOINT_CONFIGFS=y
|
CONFIG_PCI_ENDPOINT_CONFIGFS=y
|
||||||
CONFIG_PCI_EPF_TEST=m
|
CONFIG_PCI_EPF_TEST=m
|
||||||
CONFIG_SMP=y
|
CONFIG_SMP=y
|
||||||
CONFIG_NR_CPUS=16
|
CONFIG_NR_CPUS=16
|
||||||
CONFIG_HIGHPTE=y
|
|
||||||
CONFIG_CMA=y
|
|
||||||
CONFIG_SECCOMP=y
|
CONFIG_SECCOMP=y
|
||||||
CONFIG_ARM_APPENDED_DTB=y
|
CONFIG_ARM_APPENDED_DTB=y
|
||||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||||
|
@ -145,14 +128,14 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=m
|
||||||
CONFIG_CPU_FREQ_GOV_USERSPACE=m
|
CONFIG_CPU_FREQ_GOV_USERSPACE=m
|
||||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
|
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
|
||||||
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
||||||
|
CONFIG_CPUFREQ_DT=y
|
||||||
CONFIG_ARM_IMX6Q_CPUFREQ=y
|
CONFIG_ARM_IMX6Q_CPUFREQ=y
|
||||||
CONFIG_QORIQ_CPUFREQ=y
|
CONFIG_QORIQ_CPUFREQ=y
|
||||||
CONFIG_CPU_IDLE=y
|
CONFIG_CPU_IDLE=y
|
||||||
CONFIG_ARM_CPUIDLE=y
|
CONFIG_ARM_CPUIDLE=y
|
||||||
CONFIG_NEON=y
|
|
||||||
CONFIG_KERNEL_MODE_NEON=y
|
|
||||||
CONFIG_ARM_ZYNQ_CPUIDLE=y
|
CONFIG_ARM_ZYNQ_CPUIDLE=y
|
||||||
CONFIG_ARM_EXYNOS_CPUIDLE=y
|
CONFIG_ARM_EXYNOS_CPUIDLE=y
|
||||||
|
CONFIG_KERNEL_MODE_NEON=y
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
|
@ -170,23 +153,13 @@ CONFIG_IPV6_MIP6=m
|
||||||
CONFIG_IPV6_TUNNEL=m
|
CONFIG_IPV6_TUNNEL=m
|
||||||
CONFIG_IPV6_MULTIPLE_TABLES=y
|
CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||||
CONFIG_NET_DSA=m
|
CONFIG_NET_DSA=m
|
||||||
CONFIG_NET_SWITCHDEV=y
|
|
||||||
CONFIG_CAN=y
|
CONFIG_CAN=y
|
||||||
CONFIG_CAN_RAW=y
|
|
||||||
CONFIG_CAN_BCM=y
|
|
||||||
CONFIG_CAN_DEV=y
|
|
||||||
CONFIG_CAN_AT91=m
|
CONFIG_CAN_AT91=m
|
||||||
CONFIG_CAN_FLEXCAN=m
|
CONFIG_CAN_FLEXCAN=m
|
||||||
CONFIG_CAN_RCAR=m
|
|
||||||
CONFIG_CAN_XILINXCAN=y
|
|
||||||
CONFIG_CAN_MCP251X=y
|
|
||||||
CONFIG_NET_DSA_BCM_SF2=m
|
|
||||||
CONFIG_B53=m
|
|
||||||
CONFIG_B53_SPI_DRIVER=m
|
|
||||||
CONFIG_B53_MDIO_DRIVER=m
|
|
||||||
CONFIG_B53_MMAP_DRIVER=m
|
|
||||||
CONFIG_B53_SRAB_DRIVER=m
|
|
||||||
CONFIG_CAN_SUN4I=y
|
CONFIG_CAN_SUN4I=y
|
||||||
|
CONFIG_CAN_XILINXCAN=y
|
||||||
|
CONFIG_CAN_RCAR=m
|
||||||
|
CONFIG_CAN_MCP251X=y
|
||||||
CONFIG_BT=m
|
CONFIG_BT=m
|
||||||
CONFIG_BT_HCIUART=m
|
CONFIG_BT_HCIUART=m
|
||||||
CONFIG_BT_HCIUART_BCM=y
|
CONFIG_BT_HCIUART_BCM=y
|
||||||
|
@ -199,11 +172,9 @@ CONFIG_RFKILL_INPUT=y
|
||||||
CONFIG_RFKILL_GPIO=y
|
CONFIG_RFKILL_GPIO=y
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
CONFIG_DMA_CMA=y
|
|
||||||
CONFIG_CMA_SIZE_MBYTES=64
|
CONFIG_CMA_SIZE_MBYTES=64
|
||||||
CONFIG_OMAP_OCP2SCP=y
|
CONFIG_OMAP_OCP2SCP=y
|
||||||
CONFIG_SIMPLE_PM_BUS=y
|
CONFIG_SIMPLE_PM_BUS=y
|
||||||
CONFIG_SUNXI_RSB=y
|
|
||||||
CONFIG_MTD=y
|
CONFIG_MTD=y
|
||||||
CONFIG_MTD_CMDLINE_PARTS=y
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
CONFIG_MTD_BLOCK=y
|
CONFIG_MTD_BLOCK=y
|
||||||
|
@ -236,7 +207,6 @@ CONFIG_PCI_ENDPOINT_TEST=m
|
||||||
CONFIG_EEPROM_AT24=y
|
CONFIG_EEPROM_AT24=y
|
||||||
CONFIG_BLK_DEV_SD=y
|
CONFIG_BLK_DEV_SD=y
|
||||||
CONFIG_BLK_DEV_SR=y
|
CONFIG_BLK_DEV_SR=y
|
||||||
CONFIG_SCSI_MULTI_LUN=y
|
|
||||||
CONFIG_ATA=y
|
CONFIG_ATA=y
|
||||||
CONFIG_SATA_AHCI=y
|
CONFIG_SATA_AHCI=y
|
||||||
CONFIG_SATA_AHCI_PLATFORM=y
|
CONFIG_SATA_AHCI_PLATFORM=y
|
||||||
|
@ -251,14 +221,20 @@ CONFIG_SATA_MV=y
|
||||||
CONFIG_SATA_RCAR=y
|
CONFIG_SATA_RCAR=y
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_VIRTIO_NET=y
|
CONFIG_VIRTIO_NET=y
|
||||||
CONFIG_HIX5HD2_GMAC=y
|
CONFIG_B53_SPI_DRIVER=m
|
||||||
|
CONFIG_B53_MDIO_DRIVER=m
|
||||||
|
CONFIG_B53_MMAP_DRIVER=m
|
||||||
|
CONFIG_B53_SRAB_DRIVER=m
|
||||||
|
CONFIG_NET_DSA_BCM_SF2=m
|
||||||
CONFIG_SUN4I_EMAC=y
|
CONFIG_SUN4I_EMAC=y
|
||||||
CONFIG_MACB=y
|
|
||||||
CONFIG_BCMGENET=m
|
CONFIG_BCMGENET=m
|
||||||
CONFIG_BGMAC_BCMA=y
|
CONFIG_BGMAC_BCMA=y
|
||||||
CONFIG_SYSTEMPORT=m
|
CONFIG_SYSTEMPORT=m
|
||||||
|
CONFIG_MACB=y
|
||||||
CONFIG_NET_CALXEDA_XGMAC=y
|
CONFIG_NET_CALXEDA_XGMAC=y
|
||||||
CONFIG_GIANFAR=y
|
CONFIG_GIANFAR=y
|
||||||
|
CONFIG_HIX5HD2_GMAC=y
|
||||||
|
CONFIG_E1000E=y
|
||||||
CONFIG_IGB=y
|
CONFIG_IGB=y
|
||||||
CONFIG_MV643XX_ETH=y
|
CONFIG_MV643XX_ETH=y
|
||||||
CONFIG_MVNETA=y
|
CONFIG_MVNETA=y
|
||||||
|
@ -268,19 +244,17 @@ CONFIG_R8169=y
|
||||||
CONFIG_SH_ETH=y
|
CONFIG_SH_ETH=y
|
||||||
CONFIG_SMSC911X=y
|
CONFIG_SMSC911X=y
|
||||||
CONFIG_STMMAC_ETH=y
|
CONFIG_STMMAC_ETH=y
|
||||||
CONFIG_STMMAC_PLATFORM=y
|
|
||||||
CONFIG_DWMAC_DWC_QOS_ETH=y
|
CONFIG_DWMAC_DWC_QOS_ETH=y
|
||||||
CONFIG_TI_CPSW=y
|
CONFIG_TI_CPSW=y
|
||||||
CONFIG_XILINX_EMACLITE=y
|
CONFIG_XILINX_EMACLITE=y
|
||||||
CONFIG_AT803X_PHY=y
|
CONFIG_AT803X_PHY=y
|
||||||
CONFIG_MARVELL_PHY=y
|
|
||||||
CONFIG_SMSC_PHY=y
|
|
||||||
CONFIG_BROADCOM_PHY=y
|
CONFIG_BROADCOM_PHY=y
|
||||||
CONFIG_ICPLUS_PHY=y
|
CONFIG_ICPLUS_PHY=y
|
||||||
CONFIG_REALTEK_PHY=y
|
CONFIG_MARVELL_PHY=y
|
||||||
CONFIG_MICREL_PHY=y
|
CONFIG_MICREL_PHY=y
|
||||||
CONFIG_FIXED_PHY=y
|
CONFIG_REALTEK_PHY=y
|
||||||
CONFIG_ROCKCHIP_PHY=y
|
CONFIG_ROCKCHIP_PHY=y
|
||||||
|
CONFIG_SMSC_PHY=y
|
||||||
CONFIG_USB_PEGASUS=y
|
CONFIG_USB_PEGASUS=y
|
||||||
CONFIG_USB_RTL8152=m
|
CONFIG_USB_RTL8152=m
|
||||||
CONFIG_USB_LAN78XX=m
|
CONFIG_USB_LAN78XX=m
|
||||||
|
@ -288,29 +262,29 @@ CONFIG_USB_USBNET=y
|
||||||
CONFIG_USB_NET_SMSC75XX=y
|
CONFIG_USB_NET_SMSC75XX=y
|
||||||
CONFIG_USB_NET_SMSC95XX=y
|
CONFIG_USB_NET_SMSC95XX=y
|
||||||
CONFIG_BRCMFMAC=m
|
CONFIG_BRCMFMAC=m
|
||||||
CONFIG_RT2X00=m
|
|
||||||
CONFIG_RT2800USB=m
|
|
||||||
CONFIG_MWIFIEX=m
|
CONFIG_MWIFIEX=m
|
||||||
CONFIG_MWIFIEX_SDIO=m
|
CONFIG_MWIFIEX_SDIO=m
|
||||||
|
CONFIG_RT2X00=m
|
||||||
|
CONFIG_RT2800USB=m
|
||||||
CONFIG_INPUT_JOYDEV=y
|
CONFIG_INPUT_JOYDEV=y
|
||||||
CONFIG_INPUT_EVDEV=y
|
CONFIG_INPUT_EVDEV=y
|
||||||
CONFIG_KEYBOARD_QT1070=m
|
CONFIG_KEYBOARD_QT1070=m
|
||||||
CONFIG_KEYBOARD_GPIO=y
|
CONFIG_KEYBOARD_GPIO=y
|
||||||
CONFIG_KEYBOARD_TEGRA=y
|
CONFIG_KEYBOARD_TEGRA=y
|
||||||
CONFIG_KEYBOARD_SPEAR=y
|
|
||||||
CONFIG_KEYBOARD_ST_KEYSCAN=y
|
|
||||||
CONFIG_KEYBOARD_CROS_EC=m
|
|
||||||
CONFIG_KEYBOARD_SAMSUNG=m
|
CONFIG_KEYBOARD_SAMSUNG=m
|
||||||
|
CONFIG_KEYBOARD_ST_KEYSCAN=y
|
||||||
|
CONFIG_KEYBOARD_SPEAR=y
|
||||||
|
CONFIG_KEYBOARD_CROS_EC=m
|
||||||
CONFIG_MOUSE_PS2_ELANTECH=y
|
CONFIG_MOUSE_PS2_ELANTECH=y
|
||||||
CONFIG_MOUSE_CYAPA=m
|
CONFIG_MOUSE_CYAPA=m
|
||||||
CONFIG_MOUSE_ELAN_I2C=y
|
CONFIG_MOUSE_ELAN_I2C=y
|
||||||
CONFIG_INPUT_TOUCHSCREEN=y
|
CONFIG_INPUT_TOUCHSCREEN=y
|
||||||
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
|
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
|
||||||
CONFIG_TOUCHSCREEN_MMS114=m
|
CONFIG_TOUCHSCREEN_MMS114=m
|
||||||
|
CONFIG_TOUCHSCREEN_WM97XX=m
|
||||||
CONFIG_TOUCHSCREEN_ST1232=m
|
CONFIG_TOUCHSCREEN_ST1232=m
|
||||||
CONFIG_TOUCHSCREEN_STMPE=y
|
CONFIG_TOUCHSCREEN_STMPE=y
|
||||||
CONFIG_TOUCHSCREEN_SUN4I=y
|
CONFIG_TOUCHSCREEN_SUN4I=y
|
||||||
CONFIG_TOUCHSCREEN_WM97XX=m
|
|
||||||
CONFIG_INPUT_MISC=y
|
CONFIG_INPUT_MISC=y
|
||||||
CONFIG_INPUT_MAX77693_HAPTIC=m
|
CONFIG_INPUT_MAX77693_HAPTIC=m
|
||||||
CONFIG_INPUT_MAX8997_HAPTIC=m
|
CONFIG_INPUT_MAX8997_HAPTIC=m
|
||||||
|
@ -327,13 +301,12 @@ CONFIG_SERIAL_8250_DW=y
|
||||||
CONFIG_SERIAL_8250_EM=y
|
CONFIG_SERIAL_8250_EM=y
|
||||||
CONFIG_SERIAL_8250_MT6577=y
|
CONFIG_SERIAL_8250_MT6577=y
|
||||||
CONFIG_SERIAL_8250_UNIPHIER=y
|
CONFIG_SERIAL_8250_UNIPHIER=y
|
||||||
|
CONFIG_SERIAL_OF_PLATFORM=y
|
||||||
CONFIG_SERIAL_AMBA_PL011=y
|
CONFIG_SERIAL_AMBA_PL011=y
|
||||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||||
CONFIG_SERIAL_ATMEL=y
|
CONFIG_SERIAL_ATMEL=y
|
||||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||||
CONFIG_SERIAL_ATMEL_TTYAT=y
|
CONFIG_SERIAL_ATMEL_TTYAT=y
|
||||||
CONFIG_SERIAL_BCM63XX=y
|
|
||||||
CONFIG_SERIAL_BCM63XX_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_MESON=y
|
CONFIG_SERIAL_MESON=y
|
||||||
CONFIG_SERIAL_MESON_CONSOLE=y
|
CONFIG_SERIAL_MESON_CONSOLE=y
|
||||||
CONFIG_SERIAL_SAMSUNG=y
|
CONFIG_SERIAL_SAMSUNG=y
|
||||||
|
@ -345,15 +318,14 @@ CONFIG_SERIAL_IMX=y
|
||||||
CONFIG_SERIAL_IMX_CONSOLE=y
|
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||||
CONFIG_SERIAL_SH_SCI=y
|
CONFIG_SERIAL_SH_SCI=y
|
||||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=20
|
CONFIG_SERIAL_SH_SCI_NR_UARTS=20
|
||||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_SH_SCI_DMA=y
|
|
||||||
CONFIG_SERIAL_MSM=y
|
CONFIG_SERIAL_MSM=y
|
||||||
CONFIG_SERIAL_MSM_CONSOLE=y
|
CONFIG_SERIAL_MSM_CONSOLE=y
|
||||||
CONFIG_SERIAL_VT8500=y
|
CONFIG_SERIAL_VT8500=y
|
||||||
CONFIG_SERIAL_VT8500_CONSOLE=y
|
CONFIG_SERIAL_VT8500_CONSOLE=y
|
||||||
CONFIG_SERIAL_OF_PLATFORM=y
|
|
||||||
CONFIG_SERIAL_OMAP=y
|
CONFIG_SERIAL_OMAP=y
|
||||||
CONFIG_SERIAL_OMAP_CONSOLE=y
|
CONFIG_SERIAL_OMAP_CONSOLE=y
|
||||||
|
CONFIG_SERIAL_BCM63XX=y
|
||||||
|
CONFIG_SERIAL_BCM63XX_CONSOLE=y
|
||||||
CONFIG_SERIAL_XILINX_PS_UART=y
|
CONFIG_SERIAL_XILINX_PS_UART=y
|
||||||
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
||||||
CONFIG_SERIAL_FSL_LPUART=y
|
CONFIG_SERIAL_FSL_LPUART=y
|
||||||
|
@ -365,12 +337,10 @@ CONFIG_SERIAL_ST_ASC_CONSOLE=y
|
||||||
CONFIG_SERIAL_STM32=y
|
CONFIG_SERIAL_STM32=y
|
||||||
CONFIG_SERIAL_STM32_CONSOLE=y
|
CONFIG_SERIAL_STM32_CONSOLE=y
|
||||||
CONFIG_SERIAL_DEV_BUS=y
|
CONFIG_SERIAL_DEV_BUS=y
|
||||||
CONFIG_HVC_DRIVER=y
|
|
||||||
CONFIG_VIRTIO_CONSOLE=y
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
|
CONFIG_HW_RANDOM=y
|
||||||
|
CONFIG_HW_RANDOM_ST=y
|
||||||
CONFIG_I2C_CHARDEV=y
|
CONFIG_I2C_CHARDEV=y
|
||||||
CONFIG_I2C_DAVINCI=y
|
|
||||||
CONFIG_I2C_MESON=y
|
|
||||||
CONFIG_I2C_MUX=y
|
|
||||||
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
|
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
|
||||||
CONFIG_I2C_MUX_PCA954x=y
|
CONFIG_I2C_MUX_PCA954x=y
|
||||||
CONFIG_I2C_MUX_PINCTRL=y
|
CONFIG_I2C_MUX_PINCTRL=y
|
||||||
|
@ -378,12 +348,13 @@ CONFIG_I2C_DEMUX_PINCTRL=y
|
||||||
CONFIG_I2C_AT91=m
|
CONFIG_I2C_AT91=m
|
||||||
CONFIG_I2C_BCM2835=y
|
CONFIG_I2C_BCM2835=y
|
||||||
CONFIG_I2C_CADENCE=y
|
CONFIG_I2C_CADENCE=y
|
||||||
|
CONFIG_I2C_DAVINCI=y
|
||||||
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
||||||
CONFIG_I2C_DIGICOLOR=m
|
CONFIG_I2C_DIGICOLOR=m
|
||||||
CONFIG_I2C_EMEV2=m
|
CONFIG_I2C_EMEV2=m
|
||||||
CONFIG_I2C_GPIO=m
|
CONFIG_I2C_GPIO=m
|
||||||
CONFIG_I2C_EXYNOS5=y
|
|
||||||
CONFIG_I2C_IMX=y
|
CONFIG_I2C_IMX=y
|
||||||
|
CONFIG_I2C_MESON=y
|
||||||
CONFIG_I2C_MV64XXX=y
|
CONFIG_I2C_MV64XXX=y
|
||||||
CONFIG_I2C_RIIC=y
|
CONFIG_I2C_RIIC=y
|
||||||
CONFIG_I2C_RK3X=y
|
CONFIG_I2C_RK3X=y
|
||||||
|
@ -427,7 +398,6 @@ CONFIG_SPI_SPIDEV=y
|
||||||
CONFIG_SPMI=y
|
CONFIG_SPMI=y
|
||||||
CONFIG_PINCTRL_AS3722=y
|
CONFIG_PINCTRL_AS3722=y
|
||||||
CONFIG_PINCTRL_PALMAS=y
|
CONFIG_PINCTRL_PALMAS=y
|
||||||
CONFIG_PINCTRL_BCM2835=y
|
|
||||||
CONFIG_PINCTRL_APQ8064=y
|
CONFIG_PINCTRL_APQ8064=y
|
||||||
CONFIG_PINCTRL_APQ8084=y
|
CONFIG_PINCTRL_APQ8084=y
|
||||||
CONFIG_PINCTRL_IPQ8064=y
|
CONFIG_PINCTRL_IPQ8064=y
|
||||||
|
@ -437,25 +407,33 @@ CONFIG_PINCTRL_MSM8X74=y
|
||||||
CONFIG_PINCTRL_MSM8916=y
|
CONFIG_PINCTRL_MSM8916=y
|
||||||
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
||||||
CONFIG_PINCTRL_QCOM_SSBI_PMIC=y
|
CONFIG_PINCTRL_QCOM_SSBI_PMIC=y
|
||||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
|
||||||
CONFIG_GPIO_DAVINCI=y
|
CONFIG_GPIO_DAVINCI=y
|
||||||
CONFIG_GPIO_DWAPB=y
|
CONFIG_GPIO_DWAPB=y
|
||||||
CONFIG_GPIO_EM=y
|
CONFIG_GPIO_EM=y
|
||||||
CONFIG_GPIO_RCAR=y
|
CONFIG_GPIO_RCAR=y
|
||||||
|
CONFIG_GPIO_SYSCON=y
|
||||||
CONFIG_GPIO_UNIPHIER=y
|
CONFIG_GPIO_UNIPHIER=y
|
||||||
CONFIG_GPIO_XILINX=y
|
CONFIG_GPIO_XILINX=y
|
||||||
CONFIG_GPIO_ZYNQ=y
|
CONFIG_GPIO_ZYNQ=y
|
||||||
CONFIG_GPIO_PCA953X=y
|
CONFIG_GPIO_PCA953X=y
|
||||||
CONFIG_GPIO_PCA953X_IRQ=y
|
CONFIG_GPIO_PCA953X_IRQ=y
|
||||||
CONFIG_GPIO_PCF857X=y
|
CONFIG_GPIO_PCF857X=y
|
||||||
CONFIG_GPIO_TWL4030=y
|
|
||||||
CONFIG_GPIO_PALMAS=y
|
CONFIG_GPIO_PALMAS=y
|
||||||
CONFIG_GPIO_SYSCON=y
|
|
||||||
CONFIG_GPIO_TPS6586X=y
|
CONFIG_GPIO_TPS6586X=y
|
||||||
CONFIG_GPIO_TPS65910=y
|
CONFIG_GPIO_TPS65910=y
|
||||||
|
CONFIG_GPIO_TWL4030=y
|
||||||
|
CONFIG_POWER_AVS=y
|
||||||
|
CONFIG_ROCKCHIP_IODOMAIN=y
|
||||||
|
CONFIG_POWER_RESET_AS3722=y
|
||||||
|
CONFIG_POWER_RESET_GPIO=y
|
||||||
|
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||||
|
CONFIG_POWER_RESET_ST=y
|
||||||
|
CONFIG_POWER_RESET_KEYSTONE=y
|
||||||
|
CONFIG_POWER_RESET_RMOBILE=y
|
||||||
CONFIG_BATTERY_ACT8945A=y
|
CONFIG_BATTERY_ACT8945A=y
|
||||||
CONFIG_BATTERY_CPCAP=m
|
CONFIG_BATTERY_CPCAP=m
|
||||||
CONFIG_BATTERY_SBS=y
|
CONFIG_BATTERY_SBS=y
|
||||||
|
CONFIG_AXP20X_POWER=m
|
||||||
CONFIG_BATTERY_MAX17040=m
|
CONFIG_BATTERY_MAX17040=m
|
||||||
CONFIG_BATTERY_MAX17042=m
|
CONFIG_BATTERY_MAX17042=m
|
||||||
CONFIG_CHARGER_CPCAP=m
|
CONFIG_CHARGER_CPCAP=m
|
||||||
|
@ -464,15 +442,6 @@ CONFIG_CHARGER_MAX77693=m
|
||||||
CONFIG_CHARGER_MAX8997=m
|
CONFIG_CHARGER_MAX8997=m
|
||||||
CONFIG_CHARGER_MAX8998=m
|
CONFIG_CHARGER_MAX8998=m
|
||||||
CONFIG_CHARGER_TPS65090=y
|
CONFIG_CHARGER_TPS65090=y
|
||||||
CONFIG_AXP20X_POWER=m
|
|
||||||
CONFIG_POWER_RESET_AS3722=y
|
|
||||||
CONFIG_POWER_RESET_GPIO=y
|
|
||||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
|
||||||
CONFIG_POWER_RESET_KEYSTONE=y
|
|
||||||
CONFIG_POWER_RESET_RMOBILE=y
|
|
||||||
CONFIG_POWER_RESET_ST=y
|
|
||||||
CONFIG_POWER_AVS=y
|
|
||||||
CONFIG_ROCKCHIP_IODOMAIN=y
|
|
||||||
CONFIG_SENSORS_IIO_HWMON=y
|
CONFIG_SENSORS_IIO_HWMON=y
|
||||||
CONFIG_SENSORS_LM90=y
|
CONFIG_SENSORS_LM90=y
|
||||||
CONFIG_SENSORS_LM95245=y
|
CONFIG_SENSORS_LM95245=y
|
||||||
|
@ -480,14 +449,12 @@ CONFIG_SENSORS_NTC_THERMISTOR=m
|
||||||
CONFIG_SENSORS_PWM_FAN=m
|
CONFIG_SENSORS_PWM_FAN=m
|
||||||
CONFIG_SENSORS_INA2XX=m
|
CONFIG_SENSORS_INA2XX=m
|
||||||
CONFIG_CPU_THERMAL=y
|
CONFIG_CPU_THERMAL=y
|
||||||
CONFIG_BCM2835_THERMAL=m
|
|
||||||
CONFIG_BRCMSTB_THERMAL=m
|
|
||||||
CONFIG_IMX_THERMAL=y
|
CONFIG_IMX_THERMAL=y
|
||||||
CONFIG_ROCKCHIP_THERMAL=y
|
CONFIG_ROCKCHIP_THERMAL=y
|
||||||
CONFIG_RCAR_THERMAL=y
|
CONFIG_RCAR_THERMAL=y
|
||||||
CONFIG_ARMADA_THERMAL=y
|
CONFIG_ARMADA_THERMAL=y
|
||||||
CONFIG_DAVINCI_WATCHDOG=m
|
CONFIG_BCM2835_THERMAL=m
|
||||||
CONFIG_EXYNOS_THERMAL=m
|
CONFIG_BRCMSTB_THERMAL=m
|
||||||
CONFIG_ST_THERMAL_MEMMAP=y
|
CONFIG_ST_THERMAL_MEMMAP=y
|
||||||
CONFIG_WATCHDOG=y
|
CONFIG_WATCHDOG=y
|
||||||
CONFIG_DA9063_WATCHDOG=m
|
CONFIG_DA9063_WATCHDOG=m
|
||||||
|
@ -495,20 +462,24 @@ CONFIG_XILINX_WATCHDOG=y
|
||||||
CONFIG_ARM_SP805_WATCHDOG=y
|
CONFIG_ARM_SP805_WATCHDOG=y
|
||||||
CONFIG_AT91SAM9X_WATCHDOG=y
|
CONFIG_AT91SAM9X_WATCHDOG=y
|
||||||
CONFIG_SAMA5D4_WATCHDOG=y
|
CONFIG_SAMA5D4_WATCHDOG=y
|
||||||
|
CONFIG_DW_WATCHDOG=y
|
||||||
|
CONFIG_DAVINCI_WATCHDOG=m
|
||||||
CONFIG_ORION_WATCHDOG=y
|
CONFIG_ORION_WATCHDOG=y
|
||||||
CONFIG_RN5T618_WATCHDOG=y
|
CONFIG_RN5T618_WATCHDOG=y
|
||||||
CONFIG_ST_LPC_WATCHDOG=y
|
|
||||||
CONFIG_SUNXI_WATCHDOG=y
|
CONFIG_SUNXI_WATCHDOG=y
|
||||||
CONFIG_IMX2_WDT=y
|
CONFIG_IMX2_WDT=y
|
||||||
|
CONFIG_ST_LPC_WATCHDOG=y
|
||||||
CONFIG_TEGRA_WATCHDOG=m
|
CONFIG_TEGRA_WATCHDOG=m
|
||||||
CONFIG_MESON_WATCHDOG=y
|
CONFIG_MESON_WATCHDOG=y
|
||||||
CONFIG_DW_WATCHDOG=y
|
|
||||||
CONFIG_DIGICOLOR_WATCHDOG=y
|
CONFIG_DIGICOLOR_WATCHDOG=y
|
||||||
CONFIG_RENESAS_WDT=m
|
CONFIG_RENESAS_WDT=m
|
||||||
CONFIG_BCM2835_WDT=y
|
|
||||||
CONFIG_BCM47XX_WDT=y
|
CONFIG_BCM47XX_WDT=y
|
||||||
CONFIG_BCM7038_WDT=m
|
CONFIG_BCM2835_WDT=y
|
||||||
CONFIG_BCM_KONA_WDT=y
|
CONFIG_BCM_KONA_WDT=y
|
||||||
|
CONFIG_BCM7038_WDT=m
|
||||||
|
CONFIG_BCMA_HOST_SOC=y
|
||||||
|
CONFIG_BCMA_DRIVER_GMAC_CMN=y
|
||||||
|
CONFIG_BCMA_DRIVER_GPIO=y
|
||||||
CONFIG_MFD_ACT8945A=y
|
CONFIG_MFD_ACT8945A=y
|
||||||
CONFIG_MFD_AS3711=y
|
CONFIG_MFD_AS3711=y
|
||||||
CONFIG_MFD_AS3722=y
|
CONFIG_MFD_AS3722=y
|
||||||
|
@ -516,7 +487,6 @@ CONFIG_MFD_ATMEL_FLEXCOM=y
|
||||||
CONFIG_MFD_ATMEL_HLCDC=m
|
CONFIG_MFD_ATMEL_HLCDC=m
|
||||||
CONFIG_MFD_BCM590XX=y
|
CONFIG_MFD_BCM590XX=y
|
||||||
CONFIG_MFD_AC100=y
|
CONFIG_MFD_AC100=y
|
||||||
CONFIG_MFD_AXP20X=y
|
|
||||||
CONFIG_MFD_AXP20X_I2C=y
|
CONFIG_MFD_AXP20X_I2C=y
|
||||||
CONFIG_MFD_AXP20X_RSB=y
|
CONFIG_MFD_AXP20X_RSB=y
|
||||||
CONFIG_MFD_CROS_EC=m
|
CONFIG_MFD_CROS_EC=m
|
||||||
|
@ -529,11 +499,11 @@ CONFIG_MFD_MAX77693=m
|
||||||
CONFIG_MFD_MAX8907=y
|
CONFIG_MFD_MAX8907=y
|
||||||
CONFIG_MFD_MAX8997=y
|
CONFIG_MFD_MAX8997=y
|
||||||
CONFIG_MFD_MAX8998=y
|
CONFIG_MFD_MAX8998=y
|
||||||
CONFIG_MFD_RK808=y
|
|
||||||
CONFIG_MFD_CPCAP=y
|
CONFIG_MFD_CPCAP=y
|
||||||
CONFIG_MFD_PM8XXX=y
|
CONFIG_MFD_PM8XXX=y
|
||||||
CONFIG_MFD_QCOM_RPM=y
|
CONFIG_MFD_QCOM_RPM=y
|
||||||
CONFIG_MFD_SPMI_PMIC=y
|
CONFIG_MFD_SPMI_PMIC=y
|
||||||
|
CONFIG_MFD_RK808=y
|
||||||
CONFIG_MFD_RN5T618=y
|
CONFIG_MFD_RN5T618=y
|
||||||
CONFIG_MFD_SEC_CORE=y
|
CONFIG_MFD_SEC_CORE=y
|
||||||
CONFIG_MFD_STMPE=y
|
CONFIG_MFD_STMPE=y
|
||||||
|
@ -543,10 +513,10 @@ CONFIG_MFD_TPS65217=y
|
||||||
CONFIG_MFD_TPS65218=y
|
CONFIG_MFD_TPS65218=y
|
||||||
CONFIG_MFD_TPS6586X=y
|
CONFIG_MFD_TPS6586X=y
|
||||||
CONFIG_MFD_TPS65910=y
|
CONFIG_MFD_TPS65910=y
|
||||||
CONFIG_REGULATOR_ACT8945A=y
|
|
||||||
CONFIG_REGULATOR_AB8500=y
|
|
||||||
CONFIG_REGULATOR_ACT8865=y
|
CONFIG_REGULATOR_ACT8865=y
|
||||||
|
CONFIG_REGULATOR_ACT8945A=y
|
||||||
CONFIG_REGULATOR_ANATOP=y
|
CONFIG_REGULATOR_ANATOP=y
|
||||||
|
CONFIG_REGULATOR_AB8500=y
|
||||||
CONFIG_REGULATOR_AS3711=y
|
CONFIG_REGULATOR_AS3711=y
|
||||||
CONFIG_REGULATOR_AS3722=y
|
CONFIG_REGULATOR_AS3722=y
|
||||||
CONFIG_REGULATOR_AXP20X=y
|
CONFIG_REGULATOR_AXP20X=y
|
||||||
|
@ -554,10 +524,7 @@ CONFIG_REGULATOR_BCM590XX=y
|
||||||
CONFIG_REGULATOR_CPCAP=y
|
CONFIG_REGULATOR_CPCAP=y
|
||||||
CONFIG_REGULATOR_DA9210=y
|
CONFIG_REGULATOR_DA9210=y
|
||||||
CONFIG_REGULATOR_FAN53555=y
|
CONFIG_REGULATOR_FAN53555=y
|
||||||
CONFIG_REGULATOR_RK808=y
|
|
||||||
CONFIG_REGULATOR_GPIO=y
|
CONFIG_REGULATOR_GPIO=y
|
||||||
CONFIG_MFD_SYSCON=y
|
|
||||||
CONFIG_POWER_RESET_SYSCON=y
|
|
||||||
CONFIG_REGULATOR_LP872X=y
|
CONFIG_REGULATOR_LP872X=y
|
||||||
CONFIG_REGULATOR_MAX14577=m
|
CONFIG_REGULATOR_MAX14577=m
|
||||||
CONFIG_REGULATOR_MAX8907=y
|
CONFIG_REGULATOR_MAX8907=y
|
||||||
|
@ -571,7 +538,8 @@ CONFIG_REGULATOR_PALMAS=y
|
||||||
CONFIG_REGULATOR_PBIAS=y
|
CONFIG_REGULATOR_PBIAS=y
|
||||||
CONFIG_REGULATOR_PWM=y
|
CONFIG_REGULATOR_PWM=y
|
||||||
CONFIG_REGULATOR_QCOM_RPM=y
|
CONFIG_REGULATOR_QCOM_RPM=y
|
||||||
CONFIG_REGULATOR_QCOM_SMD_RPM=y
|
CONFIG_REGULATOR_QCOM_SMD_RPM=m
|
||||||
|
CONFIG_REGULATOR_RK808=y
|
||||||
CONFIG_REGULATOR_RN5T618=y
|
CONFIG_REGULATOR_RN5T618=y
|
||||||
CONFIG_REGULATOR_S2MPS11=y
|
CONFIG_REGULATOR_S2MPS11=y
|
||||||
CONFIG_REGULATOR_S5M8767=y
|
CONFIG_REGULATOR_S5M8767=y
|
||||||
|
@ -592,18 +560,17 @@ CONFIG_MEDIA_CEC_SUPPORT=y
|
||||||
CONFIG_MEDIA_CONTROLLER=y
|
CONFIG_MEDIA_CONTROLLER=y
|
||||||
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||||
CONFIG_MEDIA_USB_SUPPORT=y
|
CONFIG_MEDIA_USB_SUPPORT=y
|
||||||
CONFIG_USB_VIDEO_CLASS=y
|
CONFIG_USB_VIDEO_CLASS=m
|
||||||
CONFIG_USB_GSPCA=y
|
|
||||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||||
CONFIG_SOC_CAMERA=m
|
CONFIG_SOC_CAMERA=m
|
||||||
CONFIG_SOC_CAMERA_PLATFORM=m
|
CONFIG_SOC_CAMERA_PLATFORM=m
|
||||||
CONFIG_VIDEO_RCAR_VIN=m
|
|
||||||
CONFIG_VIDEO_ATMEL_ISI=m
|
|
||||||
CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m
|
CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m
|
||||||
CONFIG_VIDEO_S5P_FIMC=m
|
CONFIG_VIDEO_S5P_FIMC=m
|
||||||
CONFIG_VIDEO_S5P_MIPI_CSIS=m
|
CONFIG_VIDEO_S5P_MIPI_CSIS=m
|
||||||
CONFIG_VIDEO_EXYNOS_FIMC_LITE=m
|
CONFIG_VIDEO_EXYNOS_FIMC_LITE=m
|
||||||
CONFIG_VIDEO_EXYNOS4_FIMC_IS=m
|
CONFIG_VIDEO_EXYNOS4_FIMC_IS=m
|
||||||
|
CONFIG_VIDEO_RCAR_VIN=m
|
||||||
|
CONFIG_VIDEO_ATMEL_ISI=m
|
||||||
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||||
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
|
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
|
||||||
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
|
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
|
||||||
|
@ -614,19 +581,15 @@ CONFIG_VIDEO_STI_DELTA=m
|
||||||
CONFIG_VIDEO_RENESAS_JPU=m
|
CONFIG_VIDEO_RENESAS_JPU=m
|
||||||
CONFIG_VIDEO_RENESAS_VSP1=m
|
CONFIG_VIDEO_RENESAS_VSP1=m
|
||||||
CONFIG_V4L_TEST_DRIVERS=y
|
CONFIG_V4L_TEST_DRIVERS=y
|
||||||
|
CONFIG_VIDEO_VIVID=m
|
||||||
CONFIG_CEC_PLATFORM_DRIVERS=y
|
CONFIG_CEC_PLATFORM_DRIVERS=y
|
||||||
CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
|
CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
|
||||||
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
|
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
|
||||||
CONFIG_VIDEO_ADV7180=m
|
CONFIG_VIDEO_ADV7180=m
|
||||||
CONFIG_VIDEO_ML86V7667=m
|
CONFIG_VIDEO_ML86V7667=m
|
||||||
CONFIG_DRM=y
|
CONFIG_DRM=y
|
||||||
CONFIG_DRM_I2C_ADV7511=m
|
|
||||||
CONFIG_DRM_I2C_ADV7511_AUDIO=y
|
|
||||||
# CONFIG_DRM_I2C_CH7006 is not set
|
# CONFIG_DRM_I2C_CH7006 is not set
|
||||||
# CONFIG_DRM_I2C_SIL164 is not set
|
# CONFIG_DRM_I2C_SIL164 is not set
|
||||||
CONFIG_DRM_DUMB_VGA_DAC=m
|
|
||||||
CONFIG_DRM_NXP_PTN3460=m
|
|
||||||
CONFIG_DRM_PARADE_PS8622=m
|
|
||||||
CONFIG_DRM_NOUVEAU=m
|
CONFIG_DRM_NOUVEAU=m
|
||||||
CONFIG_DRM_EXYNOS=m
|
CONFIG_DRM_EXYNOS=m
|
||||||
CONFIG_DRM_EXYNOS_FIMD=y
|
CONFIG_DRM_EXYNOS_FIMD=y
|
||||||
|
@ -645,13 +608,18 @@ CONFIG_DRM_RCAR_LVDS=y
|
||||||
CONFIG_DRM_SUN4I=m
|
CONFIG_DRM_SUN4I=m
|
||||||
CONFIG_DRM_FSL_DCU=m
|
CONFIG_DRM_FSL_DCU=m
|
||||||
CONFIG_DRM_TEGRA=y
|
CONFIG_DRM_TEGRA=y
|
||||||
|
CONFIG_DRM_PANEL_SIMPLE=y
|
||||||
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
|
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
|
||||||
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
|
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
|
||||||
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
|
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
|
||||||
CONFIG_DRM_PANEL_SIMPLE=y
|
CONFIG_DRM_DUMB_VGA_DAC=m
|
||||||
|
CONFIG_DRM_NXP_PTN3460=m
|
||||||
|
CONFIG_DRM_PARADE_PS8622=m
|
||||||
CONFIG_DRM_SII9234=m
|
CONFIG_DRM_SII9234=m
|
||||||
|
CONFIG_DRM_I2C_ADV7511=m
|
||||||
|
CONFIG_DRM_I2C_ADV7511_AUDIO=y
|
||||||
CONFIG_DRM_STI=m
|
CONFIG_DRM_STI=m
|
||||||
CONFIG_DRM_VC4=y
|
CONFIG_DRM_VC4=m
|
||||||
CONFIG_DRM_ETNAVIV=m
|
CONFIG_DRM_ETNAVIV=m
|
||||||
CONFIG_DRM_MXSFB=m
|
CONFIG_DRM_MXSFB=m
|
||||||
CONFIG_FB_ARMCLCD=y
|
CONFIG_FB_ARMCLCD=y
|
||||||
|
@ -659,8 +627,6 @@ CONFIG_FB_EFI=y
|
||||||
CONFIG_FB_WM8505=y
|
CONFIG_FB_WM8505=y
|
||||||
CONFIG_FB_SH_MOBILE_LCDC=y
|
CONFIG_FB_SH_MOBILE_LCDC=y
|
||||||
CONFIG_FB_SIMPLE=y
|
CONFIG_FB_SIMPLE=y
|
||||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
|
||||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
|
||||||
CONFIG_LCD_PLATFORM=m
|
CONFIG_LCD_PLATFORM=m
|
||||||
CONFIG_BACKLIGHT_PWM=y
|
CONFIG_BACKLIGHT_PWM=y
|
||||||
CONFIG_BACKLIGHT_AS3711=y
|
CONFIG_BACKLIGHT_AS3711=y
|
||||||
|
@ -668,7 +634,6 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||||
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
||||||
CONFIG_SOUND=m
|
CONFIG_SOUND=m
|
||||||
CONFIG_SND=m
|
CONFIG_SND=m
|
||||||
CONFIG_SND_DYNAMIC_MINORS=y
|
|
||||||
CONFIG_SND_HDA_TEGRA=m
|
CONFIG_SND_HDA_TEGRA=m
|
||||||
CONFIG_SND_HDA_INPUT_BEEP=y
|
CONFIG_SND_HDA_INPUT_BEEP=y
|
||||||
CONFIG_SND_HDA_PATCH_LOADER=y
|
CONFIG_SND_HDA_PATCH_LOADER=y
|
||||||
|
@ -692,7 +657,7 @@ CONFIG_SND_SOC_SNOW=m
|
||||||
CONFIG_SND_SOC_ODROID=m
|
CONFIG_SND_SOC_ODROID=m
|
||||||
CONFIG_SND_SOC_SH4_FSI=m
|
CONFIG_SND_SOC_SH4_FSI=m
|
||||||
CONFIG_SND_SOC_RCAR=m
|
CONFIG_SND_SOC_RCAR=m
|
||||||
CONFIG_SND_SIMPLE_SCU_CARD=m
|
CONFIG_SND_SOC_STI=m
|
||||||
CONFIG_SND_SUN4I_CODEC=m
|
CONFIG_SND_SUN4I_CODEC=m
|
||||||
CONFIG_SND_SOC_TEGRA=m
|
CONFIG_SND_SOC_TEGRA=m
|
||||||
CONFIG_SND_SOC_TEGRA20_I2S=m
|
CONFIG_SND_SOC_TEGRA20_I2S=m
|
||||||
|
@ -703,31 +668,25 @@ CONFIG_SND_SOC_TEGRA_WM8903=m
|
||||||
CONFIG_SND_SOC_TEGRA_WM9712=m
|
CONFIG_SND_SOC_TEGRA_WM9712=m
|
||||||
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
|
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
|
||||||
CONFIG_SND_SOC_TEGRA_ALC5632=m
|
CONFIG_SND_SOC_TEGRA_ALC5632=m
|
||||||
CONFIG_SND_SOC_CPCAP=m
|
|
||||||
CONFIG_SND_SOC_TEGRA_MAX98090=m
|
CONFIG_SND_SOC_TEGRA_MAX98090=m
|
||||||
CONFIG_SND_SOC_AK4642=m
|
CONFIG_SND_SOC_AK4642=m
|
||||||
|
CONFIG_SND_SOC_CPCAP=m
|
||||||
CONFIG_SND_SOC_SGTL5000=m
|
CONFIG_SND_SOC_SGTL5000=m
|
||||||
CONFIG_SND_SOC_SPDIF=m
|
CONFIG_SND_SOC_SPDIF=m
|
||||||
CONFIG_SND_SOC_WM8978=m
|
|
||||||
CONFIG_SND_SOC_STI=m
|
|
||||||
CONFIG_SND_SOC_STI_SAS=m
|
CONFIG_SND_SOC_STI_SAS=m
|
||||||
CONFIG_SND_SIMPLE_CARD=m
|
CONFIG_SND_SOC_WM8978=m
|
||||||
|
CONFIG_SND_SIMPLE_SCU_CARD=m
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
CONFIG_USB_OTG=y
|
CONFIG_USB_OTG=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
CONFIG_USB_XHCI_MVEBU=y
|
CONFIG_USB_XHCI_MVEBU=y
|
||||||
CONFIG_USB_XHCI_RCAR=m
|
|
||||||
CONFIG_USB_XHCI_TEGRA=m
|
CONFIG_USB_XHCI_TEGRA=m
|
||||||
CONFIG_USB_EHCI_HCD=y
|
CONFIG_USB_EHCI_HCD=y
|
||||||
CONFIG_USB_EHCI_MSM=m
|
|
||||||
CONFIG_USB_EHCI_EXYNOS=y
|
|
||||||
CONFIG_USB_EHCI_TEGRA=y
|
|
||||||
CONFIG_USB_EHCI_HCD_STI=y
|
CONFIG_USB_EHCI_HCD_STI=y
|
||||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
CONFIG_USB_EHCI_TEGRA=y
|
||||||
CONFIG_USB_ISP1760=y
|
CONFIG_USB_EHCI_EXYNOS=y
|
||||||
CONFIG_USB_OHCI_HCD=y
|
CONFIG_USB_OHCI_HCD=y
|
||||||
CONFIG_USB_OHCI_HCD_STI=y
|
CONFIG_USB_OHCI_HCD_STI=y
|
||||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
|
||||||
CONFIG_USB_OHCI_EXYNOS=m
|
CONFIG_USB_OHCI_EXYNOS=m
|
||||||
CONFIG_USB_R8A66597_HCD=m
|
CONFIG_USB_R8A66597_HCD=m
|
||||||
CONFIG_USB_RENESAS_USBHS=m
|
CONFIG_USB_RENESAS_USBHS=m
|
||||||
|
@ -746,18 +705,18 @@ CONFIG_USB_TI_CPPI41_DMA=y
|
||||||
CONFIG_USB_TUSB_OMAP_DMA=y
|
CONFIG_USB_TUSB_OMAP_DMA=y
|
||||||
CONFIG_USB_DWC3=y
|
CONFIG_USB_DWC3=y
|
||||||
CONFIG_USB_DWC2=y
|
CONFIG_USB_DWC2=y
|
||||||
CONFIG_USB_HSIC_USB3503=y
|
|
||||||
CONFIG_USB_CHIPIDEA=y
|
CONFIG_USB_CHIPIDEA=y
|
||||||
CONFIG_USB_CHIPIDEA_UDC=y
|
CONFIG_USB_CHIPIDEA_UDC=y
|
||||||
CONFIG_USB_CHIPIDEA_HOST=y
|
CONFIG_USB_CHIPIDEA_HOST=y
|
||||||
|
CONFIG_USB_ISP1760=y
|
||||||
|
CONFIG_USB_HSIC_USB3503=y
|
||||||
CONFIG_AB8500_USB=y
|
CONFIG_AB8500_USB=y
|
||||||
CONFIG_KEYSTONE_USB_PHY=y
|
CONFIG_KEYSTONE_USB_PHY=m
|
||||||
CONFIG_NOP_USB_XCEIV=m
|
CONFIG_NOP_USB_XCEIV=m
|
||||||
CONFIG_AM335X_PHY_USB=m
|
CONFIG_AM335X_PHY_USB=m
|
||||||
CONFIG_TWL6030_USB=m
|
CONFIG_TWL6030_USB=m
|
||||||
CONFIG_USB_GPIO_VBUS=y
|
CONFIG_USB_GPIO_VBUS=y
|
||||||
CONFIG_USB_ISP1301=y
|
CONFIG_USB_ISP1301=y
|
||||||
CONFIG_USB_MSM_OTG=m
|
|
||||||
CONFIG_USB_MXS_PHY=y
|
CONFIG_USB_MXS_PHY=y
|
||||||
CONFIG_USB_GADGET=y
|
CONFIG_USB_GADGET=y
|
||||||
CONFIG_USB_FSL_USB2=y
|
CONFIG_USB_FSL_USB2=y
|
||||||
|
@ -793,21 +752,20 @@ CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||||
CONFIG_MMC_SDHCI_ESDHC_IMX=y
|
CONFIG_MMC_SDHCI_ESDHC_IMX=y
|
||||||
CONFIG_MMC_SDHCI_DOVE=y
|
CONFIG_MMC_SDHCI_DOVE=y
|
||||||
CONFIG_MMC_SDHCI_TEGRA=y
|
CONFIG_MMC_SDHCI_TEGRA=y
|
||||||
|
CONFIG_MMC_SDHCI_S3C=y
|
||||||
CONFIG_MMC_SDHCI_PXAV3=y
|
CONFIG_MMC_SDHCI_PXAV3=y
|
||||||
CONFIG_MMC_SDHCI_SPEAR=y
|
CONFIG_MMC_SDHCI_SPEAR=y
|
||||||
CONFIG_MMC_SDHCI_S3C=y
|
|
||||||
CONFIG_MMC_SDHCI_S3C_DMA=y
|
CONFIG_MMC_SDHCI_S3C_DMA=y
|
||||||
CONFIG_MMC_SDHCI_BCM_KONA=y
|
CONFIG_MMC_SDHCI_BCM_KONA=y
|
||||||
|
CONFIG_MMC_MESON_MX_SDIO=y
|
||||||
CONFIG_MMC_SDHCI_ST=y
|
CONFIG_MMC_SDHCI_ST=y
|
||||||
CONFIG_MMC_OMAP=y
|
CONFIG_MMC_OMAP=y
|
||||||
CONFIG_MMC_OMAP_HS=y
|
CONFIG_MMC_OMAP_HS=y
|
||||||
CONFIG_MMC_ATMELMCI=y
|
CONFIG_MMC_ATMELMCI=y
|
||||||
CONFIG_MMC_SDHCI_MSM=y
|
CONFIG_MMC_SDHCI_MSM=y
|
||||||
CONFIG_MMC_MESON_MX_SDIO=y
|
|
||||||
CONFIG_MMC_MVSDIO=y
|
CONFIG_MMC_MVSDIO=y
|
||||||
CONFIG_MMC_SDHI=y
|
CONFIG_MMC_SDHI=y
|
||||||
CONFIG_MMC_DW=y
|
CONFIG_MMC_DW=y
|
||||||
CONFIG_MMC_DW_PLTFM=y
|
|
||||||
CONFIG_MMC_DW_EXYNOS=y
|
CONFIG_MMC_DW_EXYNOS=y
|
||||||
CONFIG_MMC_DW_ROCKCHIP=y
|
CONFIG_MMC_DW_ROCKCHIP=y
|
||||||
CONFIG_MMC_SH_MMCIF=y
|
CONFIG_MMC_SH_MMCIF=y
|
||||||
|
@ -847,94 +805,85 @@ CONFIG_RTC_DRV_MAX77686=y
|
||||||
CONFIG_RTC_DRV_RK808=m
|
CONFIG_RTC_DRV_RK808=m
|
||||||
CONFIG_RTC_DRV_RS5C372=m
|
CONFIG_RTC_DRV_RS5C372=m
|
||||||
CONFIG_RTC_DRV_BQ32K=m
|
CONFIG_RTC_DRV_BQ32K=m
|
||||||
CONFIG_RTC_DRV_PALMAS=y
|
|
||||||
CONFIG_RTC_DRV_ST_LPC=y
|
|
||||||
CONFIG_RTC_DRV_TWL4030=y
|
CONFIG_RTC_DRV_TWL4030=y
|
||||||
|
CONFIG_RTC_DRV_PALMAS=y
|
||||||
CONFIG_RTC_DRV_TPS6586X=y
|
CONFIG_RTC_DRV_TPS6586X=y
|
||||||
CONFIG_RTC_DRV_TPS65910=y
|
CONFIG_RTC_DRV_TPS65910=y
|
||||||
CONFIG_RTC_DRV_S35390A=m
|
CONFIG_RTC_DRV_S35390A=m
|
||||||
CONFIG_RTC_DRV_RX8581=m
|
CONFIG_RTC_DRV_RX8581=m
|
||||||
CONFIG_RTC_DRV_EM3027=y
|
CONFIG_RTC_DRV_EM3027=y
|
||||||
|
CONFIG_RTC_DRV_S5M=m
|
||||||
CONFIG_RTC_DRV_DA9063=m
|
CONFIG_RTC_DRV_DA9063=m
|
||||||
CONFIG_RTC_DRV_EFI=m
|
CONFIG_RTC_DRV_EFI=m
|
||||||
CONFIG_RTC_DRV_DIGICOLOR=m
|
CONFIG_RTC_DRV_DIGICOLOR=m
|
||||||
CONFIG_RTC_DRV_S5M=m
|
|
||||||
CONFIG_RTC_DRV_S3C=m
|
CONFIG_RTC_DRV_S3C=m
|
||||||
CONFIG_RTC_DRV_PL031=y
|
CONFIG_RTC_DRV_PL031=y
|
||||||
CONFIG_RTC_DRV_AT91RM9200=m
|
CONFIG_RTC_DRV_AT91RM9200=m
|
||||||
CONFIG_RTC_DRV_AT91SAM9=m
|
CONFIG_RTC_DRV_AT91SAM9=m
|
||||||
CONFIG_RTC_DRV_VT8500=y
|
CONFIG_RTC_DRV_VT8500=y
|
||||||
CONFIG_RTC_DRV_SUN6I=y
|
|
||||||
CONFIG_RTC_DRV_SUNXI=y
|
CONFIG_RTC_DRV_SUNXI=y
|
||||||
CONFIG_RTC_DRV_MV=y
|
CONFIG_RTC_DRV_MV=y
|
||||||
CONFIG_RTC_DRV_TEGRA=y
|
CONFIG_RTC_DRV_TEGRA=y
|
||||||
|
CONFIG_RTC_DRV_ST_LPC=y
|
||||||
CONFIG_RTC_DRV_CPCAP=m
|
CONFIG_RTC_DRV_CPCAP=m
|
||||||
CONFIG_DMADEVICES=y
|
CONFIG_DMADEVICES=y
|
||||||
CONFIG_DW_DMAC=y
|
|
||||||
CONFIG_AT_HDMAC=y
|
CONFIG_AT_HDMAC=y
|
||||||
CONFIG_AT_XDMAC=y
|
CONFIG_AT_XDMAC=y
|
||||||
|
CONFIG_DMA_BCM2835=y
|
||||||
|
CONFIG_DMA_SUN6I=y
|
||||||
CONFIG_FSL_EDMA=y
|
CONFIG_FSL_EDMA=y
|
||||||
|
CONFIG_IMX_DMA=y
|
||||||
|
CONFIG_IMX_SDMA=y
|
||||||
CONFIG_MV_XOR=y
|
CONFIG_MV_XOR=y
|
||||||
|
CONFIG_MXS_DMA=y
|
||||||
|
CONFIG_PL330_DMA=y
|
||||||
|
CONFIG_SIRF_DMA=y
|
||||||
|
CONFIG_STE_DMA40=y
|
||||||
|
CONFIG_ST_FDMA=m
|
||||||
CONFIG_TEGRA20_APB_DMA=y
|
CONFIG_TEGRA20_APB_DMA=y
|
||||||
|
CONFIG_XILINX_DMA=y
|
||||||
|
CONFIG_QCOM_BAM_DMA=y
|
||||||
|
CONFIG_DW_DMAC=y
|
||||||
CONFIG_SH_DMAE=y
|
CONFIG_SH_DMAE=y
|
||||||
CONFIG_RCAR_DMAC=y
|
CONFIG_RCAR_DMAC=y
|
||||||
CONFIG_RENESAS_USB_DMAC=m
|
CONFIG_RENESAS_USB_DMAC=m
|
||||||
CONFIG_STE_DMA40=y
|
CONFIG_VIRTIO_PCI=y
|
||||||
CONFIG_SIRF_DMA=y
|
CONFIG_VIRTIO_MMIO=y
|
||||||
CONFIG_TI_EDMA=y
|
|
||||||
CONFIG_PL330_DMA=y
|
|
||||||
CONFIG_IMX_SDMA=y
|
|
||||||
CONFIG_IMX_DMA=y
|
|
||||||
CONFIG_MXS_DMA=y
|
|
||||||
CONFIG_DMA_BCM2835=y
|
|
||||||
CONFIG_DMA_OMAP=y
|
|
||||||
CONFIG_QCOM_BAM_DMA=y
|
|
||||||
CONFIG_XILINX_DMA=y
|
|
||||||
CONFIG_DMA_SUN6I=y
|
|
||||||
CONFIG_ST_FDMA=m
|
|
||||||
CONFIG_STAGING=y
|
CONFIG_STAGING=y
|
||||||
CONFIG_SENSORS_ISL29018=y
|
|
||||||
CONFIG_SENSORS_ISL29028=y
|
|
||||||
CONFIG_MFD_NVEC=y
|
CONFIG_MFD_NVEC=y
|
||||||
CONFIG_KEYBOARD_NVEC=y
|
CONFIG_KEYBOARD_NVEC=y
|
||||||
CONFIG_SERIO_NVEC_PS2=y
|
CONFIG_SERIO_NVEC_PS2=y
|
||||||
CONFIG_NVEC_POWER=y
|
CONFIG_NVEC_POWER=y
|
||||||
CONFIG_NVEC_PAZ00=y
|
CONFIG_NVEC_PAZ00=y
|
||||||
CONFIG_BCMA=y
|
|
||||||
CONFIG_BCMA_HOST_SOC=y
|
|
||||||
CONFIG_BCMA_DRIVER_GMAC_CMN=y
|
|
||||||
CONFIG_BCMA_DRIVER_GPIO=y
|
|
||||||
CONFIG_QCOM_GSBI=y
|
|
||||||
CONFIG_QCOM_PM=y
|
|
||||||
CONFIG_QCOM_SMEM=y
|
|
||||||
CONFIG_QCOM_SMD_RPM=y
|
|
||||||
CONFIG_QCOM_SMP2P=y
|
|
||||||
CONFIG_QCOM_SMSM=y
|
|
||||||
CONFIG_QCOM_WCNSS_CTRL=m
|
|
||||||
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
|
||||||
CONFIG_COMMON_CLK_QCOM=y
|
|
||||||
CONFIG_QCOM_CLK_RPM=y
|
|
||||||
CONFIG_CHROME_PLATFORMS=y
|
|
||||||
CONFIG_STAGING_BOARD=y
|
CONFIG_STAGING_BOARD=y
|
||||||
CONFIG_CROS_EC_CHARDEV=m
|
|
||||||
CONFIG_COMMON_CLK_MAX77686=y
|
CONFIG_COMMON_CLK_MAX77686=y
|
||||||
CONFIG_COMMON_CLK_RK808=m
|
CONFIG_COMMON_CLK_RK808=m
|
||||||
CONFIG_COMMON_CLK_S2MPS11=m
|
CONFIG_COMMON_CLK_S2MPS11=m
|
||||||
|
CONFIG_COMMON_CLK_QCOM=y
|
||||||
|
CONFIG_QCOM_CLK_RPM=y
|
||||||
CONFIG_APQ_MMCC_8084=y
|
CONFIG_APQ_MMCC_8084=y
|
||||||
CONFIG_MSM_GCC_8660=y
|
CONFIG_MSM_GCC_8660=y
|
||||||
CONFIG_MSM_MMCC_8960=y
|
CONFIG_MSM_MMCC_8960=y
|
||||||
CONFIG_MSM_MMCC_8974=y
|
CONFIG_MSM_MMCC_8974=y
|
||||||
CONFIG_HWSPINLOCK_QCOM=y
|
CONFIG_BCM2835_MBOX=y
|
||||||
CONFIG_ROCKCHIP_IOMMU=y
|
CONFIG_ROCKCHIP_IOMMU=y
|
||||||
CONFIG_TEGRA_IOMMU_GART=y
|
CONFIG_TEGRA_IOMMU_GART=y
|
||||||
CONFIG_TEGRA_IOMMU_SMMU=y
|
CONFIG_TEGRA_IOMMU_SMMU=y
|
||||||
CONFIG_REMOTEPROC=m
|
CONFIG_REMOTEPROC=m
|
||||||
CONFIG_ST_REMOTEPROC=m
|
CONFIG_ST_REMOTEPROC=m
|
||||||
CONFIG_RPMSG_VIRTIO=m
|
CONFIG_RPMSG_VIRTIO=m
|
||||||
|
CONFIG_RASPBERRYPI_POWER=y
|
||||||
|
CONFIG_QCOM_GSBI=y
|
||||||
|
CONFIG_QCOM_PM=y
|
||||||
|
CONFIG_QCOM_SMD_RPM=m
|
||||||
|
CONFIG_QCOM_WCNSS_CTRL=m
|
||||||
|
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||||
|
CONFIG_ARCH_TEGRA_2x_SOC=y
|
||||||
|
CONFIG_ARCH_TEGRA_3x_SOC=y
|
||||||
|
CONFIG_ARCH_TEGRA_114_SOC=y
|
||||||
|
CONFIG_ARCH_TEGRA_124_SOC=y
|
||||||
CONFIG_PM_DEVFREQ=y
|
CONFIG_PM_DEVFREQ=y
|
||||||
CONFIG_ARM_TEGRA_DEVFREQ=m
|
CONFIG_ARM_TEGRA_DEVFREQ=m
|
||||||
CONFIG_MEMORY=y
|
|
||||||
CONFIG_EXTCON=y
|
|
||||||
CONFIG_TI_AEMIF=y
|
CONFIG_TI_AEMIF=y
|
||||||
CONFIG_IIO=y
|
CONFIG_IIO=y
|
||||||
CONFIG_IIO_SW_TRIGGER=y
|
CONFIG_IIO_SW_TRIGGER=y
|
||||||
|
@ -947,56 +896,54 @@ CONFIG_VF610_ADC=m
|
||||||
CONFIG_XILINX_XADC=y
|
CONFIG_XILINX_XADC=y
|
||||||
CONFIG_MPU3050_I2C=y
|
CONFIG_MPU3050_I2C=y
|
||||||
CONFIG_CM36651=m
|
CONFIG_CM36651=m
|
||||||
|
CONFIG_SENSORS_ISL29018=y
|
||||||
|
CONFIG_SENSORS_ISL29028=y
|
||||||
CONFIG_AK8975=y
|
CONFIG_AK8975=y
|
||||||
CONFIG_RASPBERRYPI_POWER=y
|
|
||||||
CONFIG_IIO_HRTIMER_TRIGGER=y
|
CONFIG_IIO_HRTIMER_TRIGGER=y
|
||||||
CONFIG_PWM=y
|
CONFIG_PWM=y
|
||||||
CONFIG_PWM_ATMEL=m
|
CONFIG_PWM_ATMEL=m
|
||||||
CONFIG_PWM_ATMEL_HLCDC_PWM=m
|
CONFIG_PWM_ATMEL_HLCDC_PWM=m
|
||||||
CONFIG_PWM_ATMEL_TCB=m
|
CONFIG_PWM_ATMEL_TCB=m
|
||||||
|
CONFIG_PWM_BCM2835=y
|
||||||
|
CONFIG_PWM_BRCMSTB=m
|
||||||
CONFIG_PWM_FSL_FTM=m
|
CONFIG_PWM_FSL_FTM=m
|
||||||
CONFIG_PWM_MESON=m
|
CONFIG_PWM_MESON=m
|
||||||
CONFIG_PWM_RCAR=m
|
CONFIG_PWM_RCAR=m
|
||||||
CONFIG_PWM_RENESAS_TPU=y
|
CONFIG_PWM_RENESAS_TPU=y
|
||||||
CONFIG_PWM_ROCKCHIP=m
|
CONFIG_PWM_ROCKCHIP=m
|
||||||
CONFIG_PWM_SAMSUNG=m
|
CONFIG_PWM_SAMSUNG=m
|
||||||
|
CONFIG_PWM_STI=y
|
||||||
CONFIG_PWM_SUN4I=y
|
CONFIG_PWM_SUN4I=y
|
||||||
CONFIG_PWM_TEGRA=y
|
CONFIG_PWM_TEGRA=y
|
||||||
CONFIG_PWM_VT8500=y
|
CONFIG_PWM_VT8500=y
|
||||||
|
CONFIG_KEYSTONE_IRQ=y
|
||||||
|
CONFIG_PHY_SUN4I_USB=y
|
||||||
|
CONFIG_PHY_SUN9I_USB=y
|
||||||
CONFIG_PHY_HIX5HD2_SATA=y
|
CONFIG_PHY_HIX5HD2_SATA=y
|
||||||
CONFIG_E1000E=y
|
CONFIG_PHY_BERLIN_SATA=y
|
||||||
CONFIG_PWM_STI=y
|
CONFIG_PHY_BERLIN_USB=y
|
||||||
CONFIG_PWM_BCM2835=y
|
CONFIG_PHY_CPCAP_USB=m
|
||||||
CONFIG_PWM_BRCMSTB=m
|
CONFIG_PHY_QCOM_APQ8064_SATA=m
|
||||||
|
CONFIG_PHY_RCAR_GEN2=m
|
||||||
|
CONFIG_PHY_ROCKCHIP_DP=m
|
||||||
|
CONFIG_PHY_ROCKCHIP_USB=y
|
||||||
|
CONFIG_PHY_SAMSUNG_USB2=m
|
||||||
|
CONFIG_PHY_MIPHY28LP=y
|
||||||
|
CONFIG_PHY_STIH407_USB=y
|
||||||
|
CONFIG_PHY_STM32_USBPHYC=y
|
||||||
|
CONFIG_PHY_TEGRA_XUSB=y
|
||||||
CONFIG_PHY_DM816X_USB=m
|
CONFIG_PHY_DM816X_USB=m
|
||||||
CONFIG_OMAP_USB2=y
|
CONFIG_OMAP_USB2=y
|
||||||
CONFIG_TI_PIPE3=y
|
CONFIG_TI_PIPE3=y
|
||||||
CONFIG_TWL4030_USB=m
|
CONFIG_TWL4030_USB=m
|
||||||
CONFIG_PHY_BERLIN_USB=y
|
|
||||||
CONFIG_PHY_CPCAP_USB=m
|
|
||||||
CONFIG_PHY_BERLIN_SATA=y
|
|
||||||
CONFIG_PHY_ROCKCHIP_DP=m
|
|
||||||
CONFIG_PHY_ROCKCHIP_USB=y
|
|
||||||
CONFIG_PHY_QCOM_APQ8064_SATA=m
|
|
||||||
CONFIG_PHY_MIPHY28LP=y
|
|
||||||
CONFIG_PHY_RCAR_GEN2=m
|
|
||||||
CONFIG_PHY_STIH407_USB=y
|
|
||||||
CONFIG_PHY_STM32_USBPHYC=y
|
|
||||||
CONFIG_PHY_SUN4I_USB=y
|
|
||||||
CONFIG_PHY_SUN9I_USB=y
|
|
||||||
CONFIG_PHY_SAMSUNG_USB2=m
|
|
||||||
CONFIG_PHY_TEGRA_XUSB=y
|
|
||||||
CONFIG_PHY_BRCM_SATA=y
|
|
||||||
CONFIG_NVMEM=y
|
|
||||||
CONFIG_NVMEM_IMX_OCOTP=y
|
CONFIG_NVMEM_IMX_OCOTP=y
|
||||||
CONFIG_NVMEM_SUNXI_SID=y
|
CONFIG_NVMEM_SUNXI_SID=y
|
||||||
CONFIG_NVMEM_VF610_OCOTP=y
|
CONFIG_NVMEM_VF610_OCOTP=y
|
||||||
CONFIG_BCM2835_MBOX=y
|
|
||||||
CONFIG_RASPBERRYPI_FIRMWARE=y
|
CONFIG_RASPBERRYPI_FIRMWARE=y
|
||||||
CONFIG_EFI_VARS=m
|
|
||||||
CONFIG_EFI_CAPSULE_LOADER=m
|
|
||||||
CONFIG_BCM47XX_NVRAM=y
|
CONFIG_BCM47XX_NVRAM=y
|
||||||
CONFIG_BCM47XX_SPROM=y
|
CONFIG_BCM47XX_SPROM=y
|
||||||
|
CONFIG_EFI_VARS=m
|
||||||
|
CONFIG_EFI_CAPSULE_LOADER=m
|
||||||
CONFIG_EXT4_FS=y
|
CONFIG_EXT4_FS=y
|
||||||
CONFIG_AUTOFS4_FS=y
|
CONFIG_AUTOFS4_FS=y
|
||||||
CONFIG_MSDOS_FS=y
|
CONFIG_MSDOS_FS=y
|
||||||
|
@ -1004,7 +951,6 @@ CONFIG_VFAT_FS=y
|
||||||
CONFIG_NTFS_FS=y
|
CONFIG_NTFS_FS=y
|
||||||
CONFIG_TMPFS_POSIX_ACL=y
|
CONFIG_TMPFS_POSIX_ACL=y
|
||||||
CONFIG_UBIFS_FS=y
|
CONFIG_UBIFS_FS=y
|
||||||
CONFIG_TMPFS=y
|
|
||||||
CONFIG_SQUASHFS=y
|
CONFIG_SQUASHFS=y
|
||||||
CONFIG_SQUASHFS_LZO=y
|
CONFIG_SQUASHFS_LZO=y
|
||||||
CONFIG_SQUASHFS_XZ=y
|
CONFIG_SQUASHFS_XZ=y
|
||||||
|
@ -1020,13 +966,7 @@ CONFIG_NLS_CODEPAGE_437=y
|
||||||
CONFIG_NLS_ISO8859_1=y
|
CONFIG_NLS_ISO8859_1=y
|
||||||
CONFIG_NLS_UTF8=y
|
CONFIG_NLS_UTF8=y
|
||||||
CONFIG_PRINTK_TIME=y
|
CONFIG_PRINTK_TIME=y
|
||||||
CONFIG_DEBUG_FS=y
|
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
CONFIG_MAGIC_SYSRQ=y
|
||||||
CONFIG_LOCKUP_DETECTOR=y
|
|
||||||
CONFIG_CPUFREQ_DT=y
|
|
||||||
CONFIG_KEYSTONE_IRQ=y
|
|
||||||
CONFIG_HW_RANDOM=y
|
|
||||||
CONFIG_HW_RANDOM_ST=y
|
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
CONFIG_CRYPTO_USER_API_HASH=m
|
CONFIG_CRYPTO_USER_API_HASH=m
|
||||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||||
|
@ -1035,27 +975,19 @@ CONFIG_CRYPTO_USER_API_AEAD=m
|
||||||
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
|
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
|
||||||
CONFIG_CRYPTO_DEV_EXYNOS_RNG=m
|
CONFIG_CRYPTO_DEV_EXYNOS_RNG=m
|
||||||
CONFIG_CRYPTO_DEV_S5P=m
|
CONFIG_CRYPTO_DEV_S5P=m
|
||||||
|
CONFIG_CRYPTO_DEV_ATMEL_AES=m
|
||||||
|
CONFIG_CRYPTO_DEV_ATMEL_TDES=m
|
||||||
|
CONFIG_CRYPTO_DEV_ATMEL_SHA=m
|
||||||
CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
||||||
CONFIG_CRYPTO_DEV_ROCKCHIP=m
|
CONFIG_CRYPTO_DEV_ROCKCHIP=m
|
||||||
CONFIG_ARM_CRYPTO=y
|
CONFIG_ARM_CRYPTO=y
|
||||||
CONFIG_CRYPTO_SHA1_ARM=m
|
|
||||||
CONFIG_CRYPTO_SHA1_ARM_NEON=m
|
CONFIG_CRYPTO_SHA1_ARM_NEON=m
|
||||||
CONFIG_CRYPTO_SHA1_ARM_CE=m
|
CONFIG_CRYPTO_SHA1_ARM_CE=m
|
||||||
CONFIG_CRYPTO_SHA2_ARM_CE=m
|
CONFIG_CRYPTO_SHA2_ARM_CE=m
|
||||||
CONFIG_CRYPTO_SHA256_ARM=m
|
|
||||||
CONFIG_CRYPTO_SHA512_ARM=m
|
CONFIG_CRYPTO_SHA512_ARM=m
|
||||||
CONFIG_CRYPTO_AES_ARM=m
|
CONFIG_CRYPTO_AES_ARM=m
|
||||||
CONFIG_CRYPTO_AES_ARM_BS=m
|
CONFIG_CRYPTO_AES_ARM_BS=m
|
||||||
CONFIG_CRYPTO_AES_ARM_CE=m
|
CONFIG_CRYPTO_AES_ARM_CE=m
|
||||||
CONFIG_CRYPTO_CHACHA20_NEON=m
|
|
||||||
CONFIG_CRYPTO_CRC32_ARM_CE=m
|
|
||||||
CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
|
|
||||||
CONFIG_CRYPTO_GHASH_ARM_CE=m
|
CONFIG_CRYPTO_GHASH_ARM_CE=m
|
||||||
CONFIG_CRYPTO_DEV_ATMEL_AES=m
|
CONFIG_CRYPTO_CRC32_ARM_CE=m
|
||||||
CONFIG_CRYPTO_DEV_ATMEL_TDES=m
|
CONFIG_CRYPTO_CHACHA20_NEON=m
|
||||||
CONFIG_CRYPTO_DEV_ATMEL_SHA=m
|
|
||||||
CONFIG_VIDEO_VIVID=m
|
|
||||||
CONFIG_VIRTIO=y
|
|
||||||
CONFIG_VIRTIO_PCI=y
|
|
||||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
|
||||||
CONFIG_VIRTIO_MMIO=y
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ config ARCH_BCM_IPROC
|
||||||
select GPIOLIB
|
select GPIOLIB
|
||||||
select ARM_AMBA
|
select ARM_AMBA
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
|
select PCI_DOMAINS if PCI
|
||||||
help
|
help
|
||||||
This enables support for systems based on Broadcom IPROC architected SoCs.
|
This enables support for systems based on Broadcom IPROC architected SoCs.
|
||||||
The IPROC complex contains one or more ARM CPUs along with common
|
The IPROC complex contains one or more ARM CPUs along with common
|
||||||
|
|
|
@ -774,7 +774,7 @@ static struct gpiod_lookup_table mmc_gpios_table = {
|
||||||
GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_CD_PIN, "cd",
|
GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_CD_PIN, "cd",
|
||||||
GPIO_ACTIVE_LOW),
|
GPIO_ACTIVE_LOW),
|
||||||
GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_WP_PIN, "wp",
|
GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_WP_PIN, "wp",
|
||||||
GPIO_ACTIVE_LOW),
|
GPIO_ACTIVE_HIGH),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ menuconfig ARCH_SOCFPGA
|
||||||
select HAVE_ARM_SCU
|
select HAVE_ARM_SCU
|
||||||
select HAVE_ARM_TWD if SMP
|
select HAVE_ARM_TWD if SMP
|
||||||
select MFD_SYSCON
|
select MFD_SYSCON
|
||||||
|
select PCI_DOMAINS if PCI
|
||||||
|
|
||||||
if ARCH_SOCFPGA
|
if ARCH_SOCFPGA
|
||||||
config SOCFPGA_SUSPEND
|
config SOCFPGA_SUSPEND
|
||||||
|
|
|
@ -1844,7 +1844,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
|
||||||
/* there are 2 passes here */
|
/* there are 2 passes here */
|
||||||
bpf_jit_dump(prog->len, image_size, 2, ctx.target);
|
bpf_jit_dump(prog->len, image_size, 2, ctx.target);
|
||||||
|
|
||||||
set_memory_ro((unsigned long)header, header->pages);
|
bpf_jit_binary_lock_ro(header);
|
||||||
prog->bpf_func = (void *)ctx.target;
|
prog->bpf_func = (void *)ctx.target;
|
||||||
prog->jited = 1;
|
prog->jited = 1;
|
||||||
prog->jited_len = image_size;
|
prog->jited_len = image_size;
|
||||||
|
|
|
@ -309,8 +309,7 @@
|
||||||
interrupts = <0 99 4>;
|
interrupts = <0 99 4>;
|
||||||
resets = <&rst SPIM0_RESET>;
|
resets = <&rst SPIM0_RESET>;
|
||||||
reg-io-width = <4>;
|
reg-io-width = <4>;
|
||||||
num-chipselect = <4>;
|
num-cs = <4>;
|
||||||
bus-num = <0>;
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -322,8 +321,7 @@
|
||||||
interrupts = <0 100 4>;
|
interrupts = <0 100 4>;
|
||||||
resets = <&rst SPIM1_RESET>;
|
resets = <&rst SPIM1_RESET>;
|
||||||
reg-io-width = <4>;
|
reg-io-width = <4>;
|
||||||
num-chipselect = <4>;
|
num-cs = <4>;
|
||||||
bus-num = <0>;
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -66,9 +66,22 @@
|
||||||
|
|
||||||
ðmac {
|
ðmac {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
phy-mode = "rgmii";
|
|
||||||
pinctrl-0 = <ð_rgmii_y_pins>;
|
pinctrl-0 = <ð_rgmii_y_pins>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
phy-handle = <ð_phy0>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
compatible = "snps,dwmac-mdio";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
eth_phy0: ethernet-phy@0 {
|
||||||
|
/* Realtek RTL8211F (0x001cc916) */
|
||||||
|
reg = <0>;
|
||||||
|
eee-broken-1000t;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart_A {
|
&uart_A {
|
||||||
|
|
|
@ -132,7 +132,7 @@
|
||||||
|
|
||||||
sd_emmc_b: sd@5000 {
|
sd_emmc_b: sd@5000 {
|
||||||
compatible = "amlogic,meson-axg-mmc";
|
compatible = "amlogic,meson-axg-mmc";
|
||||||
reg = <0x0 0x5000 0x0 0x2000>;
|
reg = <0x0 0x5000 0x0 0x800>;
|
||||||
interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
clocks = <&clkc CLKID_SD_EMMC_B>,
|
clocks = <&clkc CLKID_SD_EMMC_B>,
|
||||||
|
@ -144,7 +144,7 @@
|
||||||
|
|
||||||
sd_emmc_c: mmc@7000 {
|
sd_emmc_c: mmc@7000 {
|
||||||
compatible = "amlogic,meson-axg-mmc";
|
compatible = "amlogic,meson-axg-mmc";
|
||||||
reg = <0x0 0x7000 0x0 0x2000>;
|
reg = <0x0 0x7000 0x0 0x800>;
|
||||||
interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
clocks = <&clkc CLKID_SD_EMMC_C>,
|
clocks = <&clkc CLKID_SD_EMMC_C>,
|
||||||
|
|
|
@ -35,6 +35,12 @@
|
||||||
no-map;
|
no-map;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
|
||||||
|
secmon_reserved_alt: secmon@5000000 {
|
||||||
|
reg = <0x0 0x05000000 0x0 0x300000>;
|
||||||
|
no-map;
|
||||||
|
};
|
||||||
|
|
||||||
linux,cma {
|
linux,cma {
|
||||||
compatible = "shared-dma-pool";
|
compatible = "shared-dma-pool";
|
||||||
reusable;
|
reusable;
|
||||||
|
@ -457,21 +463,21 @@
|
||||||
|
|
||||||
sd_emmc_a: mmc@70000 {
|
sd_emmc_a: mmc@70000 {
|
||||||
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
||||||
reg = <0x0 0x70000 0x0 0x2000>;
|
reg = <0x0 0x70000 0x0 0x800>;
|
||||||
interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
sd_emmc_b: mmc@72000 {
|
sd_emmc_b: mmc@72000 {
|
||||||
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
||||||
reg = <0x0 0x72000 0x0 0x2000>;
|
reg = <0x0 0x72000 0x0 0x800>;
|
||||||
interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
sd_emmc_c: mmc@74000 {
|
sd_emmc_c: mmc@74000 {
|
||||||
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
|
||||||
reg = <0x0 0x74000 0x0 0x2000>;
|
reg = <0x0 0x74000 0x0 0x800>;
|
||||||
interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
&apb {
|
&apb {
|
||||||
mali: gpu@c0000 {
|
mali: gpu@c0000 {
|
||||||
compatible = "amlogic,meson-gxbb-mali", "arm,mali-450";
|
compatible = "amlogic,meson-gxl-mali", "arm,mali-450";
|
||||||
reg = <0x0 0xc0000 0x0 0x40000>;
|
reg = <0x0 0xc0000 0x0 0x40000>;
|
||||||
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
|
|
@ -234,9 +234,6 @@
|
||||||
|
|
||||||
bus-width = <4>;
|
bus-width = <4>;
|
||||||
cap-sd-highspeed;
|
cap-sd-highspeed;
|
||||||
sd-uhs-sdr12;
|
|
||||||
sd-uhs-sdr25;
|
|
||||||
sd-uhs-sdr50;
|
|
||||||
max-frequency = <100000000>;
|
max-frequency = <100000000>;
|
||||||
disable-wp;
|
disable-wp;
|
||||||
|
|
||||||
|
|
|
@ -189,3 +189,10 @@
|
||||||
&usb0 {
|
&usb0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&usb2_phy0 {
|
||||||
|
/*
|
||||||
|
* HDMI_5V is also used as supply for the USB VBUS.
|
||||||
|
*/
|
||||||
|
phy-supply = <&hdmi_5v>;
|
||||||
|
};
|
||||||
|
|
|
@ -13,14 +13,6 @@
|
||||||
/ {
|
/ {
|
||||||
compatible = "amlogic,meson-gxl";
|
compatible = "amlogic,meson-gxl";
|
||||||
|
|
||||||
reserved-memory {
|
|
||||||
/* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
|
|
||||||
secmon_reserved_alt: secmon@5000000 {
|
|
||||||
reg = <0x0 0x05000000 0x0 0x300000>;
|
|
||||||
no-map;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
usb0: usb@c9000000 {
|
usb0: usb@c9000000 {
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
|
@ -118,7 +118,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 281 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <0>;
|
linux,pci-domain = <0>;
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@
|
||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 305 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
|
||||||
linux,pci-domain = <4>;
|
linux,pci-domain = <4>;
|
||||||
|
|
||||||
|
@ -566,7 +566,7 @@
|
||||||
reg = <0x66080000 0x100>;
|
reg = <0x66080000 0x100>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 394 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
@ -594,7 +594,7 @@
|
||||||
reg = <0x660b0000 0x100>;
|
reg = <0x660b0000 0x100>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 395 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
|
@ -43,6 +43,10 @@
|
||||||
enet-phy-lane-swap;
|
enet-phy-lane-swap;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&sdio0 {
|
||||||
|
mmc-ddr-1_8v;
|
||||||
|
};
|
||||||
|
|
||||||
&uart2 {
|
&uart2 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
|
@ -42,3 +42,7 @@
|
||||||
&gphy0 {
|
&gphy0 {
|
||||||
enet-phy-lane-swap;
|
enet-phy-lane-swap;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&sdio0 {
|
||||||
|
mmc-ddr-1_8v;
|
||||||
|
};
|
||||||
|
|
|
@ -409,7 +409,7 @@
|
||||||
reg = <0x000b0000 0x100>;
|
reg = <0x000b0000 0x100>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 177 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
@ -453,7 +453,7 @@
|
||||||
reg = <0x000e0000 0x100>;
|
reg = <0x000e0000 0x100>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <GIC_SPI 178 IRQ_TYPE_NONE>;
|
interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <100000>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
|
@ -585,6 +585,8 @@
|
||||||
vmmc-supply = <&wlan_en>;
|
vmmc-supply = <&wlan_en>;
|
||||||
ti,non-removable;
|
ti,non-removable;
|
||||||
non-removable;
|
non-removable;
|
||||||
|
cap-power-off-card;
|
||||||
|
keep-power-in-suspend;
|
||||||
#address-cells = <0x1>;
|
#address-cells = <0x1>;
|
||||||
#size-cells = <0x0>;
|
#size-cells = <0x0>;
|
||||||
status = "ok";
|
status = "ok";
|
||||||
|
|
|
@ -322,6 +322,8 @@
|
||||||
dwmmc_2: dwmmc2@f723f000 {
|
dwmmc_2: dwmmc2@f723f000 {
|
||||||
bus-width = <0x4>;
|
bus-width = <0x4>;
|
||||||
non-removable;
|
non-removable;
|
||||||
|
cap-power-off-card;
|
||||||
|
keep-power-in-suspend;
|
||||||
vmmc-supply = <®_vdd_3v3>;
|
vmmc-supply = <®_vdd_3v3>;
|
||||||
mmc-pwrseq = <&wl1835_pwrseq>;
|
mmc-pwrseq = <&wl1835_pwrseq>;
|
||||||
|
|
||||||
|
|
|
@ -149,7 +149,7 @@
|
||||||
|
|
||||||
CP110_LABEL(icu): interrupt-controller@1e0000 {
|
CP110_LABEL(icu): interrupt-controller@1e0000 {
|
||||||
compatible = "marvell,cp110-icu";
|
compatible = "marvell,cp110-icu";
|
||||||
reg = <0x1e0000 0x10>;
|
reg = <0x1e0000 0x440>;
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
msi-parent = <&gicp>;
|
msi-parent = <&gicp>;
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
|
|
||||||
serial@75b1000 {
|
serial@75b1000 {
|
||||||
label = "LS-UART0";
|
label = "LS-UART0";
|
||||||
status = "okay";
|
status = "disabled";
|
||||||
pinctrl-names = "default", "sleep";
|
pinctrl-names = "default", "sleep";
|
||||||
pinctrl-0 = <&blsp2_uart2_4pins_default>;
|
pinctrl-0 = <&blsp2_uart2_4pins_default>;
|
||||||
pinctrl-1 = <&blsp2_uart2_4pins_sleep>;
|
pinctrl-1 = <&blsp2_uart2_4pins_sleep>;
|
||||||
|
|
|
@ -1191,14 +1191,14 @@
|
||||||
|
|
||||||
port@0 {
|
port@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
etf_out: endpoint {
|
etf_in: endpoint {
|
||||||
slave-mode;
|
slave-mode;
|
||||||
remote-endpoint = <&funnel0_out>;
|
remote-endpoint = <&funnel0_out>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
port@1 {
|
port@1 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
etf_in: endpoint {
|
etf_out: endpoint {
|
||||||
remote-endpoint = <&replicator_in>;
|
remote-endpoint = <&replicator_in>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
sound {
|
sound {
|
||||||
compatible = "audio-graph-card";
|
compatible = "audio-graph-card";
|
||||||
label = "UniPhier LD11";
|
label = "UniPhier LD11";
|
||||||
widgets = "Headphone", "Headphone Jack";
|
widgets = "Headphone", "Headphones";
|
||||||
dais = <&i2s_port2
|
dais = <&i2s_port2
|
||||||
&i2s_port3
|
&i2s_port3
|
||||||
&i2s_port4
|
&i2s_port4
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
sound {
|
sound {
|
||||||
compatible = "audio-graph-card";
|
compatible = "audio-graph-card";
|
||||||
label = "UniPhier LD20";
|
label = "UniPhier LD20";
|
||||||
widgets = "Headphone", "Headphone Jack";
|
widgets = "Headphone", "Headphones";
|
||||||
dais = <&i2s_port2
|
dais = <&i2s_port2
|
||||||
&i2s_port3
|
&i2s_port3
|
||||||
&i2s_port4
|
&i2s_port4
|
||||||
|
|
|
@ -47,6 +47,7 @@ CONFIG_ARCH_MVEBU=y
|
||||||
CONFIG_ARCH_QCOM=y
|
CONFIG_ARCH_QCOM=y
|
||||||
CONFIG_ARCH_ROCKCHIP=y
|
CONFIG_ARCH_ROCKCHIP=y
|
||||||
CONFIG_ARCH_SEATTLE=y
|
CONFIG_ARCH_SEATTLE=y
|
||||||
|
CONFIG_ARCH_SYNQUACER=y
|
||||||
CONFIG_ARCH_RENESAS=y
|
CONFIG_ARCH_RENESAS=y
|
||||||
CONFIG_ARCH_R8A7795=y
|
CONFIG_ARCH_R8A7795=y
|
||||||
CONFIG_ARCH_R8A7796=y
|
CONFIG_ARCH_R8A7796=y
|
||||||
|
@ -58,7 +59,6 @@ CONFIG_ARCH_R8A77995=y
|
||||||
CONFIG_ARCH_STRATIX10=y
|
CONFIG_ARCH_STRATIX10=y
|
||||||
CONFIG_ARCH_TEGRA=y
|
CONFIG_ARCH_TEGRA=y
|
||||||
CONFIG_ARCH_SPRD=y
|
CONFIG_ARCH_SPRD=y
|
||||||
CONFIG_ARCH_SYNQUACER=y
|
|
||||||
CONFIG_ARCH_THUNDER=y
|
CONFIG_ARCH_THUNDER=y
|
||||||
CONFIG_ARCH_THUNDER2=y
|
CONFIG_ARCH_THUNDER2=y
|
||||||
CONFIG_ARCH_UNIPHIER=y
|
CONFIG_ARCH_UNIPHIER=y
|
||||||
|
@ -67,25 +67,23 @@ CONFIG_ARCH_XGENE=y
|
||||||
CONFIG_ARCH_ZX=y
|
CONFIG_ARCH_ZX=y
|
||||||
CONFIG_ARCH_ZYNQMP=y
|
CONFIG_ARCH_ZYNQMP=y
|
||||||
CONFIG_PCI=y
|
CONFIG_PCI=y
|
||||||
CONFIG_HOTPLUG_PCI_PCIE=y
|
|
||||||
CONFIG_PCI_IOV=y
|
CONFIG_PCI_IOV=y
|
||||||
CONFIG_HOTPLUG_PCI=y
|
CONFIG_HOTPLUG_PCI=y
|
||||||
CONFIG_HOTPLUG_PCI_ACPI=y
|
CONFIG_HOTPLUG_PCI_ACPI=y
|
||||||
CONFIG_PCI_LAYERSCAPE=y
|
|
||||||
CONFIG_PCI_HISI=y
|
|
||||||
CONFIG_PCIE_QCOM=y
|
|
||||||
CONFIG_PCIE_KIRIN=y
|
|
||||||
CONFIG_PCIE_ARMADA_8K=y
|
|
||||||
CONFIG_PCIE_HISI_STB=y
|
|
||||||
CONFIG_PCI_AARDVARK=y
|
CONFIG_PCI_AARDVARK=y
|
||||||
CONFIG_PCI_TEGRA=y
|
CONFIG_PCI_TEGRA=y
|
||||||
CONFIG_PCIE_RCAR=y
|
CONFIG_PCIE_RCAR=y
|
||||||
CONFIG_PCIE_ROCKCHIP=y
|
|
||||||
CONFIG_PCIE_ROCKCHIP_HOST=m
|
|
||||||
CONFIG_PCI_HOST_GENERIC=y
|
CONFIG_PCI_HOST_GENERIC=y
|
||||||
CONFIG_PCI_XGENE=y
|
CONFIG_PCI_XGENE=y
|
||||||
CONFIG_PCI_HOST_THUNDER_PEM=y
|
CONFIG_PCI_HOST_THUNDER_PEM=y
|
||||||
CONFIG_PCI_HOST_THUNDER_ECAM=y
|
CONFIG_PCI_HOST_THUNDER_ECAM=y
|
||||||
|
CONFIG_PCIE_ROCKCHIP_HOST=m
|
||||||
|
CONFIG_PCI_LAYERSCAPE=y
|
||||||
|
CONFIG_PCI_HISI=y
|
||||||
|
CONFIG_PCIE_QCOM=y
|
||||||
|
CONFIG_PCIE_ARMADA_8K=y
|
||||||
|
CONFIG_PCIE_KIRIN=y
|
||||||
|
CONFIG_PCIE_HISI_STB=y
|
||||||
CONFIG_ARM64_VA_BITS_48=y
|
CONFIG_ARM64_VA_BITS_48=y
|
||||||
CONFIG_SCHED_MC=y
|
CONFIG_SCHED_MC=y
|
||||||
CONFIG_NUMA=y
|
CONFIG_NUMA=y
|
||||||
|
@ -104,8 +102,6 @@ CONFIG_HIBERNATION=y
|
||||||
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
|
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
|
||||||
CONFIG_ARM_CPUIDLE=y
|
CONFIG_ARM_CPUIDLE=y
|
||||||
CONFIG_CPU_FREQ=y
|
CONFIG_CPU_FREQ=y
|
||||||
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
|
|
||||||
CONFIG_CPU_FREQ_GOV_COMMON=y
|
|
||||||
CONFIG_CPU_FREQ_STAT=y
|
CONFIG_CPU_FREQ_STAT=y
|
||||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
|
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
|
||||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||||
|
@ -113,11 +109,11 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
|
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
|
||||||
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
||||||
CONFIG_CPUFREQ_DT=y
|
CONFIG_CPUFREQ_DT=y
|
||||||
|
CONFIG_ACPI_CPPC_CPUFREQ=m
|
||||||
CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
|
CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
|
||||||
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
||||||
CONFIG_ARM_SCPI_CPUFREQ=y
|
CONFIG_ARM_SCPI_CPUFREQ=y
|
||||||
CONFIG_ARM_TEGRA186_CPUFREQ=y
|
CONFIG_ARM_TEGRA186_CPUFREQ=y
|
||||||
CONFIG_ACPI_CPPC_CPUFREQ=m
|
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
|
@ -236,11 +232,6 @@ CONFIG_SMSC911X=y
|
||||||
CONFIG_SNI_AVE=y
|
CONFIG_SNI_AVE=y
|
||||||
CONFIG_SNI_NETSEC=y
|
CONFIG_SNI_NETSEC=y
|
||||||
CONFIG_STMMAC_ETH=m
|
CONFIG_STMMAC_ETH=m
|
||||||
CONFIG_DWMAC_IPQ806X=m
|
|
||||||
CONFIG_DWMAC_MESON=m
|
|
||||||
CONFIG_DWMAC_ROCKCHIP=m
|
|
||||||
CONFIG_DWMAC_SUNXI=m
|
|
||||||
CONFIG_DWMAC_SUN8I=m
|
|
||||||
CONFIG_MDIO_BUS_MUX_MMIOREG=y
|
CONFIG_MDIO_BUS_MUX_MMIOREG=y
|
||||||
CONFIG_AT803X_PHY=m
|
CONFIG_AT803X_PHY=m
|
||||||
CONFIG_MARVELL_PHY=m
|
CONFIG_MARVELL_PHY=m
|
||||||
|
@ -269,8 +260,8 @@ CONFIG_WL18XX=m
|
||||||
CONFIG_WLCORE_SDIO=m
|
CONFIG_WLCORE_SDIO=m
|
||||||
CONFIG_INPUT_EVDEV=y
|
CONFIG_INPUT_EVDEV=y
|
||||||
CONFIG_KEYBOARD_ADC=m
|
CONFIG_KEYBOARD_ADC=m
|
||||||
CONFIG_KEYBOARD_CROS_EC=y
|
|
||||||
CONFIG_KEYBOARD_GPIO=y
|
CONFIG_KEYBOARD_GPIO=y
|
||||||
|
CONFIG_KEYBOARD_CROS_EC=y
|
||||||
CONFIG_INPUT_TOUCHSCREEN=y
|
CONFIG_INPUT_TOUCHSCREEN=y
|
||||||
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
|
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
|
||||||
CONFIG_INPUT_MISC=y
|
CONFIG_INPUT_MISC=y
|
||||||
|
@ -296,17 +287,13 @@ CONFIG_SERIAL_SAMSUNG=y
|
||||||
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
|
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
|
||||||
CONFIG_SERIAL_TEGRA=y
|
CONFIG_SERIAL_TEGRA=y
|
||||||
CONFIG_SERIAL_SH_SCI=y
|
CONFIG_SERIAL_SH_SCI=y
|
||||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=11
|
|
||||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
|
||||||
CONFIG_SERIAL_MSM=y
|
CONFIG_SERIAL_MSM=y
|
||||||
CONFIG_SERIAL_MSM_CONSOLE=y
|
CONFIG_SERIAL_MSM_CONSOLE=y
|
||||||
CONFIG_SERIAL_XILINX_PS_UART=y
|
CONFIG_SERIAL_XILINX_PS_UART=y
|
||||||
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
||||||
CONFIG_SERIAL_MVEBU_UART=y
|
CONFIG_SERIAL_MVEBU_UART=y
|
||||||
CONFIG_SERIAL_DEV_BUS=y
|
CONFIG_SERIAL_DEV_BUS=y
|
||||||
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
|
|
||||||
CONFIG_VIRTIO_CONSOLE=y
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
CONFIG_I2C_HID=m
|
|
||||||
CONFIG_I2C_CHARDEV=y
|
CONFIG_I2C_CHARDEV=y
|
||||||
CONFIG_I2C_MUX=y
|
CONFIG_I2C_MUX=y
|
||||||
CONFIG_I2C_MUX_PCA954x=y
|
CONFIG_I2C_MUX_PCA954x=y
|
||||||
|
@ -325,26 +312,26 @@ CONFIG_I2C_RCAR=y
|
||||||
CONFIG_I2C_CROS_EC_TUNNEL=y
|
CONFIG_I2C_CROS_EC_TUNNEL=y
|
||||||
CONFIG_SPI=y
|
CONFIG_SPI=y
|
||||||
CONFIG_SPI_ARMADA_3700=y
|
CONFIG_SPI_ARMADA_3700=y
|
||||||
CONFIG_SPI_MESON_SPICC=m
|
|
||||||
CONFIG_SPI_MESON_SPIFC=m
|
|
||||||
CONFIG_SPI_BCM2835=m
|
CONFIG_SPI_BCM2835=m
|
||||||
CONFIG_SPI_BCM2835AUX=m
|
CONFIG_SPI_BCM2835AUX=m
|
||||||
|
CONFIG_SPI_MESON_SPICC=m
|
||||||
|
CONFIG_SPI_MESON_SPIFC=m
|
||||||
CONFIG_SPI_ORION=y
|
CONFIG_SPI_ORION=y
|
||||||
CONFIG_SPI_PL022=y
|
CONFIG_SPI_PL022=y
|
||||||
CONFIG_SPI_QUP=y
|
|
||||||
CONFIG_SPI_ROCKCHIP=y
|
CONFIG_SPI_ROCKCHIP=y
|
||||||
|
CONFIG_SPI_QUP=y
|
||||||
CONFIG_SPI_S3C64XX=y
|
CONFIG_SPI_S3C64XX=y
|
||||||
CONFIG_SPI_SPIDEV=m
|
CONFIG_SPI_SPIDEV=m
|
||||||
CONFIG_SPMI=y
|
CONFIG_SPMI=y
|
||||||
CONFIG_PINCTRL_IPQ8074=y
|
|
||||||
CONFIG_PINCTRL_SINGLE=y
|
CONFIG_PINCTRL_SINGLE=y
|
||||||
CONFIG_PINCTRL_MAX77620=y
|
CONFIG_PINCTRL_MAX77620=y
|
||||||
|
CONFIG_PINCTRL_IPQ8074=y
|
||||||
CONFIG_PINCTRL_MSM8916=y
|
CONFIG_PINCTRL_MSM8916=y
|
||||||
CONFIG_PINCTRL_MSM8994=y
|
CONFIG_PINCTRL_MSM8994=y
|
||||||
CONFIG_PINCTRL_MSM8996=y
|
CONFIG_PINCTRL_MSM8996=y
|
||||||
CONFIG_PINCTRL_MT7622=y
|
|
||||||
CONFIG_PINCTRL_QDF2XXX=y
|
CONFIG_PINCTRL_QDF2XXX=y
|
||||||
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
||||||
|
CONFIG_PINCTRL_MT7622=y
|
||||||
CONFIG_GPIO_DWAPB=y
|
CONFIG_GPIO_DWAPB=y
|
||||||
CONFIG_GPIO_MB86S7X=y
|
CONFIG_GPIO_MB86S7X=y
|
||||||
CONFIG_GPIO_PL061=y
|
CONFIG_GPIO_PL061=y
|
||||||
|
@ -368,13 +355,13 @@ CONFIG_SENSORS_INA2XX=m
|
||||||
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
|
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
|
||||||
CONFIG_CPU_THERMAL=y
|
CONFIG_CPU_THERMAL=y
|
||||||
CONFIG_THERMAL_EMULATION=y
|
CONFIG_THERMAL_EMULATION=y
|
||||||
|
CONFIG_ROCKCHIP_THERMAL=m
|
||||||
|
CONFIG_RCAR_GEN3_THERMAL=y
|
||||||
CONFIG_ARMADA_THERMAL=y
|
CONFIG_ARMADA_THERMAL=y
|
||||||
CONFIG_BRCMSTB_THERMAL=m
|
CONFIG_BRCMSTB_THERMAL=m
|
||||||
CONFIG_EXYNOS_THERMAL=y
|
CONFIG_EXYNOS_THERMAL=y
|
||||||
CONFIG_RCAR_GEN3_THERMAL=y
|
|
||||||
CONFIG_QCOM_TSENS=y
|
|
||||||
CONFIG_ROCKCHIP_THERMAL=m
|
|
||||||
CONFIG_TEGRA_BPMP_THERMAL=m
|
CONFIG_TEGRA_BPMP_THERMAL=m
|
||||||
|
CONFIG_QCOM_TSENS=y
|
||||||
CONFIG_UNIPHIER_THERMAL=y
|
CONFIG_UNIPHIER_THERMAL=y
|
||||||
CONFIG_WATCHDOG=y
|
CONFIG_WATCHDOG=y
|
||||||
CONFIG_S3C2410_WATCHDOG=y
|
CONFIG_S3C2410_WATCHDOG=y
|
||||||
|
@ -395,9 +382,9 @@ CONFIG_MFD_MAX77620=y
|
||||||
CONFIG_MFD_SPMI_PMIC=y
|
CONFIG_MFD_SPMI_PMIC=y
|
||||||
CONFIG_MFD_RK808=y
|
CONFIG_MFD_RK808=y
|
||||||
CONFIG_MFD_SEC_CORE=y
|
CONFIG_MFD_SEC_CORE=y
|
||||||
|
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||||
CONFIG_REGULATOR_AXP20X=y
|
CONFIG_REGULATOR_AXP20X=y
|
||||||
CONFIG_REGULATOR_FAN53555=y
|
CONFIG_REGULATOR_FAN53555=y
|
||||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
|
||||||
CONFIG_REGULATOR_GPIO=y
|
CONFIG_REGULATOR_GPIO=y
|
||||||
CONFIG_REGULATOR_HI6421V530=y
|
CONFIG_REGULATOR_HI6421V530=y
|
||||||
CONFIG_REGULATOR_HI655X=y
|
CONFIG_REGULATOR_HI655X=y
|
||||||
|
@ -407,16 +394,15 @@ CONFIG_REGULATOR_QCOM_SMD_RPM=y
|
||||||
CONFIG_REGULATOR_QCOM_SPMI=y
|
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||||
CONFIG_REGULATOR_RK808=y
|
CONFIG_REGULATOR_RK808=y
|
||||||
CONFIG_REGULATOR_S2MPS11=y
|
CONFIG_REGULATOR_S2MPS11=y
|
||||||
|
CONFIG_RC_CORE=m
|
||||||
|
CONFIG_RC_DECODERS=y
|
||||||
|
CONFIG_RC_DEVICES=y
|
||||||
|
CONFIG_IR_MESON=m
|
||||||
CONFIG_MEDIA_SUPPORT=m
|
CONFIG_MEDIA_SUPPORT=m
|
||||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||||
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
||||||
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
||||||
CONFIG_MEDIA_CONTROLLER=y
|
CONFIG_MEDIA_CONTROLLER=y
|
||||||
CONFIG_MEDIA_RC_SUPPORT=y
|
|
||||||
CONFIG_RC_CORE=m
|
|
||||||
CONFIG_RC_DEVICES=y
|
|
||||||
CONFIG_RC_DECODERS=y
|
|
||||||
CONFIG_IR_MESON=m
|
|
||||||
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||||
# CONFIG_DVB_NET is not set
|
# CONFIG_DVB_NET is not set
|
||||||
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||||
|
@ -441,8 +427,7 @@ CONFIG_ROCKCHIP_DW_HDMI=y
|
||||||
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
|
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
|
||||||
CONFIG_ROCKCHIP_INNO_HDMI=y
|
CONFIG_ROCKCHIP_INNO_HDMI=y
|
||||||
CONFIG_DRM_RCAR_DU=m
|
CONFIG_DRM_RCAR_DU=m
|
||||||
CONFIG_DRM_RCAR_LVDS=y
|
CONFIG_DRM_RCAR_LVDS=m
|
||||||
CONFIG_DRM_RCAR_VSP=y
|
|
||||||
CONFIG_DRM_TEGRA=m
|
CONFIG_DRM_TEGRA=m
|
||||||
CONFIG_DRM_PANEL_SIMPLE=m
|
CONFIG_DRM_PANEL_SIMPLE=m
|
||||||
CONFIG_DRM_I2C_ADV7511=m
|
CONFIG_DRM_I2C_ADV7511=m
|
||||||
|
@ -455,7 +440,6 @@ CONFIG_FB_ARMCLCD=y
|
||||||
CONFIG_BACKLIGHT_GENERIC=m
|
CONFIG_BACKLIGHT_GENERIC=m
|
||||||
CONFIG_BACKLIGHT_PWM=m
|
CONFIG_BACKLIGHT_PWM=m
|
||||||
CONFIG_BACKLIGHT_LP855X=m
|
CONFIG_BACKLIGHT_LP855X=m
|
||||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
|
||||||
CONFIG_LOGO=y
|
CONFIG_LOGO=y
|
||||||
# CONFIG_LOGO_LINUX_MONO is not set
|
# CONFIG_LOGO_LINUX_MONO is not set
|
||||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||||
|
@ -468,6 +452,7 @@ CONFIG_SND_SOC_RCAR=m
|
||||||
CONFIG_SND_SOC_AK4613=m
|
CONFIG_SND_SOC_AK4613=m
|
||||||
CONFIG_SND_SIMPLE_CARD=m
|
CONFIG_SND_SIMPLE_CARD=m
|
||||||
CONFIG_SND_AUDIO_GRAPH_CARD=m
|
CONFIG_SND_AUDIO_GRAPH_CARD=m
|
||||||
|
CONFIG_I2C_HID=m
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
CONFIG_USB_OTG=y
|
CONFIG_USB_OTG=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
|
@ -501,12 +486,12 @@ CONFIG_MMC_BLOCK_MINORS=32
|
||||||
CONFIG_MMC_ARMMMCI=y
|
CONFIG_MMC_ARMMMCI=y
|
||||||
CONFIG_MMC_SDHCI=y
|
CONFIG_MMC_SDHCI=y
|
||||||
CONFIG_MMC_SDHCI_ACPI=y
|
CONFIG_MMC_SDHCI_ACPI=y
|
||||||
CONFIG_MMC_SDHCI_F_SDH30=y
|
|
||||||
CONFIG_MMC_SDHCI_PLTFM=y
|
CONFIG_MMC_SDHCI_PLTFM=y
|
||||||
CONFIG_MMC_SDHCI_OF_ARASAN=y
|
CONFIG_MMC_SDHCI_OF_ARASAN=y
|
||||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||||
CONFIG_MMC_SDHCI_CADENCE=y
|
CONFIG_MMC_SDHCI_CADENCE=y
|
||||||
CONFIG_MMC_SDHCI_TEGRA=y
|
CONFIG_MMC_SDHCI_TEGRA=y
|
||||||
|
CONFIG_MMC_SDHCI_F_SDH30=y
|
||||||
CONFIG_MMC_MESON_GX=y
|
CONFIG_MMC_MESON_GX=y
|
||||||
CONFIG_MMC_SDHCI_MSM=y
|
CONFIG_MMC_SDHCI_MSM=y
|
||||||
CONFIG_MMC_SPI=y
|
CONFIG_MMC_SPI=y
|
||||||
|
@ -524,11 +509,11 @@ CONFIG_LEDS_CLASS=y
|
||||||
CONFIG_LEDS_GPIO=y
|
CONFIG_LEDS_GPIO=y
|
||||||
CONFIG_LEDS_PWM=y
|
CONFIG_LEDS_PWM=y
|
||||||
CONFIG_LEDS_SYSCON=y
|
CONFIG_LEDS_SYSCON=y
|
||||||
|
CONFIG_LEDS_TRIGGER_DISK=y
|
||||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||||
CONFIG_LEDS_TRIGGER_CPU=y
|
CONFIG_LEDS_TRIGGER_CPU=y
|
||||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||||
CONFIG_LEDS_TRIGGER_PANIC=y
|
CONFIG_LEDS_TRIGGER_PANIC=y
|
||||||
CONFIG_LEDS_TRIGGER_DISK=y
|
|
||||||
CONFIG_EDAC=y
|
CONFIG_EDAC=y
|
||||||
CONFIG_EDAC_GHES=y
|
CONFIG_EDAC_GHES=y
|
||||||
CONFIG_RTC_CLASS=y
|
CONFIG_RTC_CLASS=y
|
||||||
|
@ -537,13 +522,13 @@ CONFIG_RTC_DRV_RK808=m
|
||||||
CONFIG_RTC_DRV_S5M=y
|
CONFIG_RTC_DRV_S5M=y
|
||||||
CONFIG_RTC_DRV_DS3232=y
|
CONFIG_RTC_DRV_DS3232=y
|
||||||
CONFIG_RTC_DRV_EFI=y
|
CONFIG_RTC_DRV_EFI=y
|
||||||
|
CONFIG_RTC_DRV_CROS_EC=y
|
||||||
CONFIG_RTC_DRV_S3C=y
|
CONFIG_RTC_DRV_S3C=y
|
||||||
CONFIG_RTC_DRV_PL031=y
|
CONFIG_RTC_DRV_PL031=y
|
||||||
CONFIG_RTC_DRV_SUN6I=y
|
CONFIG_RTC_DRV_SUN6I=y
|
||||||
CONFIG_RTC_DRV_ARMADA38X=y
|
CONFIG_RTC_DRV_ARMADA38X=y
|
||||||
CONFIG_RTC_DRV_TEGRA=y
|
CONFIG_RTC_DRV_TEGRA=y
|
||||||
CONFIG_RTC_DRV_XGENE=y
|
CONFIG_RTC_DRV_XGENE=y
|
||||||
CONFIG_RTC_DRV_CROS_EC=y
|
|
||||||
CONFIG_DMADEVICES=y
|
CONFIG_DMADEVICES=y
|
||||||
CONFIG_DMA_BCM2835=m
|
CONFIG_DMA_BCM2835=m
|
||||||
CONFIG_K3_DMA=y
|
CONFIG_K3_DMA=y
|
||||||
|
@ -579,7 +564,6 @@ CONFIG_HWSPINLOCK_QCOM=y
|
||||||
CONFIG_ARM_MHU=y
|
CONFIG_ARM_MHU=y
|
||||||
CONFIG_PLATFORM_MHU=y
|
CONFIG_PLATFORM_MHU=y
|
||||||
CONFIG_BCM2835_MBOX=y
|
CONFIG_BCM2835_MBOX=y
|
||||||
CONFIG_HI6220_MBOX=y
|
|
||||||
CONFIG_QCOM_APCS_IPC=y
|
CONFIG_QCOM_APCS_IPC=y
|
||||||
CONFIG_ROCKCHIP_IOMMU=y
|
CONFIG_ROCKCHIP_IOMMU=y
|
||||||
CONFIG_TEGRA_IOMMU_SMMU=y
|
CONFIG_TEGRA_IOMMU_SMMU=y
|
||||||
|
@ -602,7 +586,6 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
|
||||||
CONFIG_EXTCON_USB_GPIO=y
|
CONFIG_EXTCON_USB_GPIO=y
|
||||||
CONFIG_EXTCON_USBC_CROS_EC=y
|
CONFIG_EXTCON_USBC_CROS_EC=y
|
||||||
CONFIG_MEMORY=y
|
CONFIG_MEMORY=y
|
||||||
CONFIG_TEGRA_MC=y
|
|
||||||
CONFIG_IIO=y
|
CONFIG_IIO=y
|
||||||
CONFIG_EXYNOS_ADC=y
|
CONFIG_EXYNOS_ADC=y
|
||||||
CONFIG_ROCKCHIP_SARADC=m
|
CONFIG_ROCKCHIP_SARADC=m
|
||||||
|
@ -618,27 +601,27 @@ CONFIG_PWM_RCAR=m
|
||||||
CONFIG_PWM_ROCKCHIP=y
|
CONFIG_PWM_ROCKCHIP=y
|
||||||
CONFIG_PWM_SAMSUNG=y
|
CONFIG_PWM_SAMSUNG=y
|
||||||
CONFIG_PWM_TEGRA=m
|
CONFIG_PWM_TEGRA=m
|
||||||
|
CONFIG_PHY_XGENE=y
|
||||||
|
CONFIG_PHY_SUN4I_USB=y
|
||||||
|
CONFIG_PHY_HI6220_USB=y
|
||||||
CONFIG_PHY_HISTB_COMBPHY=y
|
CONFIG_PHY_HISTB_COMBPHY=y
|
||||||
CONFIG_PHY_HISI_INNO_USB2=y
|
CONFIG_PHY_HISI_INNO_USB2=y
|
||||||
CONFIG_PHY_RCAR_GEN3_USB2=y
|
|
||||||
CONFIG_PHY_RCAR_GEN3_USB3=m
|
|
||||||
CONFIG_PHY_HI6220_USB=y
|
|
||||||
CONFIG_PHY_QCOM_USB_HS=y
|
|
||||||
CONFIG_PHY_SUN4I_USB=y
|
|
||||||
CONFIG_PHY_MVEBU_CP110_COMPHY=y
|
CONFIG_PHY_MVEBU_CP110_COMPHY=y
|
||||||
CONFIG_PHY_QCOM_QMP=m
|
CONFIG_PHY_QCOM_QMP=m
|
||||||
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
CONFIG_PHY_QCOM_USB_HS=y
|
||||||
|
CONFIG_PHY_RCAR_GEN3_USB2=y
|
||||||
|
CONFIG_PHY_RCAR_GEN3_USB3=m
|
||||||
CONFIG_PHY_ROCKCHIP_EMMC=y
|
CONFIG_PHY_ROCKCHIP_EMMC=y
|
||||||
|
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||||
CONFIG_PHY_ROCKCHIP_PCIE=m
|
CONFIG_PHY_ROCKCHIP_PCIE=m
|
||||||
CONFIG_PHY_ROCKCHIP_TYPEC=y
|
CONFIG_PHY_ROCKCHIP_TYPEC=y
|
||||||
CONFIG_PHY_XGENE=y
|
|
||||||
CONFIG_PHY_TEGRA_XUSB=y
|
CONFIG_PHY_TEGRA_XUSB=y
|
||||||
CONFIG_QCOM_L2_PMU=y
|
CONFIG_QCOM_L2_PMU=y
|
||||||
CONFIG_QCOM_L3_PMU=y
|
CONFIG_QCOM_L3_PMU=y
|
||||||
CONFIG_MESON_EFUSE=m
|
|
||||||
CONFIG_QCOM_QFPROM=y
|
CONFIG_QCOM_QFPROM=y
|
||||||
CONFIG_ROCKCHIP_EFUSE=y
|
CONFIG_ROCKCHIP_EFUSE=y
|
||||||
CONFIG_UNIPHIER_EFUSE=y
|
CONFIG_UNIPHIER_EFUSE=y
|
||||||
|
CONFIG_MESON_EFUSE=m
|
||||||
CONFIG_TEE=y
|
CONFIG_TEE=y
|
||||||
CONFIG_OPTEE=y
|
CONFIG_OPTEE=y
|
||||||
CONFIG_ARM_SCPI_PROTOCOL=y
|
CONFIG_ARM_SCPI_PROTOCOL=y
|
||||||
|
@ -647,7 +630,6 @@ CONFIG_EFI_CAPSULE_LOADER=y
|
||||||
CONFIG_ACPI=y
|
CONFIG_ACPI=y
|
||||||
CONFIG_ACPI_APEI=y
|
CONFIG_ACPI_APEI=y
|
||||||
CONFIG_ACPI_APEI_GHES=y
|
CONFIG_ACPI_APEI_GHES=y
|
||||||
CONFIG_ACPI_APEI_PCIEAER=y
|
|
||||||
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
|
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
|
||||||
CONFIG_ACPI_APEI_EINJ=y
|
CONFIG_ACPI_APEI_EINJ=y
|
||||||
CONFIG_EXT2_FS=y
|
CONFIG_EXT2_FS=y
|
||||||
|
@ -682,7 +664,6 @@ CONFIG_DEBUG_INFO=y
|
||||||
CONFIG_DEBUG_FS=y
|
CONFIG_DEBUG_FS=y
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
CONFIG_MAGIC_SYSRQ=y
|
||||||
CONFIG_DEBUG_KERNEL=y
|
CONFIG_DEBUG_KERNEL=y
|
||||||
CONFIG_LOCKUP_DETECTOR=y
|
|
||||||
# CONFIG_SCHED_DEBUG is not set
|
# CONFIG_SCHED_DEBUG is not set
|
||||||
# CONFIG_DEBUG_PREEMPT is not set
|
# CONFIG_DEBUG_PREEMPT is not set
|
||||||
# CONFIG_FTRACE is not set
|
# CONFIG_FTRACE is not set
|
||||||
|
@ -691,20 +672,15 @@ CONFIG_SECURITY=y
|
||||||
CONFIG_CRYPTO_ECHAINIV=y
|
CONFIG_CRYPTO_ECHAINIV=y
|
||||||
CONFIG_CRYPTO_ANSI_CPRNG=y
|
CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||||
CONFIG_ARM64_CRYPTO=y
|
CONFIG_ARM64_CRYPTO=y
|
||||||
CONFIG_CRYPTO_SHA256_ARM64=m
|
|
||||||
CONFIG_CRYPTO_SHA512_ARM64=m
|
|
||||||
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
||||||
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
||||||
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
|
||||||
CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
|
|
||||||
CONFIG_CRYPTO_CRC32_ARM64_CE=m
|
|
||||||
CONFIG_CRYPTO_AES_ARM64=m
|
|
||||||
CONFIG_CRYPTO_AES_ARM64_CE=m
|
|
||||||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
|
||||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
|
||||||
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20_NEON=m
|
|
||||||
CONFIG_CRYPTO_AES_ARM64_BS=m
|
|
||||||
CONFIG_CRYPTO_SHA512_ARM64_CE=m
|
CONFIG_CRYPTO_SHA512_ARM64_CE=m
|
||||||
CONFIG_CRYPTO_SHA3_ARM64=m
|
CONFIG_CRYPTO_SHA3_ARM64=m
|
||||||
CONFIG_CRYPTO_SM3_ARM64_CE=m
|
CONFIG_CRYPTO_SM3_ARM64_CE=m
|
||||||
|
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
|
||||||
|
CONFIG_CRYPTO_CRC32_ARM64_CE=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||||
|
CONFIG_CRYPTO_CHACHA20_NEON=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_BS=m
|
||||||
|
|
|
@ -28,7 +28,12 @@ typedef void (*alternative_cb_t)(struct alt_instr *alt,
|
||||||
__le32 *origptr, __le32 *updptr, int nr_inst);
|
__le32 *origptr, __le32 *updptr, int nr_inst);
|
||||||
|
|
||||||
void __init apply_alternatives_all(void);
|
void __init apply_alternatives_all(void);
|
||||||
void apply_alternatives(void *start, size_t length);
|
|
||||||
|
#ifdef CONFIG_MODULES
|
||||||
|
void apply_alternatives_module(void *start, size_t length);
|
||||||
|
#else
|
||||||
|
static inline void apply_alternatives_module(void *start, size_t length) { }
|
||||||
|
#endif
|
||||||
|
|
||||||
#define ALTINSTR_ENTRY(feature,cb) \
|
#define ALTINSTR_ENTRY(feature,cb) \
|
||||||
" .word 661b - .\n" /* label */ \
|
" .word 661b - .\n" /* label */ \
|
||||||
|
|
|
@ -224,10 +224,8 @@ static inline void set_pte(pte_t *ptep, pte_t pte)
|
||||||
* Only if the new pte is valid and kernel, otherwise TLB maintenance
|
* Only if the new pte is valid and kernel, otherwise TLB maintenance
|
||||||
* or update_mmu_cache() have the necessary barriers.
|
* or update_mmu_cache() have the necessary barriers.
|
||||||
*/
|
*/
|
||||||
if (pte_valid_not_user(pte)) {
|
if (pte_valid_not_user(pte))
|
||||||
dsb(ishst);
|
dsb(ishst);
|
||||||
isb();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void __sync_icache_dcache(pte_t pteval);
|
extern void __sync_icache_dcache(pte_t pteval);
|
||||||
|
@ -434,7 +432,6 @@ static inline void set_pmd(pmd_t *pmdp, pmd_t pmd)
|
||||||
{
|
{
|
||||||
WRITE_ONCE(*pmdp, pmd);
|
WRITE_ONCE(*pmdp, pmd);
|
||||||
dsb(ishst);
|
dsb(ishst);
|
||||||
isb();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void pmd_clear(pmd_t *pmdp)
|
static inline void pmd_clear(pmd_t *pmdp)
|
||||||
|
@ -485,7 +482,6 @@ static inline void set_pud(pud_t *pudp, pud_t pud)
|
||||||
{
|
{
|
||||||
WRITE_ONCE(*pudp, pud);
|
WRITE_ONCE(*pudp, pud);
|
||||||
dsb(ishst);
|
dsb(ishst);
|
||||||
isb();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void pud_clear(pud_t *pudp)
|
static inline void pud_clear(pud_t *pudp)
|
||||||
|
|
|
@ -122,7 +122,30 @@ static void patch_alternative(struct alt_instr *alt,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __apply_alternatives(void *alt_region, bool use_linear_alias)
|
/*
|
||||||
|
* We provide our own, private D-cache cleaning function so that we don't
|
||||||
|
* accidentally call into the cache.S code, which is patched by us at
|
||||||
|
* runtime.
|
||||||
|
*/
|
||||||
|
static void clean_dcache_range_nopatch(u64 start, u64 end)
|
||||||
|
{
|
||||||
|
u64 cur, d_size, ctr_el0;
|
||||||
|
|
||||||
|
ctr_el0 = read_sanitised_ftr_reg(SYS_CTR_EL0);
|
||||||
|
d_size = 4 << cpuid_feature_extract_unsigned_field(ctr_el0,
|
||||||
|
CTR_DMINLINE_SHIFT);
|
||||||
|
cur = start & ~(d_size - 1);
|
||||||
|
do {
|
||||||
|
/*
|
||||||
|
* We must clean+invalidate to the PoC in order to avoid
|
||||||
|
* Cortex-A53 errata 826319, 827319, 824069 and 819472
|
||||||
|
* (this corresponds to ARM64_WORKAROUND_CLEAN_CACHE)
|
||||||
|
*/
|
||||||
|
asm volatile("dc civac, %0" : : "r" (cur) : "memory");
|
||||||
|
} while (cur += d_size, cur < end);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __apply_alternatives(void *alt_region, bool is_module)
|
||||||
{
|
{
|
||||||
struct alt_instr *alt;
|
struct alt_instr *alt;
|
||||||
struct alt_region *region = alt_region;
|
struct alt_region *region = alt_region;
|
||||||
|
@ -145,7 +168,7 @@ static void __apply_alternatives(void *alt_region, bool use_linear_alias)
|
||||||
pr_info_once("patching kernel code\n");
|
pr_info_once("patching kernel code\n");
|
||||||
|
|
||||||
origptr = ALT_ORIG_PTR(alt);
|
origptr = ALT_ORIG_PTR(alt);
|
||||||
updptr = use_linear_alias ? lm_alias(origptr) : origptr;
|
updptr = is_module ? origptr : lm_alias(origptr);
|
||||||
nr_inst = alt->orig_len / AARCH64_INSN_SIZE;
|
nr_inst = alt->orig_len / AARCH64_INSN_SIZE;
|
||||||
|
|
||||||
if (alt->cpufeature < ARM64_CB_PATCH)
|
if (alt->cpufeature < ARM64_CB_PATCH)
|
||||||
|
@ -155,8 +178,20 @@ static void __apply_alternatives(void *alt_region, bool use_linear_alias)
|
||||||
|
|
||||||
alt_cb(alt, origptr, updptr, nr_inst);
|
alt_cb(alt, origptr, updptr, nr_inst);
|
||||||
|
|
||||||
flush_icache_range((uintptr_t)origptr,
|
if (!is_module) {
|
||||||
(uintptr_t)(origptr + nr_inst));
|
clean_dcache_range_nopatch((u64)origptr,
|
||||||
|
(u64)(origptr + nr_inst));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The core module code takes care of cache maintenance in
|
||||||
|
* flush_module_icache().
|
||||||
|
*/
|
||||||
|
if (!is_module) {
|
||||||
|
dsb(ish);
|
||||||
|
__flush_icache_all();
|
||||||
|
isb();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,7 +213,7 @@ static int __apply_alternatives_multi_stop(void *unused)
|
||||||
isb();
|
isb();
|
||||||
} else {
|
} else {
|
||||||
BUG_ON(alternatives_applied);
|
BUG_ON(alternatives_applied);
|
||||||
__apply_alternatives(®ion, true);
|
__apply_alternatives(®ion, false);
|
||||||
/* Barriers provided by the cache flushing */
|
/* Barriers provided by the cache flushing */
|
||||||
WRITE_ONCE(alternatives_applied, 1);
|
WRITE_ONCE(alternatives_applied, 1);
|
||||||
}
|
}
|
||||||
|
@ -192,12 +227,14 @@ void __init apply_alternatives_all(void)
|
||||||
stop_machine(__apply_alternatives_multi_stop, NULL, cpu_online_mask);
|
stop_machine(__apply_alternatives_multi_stop, NULL, cpu_online_mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
void apply_alternatives(void *start, size_t length)
|
#ifdef CONFIG_MODULES
|
||||||
|
void apply_alternatives_module(void *start, size_t length)
|
||||||
{
|
{
|
||||||
struct alt_region region = {
|
struct alt_region region = {
|
||||||
.begin = start,
|
.begin = start,
|
||||||
.end = start + length,
|
.end = start + length,
|
||||||
};
|
};
|
||||||
|
|
||||||
__apply_alternatives(®ion, false);
|
__apply_alternatives(®ion, true);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -448,9 +448,8 @@ int module_finalize(const Elf_Ehdr *hdr,
|
||||||
const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
|
const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
|
||||||
|
|
||||||
for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) {
|
for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) {
|
||||||
if (strcmp(".altinstructions", secstrs + s->sh_name) == 0) {
|
if (strcmp(".altinstructions", secstrs + s->sh_name) == 0)
|
||||||
apply_alternatives((void *)s->sh_addr, s->sh_size);
|
apply_alternatives_module((void *)s->sh_addr, s->sh_size);
|
||||||
}
|
|
||||||
#ifdef CONFIG_ARM64_MODULE_PLTS
|
#ifdef CONFIG_ARM64_MODULE_PLTS
|
||||||
if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE) &&
|
if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE) &&
|
||||||
!strcmp(".text.ftrace_trampoline", secstrs + s->sh_name))
|
!strcmp(".text.ftrace_trampoline", secstrs + s->sh_name))
|
||||||
|
|
|
@ -8,11 +8,4 @@ config TRACE_IRQFLAGS_SUPPORT
|
||||||
|
|
||||||
source "lib/Kconfig.debug"
|
source "lib/Kconfig.debug"
|
||||||
|
|
||||||
config HEART_BEAT
|
|
||||||
bool "Heart beat function for kernel"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
This option turns on/off heart beat kernel functionality.
|
|
||||||
First GPIO node is taken.
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -19,15 +19,10 @@ extern char cmd_line[COMMAND_LINE_SIZE];
|
||||||
|
|
||||||
extern char *klimit;
|
extern char *klimit;
|
||||||
|
|
||||||
void microblaze_heartbeat(void);
|
|
||||||
void microblaze_setup_heartbeat(void);
|
|
||||||
|
|
||||||
# ifdef CONFIG_MMU
|
# ifdef CONFIG_MMU
|
||||||
extern void mmu_reset(void);
|
extern void mmu_reset(void);
|
||||||
# endif /* CONFIG_MMU */
|
# endif /* CONFIG_MMU */
|
||||||
|
|
||||||
extern void of_platform_reset_gpio_probe(void);
|
|
||||||
|
|
||||||
void time_init(void);
|
void time_init(void);
|
||||||
void init_IRQ(void);
|
void init_IRQ(void);
|
||||||
void machine_early_init(const char *cmdline, unsigned int ram,
|
void machine_early_init(const char *cmdline, unsigned int ram,
|
||||||
|
|
|
@ -38,6 +38,6 @@
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#define __NR_syscalls 399
|
#define __NR_syscalls 401
|
||||||
|
|
||||||
#endif /* _ASM_MICROBLAZE_UNISTD_H */
|
#endif /* _ASM_MICROBLAZE_UNISTD_H */
|
||||||
|
|
|
@ -415,5 +415,7 @@
|
||||||
#define __NR_pkey_alloc 396
|
#define __NR_pkey_alloc 396
|
||||||
#define __NR_pkey_free 397
|
#define __NR_pkey_free 397
|
||||||
#define __NR_statx 398
|
#define __NR_statx 398
|
||||||
|
#define __NR_io_pgetevents 399
|
||||||
|
#define __NR_rseq 400
|
||||||
|
|
||||||
#endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */
|
#endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */
|
||||||
|
|
|
@ -8,7 +8,6 @@ ifdef CONFIG_FUNCTION_TRACER
|
||||||
CFLAGS_REMOVE_timer.o = -pg
|
CFLAGS_REMOVE_timer.o = -pg
|
||||||
CFLAGS_REMOVE_intc.o = -pg
|
CFLAGS_REMOVE_intc.o = -pg
|
||||||
CFLAGS_REMOVE_early_printk.o = -pg
|
CFLAGS_REMOVE_early_printk.o = -pg
|
||||||
CFLAGS_REMOVE_heartbeat.o = -pg
|
|
||||||
CFLAGS_REMOVE_ftrace.o = -pg
|
CFLAGS_REMOVE_ftrace.o = -pg
|
||||||
CFLAGS_REMOVE_process.o = -pg
|
CFLAGS_REMOVE_process.o = -pg
|
||||||
endif
|
endif
|
||||||
|
@ -17,12 +16,11 @@ extra-y := head.o vmlinux.lds
|
||||||
|
|
||||||
obj-y += dma.o exceptions.o \
|
obj-y += dma.o exceptions.o \
|
||||||
hw_exception_handler.o irq.o \
|
hw_exception_handler.o irq.o \
|
||||||
platform.o process.o prom.o ptrace.o \
|
process.o prom.o ptrace.o \
|
||||||
reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
|
reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
|
||||||
|
|
||||||
obj-y += cpu/
|
obj-y += cpu/
|
||||||
|
|
||||||
obj-$(CONFIG_HEART_BEAT) += heartbeat.o
|
|
||||||
obj-$(CONFIG_MODULES) += microblaze_ksyms.o module.o
|
obj-$(CONFIG_MODULES) += microblaze_ksyms.o module.o
|
||||||
obj-$(CONFIG_MMU) += misc.o
|
obj-$(CONFIG_MMU) += misc.o
|
||||||
obj-$(CONFIG_STACKTRACE) += stacktrace.o
|
obj-$(CONFIG_STACKTRACE) += stacktrace.o
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu>
|
|
||||||
* Copyright (C) 2007-2009 PetaLogix
|
|
||||||
* Copyright (C) 2006 Atmark Techno, Inc.
|
|
||||||
*
|
|
||||||
* This file is subject to the terms and conditions of the GNU General Public
|
|
||||||
* License. See the file "COPYING" in the main directory of this archive
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <linux/sched.h>
|
|
||||||
#include <linux/sched/loadavg.h>
|
|
||||||
#include <linux/io.h>
|
|
||||||
|
|
||||||
#include <asm/setup.h>
|
|
||||||
#include <asm/page.h>
|
|
||||||
#include <asm/prom.h>
|
|
||||||
|
|
||||||
static unsigned int base_addr;
|
|
||||||
|
|
||||||
void microblaze_heartbeat(void)
|
|
||||||
{
|
|
||||||
static unsigned int cnt, period, dist;
|
|
||||||
|
|
||||||
if (base_addr) {
|
|
||||||
if (cnt == 0 || cnt == dist)
|
|
||||||
out_be32(base_addr, 1);
|
|
||||||
else if (cnt == 7 || cnt == dist + 7)
|
|
||||||
out_be32(base_addr, 0);
|
|
||||||
|
|
||||||
if (++cnt > period) {
|
|
||||||
cnt = 0;
|
|
||||||
/*
|
|
||||||
* The hyperbolic function below modifies the heartbeat
|
|
||||||
* period length in dependency of the current (5min)
|
|
||||||
* load. It goes through the points f(0)=126, f(1)=86,
|
|
||||||
* f(5)=51, f(inf)->30.
|
|
||||||
*/
|
|
||||||
period = ((672 << FSHIFT) / (5 * avenrun[0] +
|
|
||||||
(7 << FSHIFT))) + 30;
|
|
||||||
dist = period / 4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void microblaze_setup_heartbeat(void)
|
|
||||||
{
|
|
||||||
struct device_node *gpio = NULL;
|
|
||||||
int *prop;
|
|
||||||
int j;
|
|
||||||
const char * const gpio_list[] = {
|
|
||||||
"xlnx,xps-gpio-1.00.a",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
for (j = 0; gpio_list[j] != NULL; j++) {
|
|
||||||
gpio = of_find_compatible_node(NULL, NULL, gpio_list[j]);
|
|
||||||
if (gpio)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (gpio) {
|
|
||||||
base_addr = be32_to_cpup(of_get_property(gpio, "reg", NULL));
|
|
||||||
base_addr = (unsigned long) ioremap(base_addr, PAGE_SIZE);
|
|
||||||
pr_notice("Heartbeat GPIO at 0x%x\n", base_addr);
|
|
||||||
|
|
||||||
/* GPIO is configured as output */
|
|
||||||
prop = (int *) of_get_property(gpio, "xlnx,is-bidir", NULL);
|
|
||||||
if (prop)
|
|
||||||
out_be32(base_addr + 4, 0);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2008 Michal Simek <monstr@monstr.eu>
|
|
||||||
*
|
|
||||||
* based on virtex.c file
|
|
||||||
*
|
|
||||||
* Copyright 2007 Secret Lab Technologies Ltd.
|
|
||||||
*
|
|
||||||
* This file is licensed under the terms of the GNU General Public License
|
|
||||||
* version 2. This program is licensed "as is" without any warranty of any
|
|
||||||
* kind, whether express or implied.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <linux/init.h>
|
|
||||||
#include <linux/of_platform.h>
|
|
||||||
#include <asm/setup.h>
|
|
||||||
|
|
||||||
static struct of_device_id xilinx_of_bus_ids[] __initdata = {
|
|
||||||
{ .compatible = "simple-bus", },
|
|
||||||
{ .compatible = "xlnx,compound", },
|
|
||||||
{}
|
|
||||||
};
|
|
||||||
|
|
||||||
static int __init microblaze_device_probe(void)
|
|
||||||
{
|
|
||||||
of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL);
|
|
||||||
of_platform_reset_gpio_probe();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
device_initcall(microblaze_device_probe);
|
|
|
@ -18,7 +18,7 @@
|
||||||
static int handle; /* reset pin handle */
|
static int handle; /* reset pin handle */
|
||||||
static unsigned int reset_val;
|
static unsigned int reset_val;
|
||||||
|
|
||||||
void of_platform_reset_gpio_probe(void)
|
static int of_platform_reset_gpio_probe(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
handle = of_get_named_gpio(of_find_node_by_path("/"),
|
handle = of_get_named_gpio(of_find_node_by_path("/"),
|
||||||
|
@ -27,13 +27,13 @@ void of_platform_reset_gpio_probe(void)
|
||||||
if (!gpio_is_valid(handle)) {
|
if (!gpio_is_valid(handle)) {
|
||||||
pr_info("Skipping unavailable RESET gpio %d (%s)\n",
|
pr_info("Skipping unavailable RESET gpio %d (%s)\n",
|
||||||
handle, "reset");
|
handle, "reset");
|
||||||
return;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = gpio_request(handle, "reset");
|
ret = gpio_request(handle, "reset");
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
pr_info("GPIO pin is already allocated\n");
|
pr_info("GPIO pin is already allocated\n");
|
||||||
return;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get current setup value */
|
/* get current setup value */
|
||||||
|
@ -51,11 +51,12 @@ void of_platform_reset_gpio_probe(void)
|
||||||
|
|
||||||
pr_info("RESET: Registered gpio device: %d, current val: %d\n",
|
pr_info("RESET: Registered gpio device: %d, current val: %d\n",
|
||||||
handle, reset_val);
|
handle, reset_val);
|
||||||
return;
|
return 0;
|
||||||
err:
|
err:
|
||||||
gpio_free(handle);
|
gpio_free(handle);
|
||||||
return;
|
return ret;
|
||||||
}
|
}
|
||||||
|
device_initcall(of_platform_reset_gpio_probe);
|
||||||
|
|
||||||
|
|
||||||
static void gpio_system_reset(void)
|
static void gpio_system_reset(void)
|
||||||
|
|
|
@ -400,3 +400,5 @@ ENTRY(sys_call_table)
|
||||||
.long sys_pkey_alloc
|
.long sys_pkey_alloc
|
||||||
.long sys_pkey_free
|
.long sys_pkey_free
|
||||||
.long sys_statx
|
.long sys_statx
|
||||||
|
.long sys_io_pgetevents
|
||||||
|
.long sys_rseq
|
||||||
|
|
|
@ -156,9 +156,6 @@ static inline void timer_ack(void)
|
||||||
static irqreturn_t timer_interrupt(int irq, void *dev_id)
|
static irqreturn_t timer_interrupt(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
struct clock_event_device *evt = &clockevent_xilinx_timer;
|
struct clock_event_device *evt = &clockevent_xilinx_timer;
|
||||||
#ifdef CONFIG_HEART_BEAT
|
|
||||||
microblaze_heartbeat();
|
|
||||||
#endif
|
|
||||||
timer_ack();
|
timer_ack();
|
||||||
evt->event_handler(evt);
|
evt->event_handler(evt);
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -318,10 +315,6 @@ static int __init xilinx_timer_init(struct device_node *timer)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_HEART_BEAT
|
|
||||||
microblaze_setup_heartbeat();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ret = xilinx_clocksource_init();
|
ret = xilinx_clocksource_init();
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -801,7 +801,7 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
|
||||||
regs->regs[0] = 0; /* Don't deal with this again. */
|
regs->regs[0] = 0; /* Don't deal with this again. */
|
||||||
}
|
}
|
||||||
|
|
||||||
rseq_signal_deliver(regs);
|
rseq_signal_deliver(ksig, regs);
|
||||||
|
|
||||||
if (sig_uses_siginfo(&ksig->ka, abi))
|
if (sig_uses_siginfo(&ksig->ka, abi))
|
||||||
ret = abi->setup_rt_frame(vdso + abi->vdso->off_rt_sigreturn,
|
ret = abi->setup_rt_frame(vdso + abi->vdso->off_rt_sigreturn,
|
||||||
|
@ -870,7 +870,7 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, void *unused,
|
||||||
if (thread_info_flags & _TIF_NOTIFY_RESUME) {
|
if (thread_info_flags & _TIF_NOTIFY_RESUME) {
|
||||||
clear_thread_flag(TIF_NOTIFY_RESUME);
|
clear_thread_flag(TIF_NOTIFY_RESUME);
|
||||||
tracehook_notify_resume(regs);
|
tracehook_notify_resume(regs);
|
||||||
rseq_handle_notify_resume(regs);
|
rseq_handle_notify_resume(NULL, regs);
|
||||||
}
|
}
|
||||||
|
|
||||||
user_enter();
|
user_enter();
|
||||||
|
|
|
@ -98,8 +98,12 @@ static inline void pte_free(struct mm_struct *mm, struct page *pte)
|
||||||
__free_page(pte);
|
__free_page(pte);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define __pte_free_tlb(tlb, pte, addr) \
|
||||||
|
do { \
|
||||||
|
pgtable_page_dtor(pte); \
|
||||||
|
tlb_remove_page((tlb), (pte)); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define __pte_free_tlb(tlb, pte, addr) tlb_remove_page((tlb), (pte))
|
|
||||||
#define pmd_pgtable(pmd) pmd_page(pmd)
|
#define pmd_pgtable(pmd) pmd_page(pmd)
|
||||||
|
|
||||||
#define check_pgt_cache() do { } while (0)
|
#define check_pgt_cache() do { } while (0)
|
||||||
|
|
|
@ -277,12 +277,6 @@ EXCEPTION_ENTRY(_data_page_fault_handler)
|
||||||
l.addi r3,r1,0 // pt_regs
|
l.addi r3,r1,0 // pt_regs
|
||||||
/* r4 set be EXCEPTION_HANDLE */ // effective address of fault
|
/* r4 set be EXCEPTION_HANDLE */ // effective address of fault
|
||||||
|
|
||||||
/*
|
|
||||||
* __PHX__: TODO
|
|
||||||
*
|
|
||||||
* all this can be written much simpler. look at
|
|
||||||
* DTLB miss handler in the CONFIG_GUARD_PROTECTED_CORE part
|
|
||||||
*/
|
|
||||||
#ifdef CONFIG_OPENRISC_NO_SPR_SR_DSX
|
#ifdef CONFIG_OPENRISC_NO_SPR_SR_DSX
|
||||||
l.lwz r6,PT_PC(r3) // address of an offending insn
|
l.lwz r6,PT_PC(r3) // address of an offending insn
|
||||||
l.lwz r6,0(r6) // instruction that caused pf
|
l.lwz r6,0(r6) // instruction that caused pf
|
||||||
|
@ -314,7 +308,7 @@ EXCEPTION_ENTRY(_data_page_fault_handler)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
l.lwz r6,PT_SR(r3) // SR
|
l.mfspr r6,r0,SPR_SR // SR
|
||||||
l.andi r6,r6,SPR_SR_DSX // check for delay slot exception
|
l.andi r6,r6,SPR_SR_DSX // check for delay slot exception
|
||||||
l.sfne r6,r0 // exception happened in delay slot
|
l.sfne r6,r0 // exception happened in delay slot
|
||||||
l.bnf 7f
|
l.bnf 7f
|
||||||
|
|
|
@ -210,8 +210,7 @@
|
||||||
* r4 - EEAR exception EA
|
* r4 - EEAR exception EA
|
||||||
* r10 - current pointing to current_thread_info struct
|
* r10 - current pointing to current_thread_info struct
|
||||||
* r12 - syscall 0, since we didn't come from syscall
|
* r12 - syscall 0, since we didn't come from syscall
|
||||||
* r13 - temp it actually contains new SR, not needed anymore
|
* r30 - handler address of the handler we'll jump to
|
||||||
* r31 - handler address of the handler we'll jump to
|
|
||||||
*
|
*
|
||||||
* handler has to save remaining registers to the exception
|
* handler has to save remaining registers to the exception
|
||||||
* ksp frame *before* tainting them!
|
* ksp frame *before* tainting them!
|
||||||
|
@ -244,6 +243,7 @@
|
||||||
/* r1 is KSP, r30 is __pa(KSP) */ ;\
|
/* r1 is KSP, r30 is __pa(KSP) */ ;\
|
||||||
tophys (r30,r1) ;\
|
tophys (r30,r1) ;\
|
||||||
l.sw PT_GPR12(r30),r12 ;\
|
l.sw PT_GPR12(r30),r12 ;\
|
||||||
|
/* r4 use for tmp before EA */ ;\
|
||||||
l.mfspr r12,r0,SPR_EPCR_BASE ;\
|
l.mfspr r12,r0,SPR_EPCR_BASE ;\
|
||||||
l.sw PT_PC(r30),r12 ;\
|
l.sw PT_PC(r30),r12 ;\
|
||||||
l.mfspr r12,r0,SPR_ESR_BASE ;\
|
l.mfspr r12,r0,SPR_ESR_BASE ;\
|
||||||
|
@ -263,7 +263,10 @@
|
||||||
/* r12 == 1 if we come from syscall */ ;\
|
/* r12 == 1 if we come from syscall */ ;\
|
||||||
CLEAR_GPR(r12) ;\
|
CLEAR_GPR(r12) ;\
|
||||||
/* ----- turn on MMU ----- */ ;\
|
/* ----- turn on MMU ----- */ ;\
|
||||||
l.ori r30,r0,(EXCEPTION_SR) ;\
|
/* Carry DSX into exception SR */ ;\
|
||||||
|
l.mfspr r30,r0,SPR_SR ;\
|
||||||
|
l.andi r30,r30,SPR_SR_DSX ;\
|
||||||
|
l.ori r30,r30,(EXCEPTION_SR) ;\
|
||||||
l.mtspr r0,r30,SPR_ESR_BASE ;\
|
l.mtspr r0,r30,SPR_ESR_BASE ;\
|
||||||
/* r30: EA address of handler */ ;\
|
/* r30: EA address of handler */ ;\
|
||||||
LOAD_SYMBOL_2_GPR(r30,handler) ;\
|
LOAD_SYMBOL_2_GPR(r30,handler) ;\
|
||||||
|
|
|
@ -300,7 +300,7 @@ static inline int in_delay_slot(struct pt_regs *regs)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
return regs->sr & SPR_SR_DSX;
|
return mfspr(SPR_SR) & SPR_SR_DSX;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -244,11 +244,11 @@ config PARISC_PAGE_SIZE_4KB
|
||||||
|
|
||||||
config PARISC_PAGE_SIZE_16KB
|
config PARISC_PAGE_SIZE_16KB
|
||||||
bool "16KB"
|
bool "16KB"
|
||||||
depends on PA8X00
|
depends on PA8X00 && BROKEN
|
||||||
|
|
||||||
config PARISC_PAGE_SIZE_64KB
|
config PARISC_PAGE_SIZE_64KB
|
||||||
bool "64KB"
|
bool "64KB"
|
||||||
depends on PA8X00
|
depends on PA8X00 && BROKEN
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -347,7 +347,7 @@ config NR_CPUS
|
||||||
int "Maximum number of CPUs (2-32)"
|
int "Maximum number of CPUs (2-32)"
|
||||||
range 2 32
|
range 2 32
|
||||||
depends on SMP
|
depends on SMP
|
||||||
default "32"
|
default "4"
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
|
|
@ -65,10 +65,6 @@ endif
|
||||||
# kernel.
|
# kernel.
|
||||||
cflags-y += -mdisable-fpregs
|
cflags-y += -mdisable-fpregs
|
||||||
|
|
||||||
# Without this, "ld -r" results in .text sections that are too big
|
|
||||||
# (> 0x40000) for branches to reach stubs.
|
|
||||||
cflags-y += -ffunction-sections
|
|
||||||
|
|
||||||
# Use long jumps instead of long branches (needed if your linker fails to
|
# Use long jumps instead of long branches (needed if your linker fails to
|
||||||
# link a too big vmlinux executable). Not enabled for building modules.
|
# link a too big vmlinux executable). Not enabled for building modules.
|
||||||
ifdef CONFIG_MLONGCALLS
|
ifdef CONFIG_MLONGCALLS
|
||||||
|
|
|
@ -21,14 +21,6 @@ typedef struct {
|
||||||
unsigned long sig[_NSIG_WORDS];
|
unsigned long sig[_NSIG_WORDS];
|
||||||
} sigset_t;
|
} sigset_t;
|
||||||
|
|
||||||
#ifndef __KERNEL__
|
|
||||||
struct sigaction {
|
|
||||||
__sighandler_t sa_handler;
|
|
||||||
unsigned long sa_flags;
|
|
||||||
sigset_t sa_mask; /* mask last for extensibility */
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <asm/sigcontext.h>
|
#include <asm/sigcontext.h>
|
||||||
|
|
||||||
#endif /* !__ASSEMBLY */
|
#endif /* !__ASSEMBLY */
|
||||||
|
|
|
@ -364,8 +364,9 @@
|
||||||
#define __NR_preadv2 (__NR_Linux + 347)
|
#define __NR_preadv2 (__NR_Linux + 347)
|
||||||
#define __NR_pwritev2 (__NR_Linux + 348)
|
#define __NR_pwritev2 (__NR_Linux + 348)
|
||||||
#define __NR_statx (__NR_Linux + 349)
|
#define __NR_statx (__NR_Linux + 349)
|
||||||
|
#define __NR_io_pgetevents (__NR_Linux + 350)
|
||||||
|
|
||||||
#define __NR_Linux_syscalls (__NR_statx + 1)
|
#define __NR_Linux_syscalls (__NR_io_pgetevents + 1)
|
||||||
|
|
||||||
|
|
||||||
#define __IGNORE_select /* newselect */
|
#define __IGNORE_select /* newselect */
|
||||||
|
|
|
@ -154,17 +154,14 @@ int register_parisc_driver(struct parisc_driver *driver)
|
||||||
{
|
{
|
||||||
/* FIXME: we need this because apparently the sti
|
/* FIXME: we need this because apparently the sti
|
||||||
* driver can be registered twice */
|
* driver can be registered twice */
|
||||||
if(driver->drv.name) {
|
if (driver->drv.name) {
|
||||||
printk(KERN_WARNING
|
pr_warn("BUG: skipping previously registered driver %s\n",
|
||||||
"BUG: skipping previously registered driver %s\n",
|
driver->name);
|
||||||
driver->name);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!driver->probe) {
|
if (!driver->probe) {
|
||||||
printk(KERN_WARNING
|
pr_warn("BUG: driver %s has no probe routine\n", driver->name);
|
||||||
"BUG: driver %s has no probe routine\n",
|
|
||||||
driver->name);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -491,12 +488,9 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
|
||||||
|
|
||||||
dev = create_parisc_device(mod_path);
|
dev = create_parisc_device(mod_path);
|
||||||
if (dev->id.hw_type != HPHW_FAULTY) {
|
if (dev->id.hw_type != HPHW_FAULTY) {
|
||||||
printk(KERN_ERR "Two devices have hardware path [%s]. "
|
pr_err("Two devices have hardware path [%s]. IODC data for second device: %7phN\n"
|
||||||
"IODC data for second device: "
|
"Rearranging GSC cards sometimes helps\n",
|
||||||
"%02x%02x%02x%02x%02x%02x\n"
|
parisc_pathname(dev), iodc_data);
|
||||||
"Rearranging GSC cards sometimes helps\n",
|
|
||||||
parisc_pathname(dev), iodc_data[0], iodc_data[1],
|
|
||||||
iodc_data[3], iodc_data[4], iodc_data[5], iodc_data[6]);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -528,8 +522,7 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
|
||||||
* the keyboard controller
|
* the keyboard controller
|
||||||
*/
|
*/
|
||||||
if ((hpa & 0xfff) == 0 && insert_resource(&iomem_resource, &dev->hpa))
|
if ((hpa & 0xfff) == 0 && insert_resource(&iomem_resource, &dev->hpa))
|
||||||
printk("Unable to claim HPA %lx for device %s\n",
|
pr_warn("Unable to claim HPA %lx for device %s\n", hpa, name);
|
||||||
hpa, name);
|
|
||||||
|
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
@ -875,7 +868,7 @@ static void print_parisc_device(struct parisc_device *dev)
|
||||||
static int count;
|
static int count;
|
||||||
|
|
||||||
print_pa_hwpath(dev, hw_path);
|
print_pa_hwpath(dev, hw_path);
|
||||||
printk(KERN_INFO "%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
|
pr_info("%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
|
||||||
++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type,
|
++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type,
|
||||||
dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
|
dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
|
||||||
|
|
||||||
|
|
|
@ -445,6 +445,7 @@
|
||||||
ENTRY_COMP(preadv2)
|
ENTRY_COMP(preadv2)
|
||||||
ENTRY_COMP(pwritev2)
|
ENTRY_COMP(pwritev2)
|
||||||
ENTRY_SAME(statx)
|
ENTRY_SAME(statx)
|
||||||
|
ENTRY_COMP(io_pgetevents) /* 350 */
|
||||||
|
|
||||||
|
|
||||||
.ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
|
.ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
/* #define DEBUG 1 */
|
/* #define DEBUG 1 */
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define dbg(x...) printk(x)
|
#define dbg(x...) pr_debug(x)
|
||||||
#else
|
#else
|
||||||
#define dbg(x...)
|
#define dbg(x...)
|
||||||
#endif
|
#endif
|
||||||
|
@ -182,7 +182,7 @@ int __init unwind_init(void)
|
||||||
start = (long)&__start___unwind[0];
|
start = (long)&__start___unwind[0];
|
||||||
stop = (long)&__stop___unwind[0];
|
stop = (long)&__stop___unwind[0];
|
||||||
|
|
||||||
printk("unwind_init: start = 0x%lx, end = 0x%lx, entries = %lu\n",
|
dbg("unwind_init: start = 0x%lx, end = 0x%lx, entries = %lu\n",
|
||||||
start, stop,
|
start, stop,
|
||||||
(stop - start) / sizeof(struct unwind_table_entry));
|
(stop - start) / sizeof(struct unwind_table_entry));
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,6 @@ static inline void pgtable_free_tlb(struct mmu_gather *tlb,
|
||||||
static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table,
|
static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table,
|
||||||
unsigned long address)
|
unsigned long address)
|
||||||
{
|
{
|
||||||
pgtable_page_dtor(table);
|
|
||||||
pgtable_free_tlb(tlb, page_address(table), 0);
|
pgtable_free_tlb(tlb, page_address(table), 0);
|
||||||
}
|
}
|
||||||
#endif /* _ASM_POWERPC_BOOK3S_32_PGALLOC_H */
|
#endif /* _ASM_POWERPC_BOOK3S_32_PGALLOC_H */
|
||||||
|
|
|
@ -140,7 +140,6 @@ static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table,
|
||||||
unsigned long address)
|
unsigned long address)
|
||||||
{
|
{
|
||||||
tlb_flush_pgtable(tlb, address);
|
tlb_flush_pgtable(tlb, address);
|
||||||
pgtable_page_dtor(table);
|
|
||||||
pgtable_free_tlb(tlb, page_address(table), 0);
|
pgtable_free_tlb(tlb, page_address(table), 0);
|
||||||
}
|
}
|
||||||
#endif /* _ASM_POWERPC_PGALLOC_32_H */
|
#endif /* _ASM_POWERPC_PGALLOC_32_H */
|
||||||
|
|
|
@ -393,3 +393,4 @@ SYSCALL(pkey_alloc)
|
||||||
SYSCALL(pkey_free)
|
SYSCALL(pkey_free)
|
||||||
SYSCALL(pkey_mprotect)
|
SYSCALL(pkey_mprotect)
|
||||||
SYSCALL(rseq)
|
SYSCALL(rseq)
|
||||||
|
COMPAT_SYS(io_pgetevents)
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#include <uapi/asm/unistd.h>
|
#include <uapi/asm/unistd.h>
|
||||||
|
|
||||||
|
|
||||||
#define NR_syscalls 388
|
#define NR_syscalls 389
|
||||||
|
|
||||||
#define __NR__exit __NR_exit
|
#define __NR__exit __NR_exit
|
||||||
|
|
||||||
|
|
|
@ -399,5 +399,6 @@
|
||||||
#define __NR_pkey_free 385
|
#define __NR_pkey_free 385
|
||||||
#define __NR_pkey_mprotect 386
|
#define __NR_pkey_mprotect 386
|
||||||
#define __NR_rseq 387
|
#define __NR_rseq 387
|
||||||
|
#define __NR_io_pgetevents 388
|
||||||
|
|
||||||
#endif /* _UAPI_ASM_POWERPC_UNISTD_H_ */
|
#endif /* _UAPI_ASM_POWERPC_UNISTD_H_ */
|
||||||
|
|
|
@ -285,9 +285,6 @@ pci_bus_to_hose(int bus)
|
||||||
* Note that the returned IO or memory base is a physical address
|
* Note that the returned IO or memory base is a physical address
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
SYSCALL_DEFINE3(pciconfig_iobase, long, which,
|
SYSCALL_DEFINE3(pciconfig_iobase, long, which,
|
||||||
unsigned long, bus, unsigned long, devfn)
|
unsigned long, bus, unsigned long, devfn)
|
||||||
{
|
{
|
||||||
|
@ -313,4 +310,3 @@ SYSCALL_DEFINE3(pciconfig_iobase, long, which,
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
|
@ -203,9 +203,6 @@ void pcibios_setup_phb_io_space(struct pci_controller *hose)
|
||||||
#define IOBASE_ISA_IO 3
|
#define IOBASE_ISA_IO 3
|
||||||
#define IOBASE_ISA_MEM 4
|
#define IOBASE_ISA_MEM 4
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
SYSCALL_DEFINE3(pciconfig_iobase, long, which, unsigned long, in_bus,
|
SYSCALL_DEFINE3(pciconfig_iobase, long, which, unsigned long, in_bus,
|
||||||
unsigned long, in_devfn)
|
unsigned long, in_devfn)
|
||||||
{
|
{
|
||||||
|
@ -259,7 +256,6 @@ SYSCALL_DEFINE3(pciconfig_iobase, long, which, unsigned long, in_bus,
|
||||||
|
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
#ifdef CONFIG_NUMA
|
#ifdef CONFIG_NUMA
|
||||||
int pcibus_to_node(struct pci_bus *bus)
|
int pcibus_to_node(struct pci_bus *bus)
|
||||||
|
|
|
@ -1051,9 +1051,6 @@ struct pseries_errorlog *get_pseries_errorlog(struct rtas_error_log *log,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We assume to be passed big endian arguments */
|
/* We assume to be passed big endian arguments */
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
SYSCALL_DEFINE1(rtas, struct rtas_args __user *, uargs)
|
SYSCALL_DEFINE1(rtas, struct rtas_args __user *, uargs)
|
||||||
{
|
{
|
||||||
struct rtas_args args;
|
struct rtas_args args;
|
||||||
|
@ -1140,7 +1137,6 @@ SYSCALL_DEFINE1(rtas, struct rtas_args __user *, uargs)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Call early during boot, before mem init, to retrieve the RTAS
|
* Call early during boot, before mem init, to retrieve the RTAS
|
||||||
|
|
|
@ -1038,9 +1038,6 @@ static int do_setcontext_tm(struct ucontext __user *ucp,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
#ifdef CONFIG_PPC64
|
#ifdef CONFIG_PPC64
|
||||||
COMPAT_SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
COMPAT_SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
||||||
struct ucontext __user *, new_ctx, int, ctx_size)
|
struct ucontext __user *, new_ctx, int, ctx_size)
|
||||||
|
@ -1134,7 +1131,6 @@ SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
||||||
set_thread_flag(TIF_RESTOREALL);
|
set_thread_flag(TIF_RESTOREALL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
#ifdef CONFIG_PPC64
|
#ifdef CONFIG_PPC64
|
||||||
COMPAT_SYSCALL_DEFINE0(rt_sigreturn)
|
COMPAT_SYSCALL_DEFINE0(rt_sigreturn)
|
||||||
|
@ -1231,9 +1227,6 @@ SYSCALL_DEFINE0(rt_sigreturn)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
#ifdef CONFIG_PPC32
|
#ifdef CONFIG_PPC32
|
||||||
SYSCALL_DEFINE3(debug_setcontext, struct ucontext __user *, ctx,
|
SYSCALL_DEFINE3(debug_setcontext, struct ucontext __user *, ctx,
|
||||||
int, ndbg, struct sig_dbg_op __user *, dbg)
|
int, ndbg, struct sig_dbg_op __user *, dbg)
|
||||||
|
@ -1337,7 +1330,6 @@ SYSCALL_DEFINE3(debug_setcontext, struct ucontext __user *, ctx,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* OK, we're invoking a handler
|
* OK, we're invoking a handler
|
||||||
|
|
|
@ -625,9 +625,6 @@ static long setup_trampoline(unsigned int syscall, unsigned int __user *tramp)
|
||||||
/*
|
/*
|
||||||
* Handle {get,set,swap}_context operations
|
* Handle {get,set,swap}_context operations
|
||||||
*/
|
*/
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
||||||
struct ucontext __user *, new_ctx, long, ctx_size)
|
struct ucontext __user *, new_ctx, long, ctx_size)
|
||||||
{
|
{
|
||||||
|
@ -693,7 +690,6 @@ SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
||||||
set_thread_flag(TIF_RESTOREALL);
|
set_thread_flag(TIF_RESTOREALL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -62,9 +62,6 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
SYSCALL_DEFINE6(mmap2, unsigned long, addr, size_t, len,
|
SYSCALL_DEFINE6(mmap2, unsigned long, addr, size_t, len,
|
||||||
unsigned long, prot, unsigned long, flags,
|
unsigned long, prot, unsigned long, flags,
|
||||||
unsigned long, fd, unsigned long, pgoff)
|
unsigned long, fd, unsigned long, pgoff)
|
||||||
|
@ -78,7 +75,6 @@ SYSCALL_DEFINE6(mmap, unsigned long, addr, size_t, len,
|
||||||
{
|
{
|
||||||
return do_mmap2(addr, len, prot, flags, fd, offset, PAGE_SHIFT);
|
return do_mmap2(addr, len, prot, flags, fd, offset, PAGE_SHIFT);
|
||||||
}
|
}
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
||||||
#ifdef CONFIG_PPC32
|
#ifdef CONFIG_PPC32
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -186,9 +186,6 @@ static void subpage_mark_vma_nohuge(struct mm_struct *mm, unsigned long addr,
|
||||||
* in a 2-bit field won't allow writes to a page that is otherwise
|
* in a 2-bit field won't allow writes to a page that is otherwise
|
||||||
* write-protected.
|
* write-protected.
|
||||||
*/
|
*/
|
||||||
#pragma GCC diagnostic push
|
|
||||||
#pragma GCC diagnostic ignored "-Wpragmas"
|
|
||||||
#pragma GCC diagnostic ignored "-Wattribute-alias"
|
|
||||||
SYSCALL_DEFINE3(subpage_prot, unsigned long, addr,
|
SYSCALL_DEFINE3(subpage_prot, unsigned long, addr,
|
||||||
unsigned long, len, u32 __user *, map)
|
unsigned long, len, u32 __user *, map)
|
||||||
{
|
{
|
||||||
|
@ -272,4 +269,3 @@ SYSCALL_DEFINE3(subpage_prot, unsigned long, addr,
|
||||||
up_write(&mm->mmap_sem);
|
up_write(&mm->mmap_sem);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
#pragma GCC diagnostic pop
|
|
||||||
|
|
|
@ -42,7 +42,11 @@
|
||||||
#define DBG(x...)
|
#define DBG(x...)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Apparently the RTC stores seconds since 1 Jan 1904 */
|
/*
|
||||||
|
* Offset between Unix time (1970-based) and Mac time (1904-based). Cuda and PMU
|
||||||
|
* times wrap in 2040. If we need to handle later times, the read_time functions
|
||||||
|
* need to be changed to interpret wrapped times as post-2040.
|
||||||
|
*/
|
||||||
#define RTC_OFFSET 2082844800
|
#define RTC_OFFSET 2082844800
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -97,8 +101,11 @@ static time64_t cuda_get_time(void)
|
||||||
if (req.reply_len != 7)
|
if (req.reply_len != 7)
|
||||||
printk(KERN_ERR "cuda_get_time: got %d byte reply\n",
|
printk(KERN_ERR "cuda_get_time: got %d byte reply\n",
|
||||||
req.reply_len);
|
req.reply_len);
|
||||||
now = (req.reply[3] << 24) + (req.reply[4] << 16)
|
now = (u32)((req.reply[3] << 24) + (req.reply[4] << 16) +
|
||||||
+ (req.reply[5] << 8) + req.reply[6];
|
(req.reply[5] << 8) + req.reply[6]);
|
||||||
|
/* it's either after year 2040, or the RTC has gone backwards */
|
||||||
|
WARN_ON(now < RTC_OFFSET);
|
||||||
|
|
||||||
return now - RTC_OFFSET;
|
return now - RTC_OFFSET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,10 +113,10 @@ static time64_t cuda_get_time(void)
|
||||||
|
|
||||||
static int cuda_set_rtc_time(struct rtc_time *tm)
|
static int cuda_set_rtc_time(struct rtc_time *tm)
|
||||||
{
|
{
|
||||||
time64_t nowtime;
|
u32 nowtime;
|
||||||
struct adb_request req;
|
struct adb_request req;
|
||||||
|
|
||||||
nowtime = rtc_tm_to_time64(tm) + RTC_OFFSET;
|
nowtime = lower_32_bits(rtc_tm_to_time64(tm) + RTC_OFFSET);
|
||||||
if (cuda_request(&req, NULL, 6, CUDA_PACKET, CUDA_SET_TIME,
|
if (cuda_request(&req, NULL, 6, CUDA_PACKET, CUDA_SET_TIME,
|
||||||
nowtime >> 24, nowtime >> 16, nowtime >> 8,
|
nowtime >> 24, nowtime >> 16, nowtime >> 8,
|
||||||
nowtime) < 0)
|
nowtime) < 0)
|
||||||
|
@ -140,8 +147,12 @@ static time64_t pmu_get_time(void)
|
||||||
if (req.reply_len != 4)
|
if (req.reply_len != 4)
|
||||||
printk(KERN_ERR "pmu_get_time: got %d byte reply from PMU\n",
|
printk(KERN_ERR "pmu_get_time: got %d byte reply from PMU\n",
|
||||||
req.reply_len);
|
req.reply_len);
|
||||||
now = (req.reply[0] << 24) + (req.reply[1] << 16)
|
now = (u32)((req.reply[0] << 24) + (req.reply[1] << 16) +
|
||||||
+ (req.reply[2] << 8) + req.reply[3];
|
(req.reply[2] << 8) + req.reply[3]);
|
||||||
|
|
||||||
|
/* it's either after year 2040, or the RTC has gone backwards */
|
||||||
|
WARN_ON(now < RTC_OFFSET);
|
||||||
|
|
||||||
return now - RTC_OFFSET;
|
return now - RTC_OFFSET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,10 +160,10 @@ static time64_t pmu_get_time(void)
|
||||||
|
|
||||||
static int pmu_set_rtc_time(struct rtc_time *tm)
|
static int pmu_set_rtc_time(struct rtc_time *tm)
|
||||||
{
|
{
|
||||||
time64_t nowtime;
|
u32 nowtime;
|
||||||
struct adb_request req;
|
struct adb_request req;
|
||||||
|
|
||||||
nowtime = rtc_tm_to_time64(tm) + RTC_OFFSET;
|
nowtime = lower_32_bits(rtc_tm_to_time64(tm) + RTC_OFFSET);
|
||||||
if (pmu_request(&req, NULL, 5, PMU_SET_RTC, nowtime >> 24,
|
if (pmu_request(&req, NULL, 5, PMU_SET_RTC, nowtime >> 24,
|
||||||
nowtime >> 16, nowtime >> 8, nowtime) < 0)
|
nowtime >> 16, nowtime >> 8, nowtime) < 0)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
|
|
|
@ -1286,6 +1286,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *fp)
|
||||||
goto free_addrs;
|
goto free_addrs;
|
||||||
}
|
}
|
||||||
if (bpf_jit_prog(&jit, fp)) {
|
if (bpf_jit_prog(&jit, fp)) {
|
||||||
|
bpf_jit_binary_free(header);
|
||||||
fp = orig_fp;
|
fp = orig_fp;
|
||||||
goto free_addrs;
|
goto free_addrs;
|
||||||
}
|
}
|
||||||
|
|
|
@ -477,7 +477,7 @@ ENTRY(entry_SYSENTER_32)
|
||||||
* whereas POPF does not.)
|
* whereas POPF does not.)
|
||||||
*/
|
*/
|
||||||
addl $PT_EFLAGS-PT_DS, %esp /* point esp at pt_regs->flags */
|
addl $PT_EFLAGS-PT_DS, %esp /* point esp at pt_regs->flags */
|
||||||
btr $X86_EFLAGS_IF_BIT, (%esp)
|
btrl $X86_EFLAGS_IF_BIT, (%esp)
|
||||||
popfl
|
popfl
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -84,13 +84,13 @@ ENTRY(entry_SYSENTER_compat)
|
||||||
pushq %rdx /* pt_regs->dx */
|
pushq %rdx /* pt_regs->dx */
|
||||||
pushq %rcx /* pt_regs->cx */
|
pushq %rcx /* pt_regs->cx */
|
||||||
pushq $-ENOSYS /* pt_regs->ax */
|
pushq $-ENOSYS /* pt_regs->ax */
|
||||||
pushq %r8 /* pt_regs->r8 */
|
pushq $0 /* pt_regs->r8 = 0 */
|
||||||
xorl %r8d, %r8d /* nospec r8 */
|
xorl %r8d, %r8d /* nospec r8 */
|
||||||
pushq %r9 /* pt_regs->r9 */
|
pushq $0 /* pt_regs->r9 = 0 */
|
||||||
xorl %r9d, %r9d /* nospec r9 */
|
xorl %r9d, %r9d /* nospec r9 */
|
||||||
pushq %r10 /* pt_regs->r10 */
|
pushq $0 /* pt_regs->r10 = 0 */
|
||||||
xorl %r10d, %r10d /* nospec r10 */
|
xorl %r10d, %r10d /* nospec r10 */
|
||||||
pushq %r11 /* pt_regs->r11 */
|
pushq $0 /* pt_regs->r11 = 0 */
|
||||||
xorl %r11d, %r11d /* nospec r11 */
|
xorl %r11d, %r11d /* nospec r11 */
|
||||||
pushq %rbx /* pt_regs->rbx */
|
pushq %rbx /* pt_regs->rbx */
|
||||||
xorl %ebx, %ebx /* nospec rbx */
|
xorl %ebx, %ebx /* nospec rbx */
|
||||||
|
@ -374,13 +374,13 @@ ENTRY(entry_INT80_compat)
|
||||||
pushq %rcx /* pt_regs->cx */
|
pushq %rcx /* pt_regs->cx */
|
||||||
xorl %ecx, %ecx /* nospec cx */
|
xorl %ecx, %ecx /* nospec cx */
|
||||||
pushq $-ENOSYS /* pt_regs->ax */
|
pushq $-ENOSYS /* pt_regs->ax */
|
||||||
pushq $0 /* pt_regs->r8 = 0 */
|
pushq %r8 /* pt_regs->r8 */
|
||||||
xorl %r8d, %r8d /* nospec r8 */
|
xorl %r8d, %r8d /* nospec r8 */
|
||||||
pushq $0 /* pt_regs->r9 = 0 */
|
pushq %r9 /* pt_regs->r9 */
|
||||||
xorl %r9d, %r9d /* nospec r9 */
|
xorl %r9d, %r9d /* nospec r9 */
|
||||||
pushq $0 /* pt_regs->r10 = 0 */
|
pushq %r10 /* pt_regs->r10*/
|
||||||
xorl %r10d, %r10d /* nospec r10 */
|
xorl %r10d, %r10d /* nospec r10 */
|
||||||
pushq $0 /* pt_regs->r11 = 0 */
|
pushq %r11 /* pt_regs->r11 */
|
||||||
xorl %r11d, %r11d /* nospec r11 */
|
xorl %r11d, %r11d /* nospec r11 */
|
||||||
pushq %rbx /* pt_regs->rbx */
|
pushq %rbx /* pt_regs->rbx */
|
||||||
xorl %ebx, %ebx /* nospec rbx */
|
xorl %ebx, %ebx /* nospec rbx */
|
||||||
|
|
|
@ -184,6 +184,9 @@ static inline p4d_t *p4d_alloc_one(struct mm_struct *mm, unsigned long addr)
|
||||||
|
|
||||||
static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d)
|
static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d)
|
||||||
{
|
{
|
||||||
|
if (!pgtable_l5_enabled())
|
||||||
|
return;
|
||||||
|
|
||||||
BUG_ON((unsigned long)p4d & (PAGE_SIZE-1));
|
BUG_ON((unsigned long)p4d & (PAGE_SIZE-1));
|
||||||
free_page((unsigned long)p4d);
|
free_page((unsigned long)p4d);
|
||||||
}
|
}
|
||||||
|
|
|
@ -898,7 +898,7 @@ static inline unsigned long pgd_page_vaddr(pgd_t pgd)
|
||||||
#define pgd_page(pgd) pfn_to_page(pgd_pfn(pgd))
|
#define pgd_page(pgd) pfn_to_page(pgd_pfn(pgd))
|
||||||
|
|
||||||
/* to find an entry in a page-table-directory. */
|
/* to find an entry in a page-table-directory. */
|
||||||
static __always_inline p4d_t *p4d_offset(pgd_t *pgd, unsigned long address)
|
static inline p4d_t *p4d_offset(pgd_t *pgd, unsigned long address)
|
||||||
{
|
{
|
||||||
if (!pgtable_l5_enabled())
|
if (!pgtable_l5_enabled())
|
||||||
return (p4d_t *)pgd;
|
return (p4d_t *)pgd;
|
||||||
|
|
|
@ -216,7 +216,7 @@ static inline pgd_t pti_set_user_pgd(pgd_t *pgdp, pgd_t pgd)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static __always_inline void native_set_p4d(p4d_t *p4dp, p4d_t p4d)
|
static inline void native_set_p4d(p4d_t *p4dp, p4d_t p4d)
|
||||||
{
|
{
|
||||||
pgd_t pgd;
|
pgd_t pgd;
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ static __always_inline void native_set_p4d(p4d_t *p4dp, p4d_t p4d)
|
||||||
*p4dp = native_make_p4d(native_pgd_val(pgd));
|
*p4dp = native_make_p4d(native_pgd_val(pgd));
|
||||||
}
|
}
|
||||||
|
|
||||||
static __always_inline void native_p4d_clear(p4d_t *p4d)
|
static inline void native_p4d_clear(p4d_t *p4d)
|
||||||
{
|
{
|
||||||
native_set_p4d(p4d, native_make_p4d(0));
|
native_set_p4d(p4d, native_make_p4d(0));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1248,6 +1248,7 @@ void __init e820__memblock_setup(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
u64 end;
|
u64 end;
|
||||||
|
u64 addr = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The bootstrap memblock region count maximum is 128 entries
|
* The bootstrap memblock region count maximum is 128 entries
|
||||||
|
@ -1264,13 +1265,21 @@ void __init e820__memblock_setup(void)
|
||||||
struct e820_entry *entry = &e820_table->entries[i];
|
struct e820_entry *entry = &e820_table->entries[i];
|
||||||
|
|
||||||
end = entry->addr + entry->size;
|
end = entry->addr + entry->size;
|
||||||
|
if (addr < entry->addr)
|
||||||
|
memblock_reserve(addr, entry->addr - addr);
|
||||||
|
addr = end;
|
||||||
if (end != (resource_size_t)end)
|
if (end != (resource_size_t)end)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* all !E820_TYPE_RAM ranges (including gap ranges) are put
|
||||||
|
* into memblock.reserved to make sure that struct pages in
|
||||||
|
* such regions are not left uninitialized after bootup.
|
||||||
|
*/
|
||||||
if (entry->type != E820_TYPE_RAM && entry->type != E820_TYPE_RESERVED_KERN)
|
if (entry->type != E820_TYPE_RAM && entry->type != E820_TYPE_RESERVED_KERN)
|
||||||
continue;
|
memblock_reserve(entry->addr, entry->size);
|
||||||
|
else
|
||||||
memblock_add(entry->addr, entry->size);
|
memblock_add(entry->addr, entry->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Throw away partial pages: */
|
/* Throw away partial pages: */
|
||||||
|
|
|
@ -641,11 +641,6 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char nx_warning[] = KERN_CRIT
|
|
||||||
"kernel tried to execute NX-protected page - exploit attempt? (uid: %d)\n";
|
|
||||||
static const char smep_warning[] = KERN_CRIT
|
|
||||||
"unable to execute userspace code (SMEP?) (uid: %d)\n";
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
show_fault_oops(struct pt_regs *regs, unsigned long error_code,
|
show_fault_oops(struct pt_regs *regs, unsigned long error_code,
|
||||||
unsigned long address)
|
unsigned long address)
|
||||||
|
@ -664,20 +659,18 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
|
||||||
pte = lookup_address_in_pgd(pgd, address, &level);
|
pte = lookup_address_in_pgd(pgd, address, &level);
|
||||||
|
|
||||||
if (pte && pte_present(*pte) && !pte_exec(*pte))
|
if (pte && pte_present(*pte) && !pte_exec(*pte))
|
||||||
printk(nx_warning, from_kuid(&init_user_ns, current_uid()));
|
pr_crit("kernel tried to execute NX-protected page - exploit attempt? (uid: %d)\n",
|
||||||
|
from_kuid(&init_user_ns, current_uid()));
|
||||||
if (pte && pte_present(*pte) && pte_exec(*pte) &&
|
if (pte && pte_present(*pte) && pte_exec(*pte) &&
|
||||||
(pgd_flags(*pgd) & _PAGE_USER) &&
|
(pgd_flags(*pgd) & _PAGE_USER) &&
|
||||||
(__read_cr4() & X86_CR4_SMEP))
|
(__read_cr4() & X86_CR4_SMEP))
|
||||||
printk(smep_warning, from_kuid(&init_user_ns, current_uid()));
|
pr_crit("unable to execute userspace code (SMEP?) (uid: %d)\n",
|
||||||
|
from_kuid(&init_user_ns, current_uid()));
|
||||||
}
|
}
|
||||||
|
|
||||||
printk(KERN_ALERT "BUG: unable to handle kernel ");
|
pr_alert("BUG: unable to handle kernel %s at %px\n",
|
||||||
if (address < PAGE_SIZE)
|
address < PAGE_SIZE ? "NULL pointer dereference" : "paging request",
|
||||||
printk(KERN_CONT "NULL pointer dereference");
|
(void *)address);
|
||||||
else
|
|
||||||
printk(KERN_CONT "paging request");
|
|
||||||
|
|
||||||
printk(KERN_CONT " at %px\n", (void *) address);
|
|
||||||
|
|
||||||
dump_pagetable(address);
|
dump_pagetable(address);
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,14 +166,14 @@ void __init efi_call_phys_epilog(pgd_t *save_pgd)
|
||||||
pgd = pgd_offset_k(pgd_idx * PGDIR_SIZE);
|
pgd = pgd_offset_k(pgd_idx * PGDIR_SIZE);
|
||||||
set_pgd(pgd_offset_k(pgd_idx * PGDIR_SIZE), save_pgd[pgd_idx]);
|
set_pgd(pgd_offset_k(pgd_idx * PGDIR_SIZE), save_pgd[pgd_idx]);
|
||||||
|
|
||||||
if (!(pgd_val(*pgd) & _PAGE_PRESENT))
|
if (!pgd_present(*pgd))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
for (i = 0; i < PTRS_PER_P4D; i++) {
|
for (i = 0; i < PTRS_PER_P4D; i++) {
|
||||||
p4d = p4d_offset(pgd,
|
p4d = p4d_offset(pgd,
|
||||||
pgd_idx * PGDIR_SIZE + i * P4D_SIZE);
|
pgd_idx * PGDIR_SIZE + i * P4D_SIZE);
|
||||||
|
|
||||||
if (!(p4d_val(*p4d) & _PAGE_PRESENT))
|
if (!p4d_present(*p4d))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
pud = (pud_t *)p4d_page_vaddr(*p4d);
|
pud = (pud_t *)p4d_page_vaddr(*p4d);
|
||||||
|
|
|
@ -3473,6 +3473,10 @@ static void __blk_rq_prep_clone(struct request *dst, struct request *src)
|
||||||
dst->cpu = src->cpu;
|
dst->cpu = src->cpu;
|
||||||
dst->__sector = blk_rq_pos(src);
|
dst->__sector = blk_rq_pos(src);
|
||||||
dst->__data_len = blk_rq_bytes(src);
|
dst->__data_len = blk_rq_bytes(src);
|
||||||
|
if (src->rq_flags & RQF_SPECIAL_PAYLOAD) {
|
||||||
|
dst->rq_flags |= RQF_SPECIAL_PAYLOAD;
|
||||||
|
dst->special_vec = src->special_vec;
|
||||||
|
}
|
||||||
dst->nr_phys_segments = src->nr_phys_segments;
|
dst->nr_phys_segments = src->nr_phys_segments;
|
||||||
dst->ioprio = src->ioprio;
|
dst->ioprio = src->ioprio;
|
||||||
dst->extra_len = src->extra_len;
|
dst->extra_len = src->extra_len;
|
||||||
|
|
|
@ -1075,6 +1075,9 @@ static bool blk_mq_mark_tag_wait(struct blk_mq_hw_ctx **hctx,
|
||||||
|
|
||||||
#define BLK_MQ_RESOURCE_DELAY 3 /* ms units */
|
#define BLK_MQ_RESOURCE_DELAY 3 /* ms units */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns true if we did some work AND can potentially do more.
|
||||||
|
*/
|
||||||
bool blk_mq_dispatch_rq_list(struct request_queue *q, struct list_head *list,
|
bool blk_mq_dispatch_rq_list(struct request_queue *q, struct list_head *list,
|
||||||
bool got_budget)
|
bool got_budget)
|
||||||
{
|
{
|
||||||
|
@ -1205,8 +1208,17 @@ bool blk_mq_dispatch_rq_list(struct request_queue *q, struct list_head *list,
|
||||||
blk_mq_run_hw_queue(hctx, true);
|
blk_mq_run_hw_queue(hctx, true);
|
||||||
else if (needs_restart && (ret == BLK_STS_RESOURCE))
|
else if (needs_restart && (ret == BLK_STS_RESOURCE))
|
||||||
blk_mq_delay_run_hw_queue(hctx, BLK_MQ_RESOURCE_DELAY);
|
blk_mq_delay_run_hw_queue(hctx, BLK_MQ_RESOURCE_DELAY);
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the host/device is unable to accept more work, inform the
|
||||||
|
* caller of that.
|
||||||
|
*/
|
||||||
|
if (ret == BLK_STS_RESOURCE || ret == BLK_STS_DEV_RESOURCE)
|
||||||
|
return false;
|
||||||
|
|
||||||
return (queued + errors) != 0;
|
return (queued + errors) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|
||||||
extern const char __initdata *const blacklist_hashes[];
|
extern const char __initconst *const blacklist_hashes[];
|
||||||
|
|
|
@ -1060,12 +1060,19 @@ void af_alg_async_cb(struct crypto_async_request *_req, int err)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(af_alg_async_cb);
|
EXPORT_SYMBOL_GPL(af_alg_async_cb);
|
||||||
|
|
||||||
__poll_t af_alg_poll_mask(struct socket *sock, __poll_t events)
|
/**
|
||||||
|
* af_alg_poll - poll system call handler
|
||||||
|
*/
|
||||||
|
__poll_t af_alg_poll(struct file *file, struct socket *sock,
|
||||||
|
poll_table *wait)
|
||||||
{
|
{
|
||||||
struct sock *sk = sock->sk;
|
struct sock *sk = sock->sk;
|
||||||
struct alg_sock *ask = alg_sk(sk);
|
struct alg_sock *ask = alg_sk(sk);
|
||||||
struct af_alg_ctx *ctx = ask->private;
|
struct af_alg_ctx *ctx = ask->private;
|
||||||
__poll_t mask = 0;
|
__poll_t mask;
|
||||||
|
|
||||||
|
sock_poll_wait(file, sk_sleep(sk), wait);
|
||||||
|
mask = 0;
|
||||||
|
|
||||||
if (!ctx->more || ctx->used)
|
if (!ctx->more || ctx->used)
|
||||||
mask |= EPOLLIN | EPOLLRDNORM;
|
mask |= EPOLLIN | EPOLLRDNORM;
|
||||||
|
@ -1075,7 +1082,7 @@ __poll_t af_alg_poll_mask(struct socket *sock, __poll_t events)
|
||||||
|
|
||||||
return mask;
|
return mask;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(af_alg_poll_mask);
|
EXPORT_SYMBOL_GPL(af_alg_poll);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* af_alg_alloc_areq - allocate struct af_alg_async_req
|
* af_alg_alloc_areq - allocate struct af_alg_async_req
|
||||||
|
|
|
@ -375,7 +375,7 @@ static struct proto_ops algif_aead_ops = {
|
||||||
.sendmsg = aead_sendmsg,
|
.sendmsg = aead_sendmsg,
|
||||||
.sendpage = af_alg_sendpage,
|
.sendpage = af_alg_sendpage,
|
||||||
.recvmsg = aead_recvmsg,
|
.recvmsg = aead_recvmsg,
|
||||||
.poll_mask = af_alg_poll_mask,
|
.poll = af_alg_poll,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int aead_check_key(struct socket *sock)
|
static int aead_check_key(struct socket *sock)
|
||||||
|
@ -471,7 +471,7 @@ static struct proto_ops algif_aead_ops_nokey = {
|
||||||
.sendmsg = aead_sendmsg_nokey,
|
.sendmsg = aead_sendmsg_nokey,
|
||||||
.sendpage = aead_sendpage_nokey,
|
.sendpage = aead_sendpage_nokey,
|
||||||
.recvmsg = aead_recvmsg_nokey,
|
.recvmsg = aead_recvmsg_nokey,
|
||||||
.poll_mask = af_alg_poll_mask,
|
.poll = af_alg_poll,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void *aead_bind(const char *name, u32 type, u32 mask)
|
static void *aead_bind(const char *name, u32 type, u32 mask)
|
||||||
|
|
|
@ -206,7 +206,7 @@ static struct proto_ops algif_skcipher_ops = {
|
||||||
.sendmsg = skcipher_sendmsg,
|
.sendmsg = skcipher_sendmsg,
|
||||||
.sendpage = af_alg_sendpage,
|
.sendpage = af_alg_sendpage,
|
||||||
.recvmsg = skcipher_recvmsg,
|
.recvmsg = skcipher_recvmsg,
|
||||||
.poll_mask = af_alg_poll_mask,
|
.poll = af_alg_poll,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int skcipher_check_key(struct socket *sock)
|
static int skcipher_check_key(struct socket *sock)
|
||||||
|
@ -302,7 +302,7 @@ static struct proto_ops algif_skcipher_ops_nokey = {
|
||||||
.sendmsg = skcipher_sendmsg_nokey,
|
.sendmsg = skcipher_sendmsg_nokey,
|
||||||
.sendpage = skcipher_sendpage_nokey,
|
.sendpage = skcipher_sendpage_nokey,
|
||||||
.recvmsg = skcipher_recvmsg_nokey,
|
.recvmsg = skcipher_recvmsg_nokey,
|
||||||
.poll_mask = af_alg_poll_mask,
|
.poll = af_alg_poll,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void *skcipher_bind(const char *name, u32 type, u32 mask)
|
static void *skcipher_bind(const char *name, u32 type, u32 mask)
|
||||||
|
|
|
@ -249,6 +249,15 @@ int x509_note_signature(void *context, size_t hdrlen,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcmp(ctx->cert->sig->pkey_algo, "rsa") == 0) {
|
||||||
|
/* Discard the BIT STRING metadata */
|
||||||
|
if (vlen < 1 || *(const u8 *)value != 0)
|
||||||
|
return -EBADMSG;
|
||||||
|
|
||||||
|
value++;
|
||||||
|
vlen--;
|
||||||
|
}
|
||||||
|
|
||||||
ctx->cert->raw_sig = value;
|
ctx->cert->raw_sig = value;
|
||||||
ctx->cert->raw_sig_size = vlen;
|
ctx->cert->raw_sig_size = vlen;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue