irqchip updates for 4.19
- GICv3 ITS LPI allocation revamp - GICv3 support for hypervisor-enforced LPI range - GICv3 ITS conversion to raw spinlock -----BEGIN PGP SIGNATURE----- iQJJBAABCAAzFiEEn9UcU+C1Yxj9lZw9I9DQutE9ekMFAltoBXMVHG1hcmMuenlu Z2llckBhcm0uY29tAAoJECPQ0LrRPXpDyUYP/1feAq3F7ZmhCIZka4c6y/m4EBpq BjWEEgOAGMEyyB4s98flsRtZcEUxxp6CqEXo2FgCsd1Nj+og7oA7vwOlqy3aGzsi 9f/Z5Wi6SlG06lH5tmYNkyVbGk2tE3s2FzkH5Rg8qZGk+X3OCOdNs/+G20pYAkSp ESePWSapbQUJSExJ1MqzfdHFidtVA1V+ev8BKdIp2ykl1NRae8LJeKHIbqac49Ym JclfCLFpQM1M1ElB9j0E8hAvZhz10oOz7TtBR737O/1QEifVyFqGBckPzldvwIJM zZ+nR+Yzj1ruD109xwaF1iKy9AinZWhiqrtN7UXJ3jwHtNih+sy0R6FQ38GMNoOC 0K02n/qStR5xglGr4BmAcWlOuFtBYWfz6HpSVMqaTWWmOxHEiqS6pXtEA+dV/YyI wHLbo0YzpWTQm6t1+b/PoByAJ0/hOcD1nOD57b+NGjX7tZV0sGjpGsecvFhTSywh BN3COBi9k/FOBrOTGDX1qUAI+mEf76vc2BAC+BkkoiiMg3WlY0E9qfQJguUxHdrb 0LS3lDZoHCNoz8RZLrUyenTT0NYGcjPGUTinMDJWG79VGXOWFexTDdCuX0kF90CK 1Zie3O6lrTYolmaiyLUxwukKp1SVUyoA5IpKVwfDJQYUhEfk27yvlzg2MBMcHDRA uy3QSkmjx9vw/sAu =gKw8 -----END PGP SIGNATURE----- Merge tag 'irqchip-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core Pull irqchip updates from Marc Zyngier: - GICv3 ITS LPI allocation revamp - GICv3 support for hypervisor-enforced LPI range - GICv3 ITS conversion to raw spinlock
This commit is contained in:
		
						commit
						9e90c79852
					
				| @ -4846,3 +4846,8 @@ | ||||
| 	xirc2ps_cs=	[NET,PCMCIA] | ||||
| 			Format: | ||||
| 			<irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]] | ||||
| 
 | ||||
| 	xhci-hcd.quirks		[USB,KNL] | ||||
| 			A hex value specifying bitmask with supplemental xhci | ||||
| 			host controller quirks. Meaning of each bit can be | ||||
| 			consulted in header drivers/usb/host/xhci.h. | ||||
|  | ||||
| @ -324,8 +324,7 @@ Global Attributes | ||||
| 
 | ||||
| ``intel_pstate`` exposes several global attributes (files) in ``sysfs`` to | ||||
| control its functionality at the system level.  They are located in the | ||||
| ``/sys/devices/system/cpu/cpufreq/intel_pstate/`` directory and affect all | ||||
| CPUs. | ||||
| ``/sys/devices/system/cpu/intel_pstate/`` directory and affect all CPUs. | ||||
| 
 | ||||
| Some of them are not present if the ``intel_pstate=per_cpu_perf_limits`` | ||||
| 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 | ||||
| 	(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`` | ||||
| @ -410,7 +420,7 @@ argument is passed to the kernel in the command line. | ||||
| 	That only is supported in some configurations, though (for example, if | ||||
| 	the `HWP feature is enabled in the processor <Active Mode With HWP_>`_, | ||||
| 	the operation mode of the driver cannot be changed), and if it is not | ||||
| 	supported in the current configuration, writes to this attribute with | ||||
| 	supported in the current configuration, writes to this attribute will | ||||
| 	fail with an appropriate error. | ||||
| 
 | ||||
| Interpretation of Policy Attributes | ||||
|  | ||||
| @ -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>; | ||||
| 		}; | ||||
| 	}; | ||||
| @ -49,10 +49,10 @@ Device Drivers Base | ||||
| Device Drivers DMA Management | ||||
| ----------------------------- | ||||
| 
 | ||||
| .. kernel-doc:: drivers/base/dma-coherent.c | ||||
| .. kernel-doc:: kernel/dma/coherent.c | ||||
|    :export: | ||||
| 
 | ||||
| .. kernel-doc:: drivers/base/dma-mapping.c | ||||
| .. kernel-doc:: kernel/dma/mapping.c | ||||
|    :export: | ||||
| 
 | ||||
| Device drivers PnP support | ||||
|  | ||||
| @ -441,8 +441,6 @@ prototypes: | ||||
| 	int (*iterate) (struct file *, struct dir_context *); | ||||
| 	int (*iterate_shared) (struct file *, struct dir_context *); | ||||
| 	__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 (*compat_ioctl) (struct file *, unsigned int, unsigned long); | ||||
| 	int (*mmap) (struct file *, struct vm_area_struct *); | ||||
| @ -473,7 +471,7 @@ prototypes: | ||||
| }; | ||||
| 
 | ||||
| locking rules: | ||||
| 	All except for ->poll_mask may block. | ||||
| 	All may block. | ||||
| 
 | ||||
| ->llseek() locking has moved from llseek to the individual llseek | ||||
| 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 | ||||
| operation | ||||
| 
 | ||||
| ->poll_mask can be called with or without the waitqueue lock for the waitqueue | ||||
| returned from ->get_poll_head. | ||||
| 
 | ||||
| --------------------------- dquot_operations ------------------------------- | ||||
| prototypes: | ||||
| 	int (*write_dquot) (struct dquot *); | ||||
|  | ||||
| @ -857,8 +857,6 @@ struct file_operations { | ||||
| 	ssize_t (*write_iter) (struct kiocb *, struct iov_iter *); | ||||
| 	int (*iterate) (struct file *, struct dir_context *); | ||||
| 	__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 (*compat_ioctl) (struct file *, unsigned int, unsigned long); | ||||
| 	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 | ||||
| 	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. | ||||
| 
 | ||||
|   compat_ioctl: called by the ioctl(2) system call when 32 bit system calls | ||||
|  | ||||
| @ -50,6 +50,11 @@ LDFLAGS_MODULE | ||||
| -------------------------------------------------- | ||||
| Additional options used for $(LD) when linking modules. | ||||
| 
 | ||||
| KBUILD_KCONFIG | ||||
| -------------------------------------------------- | ||||
| Set the top-level Kconfig file to the value of this environment | ||||
| variable.  The default name is "Kconfig". | ||||
| 
 | ||||
| KBUILD_VERBOSE | ||||
| -------------------------------------------------- | ||||
| Set the kbuild verbosity. Can be assigned same values as "V=...". | ||||
| @ -88,7 +93,8 @@ In most cases the name of the architecture is the same as the | ||||
| directory name found in the arch/ directory. | ||||
| But some architectures such as x86 and sparc have aliases. | ||||
| x86: i386 for 32 bit, x86_64 for 64 bit | ||||
| sparc: sparc for 32 bit, sparc64 for 64 bit | ||||
| sh: sh for 32 bit, sh64 for 64 bit | ||||
| sparc: sparc32 for 32 bit, sparc64 for 64 bit | ||||
| 
 | ||||
| CROSS_COMPILE | ||||
| -------------------------------------------------- | ||||
| @ -148,15 +154,6 @@ stripped after they are installed.  If INSTALL_MOD_STRIP is '1', then | ||||
| the default option --strip-debug will be used.  Otherwise, | ||||
| INSTALL_MOD_STRIP value will be used as the options to the strip command. | ||||
| 
 | ||||
| INSTALL_FW_PATH | ||||
| -------------------------------------------------- | ||||
| INSTALL_FW_PATH specifies where to install the firmware blobs. | ||||
| The default value is: | ||||
| 
 | ||||
|     $(INSTALL_MOD_PATH)/lib/firmware | ||||
| 
 | ||||
| The value can be overridden in which case the default value is ignored. | ||||
| 
 | ||||
| INSTALL_HDR_PATH | ||||
| -------------------------------------------------- | ||||
| INSTALL_HDR_PATH specifies where to install user space headers when | ||||
|  | ||||
| @ -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 | ||||
| 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 | ||||
| ------------- | ||||
|  | ||||
| @ -2,9 +2,9 @@ This file contains some assistance for using "make *config". | ||||
| 
 | ||||
| Use "make help" to list all of the possible configuration targets. | ||||
| 
 | ||||
| The xconfig ('qconf') and menuconfig ('mconf') programs also | ||||
| have embedded help text.  Be sure to check it for navigation, | ||||
| search, and other general help text. | ||||
| The xconfig ('qconf'), menuconfig ('mconf'), and nconfig ('nconf') | ||||
| programs also have embedded help text.  Be sure to check that for | ||||
| navigation, search, and other general help text. | ||||
| 
 | ||||
| ====================================================================== | ||||
| General | ||||
| @ -17,13 +17,16 @@ this happens, using a previously working .config file and running | ||||
| for you, so you may find that you need to see what NEW kernel | ||||
| symbols have been introduced. | ||||
| 
 | ||||
| To see a list of new config symbols when using "make oldconfig", use | ||||
| To see a list of new config symbols, use | ||||
| 
 | ||||
| 	cp user/some/old.config .config | ||||
| 	make listnewconfig | ||||
| 
 | ||||
| and the config program will list any new symbols, one per line. | ||||
| 
 | ||||
| Alternatively, you can use the brute force method: | ||||
| 
 | ||||
| 	make oldconfig | ||||
| 	scripts/diffconfig .config.old .config | less | ||||
| 
 | ||||
| ______________________________________________________________________ | ||||
| @ -160,7 +163,7 @@ Searching in menuconfig: | ||||
| 		This lists all config symbols that contain "hotplug", | ||||
| 		e.g., HOTPLUG_CPU, MEMORY_HOTPLUG. | ||||
| 
 | ||||
| 	For search help, enter / followed TAB-TAB-TAB (to highlight | ||||
| 	For search help, enter / followed by TAB-TAB (to highlight | ||||
| 	<Help>) and Enter.  This will tell you that you can also use | ||||
| 	regular expressions (regexes) in the search string, so if you | ||||
| 	are not interested in MEMORY_HOTPLUG, you could try | ||||
| @ -202,6 +205,39 @@ Example: | ||||
| 	make MENUCONFIG_MODE=single_menu menuconfig | ||||
| 
 | ||||
| 
 | ||||
| ====================================================================== | ||||
| nconfig | ||||
| -------------------------------------------------- | ||||
| 
 | ||||
| nconfig is an alternate text-based configurator.  It lists function | ||||
| keys across the bottom of the terminal (window) that execute commands. | ||||
| You can also just use the corresponding numeric key to execute the | ||||
| commands unless you are in a data entry window.  E.g., instead of F6 | ||||
| for Save, you can just press 6. | ||||
| 
 | ||||
| Use F1 for Global help or F3 for the Short help menu. | ||||
| 
 | ||||
| Searching in nconfig: | ||||
| 
 | ||||
| 	You can search either in the menu entry "prompt" strings | ||||
| 	or in the configuration symbols. | ||||
| 
 | ||||
| 	Use / to begin a search through the menu entries.  This does | ||||
| 	not support regular expressions.  Use <Down> or <Up> for | ||||
| 	Next hit and Previous hit, respectively.  Use <Esc> to | ||||
| 	terminate the search mode. | ||||
| 
 | ||||
| 	F8 (SymSearch) searches the configuration symbols for the | ||||
| 	given string or regular expression (regex). | ||||
| 
 | ||||
| NCONFIG_MODE | ||||
| -------------------------------------------------- | ||||
| This mode shows all sub-menus in one large tree. | ||||
| 
 | ||||
| Example: | ||||
| 	make NCONFIG_MODE=single_menu nconfig | ||||
| 
 | ||||
| 
 | ||||
| ====================================================================== | ||||
| xconfig | ||||
| -------------------------------------------------- | ||||
| @ -230,8 +266,7 @@ gconfig | ||||
| 
 | ||||
| Searching in gconfig: | ||||
| 
 | ||||
| 	None (gconfig isn't maintained as well as xconfig or menuconfig); | ||||
| 	however, gconfig does have a few more viewing choices than | ||||
| 	xconfig does. | ||||
| 	There is no search command in gconfig.  However, gconfig does | ||||
| 	have several different viewing choices, modes, and options. | ||||
| 
 | ||||
| ### | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| ============================================================== | ||||
| Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters | ||||
| ============================================================== | ||||
| 
 | ||||
| @ -86,83 +87,84 @@ Event Log Message Level:  The driver uses the message level flag to log events | ||||
| Additional Configurations | ||||
| ========================= | ||||
| 
 | ||||
|   Configuring the Driver on Different Distributions | ||||
|   ------------------------------------------------- | ||||
| Configuring the Driver on Different Distributions | ||||
| ------------------------------------------------- | ||||
| 
 | ||||
|   Configuring a network driver to load properly when the system is started is | ||||
|   distribution dependent. Typically, the configuration process involves adding | ||||
|   an alias line to /etc/modprobe.d/*.conf as well as editing other system | ||||
|   startup scripts and/or configuration files.  Many popular Linux | ||||
|   distributions ship with tools to make these changes for you. To learn the | ||||
|   proper way to configure a network device for your system, refer to your | ||||
|   distribution documentation.  If during this process you are asked for the | ||||
|   driver or module name, the name for the Linux Base Driver for the Intel | ||||
|   PRO/100 Family of Adapters is e100. | ||||
| Configuring a network driver to load properly when the system is started | ||||
| is distribution dependent.  Typically, the configuration process involves | ||||
| adding an alias line to /etc/modprobe.d/*.conf as well as editing other | ||||
| system startup scripts and/or configuration files.  Many popular Linux | ||||
| distributions ship with tools to make these changes for you.  To learn | ||||
| the proper way to configure a network device for your system, refer to | ||||
| your distribution documentation.  If during this process you are asked | ||||
| for the driver or module name, the name for the Linux Base Driver for | ||||
| the Intel PRO/100 Family of Adapters is e100. | ||||
| 
 | ||||
|   As an example, if you install the e100 driver for two PRO/100 adapters | ||||
|   (eth0 and eth1), add the following to a configuration file in /etc/modprobe.d/ | ||||
| As an example, if you install the e100 driver for two PRO/100 adapters | ||||
| (eth0 and eth1), add the following to a configuration file in | ||||
| /etc/modprobe.d/:: | ||||
| 
 | ||||
|        alias eth0 e100 | ||||
|        alias eth1 e100 | ||||
| 
 | ||||
|   Viewing Link Messages | ||||
|   --------------------- | ||||
|   In order to see link messages and other Intel driver information on your | ||||
|   console, you must set the dmesg level up to six. This can be done by | ||||
|   entering the following on the command line before loading the e100 driver:: | ||||
| Viewing Link Messages | ||||
| --------------------- | ||||
| 
 | ||||
| In order to see link messages and other Intel driver information on your | ||||
| console, you must set the dmesg level up to six.  This can be done by | ||||
| entering the following on the command line before loading the e100 | ||||
| driver:: | ||||
| 
 | ||||
|        dmesg -n 6 | ||||
| 
 | ||||
|   If you wish to see all messages issued by the driver, including debug | ||||
|   messages, set the dmesg level to eight. | ||||
| If you wish to see all messages issued by the driver, including debug | ||||
| messages, set the dmesg level to eight. | ||||
| 
 | ||||
|   NOTE: This setting is not saved across reboots. | ||||
| NOTE: This setting is not saved across reboots. | ||||
| 
 | ||||
| ethtool | ||||
| ------- | ||||
| 
 | ||||
|   ethtool | ||||
|   ------- | ||||
| The driver utilizes the ethtool interface for driver configuration and | ||||
| diagnostics, as well as displaying statistical information.  The ethtool | ||||
| version 1.6 or later is required for this functionality. | ||||
| 
 | ||||
|   The driver utilizes the ethtool interface for driver configuration and | ||||
|   diagnostics, as well as displaying statistical information.  The ethtool | ||||
|   version 1.6 or later is required for this functionality. | ||||
| The latest release of ethtool can be found from | ||||
| https://www.kernel.org/pub/software/network/ethtool/ | ||||
| 
 | ||||
|   The latest release of ethtool can be found from | ||||
|   https://www.kernel.org/pub/software/network/ethtool/ | ||||
| Enabling Wake on LAN* (WoL) | ||||
| --------------------------- | ||||
| WoL is provided through the ethtool* utility.  For instructions on | ||||
| enabling WoL with ethtool, refer to the ethtool man page.  WoL will be | ||||
| enabled on the system during the next shut down or reboot.  For this | ||||
| driver version, in order to enable WoL, the e100 driver must be loaded | ||||
| when shutting down or rebooting the system. | ||||
| 
 | ||||
|   Enabling Wake on LAN* (WoL) | ||||
|   --------------------------- | ||||
|   WoL is provided through the ethtool* utility.  For instructions on enabling | ||||
|   WoL with ethtool, refer to the ethtool man page. | ||||
| NAPI | ||||
| ---- | ||||
| 
 | ||||
|   WoL will be enabled on the system during the next shut down or reboot. For | ||||
|   this driver version, in order to enable WoL, the e100 driver must be | ||||
|   loaded when shutting down or rebooting the system. | ||||
| NAPI (Rx polling mode) is supported in the e100 driver. | ||||
| 
 | ||||
|   NAPI | ||||
|   ---- | ||||
| See https://wiki.linuxfoundation.org/networking/napi for more | ||||
| information on NAPI. | ||||
| 
 | ||||
|   NAPI (Rx polling mode) is supported in the e100 driver. | ||||
| Multiple Interfaces on Same Ethernet Broadcast Network | ||||
| ------------------------------------------------------ | ||||
| 
 | ||||
|   See https://wiki.linuxfoundation.org/networking/napi for more information | ||||
|   on NAPI. | ||||
| Due to the default ARP behavior on Linux, it is not possible to have one | ||||
| system on two IP networks in the same Ethernet broadcast domain | ||||
| (non-partitioned switch) behave as expected.  All Ethernet interfaces | ||||
| will respond to IP traffic for any IP address assigned to the system. | ||||
| This results in unbalanced receive traffic. | ||||
| 
 | ||||
|   Multiple Interfaces on Same Ethernet Broadcast Network | ||||
|   ------------------------------------------------------ | ||||
| If you have multiple interfaces in a server, either turn on ARP | ||||
| filtering by | ||||
| 
 | ||||
|   Due to the default ARP behavior on Linux, it is not possible to have | ||||
|   one system on two IP networks in the same Ethernet broadcast domain | ||||
|   (non-partitioned switch) behave as expected. All Ethernet interfaces | ||||
|   will respond to IP traffic for any IP address assigned to the system. | ||||
|   This results in unbalanced receive traffic. | ||||
| (1) entering:: echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter | ||||
|     (this only works if your kernel's version is higher than 2.4.5), or | ||||
| 
 | ||||
|   If you have multiple interfaces in a server, either turn on ARP | ||||
|   filtering by | ||||
| 
 | ||||
|   (1) entering:: echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter | ||||
|       (this only works if your kernel's version is higher than 2.4.5), or | ||||
| 
 | ||||
|   (2) installing the interfaces in separate broadcast domains (either | ||||
|       in different switches or in a switch partitioned to VLANs). | ||||
| (2) installing the interfaces in separate broadcast domains (either | ||||
|     in different switches or in a switch partitioned to VLANs). | ||||
| 
 | ||||
| 
 | ||||
| Support | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| =========================================================== | ||||
| Linux* Base Driver for Intel(R) Ethernet Network Connection | ||||
| =========================================================== | ||||
| 
 | ||||
| @ -354,57 +355,58 @@ previously mentioned to force the adapter to the same speed and duplex. | ||||
| Additional Configurations | ||||
| ========================= | ||||
| 
 | ||||
|   Jumbo Frames | ||||
|   ------------ | ||||
|   Jumbo Frames support is enabled by changing the MTU to a value larger than | ||||
|   the default of 1500.  Use the ifconfig command to increase the MTU size. | ||||
|   For example:: | ||||
| Jumbo Frames | ||||
| ------------ | ||||
| Jumbo Frames support is enabled by changing the MTU to a value larger | ||||
| than the default of 1500.  Use the ifconfig command to increase the MTU | ||||
| size.  For example:: | ||||
| 
 | ||||
|        ifconfig eth<x> mtu 9000 up | ||||
| 
 | ||||
|   This setting is not saved across reboots.  It can be made permanent if | ||||
|   you add:: | ||||
| This setting is not saved across reboots.  It can be made permanent if | ||||
| you add:: | ||||
| 
 | ||||
|        MTU=9000 | ||||
| 
 | ||||
|    to the file /etc/sysconfig/network-scripts/ifcfg-eth<x>.  This example | ||||
|    applies to the Red Hat distributions; other distributions may store this | ||||
|    setting in a different location. | ||||
| to the file /etc/sysconfig/network-scripts/ifcfg-eth<x>.  This example | ||||
| applies to the Red Hat distributions; other distributions may store this | ||||
| setting in a different location. | ||||
| 
 | ||||
|   Notes: | ||||
|   Degradation in throughput performance may be observed in some Jumbo frames | ||||
|   environments. If this is observed, increasing the application's socket buffer | ||||
|   size and/or increasing the /proc/sys/net/ipv4/tcp_*mem entry values may help. | ||||
|   See the specific application manual and /usr/src/linux*/Documentation/ | ||||
|   networking/ip-sysctl.txt for more details. | ||||
| Notes: Degradation in throughput performance may be observed in some | ||||
| Jumbo frames environments.  If this is observed, increasing the | ||||
| application's socket buffer size and/or increasing the | ||||
| /proc/sys/net/ipv4/tcp_*mem entry values may help.  See the specific | ||||
| application manual and /usr/src/linux*/Documentation/ | ||||
| networking/ip-sysctl.txt for more details. | ||||
| 
 | ||||
|   - The maximum MTU setting for Jumbo Frames is 16110.  This value coincides | ||||
|     with the maximum Jumbo Frames size of 16128. | ||||
| - The maximum MTU setting for Jumbo Frames is 16110.  This value | ||||
|   coincides with the maximum Jumbo Frames size of 16128. | ||||
| 
 | ||||
|   - Using Jumbo frames at 10 or 100 Mbps is not supported and may result in | ||||
|     poor performance or loss of link. | ||||
| - Using Jumbo frames at 10 or 100 Mbps is not supported and may result | ||||
|   in poor performance or loss of link. | ||||
| 
 | ||||
|   - Adapters based on the Intel(R) 82542 and 82573V/E controller do not | ||||
|     support Jumbo Frames. These correspond to the following product names: | ||||
|      Intel(R) PRO/1000 Gigabit Server Adapter | ||||
|      Intel(R) PRO/1000 PM Network Connection | ||||
| - Adapters based on the Intel(R) 82542 and 82573V/E controller do not | ||||
|   support Jumbo Frames.  These correspond to the following product names: | ||||
|   Intel(R) PRO/1000 Gigabit Server Adapter Intel(R) PRO/1000 PM Network | ||||
|   Connection | ||||
| 
 | ||||
|   ethtool | ||||
|   ------- | ||||
|   The driver utilizes the ethtool interface for driver configuration and | ||||
|   diagnostics, as well as displaying statistical information.  The ethtool | ||||
|   version 1.6 or later is required for this functionality. | ||||
| ethtool | ||||
| ------- | ||||
| The driver utilizes the ethtool interface for driver configuration and | ||||
| diagnostics, as well as displaying statistical information.  The ethtool | ||||
| version 1.6 or later is required for this functionality. | ||||
| 
 | ||||
|   The latest release of ethtool can be found from | ||||
|   https://www.kernel.org/pub/software/network/ethtool/ | ||||
| The latest release of ethtool can be found from | ||||
| https://www.kernel.org/pub/software/network/ethtool/ | ||||
| 
 | ||||
|   Enabling Wake on LAN* (WoL) | ||||
|   --------------------------- | ||||
|   WoL is configured through the ethtool* utility. | ||||
| Enabling Wake on LAN* (WoL) | ||||
| --------------------------- | ||||
| WoL is configured through the ethtool* utility. | ||||
| 
 | ||||
| WoL will be enabled on the system during the next shut down or reboot. | ||||
| For this driver version, in order to enable WoL, the e1000 driver must be | ||||
| loaded when shutting down or rebooting the system. | ||||
| 
 | ||||
|   WoL will be enabled on the system during the next shut down or reboot. | ||||
|   For this driver version, in order to enable WoL, the e1000 driver must be | ||||
|   loaded when shutting down or rebooting the system. | ||||
| 
 | ||||
| Support | ||||
| ======= | ||||
|  | ||||
| @ -48,7 +48,7 @@ void strp_pause(struct strparser *strp) | ||||
|      Temporarily pause a stream parser. Message parsing is suspended | ||||
|      and no new messages are delivered to the upper layer. | ||||
| 
 | ||||
| void strp_pause(struct strparser *strp) | ||||
| void strp_unpause(struct strparser *strp) | ||||
| 
 | ||||
|      Unpause a paused stream parser. | ||||
| 
 | ||||
|  | ||||
| @ -1729,35 +1729,35 @@ If a variable isn't a key variable or prefixed with 'vals=', the | ||||
| associated event field will be saved in a variable but won't be summed | ||||
| as a value: | ||||
| 
 | ||||
|   # echo 'hist:keys=next_pid:ts1=common_timestamp ... >> event/trigger | ||||
|   # echo 'hist:keys=next_pid:ts1=common_timestamp ...' >> event/trigger | ||||
| 
 | ||||
| Multiple variables can be assigned at the same time.  The below would | ||||
| result in both ts0 and b being created as variables, with both | ||||
| common_timestamp and field1 additionally being summed as values: | ||||
| 
 | ||||
|   # echo 'hist:keys=pid:vals=$ts0,$b:ts0=common_timestamp,b=field1 ... >> \ | ||||
|   # echo 'hist:keys=pid:vals=$ts0,$b:ts0=common_timestamp,b=field1 ...' >> \ | ||||
| 	event/trigger | ||||
| 
 | ||||
| Note that variable assignments can appear either preceding or | ||||
| following their use.  The command below behaves identically to the | ||||
| command above: | ||||
| 
 | ||||
|   # echo 'hist:keys=pid:ts0=common_timestamp,b=field1:vals=$ts0,$b ... >> \ | ||||
|   # echo 'hist:keys=pid:ts0=common_timestamp,b=field1:vals=$ts0,$b ...' >> \ | ||||
| 	event/trigger | ||||
| 
 | ||||
| Any number of variables not bound to a 'vals=' prefix can also be | ||||
| assigned by simply separating them with colons.  Below is the same | ||||
| thing but without the values being summed in the histogram: | ||||
| 
 | ||||
|   # echo 'hist:keys=pid:ts0=common_timestamp:b=field1 ... >> event/trigger | ||||
|   # echo 'hist:keys=pid:ts0=common_timestamp:b=field1 ...' >> event/trigger | ||||
| 
 | ||||
| Variables set as above can be referenced and used in expressions on | ||||
| another event. | ||||
| 
 | ||||
| For example, here's how a latency can be calculated: | ||||
| 
 | ||||
|   # echo 'hist:keys=pid,prio:ts0=common_timestamp ... >> event1/trigger | ||||
|   # echo 'hist:keys=next_pid:wakeup_lat=common_timestamp-$ts0 ... >> event2/trigger | ||||
|   # echo 'hist:keys=pid,prio:ts0=common_timestamp ...' >> event1/trigger | ||||
|   # echo 'hist:keys=next_pid:wakeup_lat=common_timestamp-$ts0 ...' >> event2/trigger | ||||
| 
 | ||||
| In the first line above, the event's timetamp is saved into the | ||||
| variable ts0.  In the next line, ts0 is subtracted from the second | ||||
| @ -1766,7 +1766,7 @@ yet another variable, 'wakeup_lat'.  The hist trigger below in turn | ||||
| makes use of the wakeup_lat variable to compute a combined latency | ||||
| using the same key and variable from yet another event: | ||||
| 
 | ||||
|   # echo 'hist:key=pid:wakeupswitch_lat=$wakeup_lat+$switchtime_lat ... >> event3/trigger | ||||
|   # echo 'hist:key=pid:wakeupswitch_lat=$wakeup_lat+$switchtime_lat ...' >> event3/trigger | ||||
| 
 | ||||
| 2.2.2 Synthetic Events | ||||
| ---------------------- | ||||
| @ -1807,10 +1807,11 @@ the command that defined it with a '!': | ||||
| At this point, there isn't yet an actual 'wakeup_latency' event | ||||
| instantiated in the event subsytem - for this to happen, a 'hist | ||||
| trigger action' needs to be instantiated and bound to actual fields | ||||
| and variables defined on other events (see Section 6.3.3 below). | ||||
| and variables defined on other events (see Section 2.2.3 below on | ||||
| how that is done using hist trigger 'onmatch' action). Once that is | ||||
| done, the 'wakeup_latency' synthetic event instance is created. | ||||
| 
 | ||||
| Once that is done, an event instance is created, and a histogram can | ||||
| be defined using it: | ||||
| A histogram can now be defined for the new synthetic event: | ||||
| 
 | ||||
|   # echo 'hist:keys=pid,prio,lat.log2:sort=pid,lat' >> \ | ||||
|         /sys/kernel/debug/tracing/events/synthetic/wakeup_latency/trigger | ||||
| @ -1960,7 +1961,7 @@ hist trigger specification. | ||||
|     back to that pid, the timestamp difference is calculated.  If the | ||||
|     resulting latency, stored in wakeup_lat, exceeds the current | ||||
|     maximum latency, the values specified in the save() fields are | ||||
|     recoreded: | ||||
|     recorded: | ||||
| 
 | ||||
|     # echo 'hist:keys=pid:ts0=common_timestamp.usecs \ | ||||
|             if comm=="cyclictest"' >> \ | ||||
|  | ||||
| @ -226,7 +226,7 @@ $ rm configs/<config name>.<number>/<function> | ||||
| where <config name>.<number> specify the configuration and <function> is | ||||
| a symlink to a function being removed from the configuration, e.g.: | ||||
| 
 | ||||
| $ rm configfs/c.1/ncm.usb0 | ||||
| $ rm configs/c.1/ncm.usb0 | ||||
| 
 | ||||
| ... | ||||
| ... | ||||
|  | ||||
| @ -4610,7 +4610,7 @@ This capability indicates that kvm will implement the interfaces to handle | ||||
| reset, migration and nested KVM for branch prediction blocking. The stfle | ||||
| facility 82 should not be provided to the guest without this capability. | ||||
| 
 | ||||
| 8.14 KVM_CAP_HYPERV_TLBFLUSH | ||||
| 8.18 KVM_CAP_HYPERV_TLBFLUSH | ||||
| 
 | ||||
| Architectures: x86 | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										61
									
								
								MAINTAINERS
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								MAINTAINERS
									
									
									
									
									
								
							| @ -581,7 +581,7 @@ W:	https://www.infradead.org/~dhowells/kafs/ | ||||
| 
 | ||||
| AGPGART DRIVER | ||||
| M:	David Airlie <airlied@linux.ie> | ||||
| T:	git git://people.freedesktop.org/~airlied/linux (part of drm maint) | ||||
| T:	git git://anongit.freedesktop.org/drm/drm | ||||
| S:	Maintained | ||||
| F:	drivers/char/agp/ | ||||
| F:	include/linux/agp* | ||||
| @ -2971,9 +2971,13 @@ N:	bcm585* | ||||
| N:	bcm586* | ||||
| N:	bcm88312 | ||||
| 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-sr* | ||||
| F:	drivers/pinctrl/bcm/pinctrl-ns* | ||||
| F:	include/dt-bindings/clock/bcm-sr* | ||||
| 
 | ||||
| BROADCOM KONA GPIO DRIVER | ||||
| M:	Ray Jui <rjui@broadcom.com> | ||||
| @ -4360,12 +4364,7 @@ L:	iommu@lists.linux-foundation.org | ||||
| T:	git git://git.infradead.org/users/hch/dma-mapping.git | ||||
| W:	http://git.infradead.org/users/hch/dma-mapping.git | ||||
| S:	Supported | ||||
| F:	lib/dma-debug.c | ||||
| F:	lib/dma-direct.c | ||||
| F:	lib/dma-noncoherent.c | ||||
| F:	lib/dma-virt.c | ||||
| F:	drivers/base/dma-mapping.c | ||||
| F:	drivers/base/dma-coherent.c | ||||
| F:	kernel/dma/ | ||||
| F:	include/asm-generic/dma-mapping.h | ||||
| F:	include/linux/dma-direct.h | ||||
| F:	include/linux/dma-mapping.h | ||||
| @ -4461,6 +4460,7 @@ F:	Documentation/blockdev/drbd/ | ||||
| 
 | ||||
| DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS | ||||
| M:	Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||||
| R:	"Rafael J. Wysocki" <rafael@kernel.org> | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git | ||||
| S:	Supported | ||||
| F:	Documentation/kobject.txt | ||||
| @ -4631,7 +4631,7 @@ F:	include/uapi/drm/vmwgfx_drm.h | ||||
| DRM DRIVERS | ||||
| M:	David Airlie <airlied@linux.ie> | ||||
| L:	dri-devel@lists.freedesktop.org | ||||
| T:	git git://people.freedesktop.org/~airlied/linux | ||||
| T:	git git://anongit.freedesktop.org/drm/drm | ||||
| B:	https://bugs.freedesktop.org/ | ||||
| C:	irc://chat.freenode.net/dri-devel | ||||
| S:	Maintained | ||||
| @ -5674,7 +5674,7 @@ F:	drivers/crypto/caam/ | ||||
| F:	Documentation/devicetree/bindings/crypto/fsl-sec4.txt | ||||
| 
 | ||||
| FREESCALE DIU FRAMEBUFFER DRIVER | ||||
| M:	Timur Tabi <timur@tabi.org> | ||||
| M:	Timur Tabi <timur@kernel.org> | ||||
| L:	linux-fbdev@vger.kernel.org | ||||
| S:	Maintained | ||||
| F:	drivers/video/fbdev/fsl-diu-fb.* | ||||
| @ -5774,7 +5774,7 @@ S:	Maintained | ||||
| F:	drivers/net/wan/fsl_ucc_hdlc* | ||||
| 
 | ||||
| FREESCALE QUICC ENGINE UCC UART DRIVER | ||||
| M:	Timur Tabi <timur@tabi.org> | ||||
| M:	Timur Tabi <timur@kernel.org> | ||||
| L:	linuxppc-dev@lists.ozlabs.org | ||||
| S:	Maintained | ||||
| F:	drivers/tty/serial/ucc_uart.c | ||||
| @ -5798,7 +5798,7 @@ F:	drivers/net/ethernet/freescale/fs_enet/ | ||||
| F:	include/linux/fs_enet_pd.h | ||||
| 
 | ||||
| FREESCALE SOC SOUND DRIVERS | ||||
| M:	Timur Tabi <timur@tabi.org> | ||||
| M:	Timur Tabi <timur@kernel.org> | ||||
| M:	Nicolin Chen <nicoleotsuka@gmail.com> | ||||
| M:	Xiubo Li <Xiubo.Lee@gmail.com> | ||||
| R:	Fabio Estevam <fabio.estevam@nxp.com> | ||||
| @ -9756,6 +9756,11 @@ L:	linux-scsi@vger.kernel.org | ||||
| S:	Maintained | ||||
| F:	drivers/scsi/NCR_D700.* | ||||
| 
 | ||||
| NCSI LIBRARY: | ||||
| M:	Samuel Mendoza-Jonas <sam@mendozajonas.com> | ||||
| S:	Maintained | ||||
| F:	net/ncsi/ | ||||
| 
 | ||||
| NCT6775 HARDWARE MONITOR DRIVER | ||||
| M:	Guenter Roeck <linux@roeck-us.net> | ||||
| L:	linux-hwmon@vger.kernel.org | ||||
| @ -9882,6 +9887,7 @@ M:	Andrew Lunn <andrew@lunn.ch> | ||||
| M:	Vivien Didelot <vivien.didelot@savoirfairelinux.com> | ||||
| M:	Florian Fainelli <f.fainelli@gmail.com> | ||||
| S:	Maintained | ||||
| F:	Documentation/devicetree/bindings/net/dsa/ | ||||
| F:	net/dsa/ | ||||
| F:	include/net/dsa.h | ||||
| F:	include/linux/dsa/ | ||||
| @ -10208,11 +10214,13 @@ F:	sound/soc/codecs/sgtl5000* | ||||
| 
 | ||||
| NXP TDA998X DRM DRIVER | ||||
| M:	Russell King <linux@armlinux.org.uk> | ||||
| S:	Supported | ||||
| S:	Maintained | ||||
| T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel | ||||
| T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes | ||||
| F:	drivers/gpu/drm/i2c/tda998x_drv.c | ||||
| F:	include/drm/i2c/tda998x.h | ||||
| F:	include/dt-bindings/display/tda998x.h | ||||
| K:	"nxp,tda998x" | ||||
| 
 | ||||
| NXP TFA9879 DRIVER | ||||
| M:	Peter Rosin <peda@axentia.se> | ||||
| @ -11476,6 +11484,15 @@ W:	http://wireless.kernel.org/en/users/Drivers/p54 | ||||
| S:	Obsolete | ||||
| 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 | ||||
| M:	"Luis R. Rodriguez" <mcgrof@kernel.org> | ||||
| M:	Kees Cook <keescook@chromium.org> | ||||
| @ -11808,9 +11825,9 @@ F:  Documentation/devicetree/bindings/opp/kryo-cpufreq.txt | ||||
| F:  drivers/cpufreq/qcom-cpufreq-kryo.c | ||||
| 
 | ||||
| QUALCOMM EMAC GIGABIT ETHERNET DRIVER | ||||
| M:	Timur Tabi <timur@codeaurora.org> | ||||
| M:	Timur Tabi <timur@kernel.org> | ||||
| L:	netdev@vger.kernel.org | ||||
| S:	Supported | ||||
| S:	Maintained | ||||
| F:	drivers/net/ethernet/qualcomm/emac/ | ||||
| 
 | ||||
| QUALCOMM HEXAGON ARCHITECTURE | ||||
| @ -11821,7 +11838,7 @@ S:	Supported | ||||
| F:	arch/hexagon/ | ||||
| 
 | ||||
| QUALCOMM HIDMA DRIVER | ||||
| M:	Sinan Kaya <okaya@codeaurora.org> | ||||
| M:	Sinan Kaya <okaya@kernel.org> | ||||
| L:	linux-arm-kernel@lists.infradead.org | ||||
| L:	linux-arm-msm@vger.kernel.org | ||||
| L:	dmaengine@vger.kernel.org | ||||
| @ -13648,7 +13665,7 @@ M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | ||||
| L:	iommu@lists.linux-foundation.org | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git | ||||
| S:	Supported | ||||
| F:	lib/swiotlb.c | ||||
| F:	kernel/dma/swiotlb.c | ||||
| F:	arch/*/kernel/pci-swiotlb.c | ||||
| F:	include/linux/swiotlb.h | ||||
| 
 | ||||
| @ -15572,9 +15589,17 @@ M:	x86@kernel.org | ||||
| L:	linux-kernel@vger.kernel.org | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core | ||||
| S:	Maintained | ||||
| F:	Documentation/devicetree/bindings/x86/ | ||||
| F:	Documentation/x86/ | ||||
| F:	arch/x86/ | ||||
| 
 | ||||
| X86 ENTRY CODE | ||||
| M:	Andy Lutomirski <luto@kernel.org> | ||||
| L:	linux-kernel@vger.kernel.org | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/asm | ||||
| S:	Maintained | ||||
| F:	arch/x86/entry/ | ||||
| 
 | ||||
| X86 MCE INFRASTRUCTURE | ||||
| M:	Tony Luck <tony.luck@intel.com> | ||||
| M:	Borislav Petkov <bp@alien8.de> | ||||
| @ -15597,7 +15622,7 @@ F:	drivers/platform/x86/ | ||||
| F:	drivers/platform/olpc/ | ||||
| 
 | ||||
| X86 VDSO | ||||
| M:	Andy Lutomirski <luto@amacapital.net> | ||||
| M:	Andy Lutomirski <luto@kernel.org> | ||||
| L:	linux-kernel@vger.kernel.org | ||||
| T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/vdso | ||||
| S:	Maintained | ||||
|  | ||||
							
								
								
									
										15
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								Makefile
									
									
									
									
									
								
							| @ -2,7 +2,7 @@ | ||||
| VERSION = 4 | ||||
| PATCHLEVEL = 18 | ||||
| SUBLEVEL = 0 | ||||
| EXTRAVERSION = -rc1 | ||||
| EXTRAVERSION = -rc5 | ||||
| NAME = Merciless Moray | ||||
| 
 | ||||
| # *DOCUMENTATION*
 | ||||
| @ -353,9 +353,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ | ||||
| 	  else if [ -x /bin/bash ]; then echo /bin/bash; \
 | ||||
| 	  else echo sh; fi ; fi) | ||||
| 
 | ||||
| HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS) | ||||
| HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS) | ||||
| HOST_LFS_LIBS := $(shell getconf LFS_LIBS) | ||||
| HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null) | ||||
| HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null) | ||||
| HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null) | ||||
| 
 | ||||
| HOSTCC       = gcc | ||||
| HOSTCXX      = g++ | ||||
| @ -507,11 +507,6 @@ ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLA | ||||
|   KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO | ||||
| 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.
 | ||||
| # Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
 | ||||
| # CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
 | ||||
| @ -1717,6 +1712,6 @@ endif	# skip-makefile | ||||
| PHONY += FORCE | ||||
| FORCE: | ||||
| 
 | ||||
| # Declare the contents of the .PHONY variable as phony.  We keep that
 | ||||
| # Declare the contents of the PHONY variable as phony.  We keep that
 | ||||
| # information in a variable so we can use it in if_changed and friends.
 | ||||
| .PHONY: $(PHONY) | ||||
|  | ||||
| @ -555,11 +555,6 @@ config SMP | ||||
| 
 | ||||
| 	  If you don't know what to do here, say N. | ||||
| 
 | ||||
| config HAVE_DEC_LOCK | ||||
| 	bool | ||||
| 	depends on SMP | ||||
| 	default y | ||||
| 
 | ||||
| config NR_CPUS | ||||
| 	int "Maximum number of CPUs (2-32)" | ||||
| 	range 2 32 | ||||
|  | ||||
| @ -35,8 +35,6 @@ lib-y =	__divqu.o __remqu.o __divlu.o __remlu.o \ | ||||
| 	callback_srm.o srm_puts.o srm_printk.o \
 | ||||
| 	fls.o | ||||
| 
 | ||||
| lib-$(CONFIG_SMP) += dec_and_lock.o | ||||
| 
 | ||||
| # The division routines are built from single source, with different defines.
 | ||||
| AFLAGS___divqu.o = -DDIV | ||||
| AFLAGS___remqu.o =       -DREM | ||||
|  | ||||
| @ -1,44 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0
 | ||||
| /*
 | ||||
|  * arch/alpha/lib/dec_and_lock.c | ||||
|  * | ||||
|  * ll/sc version of atomic_dec_and_lock() | ||||
|  *  | ||||
|  */ | ||||
| 
 | ||||
| #include <linux/spinlock.h> | ||||
| #include <linux/atomic.h> | ||||
| #include <linux/export.h> | ||||
| 
 | ||||
|   asm (".text					\n\
 | ||||
| 	.global _atomic_dec_and_lock		\n\ | ||||
| 	.ent _atomic_dec_and_lock		\n\ | ||||
| 	.align	4				\n\ | ||||
| _atomic_dec_and_lock:				\n\ | ||||
| 	.prologue 0				\n\ | ||||
| 1:	ldl_l	$1, 0($16)			\n\ | ||||
| 	subl	$1, 1, $1			\n\ | ||||
| 	beq	$1, 2f				\n\ | ||||
| 	stl_c	$1, 0($16)			\n\ | ||||
| 	beq	$1, 4f				\n\ | ||||
| 	mb					\n\ | ||||
| 	clr	$0				\n\ | ||||
| 	ret					\n\ | ||||
| 2:	br	$29, 3f				\n\ | ||||
| 3:	ldgp	$29, 0($29)			\n\ | ||||
| 	br	$atomic_dec_and_lock_1..ng	\n\ | ||||
| 	.subsection 2				\n\ | ||||
| 4:	br	1b				\n\ | ||||
| 	.previous				\n\ | ||||
| 	.end _atomic_dec_and_lock"); | ||||
| 
 | ||||
| static int __used atomic_dec_and_lock_1(atomic_t *atomic, spinlock_t *lock) | ||||
| { | ||||
| 	/* Slow path */ | ||||
| 	spin_lock(lock); | ||||
| 	if (atomic_dec_and_test(atomic)) | ||||
| 		return 1; | ||||
| 	spin_unlock(lock); | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL(_atomic_dec_and_lock); | ||||
| @ -1240,8 +1240,14 @@ config PCI | ||||
| 	  VESA. If you have PCI, say Y, otherwise N. | ||||
| 
 | ||||
| config PCI_DOMAINS | ||||
| 	bool | ||||
| 	bool "Support for multiple PCI domains" | ||||
| 	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 | ||||
| 	def_bool PCI_DOMAINS | ||||
|  | ||||
| @ -168,7 +168,6 @@ | ||||
| 			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3.mmc0_dat3 */ | ||||
| 			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd.mmc0_cmd */ | ||||
| 			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk.mmc0_clk */ | ||||
| 			AM33XX_IOPAD(0x9a0, PIN_INPUT | MUX_MODE4)		/* mcasp0_aclkr.mmc0_sdwp */ | ||||
| 		>; | ||||
| 	}; | ||||
| 
 | ||||
|  | ||||
| @ -39,6 +39,8 @@ | ||||
| 			ti,davinci-ctrl-ram-size = <0x2000>; | ||||
| 			ti,davinci-rmii-en = /bits/ 8 <1>; | ||||
| 			local-mac-address = [ 00 00 00 00 00 00 ]; | ||||
| 			clocks = <&emac_ick>; | ||||
| 			clock-names = "ick"; | ||||
| 		}; | ||||
| 
 | ||||
| 		davinci_mdio: ethernet@5c030000 { | ||||
| @ -49,6 +51,8 @@ | ||||
| 			bus_freq = <1000000>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			clocks = <&emac_fck>; | ||||
| 			clock-names = "fck"; | ||||
| 		}; | ||||
| 
 | ||||
| 		uart4: serial@4809e000 { | ||||
| @ -87,6 +91,11 @@ | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| /* Table Table 5-79 of the TRM shows 480ab000 is reserved */ | ||||
| &usb_otg_hs { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
| 
 | ||||
| &iva { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| @ -610,6 +610,8 @@ | ||||
| 
 | ||||
| 		touchscreen-size-x = <480>; | ||||
| 		touchscreen-size-y = <272>; | ||||
| 
 | ||||
| 		wakeup-source; | ||||
| 	}; | ||||
| 
 | ||||
| 	tlv320aic3106: tlv320aic3106@1b { | ||||
|  | ||||
| @ -139,7 +139,7 @@ | ||||
| 					      3700 5 | ||||
| 					      3900 6 | ||||
| 					      4000 7>; | ||||
| 			cooling-cells = <2>; | ||||
| 			#cooling-cells = <2>; | ||||
| 		}; | ||||
| 
 | ||||
| 		gpio-leds { | ||||
|  | ||||
| @ -547,7 +547,7 @@ | ||||
| 
 | ||||
| 			thermal: thermal@e8078 { | ||||
| 				compatible = "marvell,armada380-thermal"; | ||||
| 				reg = <0xe4078 0x4>, <0xe4074 0x4>; | ||||
| 				reg = <0xe4078 0x4>, <0xe4070 0x8>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
| 
 | ||||
|  | ||||
| @ -216,7 +216,7 @@ | ||||
| 			reg = <0x18008000 0x100>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| @ -245,7 +245,7 @@ | ||||
| 			reg = <0x1800b000 0x100>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| @ -256,7 +256,7 @@ | ||||
| 
 | ||||
| 			#interrupt-cells = <1>; | ||||
| 			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>; | ||||
| 
 | ||||
| @ -278,10 +278,10 @@ | ||||
| 				compatible = "brcm,iproc-msi"; | ||||
| 				msi-controller; | ||||
| 				interrupt-parent = <&gic>; | ||||
| 				interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>, | ||||
| 					     <GIC_SPI 97 IRQ_TYPE_NONE>, | ||||
| 					     <GIC_SPI 98 IRQ_TYPE_NONE>, | ||||
| 					     <GIC_SPI 99 IRQ_TYPE_NONE>; | ||||
| 				interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 					     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 					     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 					     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| @ -291,7 +291,7 @@ | ||||
| 
 | ||||
| 			#interrupt-cells = <1>; | ||||
| 			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>; | ||||
| 
 | ||||
| @ -313,10 +313,10 @@ | ||||
| 				compatible = "brcm,iproc-msi"; | ||||
| 				msi-controller; | ||||
| 				interrupt-parent = <&gic>; | ||||
| 				interrupts = <GIC_SPI 102 IRQ_TYPE_NONE>, | ||||
| 					     <GIC_SPI 103 IRQ_TYPE_NONE>, | ||||
| 					     <GIC_SPI 104 IRQ_TYPE_NONE>, | ||||
| 					     <GIC_SPI 105 IRQ_TYPE_NONE>; | ||||
| 				interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 					     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 					     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 					     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
|  | ||||
| @ -264,7 +264,7 @@ | ||||
| 			reg = <0x38000 0x50>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 95 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 		}; | ||||
| 
 | ||||
| @ -279,7 +279,7 @@ | ||||
| 			reg = <0x3b000 0x50>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 		}; | ||||
| 	}; | ||||
| @ -300,7 +300,7 @@ | ||||
| 
 | ||||
| 		#interrupt-cells = <1>; | ||||
| 		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>; | ||||
| 
 | ||||
| @ -322,10 +322,10 @@ | ||||
| 			compatible = "brcm,iproc-msi"; | ||||
| 			msi-controller; | ||||
| 			interrupt-parent = <&gic>; | ||||
| 			interrupts = <GIC_SPI 182 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 183 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 184 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 185 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			brcm,pcie-msi-inten; | ||||
| 		}; | ||||
| 	}; | ||||
| @ -336,7 +336,7 @@ | ||||
| 
 | ||||
| 		#interrupt-cells = <1>; | ||||
| 		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>; | ||||
| 
 | ||||
| @ -358,10 +358,10 @@ | ||||
| 			compatible = "brcm,iproc-msi"; | ||||
| 			msi-controller; | ||||
| 			interrupt-parent = <&gic>; | ||||
| 			interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 189 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 190 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 191 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			brcm,pcie-msi-inten; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| @ -391,7 +391,7 @@ | ||||
| 			reg = <0x38000 0x50>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 			dma-coherent; | ||||
| 			status = "disabled"; | ||||
| @ -496,7 +496,7 @@ | ||||
| 
 | ||||
| 		#interrupt-cells = <1>; | ||||
| 		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>; | ||||
| 
 | ||||
| @ -519,10 +519,10 @@ | ||||
| 			compatible = "brcm,iproc-msi"; | ||||
| 			msi-controller; | ||||
| 			interrupt-parent = <&gic>; | ||||
| 			interrupts = <GIC_SPI 127 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 128 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 129 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 130 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			brcm,pcie-msi-inten; | ||||
| 		}; | ||||
| 	}; | ||||
| @ -533,7 +533,7 @@ | ||||
| 
 | ||||
| 		#interrupt-cells = <1>; | ||||
| 		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>; | ||||
| 
 | ||||
| @ -556,10 +556,10 @@ | ||||
| 			compatible = "brcm,iproc-msi"; | ||||
| 			msi-controller; | ||||
| 			interrupt-parent = <&gic>; | ||||
| 			interrupts = <GIC_SPI 133 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 134 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 135 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 136 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			brcm,pcie-msi-inten; | ||||
| 		}; | ||||
| 	}; | ||||
| @ -570,7 +570,7 @@ | ||||
| 
 | ||||
| 		#interrupt-cells = <1>; | ||||
| 		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>; | ||||
| 
 | ||||
| @ -593,10 +593,10 @@ | ||||
| 			compatible = "brcm,iproc-msi"; | ||||
| 			msi-controller; | ||||
| 			interrupt-parent = <&gic>; | ||||
| 			interrupts = <GIC_SPI 139 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 140 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 141 IRQ_TYPE_NONE>, | ||||
| 				     <GIC_SPI 142 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 				     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			brcm,pcie-msi-inten; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| @ -365,7 +365,7 @@ | ||||
| 	i2c0: i2c@18009000 { | ||||
| 		compatible = "brcm,iproc-i2c"; | ||||
| 		reg = <0x18009000 0x50>; | ||||
| 		interrupts = <GIC_SPI 121 IRQ_TYPE_NONE>; | ||||
| 		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		clock-frequency = <100000>; | ||||
|  | ||||
| @ -549,11 +549,7 @@ | ||||
| 			gpio-controller; | ||||
| 			#gpio-cells = <2>; | ||||
| 			reg = <0x226000 0x1000>; | ||||
| 			interrupts = <42 IRQ_TYPE_EDGE_BOTH | ||||
| 				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>; | ||||
| 			interrupts = <42 43 44 45 46 47 48 49 50>; | ||||
| 			ti,ngpio = <144>; | ||||
| 			ti,davinci-gpio-unbanked = <0>; | ||||
| 			status = "disabled"; | ||||
|  | ||||
| @ -1580,7 +1580,6 @@ | ||||
| 				dr_mode = "otg"; | ||||
| 				snps,dis_u3_susphy_quirk; | ||||
| 				snps,dis_u2_susphy_quirk; | ||||
| 				snps,dis_metastability_quirk; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| @ -1608,6 +1607,7 @@ | ||||
| 				dr_mode = "otg"; | ||||
| 				snps,dis_u3_susphy_quirk; | ||||
| 				snps,dis_u2_susphy_quirk; | ||||
| 				snps,dis_metastability_quirk; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
|  | ||||
| @ -770,7 +770,7 @@ | ||||
| 
 | ||||
| 	pinctrl_ts: tsgrp { | ||||
| 		fsl,pins = < | ||||
| 			MX51_PAD_CSI1_D8__GPIO3_12		0x85 | ||||
| 			MX51_PAD_CSI1_D8__GPIO3_12		0x04 | ||||
| 			MX51_PAD_CSI1_D9__GPIO3_13		0x85 | ||||
| 		>; | ||||
| 	}; | ||||
|  | ||||
| @ -90,7 +90,7 @@ | ||||
| 					clocks = <&clks IMX6Q_CLK_ECSPI5>, | ||||
| 						 <&clks IMX6Q_CLK_ECSPI5>; | ||||
| 					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"; | ||||
| 					status = "disabled"; | ||||
| 				}; | ||||
|  | ||||
| @ -1344,7 +1344,7 @@ | ||||
| 			ranges = <0x81000000 0 0          0x08f80000 0 0x00010000 /* downstream I/O */ | ||||
| 				  0x82000000 0 0x08000000 0x08000000 0 0x00f00000>; /* non-prefetchable memory */ | ||||
| 			num-lanes = <1>; | ||||
| 			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			interrupt-names = "msi"; | ||||
| 			#interrupt-cells = <1>; | ||||
| 			interrupt-map-mask = <0 0 0 0x7>; | ||||
|  | ||||
| @ -748,13 +748,13 @@ | ||||
| 		nand0: nand@ff900000 { | ||||
| 			#address-cells = <0x1>; | ||||
| 			#size-cells = <0x1>; | ||||
| 			compatible = "denali,denali-nand-dt"; | ||||
| 			compatible = "altr,socfpga-denali-nand"; | ||||
| 			reg = <0xff900000 0x100000>, | ||||
| 			      <0xffb80000 0x10000>; | ||||
| 			reg-names = "nand_data", "denali_reg"; | ||||
| 			interrupts = <0x0 0x90 0x4>; | ||||
| 			dma-mask = <0xffffffff>; | ||||
| 			clocks = <&nand_clk>; | ||||
| 			clocks = <&nand_x_clk>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
|  | ||||
| @ -593,8 +593,7 @@ | ||||
| 			#size-cells = <0>; | ||||
| 			reg = <0xffda5000 0x100>; | ||||
| 			interrupts = <0 102 4>; | ||||
| 			num-chipselect = <4>; | ||||
| 			bus-num = <0>; | ||||
| 			num-cs = <4>; | ||||
| 			/*32bit_access;*/ | ||||
| 			tx-dma-channel = <&pdma 16>; | ||||
| 			rx-dma-channel = <&pdma 17>; | ||||
| @ -633,7 +632,7 @@ | ||||
| 		nand: nand@ffb90000 { | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
| 			compatible = "denali,denali-nand-dt", "altr,socfpga-denali-nand"; | ||||
| 			compatible = "altr,socfpga-denali-nand"; | ||||
| 			reg = <0xffb90000 0x72000>, | ||||
| 			      <0xffb80000 0x10000>; | ||||
| 			reg-names = "nand_data", "denali_reg"; | ||||
|  | ||||
| @ -10,7 +10,7 @@ obj-$(CONFIG_DMABOUNCE)		+= dmabounce.o | ||||
| obj-$(CONFIG_SHARP_LOCOMO)	+= locomo.o | ||||
| obj-$(CONFIG_SHARP_PARAM)	+= sharpsl_param.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_MCPM)		+= mcpm_head.o mcpm_entry.o mcpm_platsmp.o vlock.o | ||||
| CFLAGS_REMOVE_mcpm_entry.o	= -pg | ||||
|  | ||||
| @ -141,9 +141,11 @@ CONFIG_USB_STORAGE=y | ||||
| CONFIG_USB_CHIPIDEA=y | ||||
| CONFIG_USB_CHIPIDEA_UDC=y | ||||
| CONFIG_USB_CHIPIDEA_HOST=y | ||||
| CONFIG_USB_CHIPIDEA_ULPI=y | ||||
| CONFIG_NOP_USB_XCEIV=y | ||||
| CONFIG_USB_GADGET=y | ||||
| CONFIG_USB_ETH=m | ||||
| CONFIG_USB_ULPI_BUS=y | ||||
| CONFIG_MMC=y | ||||
| CONFIG_MMC_SDHCI=y | ||||
| CONFIG_MMC_SDHCI_PLTFM=y | ||||
|  | ||||
| @ -302,6 +302,7 @@ CONFIG_USB_STORAGE=y | ||||
| CONFIG_USB_CHIPIDEA=y | ||||
| CONFIG_USB_CHIPIDEA_UDC=y | ||||
| CONFIG_USB_CHIPIDEA_HOST=y | ||||
| CONFIG_USB_CHIPIDEA_ULPI=y | ||||
| CONFIG_USB_SERIAL=m | ||||
| CONFIG_USB_SERIAL_GENERIC=y | ||||
| CONFIG_USB_SERIAL_FTDI_SIO=m | ||||
| @ -338,6 +339,7 @@ CONFIG_USB_GADGETFS=m | ||||
| CONFIG_USB_FUNCTIONFS=m | ||||
| CONFIG_USB_MASS_STORAGE=m | ||||
| CONFIG_USB_G_SERIAL=m | ||||
| CONFIG_USB_ULPI_BUS=y | ||||
| CONFIG_MMC=y | ||||
| CONFIG_MMC_SDHCI=y | ||||
| CONFIG_MMC_SDHCI_PLTFM=y | ||||
|  | ||||
| @ -1,5 +1,4 @@ | ||||
| CONFIG_SYSVIPC=y | ||||
| CONFIG_FHANDLE=y | ||||
| CONFIG_NO_HZ=y | ||||
| CONFIG_HIGH_RES_TIMERS=y | ||||
| CONFIG_CGROUPS=y | ||||
| @ -10,20 +9,10 @@ CONFIG_MODULES=y | ||||
| CONFIG_MODULE_UNLOAD=y | ||||
| CONFIG_PARTITION_ADVANCED=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_ALPINE=y | ||||
| CONFIG_ARCH_ARTPEC=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_SOC_SAMA5D2=y | ||||
| CONFIG_SOC_SAMA5D3=y | ||||
| @ -32,9 +21,9 @@ CONFIG_ARCH_BCM=y | ||||
| CONFIG_ARCH_BCM_CYGNUS=y | ||||
| CONFIG_ARCH_BCM_HR2=y | ||||
| CONFIG_ARCH_BCM_NSP=y | ||||
| CONFIG_ARCH_BCM_21664=y | ||||
| CONFIG_ARCH_BCM_281XX=y | ||||
| CONFIG_ARCH_BCM_5301X=y | ||||
| CONFIG_ARCH_BCM_281XX=y | ||||
| CONFIG_ARCH_BCM_21664=y | ||||
| CONFIG_ARCH_BCM2835=y | ||||
| CONFIG_ARCH_BCM_63XX=y | ||||
| CONFIG_ARCH_BRCMSTB=y | ||||
| @ -43,14 +32,14 @@ CONFIG_MACH_BERLIN_BG2=y | ||||
| CONFIG_MACH_BERLIN_BG2CD=y | ||||
| CONFIG_MACH_BERLIN_BG2Q=y | ||||
| CONFIG_ARCH_DIGICOLOR=y | ||||
| CONFIG_ARCH_EXYNOS=y | ||||
| CONFIG_EXYNOS5420_MCPM=y | ||||
| CONFIG_ARCH_HIGHBANK=y | ||||
| CONFIG_ARCH_HISI=y | ||||
| CONFIG_ARCH_HI3xxx=y | ||||
| CONFIG_ARCH_HIX5HD2=y | ||||
| CONFIG_ARCH_HIP01=y | ||||
| CONFIG_ARCH_HIP04=y | ||||
| CONFIG_ARCH_KEYSTONE=y | ||||
| CONFIG_ARCH_MESON=y | ||||
| CONFIG_ARCH_HIX5HD2=y | ||||
| CONFIG_ARCH_MXC=y | ||||
| CONFIG_SOC_IMX50=y | ||||
| CONFIG_SOC_IMX51=y | ||||
| @ -60,29 +49,30 @@ CONFIG_SOC_IMX6SL=y | ||||
| CONFIG_SOC_IMX6SX=y | ||||
| CONFIG_SOC_IMX6UL=y | ||||
| CONFIG_SOC_IMX7D=y | ||||
| CONFIG_SOC_VF610=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_OMAP4=y | ||||
| CONFIG_SOC_OMAP5=y | ||||
| CONFIG_SOC_AM33XX=y | ||||
| CONFIG_SOC_AM43XX=y | ||||
| CONFIG_SOC_DRA7XX=y | ||||
| CONFIG_ARCH_SIRF=y | ||||
| CONFIG_ARCH_QCOM=y | ||||
| CONFIG_ARCH_MEDIATEK=y | ||||
| CONFIG_ARCH_MSM8X60=y | ||||
| CONFIG_ARCH_MSM8960=y | ||||
| CONFIG_ARCH_MSM8974=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_EMEV2=y | ||||
| CONFIG_ARCH_R7S72100=y | ||||
| @ -99,40 +89,33 @@ CONFIG_ARCH_R8A7792=y | ||||
| CONFIG_ARCH_R8A7793=y | ||||
| CONFIG_ARCH_R8A7794=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_SIRF=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_U8500=y | ||||
| CONFIG_MACH_HREFV60=y | ||||
| CONFIG_MACH_SNOWBALL=y | ||||
| CONFIG_ARCH_VEXPRESS=y | ||||
| CONFIG_ARCH_VEXPRESS_TC2_PM=y | ||||
| CONFIG_ARCH_WM8850=y | ||||
| CONFIG_ARCH_ZYNQ=y | ||||
| CONFIG_TRUSTED_FOUNDATIONS=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_PCIEPORTBUS=y | ||||
| CONFIG_PCI_MVEBU=y | ||||
| CONFIG_PCI_TEGRA=y | ||||
| CONFIG_PCI_RCAR_GEN2=y | ||||
| CONFIG_PCIE_RCAR=y | ||||
| CONFIG_PCIEPORTBUS=y | ||||
| CONFIG_PCI_DRA7XX_EP=y | ||||
| CONFIG_PCI_KEYSTONE=y | ||||
| CONFIG_PCI_ENDPOINT=y | ||||
| CONFIG_PCI_ENDPOINT_CONFIGFS=y | ||||
| CONFIG_PCI_EPF_TEST=m | ||||
| CONFIG_SMP=y | ||||
| CONFIG_NR_CPUS=16 | ||||
| CONFIG_HIGHPTE=y | ||||
| CONFIG_CMA=y | ||||
| CONFIG_SECCOMP=y | ||||
| CONFIG_ARM_APPENDED_DTB=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_CONSERVATIVE=m | ||||
| CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y | ||||
| CONFIG_CPUFREQ_DT=y | ||||
| CONFIG_ARM_IMX6Q_CPUFREQ=y | ||||
| CONFIG_QORIQ_CPUFREQ=y | ||||
| CONFIG_CPU_IDLE=y | ||||
| CONFIG_ARM_CPUIDLE=y | ||||
| CONFIG_NEON=y | ||||
| CONFIG_KERNEL_MODE_NEON=y | ||||
| CONFIG_ARM_ZYNQ_CPUIDLE=y | ||||
| CONFIG_ARM_EXYNOS_CPUIDLE=y | ||||
| CONFIG_KERNEL_MODE_NEON=y | ||||
| CONFIG_NET=y | ||||
| CONFIG_PACKET=y | ||||
| CONFIG_UNIX=y | ||||
| @ -170,23 +153,13 @@ CONFIG_IPV6_MIP6=m | ||||
| CONFIG_IPV6_TUNNEL=m | ||||
| CONFIG_IPV6_MULTIPLE_TABLES=y | ||||
| CONFIG_NET_DSA=m | ||||
| CONFIG_NET_SWITCHDEV=y | ||||
| CONFIG_CAN=y | ||||
| CONFIG_CAN_RAW=y | ||||
| CONFIG_CAN_BCM=y | ||||
| CONFIG_CAN_DEV=y | ||||
| CONFIG_CAN_AT91=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_XILINXCAN=y | ||||
| CONFIG_CAN_RCAR=m | ||||
| CONFIG_CAN_MCP251X=y | ||||
| CONFIG_BT=m | ||||
| CONFIG_BT_HCIUART=m | ||||
| CONFIG_BT_HCIUART_BCM=y | ||||
| @ -199,11 +172,9 @@ CONFIG_RFKILL_INPUT=y | ||||
| CONFIG_RFKILL_GPIO=y | ||||
| CONFIG_DEVTMPFS=y | ||||
| CONFIG_DEVTMPFS_MOUNT=y | ||||
| CONFIG_DMA_CMA=y | ||||
| CONFIG_CMA_SIZE_MBYTES=64 | ||||
| CONFIG_OMAP_OCP2SCP=y | ||||
| CONFIG_SIMPLE_PM_BUS=y | ||||
| CONFIG_SUNXI_RSB=y | ||||
| CONFIG_MTD=y | ||||
| CONFIG_MTD_CMDLINE_PARTS=y | ||||
| CONFIG_MTD_BLOCK=y | ||||
| @ -236,7 +207,6 @@ CONFIG_PCI_ENDPOINT_TEST=m | ||||
| CONFIG_EEPROM_AT24=y | ||||
| CONFIG_BLK_DEV_SD=y | ||||
| CONFIG_BLK_DEV_SR=y | ||||
| CONFIG_SCSI_MULTI_LUN=y | ||||
| CONFIG_ATA=y | ||||
| CONFIG_SATA_AHCI=y | ||||
| CONFIG_SATA_AHCI_PLATFORM=y | ||||
| @ -251,14 +221,20 @@ CONFIG_SATA_MV=y | ||||
| CONFIG_SATA_RCAR=y | ||||
| CONFIG_NETDEVICES=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_MACB=y | ||||
| CONFIG_BCMGENET=m | ||||
| CONFIG_BGMAC_BCMA=y | ||||
| CONFIG_SYSTEMPORT=m | ||||
| CONFIG_MACB=y | ||||
| CONFIG_NET_CALXEDA_XGMAC=y | ||||
| CONFIG_GIANFAR=y | ||||
| CONFIG_HIX5HD2_GMAC=y | ||||
| CONFIG_E1000E=y | ||||
| CONFIG_IGB=y | ||||
| CONFIG_MV643XX_ETH=y | ||||
| CONFIG_MVNETA=y | ||||
| @ -268,19 +244,17 @@ CONFIG_R8169=y | ||||
| CONFIG_SH_ETH=y | ||||
| CONFIG_SMSC911X=y | ||||
| CONFIG_STMMAC_ETH=y | ||||
| CONFIG_STMMAC_PLATFORM=y | ||||
| CONFIG_DWMAC_DWC_QOS_ETH=y | ||||
| CONFIG_TI_CPSW=y | ||||
| CONFIG_XILINX_EMACLITE=y | ||||
| CONFIG_AT803X_PHY=y | ||||
| CONFIG_MARVELL_PHY=y | ||||
| CONFIG_SMSC_PHY=y | ||||
| CONFIG_BROADCOM_PHY=y | ||||
| CONFIG_ICPLUS_PHY=y | ||||
| CONFIG_REALTEK_PHY=y | ||||
| CONFIG_MARVELL_PHY=y | ||||
| CONFIG_MICREL_PHY=y | ||||
| CONFIG_FIXED_PHY=y | ||||
| CONFIG_REALTEK_PHY=y | ||||
| CONFIG_ROCKCHIP_PHY=y | ||||
| CONFIG_SMSC_PHY=y | ||||
| CONFIG_USB_PEGASUS=y | ||||
| CONFIG_USB_RTL8152=m | ||||
| CONFIG_USB_LAN78XX=m | ||||
| @ -288,29 +262,29 @@ CONFIG_USB_USBNET=y | ||||
| CONFIG_USB_NET_SMSC75XX=y | ||||
| CONFIG_USB_NET_SMSC95XX=y | ||||
| CONFIG_BRCMFMAC=m | ||||
| CONFIG_RT2X00=m | ||||
| CONFIG_RT2800USB=m | ||||
| CONFIG_MWIFIEX=m | ||||
| CONFIG_MWIFIEX_SDIO=m | ||||
| CONFIG_RT2X00=m | ||||
| CONFIG_RT2800USB=m | ||||
| CONFIG_INPUT_JOYDEV=y | ||||
| CONFIG_INPUT_EVDEV=y | ||||
| CONFIG_KEYBOARD_QT1070=m | ||||
| CONFIG_KEYBOARD_GPIO=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_ST_KEYSCAN=y | ||||
| CONFIG_KEYBOARD_SPEAR=y | ||||
| CONFIG_KEYBOARD_CROS_EC=m | ||||
| CONFIG_MOUSE_PS2_ELANTECH=y | ||||
| CONFIG_MOUSE_CYAPA=m | ||||
| CONFIG_MOUSE_ELAN_I2C=y | ||||
| CONFIG_INPUT_TOUCHSCREEN=y | ||||
| CONFIG_TOUCHSCREEN_ATMEL_MXT=m | ||||
| CONFIG_TOUCHSCREEN_MMS114=m | ||||
| CONFIG_TOUCHSCREEN_WM97XX=m | ||||
| CONFIG_TOUCHSCREEN_ST1232=m | ||||
| CONFIG_TOUCHSCREEN_STMPE=y | ||||
| CONFIG_TOUCHSCREEN_SUN4I=y | ||||
| CONFIG_TOUCHSCREEN_WM97XX=m | ||||
| CONFIG_INPUT_MISC=y | ||||
| CONFIG_INPUT_MAX77693_HAPTIC=m | ||||
| CONFIG_INPUT_MAX8997_HAPTIC=m | ||||
| @ -327,13 +301,12 @@ CONFIG_SERIAL_8250_DW=y | ||||
| CONFIG_SERIAL_8250_EM=y | ||||
| CONFIG_SERIAL_8250_MT6577=y | ||||
| CONFIG_SERIAL_8250_UNIPHIER=y | ||||
| CONFIG_SERIAL_OF_PLATFORM=y | ||||
| CONFIG_SERIAL_AMBA_PL011=y | ||||
| CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | ||||
| CONFIG_SERIAL_ATMEL=y | ||||
| CONFIG_SERIAL_ATMEL_CONSOLE=y | ||||
| CONFIG_SERIAL_ATMEL_TTYAT=y | ||||
| CONFIG_SERIAL_BCM63XX=y | ||||
| CONFIG_SERIAL_BCM63XX_CONSOLE=y | ||||
| CONFIG_SERIAL_MESON=y | ||||
| CONFIG_SERIAL_MESON_CONSOLE=y | ||||
| CONFIG_SERIAL_SAMSUNG=y | ||||
| @ -345,15 +318,14 @@ CONFIG_SERIAL_IMX=y | ||||
| CONFIG_SERIAL_IMX_CONSOLE=y | ||||
| CONFIG_SERIAL_SH_SCI=y | ||||
| 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_CONSOLE=y | ||||
| CONFIG_SERIAL_VT8500=y | ||||
| CONFIG_SERIAL_VT8500_CONSOLE=y | ||||
| CONFIG_SERIAL_OF_PLATFORM=y | ||||
| CONFIG_SERIAL_OMAP=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_CONSOLE=y | ||||
| CONFIG_SERIAL_FSL_LPUART=y | ||||
| @ -365,12 +337,10 @@ CONFIG_SERIAL_ST_ASC_CONSOLE=y | ||||
| CONFIG_SERIAL_STM32=y | ||||
| CONFIG_SERIAL_STM32_CONSOLE=y | ||||
| CONFIG_SERIAL_DEV_BUS=y | ||||
| CONFIG_HVC_DRIVER=y | ||||
| CONFIG_VIRTIO_CONSOLE=y | ||||
| CONFIG_HW_RANDOM=y | ||||
| CONFIG_HW_RANDOM_ST=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_MUX_PCA954x=y | ||||
| CONFIG_I2C_MUX_PINCTRL=y | ||||
| @ -378,12 +348,13 @@ CONFIG_I2C_DEMUX_PINCTRL=y | ||||
| CONFIG_I2C_AT91=m | ||||
| CONFIG_I2C_BCM2835=y | ||||
| CONFIG_I2C_CADENCE=y | ||||
| CONFIG_I2C_DAVINCI=y | ||||
| CONFIG_I2C_DESIGNWARE_PLATFORM=y | ||||
| CONFIG_I2C_DIGICOLOR=m | ||||
| CONFIG_I2C_EMEV2=m | ||||
| CONFIG_I2C_GPIO=m | ||||
| CONFIG_I2C_EXYNOS5=y | ||||
| CONFIG_I2C_IMX=y | ||||
| CONFIG_I2C_MESON=y | ||||
| CONFIG_I2C_MV64XXX=y | ||||
| CONFIG_I2C_RIIC=y | ||||
| CONFIG_I2C_RK3X=y | ||||
| @ -427,7 +398,6 @@ CONFIG_SPI_SPIDEV=y | ||||
| CONFIG_SPMI=y | ||||
| CONFIG_PINCTRL_AS3722=y | ||||
| CONFIG_PINCTRL_PALMAS=y | ||||
| CONFIG_PINCTRL_BCM2835=y | ||||
| CONFIG_PINCTRL_APQ8064=y | ||||
| CONFIG_PINCTRL_APQ8084=y | ||||
| CONFIG_PINCTRL_IPQ8064=y | ||||
| @ -437,25 +407,33 @@ CONFIG_PINCTRL_MSM8X74=y | ||||
| CONFIG_PINCTRL_MSM8916=y | ||||
| CONFIG_PINCTRL_QCOM_SPMI_PMIC=y | ||||
| CONFIG_PINCTRL_QCOM_SSBI_PMIC=y | ||||
| CONFIG_GPIO_GENERIC_PLATFORM=y | ||||
| CONFIG_GPIO_DAVINCI=y | ||||
| CONFIG_GPIO_DWAPB=y | ||||
| CONFIG_GPIO_EM=y | ||||
| CONFIG_GPIO_RCAR=y | ||||
| CONFIG_GPIO_SYSCON=y | ||||
| CONFIG_GPIO_UNIPHIER=y | ||||
| CONFIG_GPIO_XILINX=y | ||||
| CONFIG_GPIO_ZYNQ=y | ||||
| CONFIG_GPIO_PCA953X=y | ||||
| CONFIG_GPIO_PCA953X_IRQ=y | ||||
| CONFIG_GPIO_PCF857X=y | ||||
| CONFIG_GPIO_TWL4030=y | ||||
| CONFIG_GPIO_PALMAS=y | ||||
| CONFIG_GPIO_SYSCON=y | ||||
| CONFIG_GPIO_TPS6586X=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_CPCAP=m | ||||
| CONFIG_BATTERY_SBS=y | ||||
| CONFIG_AXP20X_POWER=m | ||||
| CONFIG_BATTERY_MAX17040=m | ||||
| CONFIG_BATTERY_MAX17042=m | ||||
| CONFIG_CHARGER_CPCAP=m | ||||
| @ -464,15 +442,6 @@ CONFIG_CHARGER_MAX77693=m | ||||
| CONFIG_CHARGER_MAX8997=m | ||||
| CONFIG_CHARGER_MAX8998=m | ||||
| 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_LM90=y | ||||
| CONFIG_SENSORS_LM95245=y | ||||
| @ -480,14 +449,12 @@ CONFIG_SENSORS_NTC_THERMISTOR=m | ||||
| CONFIG_SENSORS_PWM_FAN=m | ||||
| CONFIG_SENSORS_INA2XX=m | ||||
| CONFIG_CPU_THERMAL=y | ||||
| CONFIG_BCM2835_THERMAL=m | ||||
| CONFIG_BRCMSTB_THERMAL=m | ||||
| CONFIG_IMX_THERMAL=y | ||||
| CONFIG_ROCKCHIP_THERMAL=y | ||||
| CONFIG_RCAR_THERMAL=y | ||||
| CONFIG_ARMADA_THERMAL=y | ||||
| CONFIG_DAVINCI_WATCHDOG=m | ||||
| CONFIG_EXYNOS_THERMAL=m | ||||
| CONFIG_BCM2835_THERMAL=m | ||||
| CONFIG_BRCMSTB_THERMAL=m | ||||
| CONFIG_ST_THERMAL_MEMMAP=y | ||||
| CONFIG_WATCHDOG=y | ||||
| CONFIG_DA9063_WATCHDOG=m | ||||
| @ -495,20 +462,24 @@ CONFIG_XILINX_WATCHDOG=y | ||||
| CONFIG_ARM_SP805_WATCHDOG=y | ||||
| CONFIG_AT91SAM9X_WATCHDOG=y | ||||
| CONFIG_SAMA5D4_WATCHDOG=y | ||||
| CONFIG_DW_WATCHDOG=y | ||||
| CONFIG_DAVINCI_WATCHDOG=m | ||||
| CONFIG_ORION_WATCHDOG=y | ||||
| CONFIG_RN5T618_WATCHDOG=y | ||||
| CONFIG_ST_LPC_WATCHDOG=y | ||||
| CONFIG_SUNXI_WATCHDOG=y | ||||
| CONFIG_IMX2_WDT=y | ||||
| CONFIG_ST_LPC_WATCHDOG=y | ||||
| CONFIG_TEGRA_WATCHDOG=m | ||||
| CONFIG_MESON_WATCHDOG=y | ||||
| CONFIG_DW_WATCHDOG=y | ||||
| CONFIG_DIGICOLOR_WATCHDOG=y | ||||
| CONFIG_RENESAS_WDT=m | ||||
| CONFIG_BCM2835_WDT=y | ||||
| CONFIG_BCM47XX_WDT=y | ||||
| CONFIG_BCM7038_WDT=m | ||||
| CONFIG_BCM2835_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_AS3711=y | ||||
| CONFIG_MFD_AS3722=y | ||||
| @ -516,7 +487,6 @@ CONFIG_MFD_ATMEL_FLEXCOM=y | ||||
| CONFIG_MFD_ATMEL_HLCDC=m | ||||
| CONFIG_MFD_BCM590XX=y | ||||
| CONFIG_MFD_AC100=y | ||||
| CONFIG_MFD_AXP20X=y | ||||
| CONFIG_MFD_AXP20X_I2C=y | ||||
| CONFIG_MFD_AXP20X_RSB=y | ||||
| CONFIG_MFD_CROS_EC=m | ||||
| @ -529,11 +499,11 @@ CONFIG_MFD_MAX77693=m | ||||
| CONFIG_MFD_MAX8907=y | ||||
| CONFIG_MFD_MAX8997=y | ||||
| CONFIG_MFD_MAX8998=y | ||||
| CONFIG_MFD_RK808=y | ||||
| CONFIG_MFD_CPCAP=y | ||||
| CONFIG_MFD_PM8XXX=y | ||||
| CONFIG_MFD_QCOM_RPM=y | ||||
| CONFIG_MFD_SPMI_PMIC=y | ||||
| CONFIG_MFD_RK808=y | ||||
| CONFIG_MFD_RN5T618=y | ||||
| CONFIG_MFD_SEC_CORE=y | ||||
| CONFIG_MFD_STMPE=y | ||||
| @ -543,10 +513,10 @@ CONFIG_MFD_TPS65217=y | ||||
| CONFIG_MFD_TPS65218=y | ||||
| CONFIG_MFD_TPS6586X=y | ||||
| CONFIG_MFD_TPS65910=y | ||||
| CONFIG_REGULATOR_ACT8945A=y | ||||
| CONFIG_REGULATOR_AB8500=y | ||||
| CONFIG_REGULATOR_ACT8865=y | ||||
| CONFIG_REGULATOR_ACT8945A=y | ||||
| CONFIG_REGULATOR_ANATOP=y | ||||
| CONFIG_REGULATOR_AB8500=y | ||||
| CONFIG_REGULATOR_AS3711=y | ||||
| CONFIG_REGULATOR_AS3722=y | ||||
| CONFIG_REGULATOR_AXP20X=y | ||||
| @ -554,10 +524,7 @@ CONFIG_REGULATOR_BCM590XX=y | ||||
| CONFIG_REGULATOR_CPCAP=y | ||||
| CONFIG_REGULATOR_DA9210=y | ||||
| CONFIG_REGULATOR_FAN53555=y | ||||
| CONFIG_REGULATOR_RK808=y | ||||
| CONFIG_REGULATOR_GPIO=y | ||||
| CONFIG_MFD_SYSCON=y | ||||
| CONFIG_POWER_RESET_SYSCON=y | ||||
| CONFIG_REGULATOR_LP872X=y | ||||
| CONFIG_REGULATOR_MAX14577=m | ||||
| CONFIG_REGULATOR_MAX8907=y | ||||
| @ -571,7 +538,8 @@ CONFIG_REGULATOR_PALMAS=y | ||||
| CONFIG_REGULATOR_PBIAS=y | ||||
| CONFIG_REGULATOR_PWM=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_S2MPS11=y | ||||
| CONFIG_REGULATOR_S5M8767=y | ||||
| @ -592,18 +560,17 @@ CONFIG_MEDIA_CEC_SUPPORT=y | ||||
| CONFIG_MEDIA_CONTROLLER=y | ||||
| CONFIG_VIDEO_V4L2_SUBDEV_API=y | ||||
| CONFIG_MEDIA_USB_SUPPORT=y | ||||
| CONFIG_USB_VIDEO_CLASS=y | ||||
| CONFIG_USB_GSPCA=y | ||||
| CONFIG_USB_VIDEO_CLASS=m | ||||
| CONFIG_V4L_PLATFORM_DRIVERS=y | ||||
| CONFIG_SOC_CAMERA=m | ||||
| CONFIG_SOC_CAMERA_PLATFORM=m | ||||
| CONFIG_VIDEO_RCAR_VIN=m | ||||
| CONFIG_VIDEO_ATMEL_ISI=m | ||||
| CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m | ||||
| CONFIG_VIDEO_S5P_FIMC=m | ||||
| CONFIG_VIDEO_S5P_MIPI_CSIS=m | ||||
| CONFIG_VIDEO_EXYNOS_FIMC_LITE=m | ||||
| CONFIG_VIDEO_EXYNOS4_FIMC_IS=m | ||||
| CONFIG_VIDEO_RCAR_VIN=m | ||||
| CONFIG_VIDEO_ATMEL_ISI=m | ||||
| CONFIG_V4L_MEM2MEM_DRIVERS=y | ||||
| CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m | ||||
| CONFIG_VIDEO_SAMSUNG_S5P_MFC=m | ||||
| @ -614,19 +581,15 @@ CONFIG_VIDEO_STI_DELTA=m | ||||
| CONFIG_VIDEO_RENESAS_JPU=m | ||||
| CONFIG_VIDEO_RENESAS_VSP1=m | ||||
| CONFIG_V4L_TEST_DRIVERS=y | ||||
| CONFIG_VIDEO_VIVID=m | ||||
| CONFIG_CEC_PLATFORM_DRIVERS=y | ||||
| CONFIG_VIDEO_SAMSUNG_S5P_CEC=m | ||||
| # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set | ||||
| CONFIG_VIDEO_ADV7180=m | ||||
| CONFIG_VIDEO_ML86V7667=m | ||||
| CONFIG_DRM=y | ||||
| CONFIG_DRM_I2C_ADV7511=m | ||||
| CONFIG_DRM_I2C_ADV7511_AUDIO=y | ||||
| # CONFIG_DRM_I2C_CH7006 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_EXYNOS=m | ||||
| CONFIG_DRM_EXYNOS_FIMD=y | ||||
| @ -645,13 +608,18 @@ CONFIG_DRM_RCAR_LVDS=y | ||||
| CONFIG_DRM_SUN4I=m | ||||
| CONFIG_DRM_FSL_DCU=m | ||||
| CONFIG_DRM_TEGRA=y | ||||
| CONFIG_DRM_PANEL_SIMPLE=y | ||||
| CONFIG_DRM_PANEL_SAMSUNG_LD9040=m | ||||
| CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=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_I2C_ADV7511=m | ||||
| CONFIG_DRM_I2C_ADV7511_AUDIO=y | ||||
| CONFIG_DRM_STI=m | ||||
| CONFIG_DRM_VC4=y | ||||
| CONFIG_DRM_VC4=m | ||||
| CONFIG_DRM_ETNAVIV=m | ||||
| CONFIG_DRM_MXSFB=m | ||||
| CONFIG_FB_ARMCLCD=y | ||||
| @ -659,8 +627,6 @@ CONFIG_FB_EFI=y | ||||
| CONFIG_FB_WM8505=y | ||||
| CONFIG_FB_SH_MOBILE_LCDC=y | ||||
| CONFIG_FB_SIMPLE=y | ||||
| CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||||
| CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||||
| CONFIG_LCD_PLATFORM=m | ||||
| CONFIG_BACKLIGHT_PWM=y | ||||
| CONFIG_BACKLIGHT_AS3711=y | ||||
| @ -668,7 +634,6 @@ CONFIG_FRAMEBUFFER_CONSOLE=y | ||||
| CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y | ||||
| CONFIG_SOUND=m | ||||
| CONFIG_SND=m | ||||
| CONFIG_SND_DYNAMIC_MINORS=y | ||||
| CONFIG_SND_HDA_TEGRA=m | ||||
| CONFIG_SND_HDA_INPUT_BEEP=y | ||||
| CONFIG_SND_HDA_PATCH_LOADER=y | ||||
| @ -692,7 +657,7 @@ CONFIG_SND_SOC_SNOW=m | ||||
| CONFIG_SND_SOC_ODROID=m | ||||
| CONFIG_SND_SOC_SH4_FSI=m | ||||
| CONFIG_SND_SOC_RCAR=m | ||||
| CONFIG_SND_SIMPLE_SCU_CARD=m | ||||
| CONFIG_SND_SOC_STI=m | ||||
| CONFIG_SND_SUN4I_CODEC=m | ||||
| CONFIG_SND_SOC_TEGRA=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_TRIMSLICE=m | ||||
| CONFIG_SND_SOC_TEGRA_ALC5632=m | ||||
| CONFIG_SND_SOC_CPCAP=m | ||||
| CONFIG_SND_SOC_TEGRA_MAX98090=m | ||||
| CONFIG_SND_SOC_AK4642=m | ||||
| CONFIG_SND_SOC_CPCAP=m | ||||
| CONFIG_SND_SOC_SGTL5000=m | ||||
| CONFIG_SND_SOC_SPDIF=m | ||||
| CONFIG_SND_SOC_WM8978=m | ||||
| CONFIG_SND_SOC_STI=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_OTG=y | ||||
| CONFIG_USB_XHCI_HCD=y | ||||
| CONFIG_USB_XHCI_MVEBU=y | ||||
| CONFIG_USB_XHCI_RCAR=m | ||||
| CONFIG_USB_XHCI_TEGRA=m | ||||
| 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_PLATFORM=y | ||||
| CONFIG_USB_ISP1760=y | ||||
| CONFIG_USB_EHCI_TEGRA=y | ||||
| CONFIG_USB_EHCI_EXYNOS=y | ||||
| CONFIG_USB_OHCI_HCD=y | ||||
| CONFIG_USB_OHCI_HCD_STI=y | ||||
| CONFIG_USB_OHCI_HCD_PLATFORM=y | ||||
| CONFIG_USB_OHCI_EXYNOS=m | ||||
| CONFIG_USB_R8A66597_HCD=m | ||||
| CONFIG_USB_RENESAS_USBHS=m | ||||
| @ -746,18 +705,18 @@ CONFIG_USB_TI_CPPI41_DMA=y | ||||
| CONFIG_USB_TUSB_OMAP_DMA=y | ||||
| CONFIG_USB_DWC3=y | ||||
| CONFIG_USB_DWC2=y | ||||
| CONFIG_USB_HSIC_USB3503=y | ||||
| CONFIG_USB_CHIPIDEA=y | ||||
| CONFIG_USB_CHIPIDEA_UDC=y | ||||
| CONFIG_USB_CHIPIDEA_HOST=y | ||||
| CONFIG_USB_ISP1760=y | ||||
| CONFIG_USB_HSIC_USB3503=y | ||||
| CONFIG_AB8500_USB=y | ||||
| CONFIG_KEYSTONE_USB_PHY=y | ||||
| CONFIG_KEYSTONE_USB_PHY=m | ||||
| CONFIG_NOP_USB_XCEIV=m | ||||
| CONFIG_AM335X_PHY_USB=m | ||||
| CONFIG_TWL6030_USB=m | ||||
| CONFIG_USB_GPIO_VBUS=y | ||||
| CONFIG_USB_ISP1301=y | ||||
| CONFIG_USB_MSM_OTG=m | ||||
| CONFIG_USB_MXS_PHY=y | ||||
| CONFIG_USB_GADGET=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_DOVE=y | ||||
| CONFIG_MMC_SDHCI_TEGRA=y | ||||
| CONFIG_MMC_SDHCI_S3C=y | ||||
| CONFIG_MMC_SDHCI_PXAV3=y | ||||
| CONFIG_MMC_SDHCI_SPEAR=y | ||||
| CONFIG_MMC_SDHCI_S3C=y | ||||
| CONFIG_MMC_SDHCI_S3C_DMA=y | ||||
| CONFIG_MMC_SDHCI_BCM_KONA=y | ||||
| CONFIG_MMC_MESON_MX_SDIO=y | ||||
| CONFIG_MMC_SDHCI_ST=y | ||||
| CONFIG_MMC_OMAP=y | ||||
| CONFIG_MMC_OMAP_HS=y | ||||
| CONFIG_MMC_ATMELMCI=y | ||||
| CONFIG_MMC_SDHCI_MSM=y | ||||
| CONFIG_MMC_MESON_MX_SDIO=y | ||||
| CONFIG_MMC_MVSDIO=y | ||||
| CONFIG_MMC_SDHI=y | ||||
| CONFIG_MMC_DW=y | ||||
| CONFIG_MMC_DW_PLTFM=y | ||||
| CONFIG_MMC_DW_EXYNOS=y | ||||
| CONFIG_MMC_DW_ROCKCHIP=y | ||||
| CONFIG_MMC_SH_MMCIF=y | ||||
| @ -847,94 +805,85 @@ CONFIG_RTC_DRV_MAX77686=y | ||||
| CONFIG_RTC_DRV_RK808=m | ||||
| CONFIG_RTC_DRV_RS5C372=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_PALMAS=y | ||||
| CONFIG_RTC_DRV_TPS6586X=y | ||||
| CONFIG_RTC_DRV_TPS65910=y | ||||
| CONFIG_RTC_DRV_S35390A=m | ||||
| CONFIG_RTC_DRV_RX8581=m | ||||
| CONFIG_RTC_DRV_EM3027=y | ||||
| CONFIG_RTC_DRV_S5M=m | ||||
| CONFIG_RTC_DRV_DA9063=m | ||||
| CONFIG_RTC_DRV_EFI=m | ||||
| CONFIG_RTC_DRV_DIGICOLOR=m | ||||
| CONFIG_RTC_DRV_S5M=m | ||||
| CONFIG_RTC_DRV_S3C=m | ||||
| CONFIG_RTC_DRV_PL031=y | ||||
| CONFIG_RTC_DRV_AT91RM9200=m | ||||
| CONFIG_RTC_DRV_AT91SAM9=m | ||||
| CONFIG_RTC_DRV_VT8500=y | ||||
| CONFIG_RTC_DRV_SUN6I=y | ||||
| CONFIG_RTC_DRV_SUNXI=y | ||||
| CONFIG_RTC_DRV_MV=y | ||||
| CONFIG_RTC_DRV_TEGRA=y | ||||
| CONFIG_RTC_DRV_ST_LPC=y | ||||
| CONFIG_RTC_DRV_CPCAP=m | ||||
| CONFIG_DMADEVICES=y | ||||
| CONFIG_DW_DMAC=y | ||||
| CONFIG_AT_HDMAC=y | ||||
| CONFIG_AT_XDMAC=y | ||||
| CONFIG_DMA_BCM2835=y | ||||
| CONFIG_DMA_SUN6I=y | ||||
| CONFIG_FSL_EDMA=y | ||||
| CONFIG_IMX_DMA=y | ||||
| CONFIG_IMX_SDMA=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_XILINX_DMA=y | ||||
| CONFIG_QCOM_BAM_DMA=y | ||||
| CONFIG_DW_DMAC=y | ||||
| CONFIG_SH_DMAE=y | ||||
| CONFIG_RCAR_DMAC=y | ||||
| CONFIG_RENESAS_USB_DMAC=m | ||||
| CONFIG_STE_DMA40=y | ||||
| CONFIG_SIRF_DMA=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_VIRTIO_PCI=y | ||||
| CONFIG_VIRTIO_MMIO=y | ||||
| CONFIG_STAGING=y | ||||
| CONFIG_SENSORS_ISL29018=y | ||||
| CONFIG_SENSORS_ISL29028=y | ||||
| CONFIG_MFD_NVEC=y | ||||
| CONFIG_KEYBOARD_NVEC=y | ||||
| CONFIG_SERIO_NVEC_PS2=y | ||||
| CONFIG_NVEC_POWER=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_CROS_EC_CHARDEV=m | ||||
| CONFIG_COMMON_CLK_MAX77686=y | ||||
| CONFIG_COMMON_CLK_RK808=m | ||||
| CONFIG_COMMON_CLK_S2MPS11=m | ||||
| CONFIG_COMMON_CLK_QCOM=y | ||||
| CONFIG_QCOM_CLK_RPM=y | ||||
| CONFIG_APQ_MMCC_8084=y | ||||
| CONFIG_MSM_GCC_8660=y | ||||
| CONFIG_MSM_MMCC_8960=y | ||||
| CONFIG_MSM_MMCC_8974=y | ||||
| CONFIG_HWSPINLOCK_QCOM=y | ||||
| CONFIG_BCM2835_MBOX=y | ||||
| CONFIG_ROCKCHIP_IOMMU=y | ||||
| CONFIG_TEGRA_IOMMU_GART=y | ||||
| CONFIG_TEGRA_IOMMU_SMMU=y | ||||
| CONFIG_REMOTEPROC=m | ||||
| CONFIG_ST_REMOTEPROC=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_ARM_TEGRA_DEVFREQ=m | ||||
| CONFIG_MEMORY=y | ||||
| CONFIG_EXTCON=y | ||||
| CONFIG_TI_AEMIF=y | ||||
| CONFIG_IIO=y | ||||
| CONFIG_IIO_SW_TRIGGER=y | ||||
| @ -947,56 +896,54 @@ CONFIG_VF610_ADC=m | ||||
| CONFIG_XILINX_XADC=y | ||||
| CONFIG_MPU3050_I2C=y | ||||
| CONFIG_CM36651=m | ||||
| CONFIG_SENSORS_ISL29018=y | ||||
| CONFIG_SENSORS_ISL29028=y | ||||
| CONFIG_AK8975=y | ||||
| CONFIG_RASPBERRYPI_POWER=y | ||||
| CONFIG_IIO_HRTIMER_TRIGGER=y | ||||
| CONFIG_PWM=y | ||||
| CONFIG_PWM_ATMEL=m | ||||
| CONFIG_PWM_ATMEL_HLCDC_PWM=m | ||||
| CONFIG_PWM_ATMEL_TCB=m | ||||
| CONFIG_PWM_BCM2835=y | ||||
| CONFIG_PWM_BRCMSTB=m | ||||
| CONFIG_PWM_FSL_FTM=m | ||||
| CONFIG_PWM_MESON=m | ||||
| CONFIG_PWM_RCAR=m | ||||
| CONFIG_PWM_RENESAS_TPU=y | ||||
| CONFIG_PWM_ROCKCHIP=m | ||||
| CONFIG_PWM_SAMSUNG=m | ||||
| CONFIG_PWM_STI=y | ||||
| CONFIG_PWM_SUN4I=y | ||||
| CONFIG_PWM_TEGRA=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_E1000E=y | ||||
| CONFIG_PWM_STI=y | ||||
| CONFIG_PWM_BCM2835=y | ||||
| CONFIG_PWM_BRCMSTB=m | ||||
| CONFIG_PHY_BERLIN_SATA=y | ||||
| CONFIG_PHY_BERLIN_USB=y | ||||
| CONFIG_PHY_CPCAP_USB=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_OMAP_USB2=y | ||||
| CONFIG_TI_PIPE3=y | ||||
| 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_SUNXI_SID=y | ||||
| CONFIG_NVMEM_VF610_OCOTP=y | ||||
| CONFIG_BCM2835_MBOX=y | ||||
| CONFIG_RASPBERRYPI_FIRMWARE=y | ||||
| CONFIG_EFI_VARS=m | ||||
| CONFIG_EFI_CAPSULE_LOADER=m | ||||
| CONFIG_BCM47XX_NVRAM=y | ||||
| CONFIG_BCM47XX_SPROM=y | ||||
| CONFIG_EFI_VARS=m | ||||
| CONFIG_EFI_CAPSULE_LOADER=m | ||||
| CONFIG_EXT4_FS=y | ||||
| CONFIG_AUTOFS4_FS=y | ||||
| CONFIG_MSDOS_FS=y | ||||
| @ -1004,7 +951,6 @@ CONFIG_VFAT_FS=y | ||||
| CONFIG_NTFS_FS=y | ||||
| CONFIG_TMPFS_POSIX_ACL=y | ||||
| CONFIG_UBIFS_FS=y | ||||
| CONFIG_TMPFS=y | ||||
| CONFIG_SQUASHFS=y | ||||
| CONFIG_SQUASHFS_LZO=y | ||||
| CONFIG_SQUASHFS_XZ=y | ||||
| @ -1020,13 +966,7 @@ CONFIG_NLS_CODEPAGE_437=y | ||||
| CONFIG_NLS_ISO8859_1=y | ||||
| CONFIG_NLS_UTF8=y | ||||
| CONFIG_PRINTK_TIME=y | ||||
| CONFIG_DEBUG_FS=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_API_HASH=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_EXYNOS_RNG=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_ROCKCHIP=m | ||||
| CONFIG_ARM_CRYPTO=y | ||||
| CONFIG_CRYPTO_SHA1_ARM=m | ||||
| CONFIG_CRYPTO_SHA1_ARM_NEON=m | ||||
| CONFIG_CRYPTO_SHA1_ARM_CE=m | ||||
| CONFIG_CRYPTO_SHA2_ARM_CE=m | ||||
| CONFIG_CRYPTO_SHA256_ARM=m | ||||
| CONFIG_CRYPTO_SHA512_ARM=m | ||||
| CONFIG_CRYPTO_AES_ARM=m | ||||
| CONFIG_CRYPTO_AES_ARM_BS=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_DEV_ATMEL_AES=m | ||||
| CONFIG_CRYPTO_DEV_ATMEL_TDES=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 | ||||
| CONFIG_CRYPTO_CRC32_ARM_CE=m | ||||
| CONFIG_CRYPTO_CHACHA20_NEON=m | ||||
|  | ||||
| @ -272,9 +272,11 @@ | ||||
| 	 * Allocate stack space to store 128 bytes worth of tweaks.  For | ||||
| 	 * performance, this space is aligned to a 16-byte boundary so that we | ||||
| 	 * can use the load/store instructions that declare 16-byte alignment. | ||||
| 	 * For Thumb2 compatibility, don't do the 'bic' directly on 'sp'. | ||||
| 	 */ | ||||
| 	sub		sp, #128 | ||||
| 	bic		sp, #0xf | ||||
| 	sub		r12, sp, #128 | ||||
| 	bic		r12, #0xf | ||||
| 	mov		sp, r12 | ||||
| 
 | ||||
| .if \n == 64 | ||||
| 	// Load first tweak | ||||
|  | ||||
| @ -1 +1,4 @@ | ||||
| obj-$(CONFIG_TRUSTED_FOUNDATIONS)	+= trusted_foundations.o | ||||
| 
 | ||||
| # tf_generic_smc() fails to build with -fsanitize-coverage=trace-pc
 | ||||
| KCOV_INSTRUMENT                := n | ||||
|  | ||||
| @ -177,7 +177,7 @@ M_CLASS(streq	r3, [r12, #PMSAv8_MAIR1]) | ||||
| 	bic	r0, r0, #CR_I | ||||
| #endif | ||||
| 	mcr	p15, 0, r0, c1, c0, 0		@ write control reg
 | ||||
| 	isb | ||||
| 	instr_sync | ||||
| #elif defined (CONFIG_CPU_V7M) | ||||
| #ifdef CONFIG_ARM_MPU | ||||
| 	ldreq	r3, [r12, MPU_CTRL] | ||||
|  | ||||
| @ -544,7 +544,7 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) | ||||
| 	 * Increment event counter and perform fixup for the pre-signal | ||||
| 	 * frame. | ||||
| 	 */ | ||||
| 	rseq_signal_deliver(regs); | ||||
| 	rseq_signal_deliver(ksig, regs); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Set up the stack frame | ||||
| @ -666,7 +666,7 @@ do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall) | ||||
| 			} else { | ||||
| 				clear_thread_flag(TIF_NOTIFY_RESUME); | ||||
| 				tracehook_notify_resume(regs); | ||||
| 				rseq_handle_notify_resume(regs); | ||||
| 				rseq_handle_notify_resume(NULL, regs); | ||||
| 			} | ||||
| 		} | ||||
| 		local_irq_disable(); | ||||
|  | ||||
| @ -20,6 +20,7 @@ config ARCH_BCM_IPROC | ||||
| 	select GPIOLIB | ||||
| 	select ARM_AMBA | ||||
| 	select PINCTRL | ||||
| 	select PCI_DOMAINS if PCI | ||||
| 	help | ||||
| 	  This enables support for systems based on Broadcom IPROC architected SoCs. | ||||
| 	  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_ACTIVE_LOW), | ||||
| 		GPIO_LOOKUP("davinci_gpio.0", DA850_MMCSD_WP_PIN, "wp", | ||||
| 			    GPIO_ACTIVE_LOW), | ||||
| 			    GPIO_ACTIVE_HIGH), | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -109,6 +109,45 @@ void omap5_erratum_workaround_801819(void) | ||||
| static inline void omap5_erratum_workaround_801819(void) { } | ||||
| #endif | ||||
| 
 | ||||
| #ifdef CONFIG_HARDEN_BRANCH_PREDICTOR | ||||
| /*
 | ||||
|  * Configure ACR and enable ACTLR[0] (Enable invalidates of BTB with | ||||
|  * ICIALLU) to activate the workaround for secondary Core. | ||||
|  * NOTE: it is assumed that the primary core's configuration is done | ||||
|  * by the boot loader (kernel will detect a misconfiguration and complain | ||||
|  * if this is not done). | ||||
|  * | ||||
|  * In General Purpose(GP) devices, ACR bit settings can only be done | ||||
|  * by ROM code in "secure world" using the smc call and there is no | ||||
|  * option to update the "firmware" on such devices. This also works for | ||||
|  * High security(HS) devices, as a backup option in case the | ||||
|  * "update" is not done in the "security firmware". | ||||
|  */ | ||||
| static void omap5_secondary_harden_predictor(void) | ||||
| { | ||||
| 	u32 acr, acr_mask; | ||||
| 
 | ||||
| 	asm volatile ("mrc p15, 0, %0, c1, c0, 1" : "=r" (acr)); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * ACTLR[0] (Enable invalidates of BTB with ICIALLU) | ||||
| 	 */ | ||||
| 	acr_mask = BIT(0); | ||||
| 
 | ||||
| 	/* Do we already have it done.. if yes, skip expensive smc */ | ||||
| 	if ((acr & acr_mask) == acr_mask) | ||||
| 		return; | ||||
| 
 | ||||
| 	acr |= acr_mask; | ||||
| 	omap_smc1(OMAP5_DRA7_MON_SET_ACR_INDEX, acr); | ||||
| 
 | ||||
| 	pr_debug("%s: ARM ACR setup for CVE_2017_5715 applied on CPU%d\n", | ||||
| 		 __func__, smp_processor_id()); | ||||
| } | ||||
| #else | ||||
| static inline void omap5_secondary_harden_predictor(void) { } | ||||
| #endif | ||||
| 
 | ||||
| static void omap4_secondary_init(unsigned int cpu) | ||||
| { | ||||
| 	/*
 | ||||
| @ -131,6 +170,8 @@ static void omap4_secondary_init(unsigned int cpu) | ||||
| 		set_cntfreq(); | ||||
| 		/* Configure ACR to disable streaming WA for 801819 */ | ||||
| 		omap5_erratum_workaround_801819(); | ||||
| 		/* Enable ACR to allow for ICUALLU workaround */ | ||||
| 		omap5_secondary_harden_predictor(); | ||||
| 	} | ||||
| 
 | ||||
| 	/*
 | ||||
|  | ||||
| @ -185,7 +185,7 @@ static int pxa_irq_suspend(void) | ||||
| { | ||||
| 	int i; | ||||
| 
 | ||||
| 	for (i = 0; i < pxa_internal_irq_nr / 32; i++) { | ||||
| 	for (i = 0; i < DIV_ROUND_UP(pxa_internal_irq_nr, 32); i++) { | ||||
| 		void __iomem *base = irq_base(i); | ||||
| 
 | ||||
| 		saved_icmr[i] = __raw_readl(base + ICMR); | ||||
| @ -204,7 +204,7 @@ static void pxa_irq_resume(void) | ||||
| { | ||||
| 	int i; | ||||
| 
 | ||||
| 	for (i = 0; i < pxa_internal_irq_nr / 32; i++) { | ||||
| 	for (i = 0; i < DIV_ROUND_UP(pxa_internal_irq_nr, 32); i++) { | ||||
| 		void __iomem *base = irq_base(i); | ||||
| 
 | ||||
| 		__raw_writel(saved_icmr[i], base + ICMR); | ||||
|  | ||||
| @ -10,6 +10,7 @@ menuconfig ARCH_SOCFPGA | ||||
| 	select HAVE_ARM_SCU | ||||
| 	select HAVE_ARM_TWD if SMP | ||||
| 	select MFD_SYSCON | ||||
| 	select PCI_DOMAINS if PCI | ||||
| 
 | ||||
| if ARCH_SOCFPGA | ||||
| config SOCFPGA_SUSPEND | ||||
|  | ||||
| @ -736,20 +736,29 @@ static int __mark_rodata_ro(void *unused) | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static int kernel_set_to_readonly __read_mostly; | ||||
| 
 | ||||
| void mark_rodata_ro(void) | ||||
| { | ||||
| 	kernel_set_to_readonly = 1; | ||||
| 	stop_machine(__mark_rodata_ro, NULL, NULL); | ||||
| 	debug_checkwx(); | ||||
| } | ||||
| 
 | ||||
| void set_kernel_text_rw(void) | ||||
| { | ||||
| 	if (!kernel_set_to_readonly) | ||||
| 		return; | ||||
| 
 | ||||
| 	set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), false, | ||||
| 				current->active_mm); | ||||
| } | ||||
| 
 | ||||
| void set_kernel_text_ro(void) | ||||
| { | ||||
| 	if (!kernel_set_to_readonly) | ||||
| 		return; | ||||
| 
 | ||||
| 	set_section_perms(ro_perms, ARRAY_SIZE(ro_perms), true, | ||||
| 				current->active_mm); | ||||
| } | ||||
|  | ||||
| @ -1844,7 +1844,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) | ||||
| 		/* there are 2 passes here */ | ||||
| 		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->jited = 1; | ||||
| 	prog->jited_len = image_size; | ||||
|  | ||||
| @ -59,6 +59,9 @@ struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata; | ||||
| 
 | ||||
| static __read_mostly unsigned int xen_events_irq; | ||||
| 
 | ||||
| uint32_t xen_start_flags; | ||||
| EXPORT_SYMBOL(xen_start_flags); | ||||
| 
 | ||||
| int xen_remap_domain_gfn_array(struct vm_area_struct *vma, | ||||
| 			       unsigned long addr, | ||||
| 			       xen_pfn_t *gfn, int nr, | ||||
| @ -293,9 +296,7 @@ void __init xen_early_init(void) | ||||
| 	xen_setup_features(); | ||||
| 
 | ||||
| 	if (xen_feature(XENFEAT_dom0)) | ||||
| 		xen_start_info->flags |= SIF_INITDOMAIN|SIF_PRIVILEGED; | ||||
| 	else | ||||
| 		xen_start_info->flags &= ~(SIF_INITDOMAIN|SIF_PRIVILEGED); | ||||
| 		xen_start_flags |= SIF_INITDOMAIN|SIF_PRIVILEGED; | ||||
| 
 | ||||
| 	if (!console_set_on_cmdline && !xen_initial_domain()) | ||||
| 		add_preferred_console("hvc", 0, NULL); | ||||
|  | ||||
| @ -10,7 +10,7 @@ | ||||
| #
 | ||||
| # Copyright (C) 1995-2001 by Russell King
 | ||||
| 
 | ||||
| LDFLAGS_vmlinux	:=-p --no-undefined -X | ||||
| LDFLAGS_vmlinux	:=--no-undefined -X | ||||
| CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET) | ||||
| GZFLAGS		:=-9 | ||||
| 
 | ||||
| @ -60,15 +60,15 @@ ifeq ($(CONFIG_CPU_BIG_ENDIAN), y) | ||||
| KBUILD_CPPFLAGS	+= -mbig-endian | ||||
| CHECKFLAGS	+= -D__AARCH64EB__ | ||||
| AS		+= -EB | ||||
| LD		+= -EB | ||||
| LDFLAGS		+= -maarch64linuxb | ||||
| # We must use the linux target here, since distributions don't tend to package
 | ||||
| # the ELF linker scripts with binutils, and this results in a build failure.
 | ||||
| LDFLAGS		+= -EB -maarch64linuxb | ||||
| UTS_MACHINE	:= aarch64_be | ||||
| else | ||||
| KBUILD_CPPFLAGS	+= -mlittle-endian | ||||
| CHECKFLAGS	+= -D__AARCH64EL__ | ||||
| AS		+= -EL | ||||
| LD		+= -EL | ||||
| LDFLAGS		+= -maarch64linux | ||||
| LDFLAGS		+= -EL -maarch64linux # See comment above | ||||
| UTS_MACHINE	:= aarch64 | ||||
| endif | ||||
| 
 | ||||
|  | ||||
| @ -309,8 +309,7 @@ | ||||
| 			interrupts = <0 99 4>; | ||||
| 			resets = <&rst SPIM0_RESET>; | ||||
| 			reg-io-width = <4>; | ||||
| 			num-chipselect = <4>; | ||||
| 			bus-num = <0>; | ||||
| 			num-cs = <4>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| @ -322,8 +321,7 @@ | ||||
| 			interrupts = <0 100 4>; | ||||
| 			resets = <&rst SPIM1_RESET>; | ||||
| 			reg-io-width = <4>; | ||||
| 			num-chipselect = <4>; | ||||
| 			bus-num = <0>; | ||||
| 			num-cs = <4>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
|  | ||||
| @ -66,9 +66,22 @@ | ||||
| 
 | ||||
| ðmac { | ||||
| 	status = "okay"; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	pinctrl-0 = <ð_rgmii_y_pins>; | ||||
| 	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 { | ||||
|  | ||||
| @ -132,7 +132,7 @@ | ||||
| 
 | ||||
| 			sd_emmc_b: sd@5000 { | ||||
| 				compatible = "amlogic,meson-axg-mmc"; | ||||
| 				reg = <0x0 0x5000 0x0 0x2000>; | ||||
| 				reg = <0x0 0x5000 0x0 0x800>; | ||||
| 				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>; | ||||
| 				status = "disabled"; | ||||
| 				clocks = <&clkc CLKID_SD_EMMC_B>, | ||||
| @ -144,7 +144,7 @@ | ||||
| 
 | ||||
| 			sd_emmc_c: mmc@7000 { | ||||
| 				compatible = "amlogic,meson-axg-mmc"; | ||||
| 				reg = <0x0 0x7000 0x0 0x2000>; | ||||
| 				reg = <0x0 0x7000 0x0 0x800>; | ||||
| 				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>; | ||||
| 				status = "disabled"; | ||||
| 				clocks = <&clkc CLKID_SD_EMMC_C>, | ||||
|  | ||||
| @ -35,6 +35,12 @@ | ||||
| 			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 { | ||||
| 			compatible = "shared-dma-pool"; | ||||
| 			reusable; | ||||
| @ -457,21 +463,21 @@ | ||||
| 
 | ||||
| 			sd_emmc_a: mmc@70000 { | ||||
| 				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>; | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
| 
 | ||||
| 			sd_emmc_b: mmc@72000 { | ||||
| 				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>; | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
| 
 | ||||
| 			sd_emmc_c: mmc@74000 { | ||||
| 				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>; | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
|  | ||||
| @ -6,7 +6,7 @@ | ||||
| 
 | ||||
| &apb { | ||||
| 	mali: gpu@c0000 { | ||||
| 		compatible = "amlogic,meson-gxbb-mali", "arm,mali-450"; | ||||
| 		compatible = "amlogic,meson-gxl-mali", "arm,mali-450"; | ||||
| 		reg = <0x0 0xc0000 0x0 0x40000>; | ||||
| 		interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 			     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, | ||||
|  | ||||
| @ -234,9 +234,6 @@ | ||||
| 
 | ||||
| 	bus-width = <4>; | ||||
| 	cap-sd-highspeed; | ||||
| 	sd-uhs-sdr12; | ||||
| 	sd-uhs-sdr25; | ||||
| 	sd-uhs-sdr50; | ||||
| 	max-frequency = <100000000>; | ||||
| 	disable-wp; | ||||
| 
 | ||||
|  | ||||
| @ -189,3 +189,10 @@ | ||||
| &usb0 { | ||||
| 	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"; | ||||
| 
 | ||||
| 	reserved-memory { | ||||
| 		/* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */ | ||||
| 		secmon_reserved_alt: secmon@5000000 { | ||||
| 			reg = <0x0 0x05000000 0x0 0x300000>; | ||||
| 			no-map; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	soc { | ||||
| 		usb0: usb@c9000000 { | ||||
| 			status = "disabled"; | ||||
|  | ||||
| @ -118,7 +118,7 @@ | ||||
| 
 | ||||
| 		#interrupt-cells = <1>; | ||||
| 		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>; | ||||
| 
 | ||||
| @ -149,7 +149,7 @@ | ||||
| 
 | ||||
| 		#interrupt-cells = <1>; | ||||
| 		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>; | ||||
| 
 | ||||
| @ -566,7 +566,7 @@ | ||||
| 			reg = <0x66080000 0x100>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 394 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| @ -594,7 +594,7 @@ | ||||
| 			reg = <0x660b0000 0x100>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 395 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
|  | ||||
| @ -43,6 +43,10 @@ | ||||
| 	enet-phy-lane-swap; | ||||
| }; | ||||
| 
 | ||||
| &sdio0 { | ||||
| 	mmc-ddr-1_8v; | ||||
| }; | ||||
| 
 | ||||
| &uart2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| @ -42,3 +42,7 @@ | ||||
| &gphy0 { | ||||
| 	enet-phy-lane-swap; | ||||
| }; | ||||
| 
 | ||||
| &sdio0 { | ||||
| 	mmc-ddr-1_8v; | ||||
| }; | ||||
|  | ||||
| @ -409,7 +409,7 @@ | ||||
| 			reg = <0x000b0000 0x100>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 177 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| @ -453,7 +453,7 @@ | ||||
| 			reg = <0x000e0000 0x100>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			interrupts = <GIC_SPI 178 IRQ_TYPE_NONE>; | ||||
| 			interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-frequency = <100000>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
|  | ||||
| @ -585,6 +585,8 @@ | ||||
| 	vmmc-supply = <&wlan_en>; | ||||
| 	ti,non-removable; | ||||
| 	non-removable; | ||||
| 	cap-power-off-card; | ||||
| 	keep-power-in-suspend; | ||||
| 	#address-cells = <0x1>; | ||||
| 	#size-cells = <0x0>; | ||||
| 	status = "ok"; | ||||
|  | ||||
| @ -322,6 +322,8 @@ | ||||
| 		dwmmc_2: dwmmc2@f723f000 { | ||||
| 			bus-width = <0x4>; | ||||
| 			non-removable; | ||||
| 			cap-power-off-card; | ||||
| 			keep-power-in-suspend; | ||||
| 			vmmc-supply = <®_vdd_3v3>; | ||||
| 			mmc-pwrseq = <&wl1835_pwrseq>; | ||||
| 
 | ||||
|  | ||||
| @ -149,7 +149,7 @@ | ||||
| 
 | ||||
| 		CP110_LABEL(icu): interrupt-controller@1e0000 { | ||||
| 			compatible = "marvell,cp110-icu"; | ||||
| 			reg = <0x1e0000 0x10>; | ||||
| 			reg = <0x1e0000 0x440>; | ||||
| 			#interrupt-cells = <3>; | ||||
| 			interrupt-controller; | ||||
| 			msi-parent = <&gicp>; | ||||
|  | ||||
| @ -75,7 +75,7 @@ | ||||
| 
 | ||||
| 		serial@75b1000 { | ||||
| 			label = "LS-UART0"; | ||||
| 			status = "okay"; | ||||
| 			status = "disabled"; | ||||
| 			pinctrl-names = "default", "sleep"; | ||||
| 			pinctrl-0 = <&blsp2_uart2_4pins_default>; | ||||
| 			pinctrl-1 = <&blsp2_uart2_4pins_sleep>; | ||||
|  | ||||
| @ -1191,14 +1191,14 @@ | ||||
| 
 | ||||
| 				port@0 { | ||||
| 					reg = <0>; | ||||
| 					etf_out: endpoint { | ||||
| 					etf_in: endpoint { | ||||
| 						slave-mode; | ||||
| 						remote-endpoint = <&funnel0_out>; | ||||
| 					}; | ||||
| 				}; | ||||
| 				port@1 { | ||||
| 					reg = <0>; | ||||
| 					etf_in: endpoint { | ||||
| 					etf_out: endpoint { | ||||
| 						remote-endpoint = <&replicator_in>; | ||||
| 					}; | ||||
| 				}; | ||||
|  | ||||
| @ -54,7 +54,7 @@ | ||||
| 	sound { | ||||
| 		compatible = "audio-graph-card"; | ||||
| 		label = "UniPhier LD11"; | ||||
| 		widgets = "Headphone", "Headphone Jack"; | ||||
| 		widgets = "Headphone", "Headphones"; | ||||
| 		dais = <&i2s_port2 | ||||
| 			&i2s_port3 | ||||
| 			&i2s_port4 | ||||
|  | ||||
| @ -54,7 +54,7 @@ | ||||
| 	sound { | ||||
| 		compatible = "audio-graph-card"; | ||||
| 		label = "UniPhier LD20"; | ||||
| 		widgets = "Headphone", "Headphone Jack"; | ||||
| 		widgets = "Headphone", "Headphones"; | ||||
| 		dais = <&i2s_port2 | ||||
| 			&i2s_port3 | ||||
| 			&i2s_port4 | ||||
|  | ||||
| @ -47,6 +47,7 @@ CONFIG_ARCH_MVEBU=y | ||||
| CONFIG_ARCH_QCOM=y | ||||
| CONFIG_ARCH_ROCKCHIP=y | ||||
| CONFIG_ARCH_SEATTLE=y | ||||
| CONFIG_ARCH_SYNQUACER=y | ||||
| CONFIG_ARCH_RENESAS=y | ||||
| CONFIG_ARCH_R8A7795=y | ||||
| CONFIG_ARCH_R8A7796=y | ||||
| @ -58,7 +59,6 @@ CONFIG_ARCH_R8A77995=y | ||||
| CONFIG_ARCH_STRATIX10=y | ||||
| CONFIG_ARCH_TEGRA=y | ||||
| CONFIG_ARCH_SPRD=y | ||||
| CONFIG_ARCH_SYNQUACER=y | ||||
| CONFIG_ARCH_THUNDER=y | ||||
| CONFIG_ARCH_THUNDER2=y | ||||
| CONFIG_ARCH_UNIPHIER=y | ||||
| @ -67,25 +67,23 @@ CONFIG_ARCH_XGENE=y | ||||
| CONFIG_ARCH_ZX=y | ||||
| CONFIG_ARCH_ZYNQMP=y | ||||
| CONFIG_PCI=y | ||||
| CONFIG_HOTPLUG_PCI_PCIE=y | ||||
| CONFIG_PCI_IOV=y | ||||
| CONFIG_HOTPLUG_PCI=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_TEGRA=y | ||||
| CONFIG_PCIE_RCAR=y | ||||
| CONFIG_PCIE_ROCKCHIP=y | ||||
| CONFIG_PCIE_ROCKCHIP_HOST=m | ||||
| CONFIG_PCI_HOST_GENERIC=y | ||||
| CONFIG_PCI_XGENE=y | ||||
| CONFIG_PCI_HOST_THUNDER_PEM=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_SCHED_MC=y | ||||
| CONFIG_NUMA=y | ||||
| @ -104,8 +102,6 @@ CONFIG_HIBERNATION=y | ||||
| CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y | ||||
| CONFIG_ARM_CPUIDLE=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_GOV_POWERSAVE=m | ||||
| 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_SCHEDUTIL=y | ||||
| CONFIG_CPUFREQ_DT=y | ||||
| CONFIG_ACPI_CPPC_CPUFREQ=m | ||||
| CONFIG_ARM_ARMADA_37XX_CPUFREQ=y | ||||
| CONFIG_ARM_BIG_LITTLE_CPUFREQ=y | ||||
| CONFIG_ARM_SCPI_CPUFREQ=y | ||||
| CONFIG_ARM_TEGRA186_CPUFREQ=y | ||||
| CONFIG_ACPI_CPPC_CPUFREQ=m | ||||
| CONFIG_NET=y | ||||
| CONFIG_PACKET=y | ||||
| CONFIG_UNIX=y | ||||
| @ -236,11 +232,6 @@ CONFIG_SMSC911X=y | ||||
| CONFIG_SNI_AVE=y | ||||
| CONFIG_SNI_NETSEC=y | ||||
| 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_AT803X_PHY=m | ||||
| CONFIG_MARVELL_PHY=m | ||||
| @ -269,8 +260,8 @@ CONFIG_WL18XX=m | ||||
| CONFIG_WLCORE_SDIO=m | ||||
| CONFIG_INPUT_EVDEV=y | ||||
| CONFIG_KEYBOARD_ADC=m | ||||
| CONFIG_KEYBOARD_CROS_EC=y | ||||
| CONFIG_KEYBOARD_GPIO=y | ||||
| CONFIG_KEYBOARD_CROS_EC=y | ||||
| CONFIG_INPUT_TOUCHSCREEN=y | ||||
| CONFIG_TOUCHSCREEN_ATMEL_MXT=m | ||||
| CONFIG_INPUT_MISC=y | ||||
| @ -296,17 +287,13 @@ CONFIG_SERIAL_SAMSUNG=y | ||||
| CONFIG_SERIAL_SAMSUNG_CONSOLE=y | ||||
| CONFIG_SERIAL_TEGRA=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_CONSOLE=y | ||||
| CONFIG_SERIAL_XILINX_PS_UART=y | ||||
| CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y | ||||
| CONFIG_SERIAL_MVEBU_UART=y | ||||
| CONFIG_SERIAL_DEV_BUS=y | ||||
| CONFIG_SERIAL_DEV_CTRL_TTYPORT=y | ||||
| CONFIG_VIRTIO_CONSOLE=y | ||||
| CONFIG_I2C_HID=m | ||||
| CONFIG_I2C_CHARDEV=y | ||||
| CONFIG_I2C_MUX=y | ||||
| CONFIG_I2C_MUX_PCA954x=y | ||||
| @ -325,26 +312,26 @@ CONFIG_I2C_RCAR=y | ||||
| CONFIG_I2C_CROS_EC_TUNNEL=y | ||||
| CONFIG_SPI=y | ||||
| CONFIG_SPI_ARMADA_3700=y | ||||
| CONFIG_SPI_MESON_SPICC=m | ||||
| CONFIG_SPI_MESON_SPIFC=m | ||||
| CONFIG_SPI_BCM2835=m | ||||
| CONFIG_SPI_BCM2835AUX=m | ||||
| CONFIG_SPI_MESON_SPICC=m | ||||
| CONFIG_SPI_MESON_SPIFC=m | ||||
| CONFIG_SPI_ORION=y | ||||
| CONFIG_SPI_PL022=y | ||||
| CONFIG_SPI_QUP=y | ||||
| CONFIG_SPI_ROCKCHIP=y | ||||
| CONFIG_SPI_QUP=y | ||||
| CONFIG_SPI_S3C64XX=y | ||||
| CONFIG_SPI_SPIDEV=m | ||||
| CONFIG_SPMI=y | ||||
| CONFIG_PINCTRL_IPQ8074=y | ||||
| CONFIG_PINCTRL_SINGLE=y | ||||
| CONFIG_PINCTRL_MAX77620=y | ||||
| CONFIG_PINCTRL_IPQ8074=y | ||||
| CONFIG_PINCTRL_MSM8916=y | ||||
| CONFIG_PINCTRL_MSM8994=y | ||||
| CONFIG_PINCTRL_MSM8996=y | ||||
| CONFIG_PINCTRL_MT7622=y | ||||
| CONFIG_PINCTRL_QDF2XXX=y | ||||
| CONFIG_PINCTRL_QCOM_SPMI_PMIC=y | ||||
| CONFIG_PINCTRL_MT7622=y | ||||
| CONFIG_GPIO_DWAPB=y | ||||
| CONFIG_GPIO_MB86S7X=y | ||||
| CONFIG_GPIO_PL061=y | ||||
| @ -368,13 +355,13 @@ CONFIG_SENSORS_INA2XX=m | ||||
| CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y | ||||
| CONFIG_CPU_THERMAL=y | ||||
| CONFIG_THERMAL_EMULATION=y | ||||
| CONFIG_ROCKCHIP_THERMAL=m | ||||
| CONFIG_RCAR_GEN3_THERMAL=y | ||||
| CONFIG_ARMADA_THERMAL=y | ||||
| CONFIG_BRCMSTB_THERMAL=m | ||||
| CONFIG_EXYNOS_THERMAL=y | ||||
| CONFIG_RCAR_GEN3_THERMAL=y | ||||
| CONFIG_QCOM_TSENS=y | ||||
| CONFIG_ROCKCHIP_THERMAL=m | ||||
| CONFIG_TEGRA_BPMP_THERMAL=m | ||||
| CONFIG_QCOM_TSENS=y | ||||
| CONFIG_UNIPHIER_THERMAL=y | ||||
| CONFIG_WATCHDOG=y | ||||
| CONFIG_S3C2410_WATCHDOG=y | ||||
| @ -395,9 +382,9 @@ CONFIG_MFD_MAX77620=y | ||||
| CONFIG_MFD_SPMI_PMIC=y | ||||
| CONFIG_MFD_RK808=y | ||||
| CONFIG_MFD_SEC_CORE=y | ||||
| CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||||
| CONFIG_REGULATOR_AXP20X=y | ||||
| CONFIG_REGULATOR_FAN53555=y | ||||
| CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||||
| CONFIG_REGULATOR_GPIO=y | ||||
| CONFIG_REGULATOR_HI6421V530=y | ||||
| CONFIG_REGULATOR_HI655X=y | ||||
| @ -407,16 +394,15 @@ CONFIG_REGULATOR_QCOM_SMD_RPM=y | ||||
| CONFIG_REGULATOR_QCOM_SPMI=y | ||||
| CONFIG_REGULATOR_RK808=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_CAMERA_SUPPORT=y | ||||
| CONFIG_MEDIA_ANALOG_TV_SUPPORT=y | ||||
| CONFIG_MEDIA_DIGITAL_TV_SUPPORT=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_DVB_NET is not set | ||||
| CONFIG_V4L_MEM2MEM_DRIVERS=y | ||||
| @ -441,8 +427,7 @@ CONFIG_ROCKCHIP_DW_HDMI=y | ||||
| CONFIG_ROCKCHIP_DW_MIPI_DSI=y | ||||
| CONFIG_ROCKCHIP_INNO_HDMI=y | ||||
| CONFIG_DRM_RCAR_DU=m | ||||
| CONFIG_DRM_RCAR_LVDS=y | ||||
| CONFIG_DRM_RCAR_VSP=y | ||||
| CONFIG_DRM_RCAR_LVDS=m | ||||
| CONFIG_DRM_TEGRA=m | ||||
| CONFIG_DRM_PANEL_SIMPLE=m | ||||
| CONFIG_DRM_I2C_ADV7511=m | ||||
| @ -455,7 +440,6 @@ CONFIG_FB_ARMCLCD=y | ||||
| CONFIG_BACKLIGHT_GENERIC=m | ||||
| CONFIG_BACKLIGHT_PWM=m | ||||
| CONFIG_BACKLIGHT_LP855X=m | ||||
| CONFIG_FRAMEBUFFER_CONSOLE=y | ||||
| CONFIG_LOGO=y | ||||
| # CONFIG_LOGO_LINUX_MONO 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_SIMPLE_CARD=m | ||||
| CONFIG_SND_AUDIO_GRAPH_CARD=m | ||||
| CONFIG_I2C_HID=m | ||||
| CONFIG_USB=y | ||||
| CONFIG_USB_OTG=y | ||||
| CONFIG_USB_XHCI_HCD=y | ||||
| @ -501,12 +486,12 @@ CONFIG_MMC_BLOCK_MINORS=32 | ||||
| CONFIG_MMC_ARMMMCI=y | ||||
| CONFIG_MMC_SDHCI=y | ||||
| CONFIG_MMC_SDHCI_ACPI=y | ||||
| CONFIG_MMC_SDHCI_F_SDH30=y | ||||
| CONFIG_MMC_SDHCI_PLTFM=y | ||||
| CONFIG_MMC_SDHCI_OF_ARASAN=y | ||||
| CONFIG_MMC_SDHCI_OF_ESDHC=y | ||||
| CONFIG_MMC_SDHCI_CADENCE=y | ||||
| CONFIG_MMC_SDHCI_TEGRA=y | ||||
| CONFIG_MMC_SDHCI_F_SDH30=y | ||||
| CONFIG_MMC_MESON_GX=y | ||||
| CONFIG_MMC_SDHCI_MSM=y | ||||
| CONFIG_MMC_SPI=y | ||||
| @ -524,11 +509,11 @@ CONFIG_LEDS_CLASS=y | ||||
| CONFIG_LEDS_GPIO=y | ||||
| CONFIG_LEDS_PWM=y | ||||
| CONFIG_LEDS_SYSCON=y | ||||
| CONFIG_LEDS_TRIGGER_DISK=y | ||||
| CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||||
| CONFIG_LEDS_TRIGGER_CPU=y | ||||
| CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||||
| CONFIG_LEDS_TRIGGER_PANIC=y | ||||
| CONFIG_LEDS_TRIGGER_DISK=y | ||||
| CONFIG_EDAC=y | ||||
| CONFIG_EDAC_GHES=y | ||||
| CONFIG_RTC_CLASS=y | ||||
| @ -537,13 +522,13 @@ CONFIG_RTC_DRV_RK808=m | ||||
| CONFIG_RTC_DRV_S5M=y | ||||
| CONFIG_RTC_DRV_DS3232=y | ||||
| CONFIG_RTC_DRV_EFI=y | ||||
| CONFIG_RTC_DRV_CROS_EC=y | ||||
| CONFIG_RTC_DRV_S3C=y | ||||
| CONFIG_RTC_DRV_PL031=y | ||||
| CONFIG_RTC_DRV_SUN6I=y | ||||
| CONFIG_RTC_DRV_ARMADA38X=y | ||||
| CONFIG_RTC_DRV_TEGRA=y | ||||
| CONFIG_RTC_DRV_XGENE=y | ||||
| CONFIG_RTC_DRV_CROS_EC=y | ||||
| CONFIG_DMADEVICES=y | ||||
| CONFIG_DMA_BCM2835=m | ||||
| CONFIG_K3_DMA=y | ||||
| @ -579,7 +564,6 @@ CONFIG_HWSPINLOCK_QCOM=y | ||||
| CONFIG_ARM_MHU=y | ||||
| CONFIG_PLATFORM_MHU=y | ||||
| CONFIG_BCM2835_MBOX=y | ||||
| CONFIG_HI6220_MBOX=y | ||||
| CONFIG_QCOM_APCS_IPC=y | ||||
| CONFIG_ROCKCHIP_IOMMU=y | ||||
| CONFIG_TEGRA_IOMMU_SMMU=y | ||||
| @ -602,7 +586,6 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y | ||||
| CONFIG_EXTCON_USB_GPIO=y | ||||
| CONFIG_EXTCON_USBC_CROS_EC=y | ||||
| CONFIG_MEMORY=y | ||||
| CONFIG_TEGRA_MC=y | ||||
| CONFIG_IIO=y | ||||
| CONFIG_EXYNOS_ADC=y | ||||
| CONFIG_ROCKCHIP_SARADC=m | ||||
| @ -618,27 +601,27 @@ CONFIG_PWM_RCAR=m | ||||
| CONFIG_PWM_ROCKCHIP=y | ||||
| CONFIG_PWM_SAMSUNG=y | ||||
| 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_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_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_INNO_USB2=y | ||||
| CONFIG_PHY_ROCKCHIP_PCIE=m | ||||
| CONFIG_PHY_ROCKCHIP_TYPEC=y | ||||
| CONFIG_PHY_XGENE=y | ||||
| CONFIG_PHY_TEGRA_XUSB=y | ||||
| CONFIG_QCOM_L2_PMU=y | ||||
| CONFIG_QCOM_L3_PMU=y | ||||
| CONFIG_MESON_EFUSE=m | ||||
| CONFIG_QCOM_QFPROM=y | ||||
| CONFIG_ROCKCHIP_EFUSE=y | ||||
| CONFIG_UNIPHIER_EFUSE=y | ||||
| CONFIG_MESON_EFUSE=m | ||||
| CONFIG_TEE=y | ||||
| CONFIG_OPTEE=y | ||||
| CONFIG_ARM_SCPI_PROTOCOL=y | ||||
| @ -647,7 +630,6 @@ CONFIG_EFI_CAPSULE_LOADER=y | ||||
| CONFIG_ACPI=y | ||||
| CONFIG_ACPI_APEI=y | ||||
| CONFIG_ACPI_APEI_GHES=y | ||||
| CONFIG_ACPI_APEI_PCIEAER=y | ||||
| CONFIG_ACPI_APEI_MEMORY_FAILURE=y | ||||
| CONFIG_ACPI_APEI_EINJ=y | ||||
| CONFIG_EXT2_FS=y | ||||
| @ -682,7 +664,6 @@ CONFIG_DEBUG_INFO=y | ||||
| CONFIG_DEBUG_FS=y | ||||
| CONFIG_MAGIC_SYSRQ=y | ||||
| CONFIG_DEBUG_KERNEL=y | ||||
| CONFIG_LOCKUP_DETECTOR=y | ||||
| # CONFIG_SCHED_DEBUG is not set | ||||
| # CONFIG_DEBUG_PREEMPT is not set | ||||
| # CONFIG_FTRACE is not set | ||||
| @ -691,20 +672,15 @@ CONFIG_SECURITY=y | ||||
| CONFIG_CRYPTO_ECHAINIV=y | ||||
| CONFIG_CRYPTO_ANSI_CPRNG=y | ||||
| CONFIG_ARM64_CRYPTO=y | ||||
| CONFIG_CRYPTO_SHA256_ARM64=m | ||||
| CONFIG_CRYPTO_SHA512_ARM64=m | ||||
| CONFIG_CRYPTO_SHA1_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_SHA3_ARM64=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 | ||||
|  | ||||
| @ -223,8 +223,8 @@ static int ctr_encrypt(struct skcipher_request *req) | ||||
| 		kernel_neon_begin(); | ||||
| 		aes_ctr_encrypt(walk.dst.virt.addr, walk.src.virt.addr, | ||||
| 				(u8 *)ctx->key_enc, rounds, blocks, walk.iv); | ||||
| 		err = skcipher_walk_done(&walk, walk.nbytes % AES_BLOCK_SIZE); | ||||
| 		kernel_neon_end(); | ||||
| 		err = skcipher_walk_done(&walk, walk.nbytes % AES_BLOCK_SIZE); | ||||
| 	} | ||||
| 	if (walk.nbytes) { | ||||
| 		u8 __aligned(8) tail[AES_BLOCK_SIZE]; | ||||
|  | ||||
| @ -28,7 +28,12 @@ typedef void (*alternative_cb_t)(struct alt_instr *alt, | ||||
| 				 __le32 *origptr, __le32 *updptr, int nr_inst); | ||||
| 
 | ||||
| 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)					      \ | ||||
| 	" .word 661b - .\n"				/* label           */ \ | ||||
|  | ||||
| @ -306,6 +306,7 @@ struct kvm_vcpu_arch { | ||||
| #define KVM_ARM64_FP_ENABLED		(1 << 1) /* guest FP regs loaded */ | ||||
| #define KVM_ARM64_FP_HOST		(1 << 2) /* host FP regs loaded */ | ||||
| #define KVM_ARM64_HOST_SVE_IN_USE	(1 << 3) /* backup for host TIF_SVE */ | ||||
| #define KVM_ARM64_HOST_SVE_ENABLED	(1 << 4) /* SVE enabled for EL0 */ | ||||
| 
 | ||||
| #define vcpu_gp_regs(v)		(&(v)->arch.ctxt.gp_regs) | ||||
| 
 | ||||
|  | ||||
| @ -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 | ||||
| 	 * or update_mmu_cache() have the necessary barriers. | ||||
| 	 */ | ||||
| 	if (pte_valid_not_user(pte)) { | ||||
| 	if (pte_valid_not_user(pte)) | ||||
| 		dsb(ishst); | ||||
| 		isb(); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 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); | ||||
| 	dsb(ishst); | ||||
| 	isb(); | ||||
| } | ||||
| 
 | ||||
| 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); | ||||
| 	dsb(ishst); | ||||
| 	isb(); | ||||
| } | ||||
| 
 | ||||
| static inline void pud_clear(pud_t *pudp) | ||||
|  | ||||
| @ -29,20 +29,15 @@ DECLARE_PER_CPU(bool, kernel_neon_busy); | ||||
| static __must_check inline bool may_use_simd(void) | ||||
| { | ||||
| 	/*
 | ||||
| 	 * The raw_cpu_read() is racy if called with preemption enabled. | ||||
| 	 * This is not a bug: kernel_neon_busy is only set when | ||||
| 	 * preemption is disabled, so we cannot migrate to another CPU | ||||
| 	 * while it is set, nor can we migrate to a CPU where it is set. | ||||
| 	 * So, if we find it clear on some CPU then we're guaranteed to | ||||
| 	 * find it clear on any CPU we could migrate to. | ||||
| 	 * | ||||
| 	 * If we are in between kernel_neon_begin()...kernel_neon_end(), | ||||
| 	 * the flag will be set, but preemption is also disabled, so we | ||||
| 	 * can't migrate to another CPU and spuriously see it become | ||||
| 	 * false. | ||||
| 	 * kernel_neon_busy is only set while preemption is disabled, | ||||
| 	 * and is clear whenever preemption is enabled. Since | ||||
| 	 * this_cpu_read() is atomic w.r.t. preemption, kernel_neon_busy | ||||
| 	 * cannot change under our feet -- if it's set we cannot be | ||||
| 	 * migrated, and if it's clear we cannot be migrated to a CPU | ||||
| 	 * where it is set. | ||||
| 	 */ | ||||
| 	return !in_irq() && !irqs_disabled() && !in_nmi() && | ||||
| 		!raw_cpu_read(kernel_neon_busy); | ||||
| 		!this_cpu_read(kernel_neon_busy); | ||||
| } | ||||
| 
 | ||||
| #else /* ! CONFIG_KERNEL_MODE_NEON */ | ||||
|  | ||||
| @ -728,6 +728,17 @@ asm( | ||||
| 	asm volatile("msr_s " __stringify(r) ", %x0" : : "rZ" (__val));	\ | ||||
| } while (0) | ||||
| 
 | ||||
| /*
 | ||||
|  * Modify bits in a sysreg. Bits in the clear mask are zeroed, then bits in the | ||||
|  * set mask are set. Other bits are left as-is. | ||||
|  */ | ||||
| #define sysreg_clear_set(sysreg, clear, set) do {			\ | ||||
| 	u64 __scs_val = read_sysreg(sysreg);				\ | ||||
| 	u64 __scs_new = (__scs_val & ~(u64)(clear)) | (set);		\ | ||||
| 	if (__scs_new != __scs_val)					\ | ||||
| 		write_sysreg(__scs_new, sysreg);			\ | ||||
| } while (0) | ||||
| 
 | ||||
| static inline void config_sctlr_el1(u32 clear, u32 set) | ||||
| { | ||||
| 	u32 val; | ||||
|  | ||||
| @ -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_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"); | ||||
| 
 | ||||
| 		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; | ||||
| 
 | ||||
| 		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); | ||||
| 
 | ||||
| 		flush_icache_range((uintptr_t)origptr, | ||||
| 				   (uintptr_t)(origptr + nr_inst)); | ||||
| 		if (!is_module) { | ||||
| 			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(); | ||||
| 	} else { | ||||
| 		BUG_ON(alternatives_applied); | ||||
| 		__apply_alternatives(®ion, true); | ||||
| 		__apply_alternatives(®ion, false); | ||||
| 		/* Barriers provided by the cache flushing */ | ||||
| 		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); | ||||
| } | ||||
| 
 | ||||
| void apply_alternatives(void *start, size_t length) | ||||
| #ifdef CONFIG_MODULES | ||||
| void apply_alternatives_module(void *start, size_t length) | ||||
| { | ||||
| 	struct alt_region region = { | ||||
| 		.begin	= start, | ||||
| 		.end	= start + length, | ||||
| 	}; | ||||
| 
 | ||||
| 	__apply_alternatives(®ion, false); | ||||
| 	__apply_alternatives(®ion, true); | ||||
| } | ||||
| #endif | ||||
|  | ||||
| @ -937,7 +937,7 @@ static int __init parse_kpti(char *str) | ||||
| 	__kpti_forced = enabled ? 1 : -1; | ||||
| 	return 0; | ||||
| } | ||||
| __setup("kpti=", parse_kpti); | ||||
| early_param("kpti", parse_kpti); | ||||
| #endif	/* CONFIG_UNMAP_KERNEL_AT_EL0 */ | ||||
| 
 | ||||
| #ifdef CONFIG_ARM64_HW_AFDBM | ||||
|  | ||||
| @ -448,9 +448,8 @@ int module_finalize(const Elf_Ehdr *hdr, | ||||
| 	const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; | ||||
| 
 | ||||
| 	for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) { | ||||
| 		if (strcmp(".altinstructions", secstrs + s->sh_name) == 0) { | ||||
| 			apply_alternatives((void *)s->sh_addr, s->sh_size); | ||||
| 		} | ||||
| 		if (strcmp(".altinstructions", secstrs + s->sh_name) == 0) | ||||
| 			apply_alternatives_module((void *)s->sh_addr, s->sh_size); | ||||
| #ifdef CONFIG_ARM64_MODULE_PLTS | ||||
| 		if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE) && | ||||
| 		    !strcmp(".text.ftrace_trampoline", secstrs + s->sh_name)) | ||||
|  | ||||
| @ -179,7 +179,7 @@ int __cpu_up(unsigned int cpu, struct task_struct *idle) | ||||
|  * This is the secondary CPU boot entry.  We're using this CPUs | ||||
|  * idle thread stack, but a set of temporary page tables. | ||||
|  */ | ||||
| asmlinkage void secondary_start_kernel(void) | ||||
| asmlinkage notrace void secondary_start_kernel(void) | ||||
| { | ||||
| 	u64 mpidr = read_cpuid_mpidr() & MPIDR_HWID_BITMASK; | ||||
| 	struct mm_struct *mm = &init_mm; | ||||
|  | ||||
| @ -5,13 +5,14 @@ | ||||
|  * Copyright 2018 Arm Limited | ||||
|  * Author: Dave Martin <Dave.Martin@arm.com> | ||||
|  */ | ||||
| #include <linux/bottom_half.h> | ||||
| #include <linux/irqflags.h> | ||||
| #include <linux/sched.h> | ||||
| #include <linux/thread_info.h> | ||||
| #include <linux/kvm_host.h> | ||||
| #include <asm/kvm_asm.h> | ||||
| #include <asm/kvm_host.h> | ||||
| #include <asm/kvm_mmu.h> | ||||
| #include <asm/sysreg.h> | ||||
| 
 | ||||
| /*
 | ||||
|  * Called on entry to KVM_RUN unless this vcpu previously ran at least | ||||
| @ -61,10 +62,16 @@ void kvm_arch_vcpu_load_fp(struct kvm_vcpu *vcpu) | ||||
| { | ||||
| 	BUG_ON(!current->mm); | ||||
| 
 | ||||
| 	vcpu->arch.flags &= ~(KVM_ARM64_FP_ENABLED | KVM_ARM64_HOST_SVE_IN_USE); | ||||
| 	vcpu->arch.flags &= ~(KVM_ARM64_FP_ENABLED | | ||||
| 			      KVM_ARM64_HOST_SVE_IN_USE | | ||||
| 			      KVM_ARM64_HOST_SVE_ENABLED); | ||||
| 	vcpu->arch.flags |= KVM_ARM64_FP_HOST; | ||||
| 
 | ||||
| 	if (test_thread_flag(TIF_SVE)) | ||||
| 		vcpu->arch.flags |= KVM_ARM64_HOST_SVE_IN_USE; | ||||
| 
 | ||||
| 	if (read_sysreg(cpacr_el1) & CPACR_EL1_ZEN_EL0EN) | ||||
| 		vcpu->arch.flags |= KVM_ARM64_HOST_SVE_ENABLED; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
| @ -92,19 +99,30 @@ void kvm_arch_vcpu_ctxsync_fp(struct kvm_vcpu *vcpu) | ||||
|  */ | ||||
| void kvm_arch_vcpu_put_fp(struct kvm_vcpu *vcpu) | ||||
| { | ||||
| 	local_bh_disable(); | ||||
| 	unsigned long flags; | ||||
| 
 | ||||
| 	update_thread_flag(TIF_SVE, | ||||
| 			   vcpu->arch.flags & KVM_ARM64_HOST_SVE_IN_USE); | ||||
| 	local_irq_save(flags); | ||||
| 
 | ||||
| 	if (vcpu->arch.flags & KVM_ARM64_FP_ENABLED) { | ||||
| 		/* Clean guest FP state to memory and invalidate cpu view */ | ||||
| 		fpsimd_save(); | ||||
| 		fpsimd_flush_cpu_state(); | ||||
| 	} else if (!test_thread_flag(TIF_FOREIGN_FPSTATE)) { | ||||
| 		/* Ensure user trap controls are correctly restored */ | ||||
| 		fpsimd_bind_task_to_cpu(); | ||||
| 	} else if (system_supports_sve()) { | ||||
| 		/*
 | ||||
| 		 * The FPSIMD/SVE state in the CPU has not been touched, and we | ||||
| 		 * have SVE (and VHE): CPACR_EL1 (alias CPTR_EL2) has been | ||||
| 		 * reset to CPACR_EL1_DEFAULT by the Hyp code, disabling SVE | ||||
| 		 * for EL0.  To avoid spurious traps, restore the trap state | ||||
| 		 * seen by kvm_arch_vcpu_load_fp(): | ||||
| 		 */ | ||||
| 		if (vcpu->arch.flags & KVM_ARM64_HOST_SVE_ENABLED) | ||||
| 			sysreg_clear_set(CPACR_EL1, 0, CPACR_EL1_ZEN_EL0EN); | ||||
| 		else | ||||
| 			sysreg_clear_set(CPACR_EL1, CPACR_EL1_ZEN_EL0EN, 0); | ||||
| 	} | ||||
| 
 | ||||
| 	local_bh_enable(); | ||||
| 	update_thread_flag(TIF_SVE, | ||||
| 			   vcpu->arch.flags & KVM_ARM64_HOST_SVE_IN_USE); | ||||
| 
 | ||||
| 	local_irq_restore(flags); | ||||
| } | ||||
|  | ||||
| @ -583,13 +583,14 @@ static void *__iommu_alloc_attrs(struct device *dev, size_t size, | ||||
| 						    size >> PAGE_SHIFT); | ||||
| 			return NULL; | ||||
| 		} | ||||
| 		if (!coherent) | ||||
| 			__dma_flush_area(page_to_virt(page), iosize); | ||||
| 
 | ||||
| 		addr = dma_common_contiguous_remap(page, size, VM_USERMAP, | ||||
| 						   prot, | ||||
| 						   __builtin_return_address(0)); | ||||
| 		if (!addr) { | ||||
| 		if (addr) { | ||||
| 			memset(addr, 0, size); | ||||
| 			if (!coherent) | ||||
| 				__dma_flush_area(page_to_virt(page), iosize); | ||||
| 		} else { | ||||
| 			iommu_dma_unmap_page(dev, *handle, iosize, 0, attrs); | ||||
| 			dma_release_from_contiguous(dev, page, | ||||
| 						    size >> PAGE_SHIFT); | ||||
|  | ||||
| @ -217,8 +217,9 @@ ENDPROC(idmap_cpu_replace_ttbr1) | ||||
| 
 | ||||
| 	.macro __idmap_kpti_put_pgtable_ent_ng, type | ||||
| 	orr	\type, \type, #PTE_NG		// Same bit for blocks and pages | ||||
| 	str	\type, [cur_\()\type\()p]	// Update the entry and ensure it | ||||
| 	dc	civac, cur_\()\type\()p		// is visible to all CPUs. | ||||
| 	str	\type, [cur_\()\type\()p]	// Update the entry and ensure | ||||
| 	dmb	sy				// that it is visible to all | ||||
| 	dc	civac, cur_\()\type\()p		// CPUs. | ||||
| 	.endm | ||||
| 
 | ||||
| /* | ||||
|  | ||||
| @ -44,6 +44,7 @@ extern inline pmd_t *pmd_alloc_kernel(pgd_t *pgd, unsigned long address) | ||||
| static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t page, | ||||
| 				  unsigned long address) | ||||
| { | ||||
| 	pgtable_page_dtor(page); | ||||
| 	__free_page(page); | ||||
| } | ||||
| 
 | ||||
| @ -74,8 +75,9 @@ static inline struct page *pte_alloc_one(struct mm_struct *mm, | ||||
| 	return page; | ||||
| } | ||||
| 
 | ||||
| extern inline void pte_free(struct mm_struct *mm, struct page *page) | ||||
| static inline void pte_free(struct mm_struct *mm, struct page *page) | ||||
| { | ||||
| 	pgtable_page_dtor(page); | ||||
| 	__free_page(page); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -8,11 +8,4 @@ config TRACE_IRQFLAGS_SUPPORT | ||||
| 
 | ||||
| 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 | ||||
|  | ||||
| @ -19,15 +19,10 @@ extern char cmd_line[COMMAND_LINE_SIZE]; | ||||
| 
 | ||||
| extern char *klimit; | ||||
| 
 | ||||
| void microblaze_heartbeat(void); | ||||
| void microblaze_setup_heartbeat(void); | ||||
| 
 | ||||
| #   ifdef CONFIG_MMU | ||||
| extern void mmu_reset(void); | ||||
| #   endif /* CONFIG_MMU */ | ||||
| 
 | ||||
| extern void of_platform_reset_gpio_probe(void); | ||||
| 
 | ||||
| void time_init(void); | ||||
| void init_IRQ(void); | ||||
| void machine_early_init(const char *cmdline, unsigned int ram, | ||||
|  | ||||
| @ -38,6 +38,6 @@ | ||||
| 
 | ||||
| #endif /* __ASSEMBLY__ */ | ||||
| 
 | ||||
| #define __NR_syscalls         399 | ||||
| #define __NR_syscalls         401 | ||||
| 
 | ||||
| #endif /* _ASM_MICROBLAZE_UNISTD_H */ | ||||
|  | ||||
| @ -415,5 +415,7 @@ | ||||
| #define __NR_pkey_alloc		396 | ||||
| #define __NR_pkey_free		397 | ||||
| #define __NR_statx		398 | ||||
| #define __NR_io_pgetevents	399 | ||||
| #define __NR_rseq		400 | ||||
| 
 | ||||
| #endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */ | ||||
|  | ||||
| @ -8,7 +8,6 @@ ifdef CONFIG_FUNCTION_TRACER | ||||
| CFLAGS_REMOVE_timer.o = -pg | ||||
| CFLAGS_REMOVE_intc.o = -pg | ||||
| CFLAGS_REMOVE_early_printk.o = -pg | ||||
| CFLAGS_REMOVE_heartbeat.o = -pg | ||||
| CFLAGS_REMOVE_ftrace.o = -pg | ||||
| CFLAGS_REMOVE_process.o = -pg | ||||
| endif | ||||
| @ -17,12 +16,11 @@ extra-y := head.o vmlinux.lds | ||||
| 
 | ||||
| obj-y += dma.o exceptions.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 | ||||
| 
 | ||||
| obj-y += cpu/ | ||||
| 
 | ||||
| obj-$(CONFIG_HEART_BEAT)	+= heartbeat.o | ||||
| obj-$(CONFIG_MODULES)		+= microblaze_ksyms.o module.o | ||||
| obj-$(CONFIG_MMU)		+= misc.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 unsigned int reset_val; | ||||
| 
 | ||||
| void of_platform_reset_gpio_probe(void) | ||||
| static int of_platform_reset_gpio_probe(void) | ||||
| { | ||||
| 	int ret; | ||||
| 	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)) { | ||||
| 		pr_info("Skipping unavailable RESET gpio %d (%s)\n", | ||||
| 				handle, "reset"); | ||||
| 		return; | ||||
| 		return -ENODEV; | ||||
| 	} | ||||
| 
 | ||||
| 	ret = gpio_request(handle, "reset"); | ||||
| 	if (ret < 0) { | ||||
| 		pr_info("GPIO pin is already allocated\n"); | ||||
| 		return; | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| 	/* 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", | ||||
| 							handle, reset_val); | ||||
| 	return; | ||||
| 	return 0; | ||||
| err: | ||||
| 	gpio_free(handle); | ||||
| 	return; | ||||
| 	return ret; | ||||
| } | ||||
| device_initcall(of_platform_reset_gpio_probe); | ||||
| 
 | ||||
| 
 | ||||
| static void gpio_system_reset(void) | ||||
|  | ||||
| @ -400,3 +400,5 @@ ENTRY(sys_call_table) | ||||
| 	.long sys_pkey_alloc
 | ||||
| 	.long sys_pkey_free
 | ||||
| 	.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) | ||||
| { | ||||
| 	struct clock_event_device *evt = &clockevent_xilinx_timer; | ||||
| #ifdef CONFIG_HEART_BEAT | ||||
| 	microblaze_heartbeat(); | ||||
| #endif | ||||
| 	timer_ack(); | ||||
| 	evt->event_handler(evt); | ||||
| 	return IRQ_HANDLED; | ||||
| @ -318,10 +315,6 @@ static int __init xilinx_timer_init(struct device_node *timer) | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| #ifdef CONFIG_HEART_BEAT | ||||
| 	microblaze_setup_heartbeat(); | ||||
| #endif | ||||
| 
 | ||||
| 	ret = xilinx_clocksource_init(); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
|  | ||||
| @ -65,6 +65,7 @@ config MIPS | ||||
| 	select HAVE_OPROFILE | ||||
| 	select HAVE_PERF_EVENTS | ||||
| 	select HAVE_REGS_AND_STACK_ACCESS_API | ||||
| 	select HAVE_RSEQ | ||||
| 	select HAVE_STACKPROTECTOR | ||||
| 	select HAVE_SYSCALL_TRACEPOINTS | ||||
| 	select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP | ||||
|  | ||||
| @ -34,7 +34,7 @@ | ||||
| #define PB44_KEYS_DEBOUNCE_INTERVAL	(3 * PB44_KEYS_POLL_INTERVAL) | ||||
| 
 | ||||
| static struct gpiod_lookup_table pb44_i2c_gpiod_table = { | ||||
| 	.dev_id = "i2c-gpio", | ||||
| 	.dev_id = "i2c-gpio.0", | ||||
| 	.table = { | ||||
| 		GPIO_LOOKUP_IDX("ath79-gpio", PB44_GPIO_I2C_SDA, | ||||
| 				NULL, 0, GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN), | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue
	
	Block a user