2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-25 05:34:00 +08:00

SPI NOR core changes:

- Add support for TB selection using SR bit 6,
 - Add support for few flashes.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEHUIqys8OyG1eHf7fS1VPR6WNFOkFAl4l5iYACgkQS1VPR6WN
 FOksswf/Tq2UoKBdPuseIUFuzra98K78ItVAAGPnMM2rMnG9bi0SLsKDdYIt/E2s
 MHfcZdk9FA+DqCyfXk7FJDSFjvT5L92xg+lJSQul7GL/OOUWUlYJVuPpxCUFzJmW
 w/u9qFdbsughBFqMKgCPA11+wDPBbBfOjI/PzfKpjuFr4d4rOevX9bnojAa/8pR2
 FDJ/kfjDByxa60uAZbAMh0tV8wHgVtnLUNDwrh+49BLHN4a0vIq3PP/YiQLvo2VY
 IE1x6Va696onBkcXNtWOYFiS183Dc0mIVRYwAPDvpF6MWcWbZXQ2XrnRb4B8snMY
 mLBWqGpQ4b88Nd1npTWxIUIUJPXgqQ==
 =3kW5
 -----END PGP SIGNATURE-----

Merge tag 'spi-nor/for-5.6' into mtd/next

SPI NOR core changes:
- Add support for TB selection using SR bit 6,
- Add support for few flashes.
This commit is contained in:
Miquel Raynal 2020-01-27 17:48:30 +01:00
commit 701ddf0bbf
978 changed files with 9699 additions and 4931 deletions

View File

@ -152,6 +152,7 @@ Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@web.de>
Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@ascom.ch> Linus Lüssing <linus.luessing@c0d3.blue> <linus.luessing@ascom.ch>
Li Yang <leoyang.li@nxp.com> <leo@zh-kernel.org> Li Yang <leoyang.li@nxp.com> <leo@zh-kernel.org>
Li Yang <leoyang.li@nxp.com> <leoli@freescale.com> Li Yang <leoyang.li@nxp.com> <leoli@freescale.com>
Lukasz Luba <lukasz.luba@arm.com> <l.luba@partner.samsung.com>
Maciej W. Rozycki <macro@mips.com> <macro@imgtec.com> Maciej W. Rozycki <macro@mips.com> <macro@imgtec.com>
Marc Zyngier <maz@kernel.org> <marc.zyngier@arm.com> Marc Zyngier <maz@kernel.org> <marc.zyngier@arm.com>
Marcin Nowakowski <marcin.nowakowski@mips.com> <marcin.nowakowski@imgtec.com> Marcin Nowakowski <marcin.nowakowski@mips.com> <marcin.nowakowski@imgtec.com>
@ -265,6 +266,7 @@ Vinod Koul <vkoul@kernel.org> <vkoul@infradead.org>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com> Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com> Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com> Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
Vivien Didelot <vivien.didelot@gmail.com> <vivien.didelot@savoirfairelinux.com>
Vlad Dogaru <ddvlad@gmail.com> <vlad.dogaru@intel.com> Vlad Dogaru <ddvlad@gmail.com> <vlad.dogaru@intel.com>
Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@virtuozzo.com> Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@virtuozzo.com>
Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@parallels.com> Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@parallels.com>
@ -276,3 +278,5 @@ Gustavo Padovan <gustavo@las.ic.unicamp.br>
Gustavo Padovan <padovan@profusion.mobi> Gustavo Padovan <padovan@profusion.mobi>
Changbin Du <changbin.du@intel.com> <changbin.du@intel.com> Changbin Du <changbin.du@intel.com> <changbin.du@intel.com>
Changbin Du <changbin.du@intel.com> <changbin.du@gmail.com> Changbin Du <changbin.du@intel.com> <changbin.du@gmail.com>
Steve Wise <larrystevenwise@gmail.com> <swise@chelsio.com>
Steve Wise <larrystevenwise@gmail.com> <swise@opengridcomputing.com>

View File

@ -1,4 +1,4 @@
What: /sys/bus/platform/devices/MLNXBF04:00/driver/lifecycle_state What: /sys/bus/platform/devices/MLNXBF04:00/lifecycle_state
Date: Oct 2019 Date: Oct 2019
KernelVersion: 5.5 KernelVersion: 5.5
Contact: "Liming Sun <lsun@mellanox.com>" Contact: "Liming Sun <lsun@mellanox.com>"
@ -10,7 +10,7 @@ Description:
GA Non-Secured - Non-Secure chip and not able to change state GA Non-Secured - Non-Secure chip and not able to change state
RMA - Return Merchandise Authorization RMA - Return Merchandise Authorization
What: /sys/bus/platform/devices/MLNXBF04:00/driver/post_reset_wdog What: /sys/bus/platform/devices/MLNXBF04:00/post_reset_wdog
Date: Oct 2019 Date: Oct 2019
KernelVersion: 5.5 KernelVersion: 5.5
Contact: "Liming Sun <lsun@mellanox.com>" Contact: "Liming Sun <lsun@mellanox.com>"
@ -19,7 +19,7 @@ Description:
to reboot the chip and recover it to the old state if the new to reboot the chip and recover it to the old state if the new
boot partition fails. boot partition fails.
What: /sys/bus/platform/devices/MLNXBF04:00/driver/reset_action What: /sys/bus/platform/devices/MLNXBF04:00/reset_action
Date: Oct 2019 Date: Oct 2019
KernelVersion: 5.5 KernelVersion: 5.5
Contact: "Liming Sun <lsun@mellanox.com>" Contact: "Liming Sun <lsun@mellanox.com>"
@ -30,7 +30,7 @@ Description:
emmc - boot from the onchip eMMC emmc - boot from the onchip eMMC
emmc_legacy - boot from the onchip eMMC in legacy (slow) mode emmc_legacy - boot from the onchip eMMC in legacy (slow) mode
What: /sys/bus/platform/devices/MLNXBF04:00/driver/second_reset_action What: /sys/bus/platform/devices/MLNXBF04:00/second_reset_action
Date: Oct 2019 Date: Oct 2019
KernelVersion: 5.5 KernelVersion: 5.5
Contact: "Liming Sun <lsun@mellanox.com>" Contact: "Liming Sun <lsun@mellanox.com>"
@ -44,7 +44,7 @@ Description:
swap_emmc - swap the primary / secondary boot partition swap_emmc - swap the primary / secondary boot partition
none - cancel the action none - cancel the action
What: /sys/bus/platform/devices/MLNXBF04:00/driver/secure_boot_fuse_state What: /sys/bus/platform/devices/MLNXBF04:00/secure_boot_fuse_state
Date: Oct 2019 Date: Oct 2019
KernelVersion: 5.5 KernelVersion: 5.5
Contact: "Liming Sun <lsun@mellanox.com>" Contact: "Liming Sun <lsun@mellanox.com>"

View File

@ -144,7 +144,7 @@ journal_crypt:algorithm(:key) (the key is optional)
Encrypt the journal using given algorithm to make sure that the Encrypt the journal using given algorithm to make sure that the
attacker can't read the journal. You can use a block cipher here attacker can't read the journal. You can use a block cipher here
(such as "cbc(aes)") or a stream cipher (for example "chacha20", (such as "cbc(aes)") or a stream cipher (for example "chacha20",
"salsa20", "ctr(aes)" or "ecb(arc4)"). "salsa20" or "ctr(aes)").
The journal contains history of last writes to the block device, The journal contains history of last writes to the block device,
an attacker reading the journal could see the last sector nubmers an attacker reading the journal could see the last sector nubmers

View File

@ -8,6 +8,7 @@ Device Mapper
cache-policies cache-policies
cache cache
delay delay
dm-clone
dm-crypt dm-crypt
dm-dust dm-dust
dm-flakey dm-flakey

View File

@ -181,14 +181,17 @@ When mounting an ext4 filesystem, the following option are accepted:
system after its metadata has been committed to the journal. system after its metadata has been committed to the journal.
commit=nrsec (*) commit=nrsec (*)
Ext4 can be told to sync all its data and metadata every 'nrsec' This setting limits the maximum age of the running transaction to
seconds. The default value is 5 seconds. This means that if you lose 'nrsec' seconds. The default value is 5 seconds. This means that if
your power, you will lose as much as the latest 5 seconds of work (your you lose your power, you will lose as much as the latest 5 seconds of
filesystem will not be damaged though, thanks to the journaling). This metadata changes (your filesystem will not be damaged though, thanks
default value (or any low value) will hurt performance, but it's good to the journaling). This default value (or any low value) will hurt
for data-safety. Setting it to 0 will have the same effect as leaving performance, but it's good for data-safety. Setting it to 0 will have
it at the default (5 seconds). Setting it to very large values will the same effect as leaving it at the default (5 seconds). Setting it
improve performance. to very large values will improve performance. Note that due to
delayed allocation even older data can be lost on power failure since
writeback of those data begins only after time set in
/proc/sys/vm/dirty_expire_centisecs.
barrier=<0|1(*)>, barrier(*), nobarrier barrier=<0|1(*)>, barrier(*), nobarrier
This enables/disables the use of write barriers in the jbd code. This enables/disables the use of write barriers in the jbd code.

View File

@ -253,7 +253,7 @@ The following sysctls are available for the XFS filesystem:
pool. pool.
fs.xfs.speculative_prealloc_lifetime fs.xfs.speculative_prealloc_lifetime
(Units: seconds Min: 1 Default: 300 Max: 86400) (Units: seconds Min: 1 Default: 300 Max: 86400)
The interval at which the background scanning for inodes The interval at which the background scanning for inodes
with unused speculative preallocation runs. The scan with unused speculative preallocation runs. The scan
removes unused preallocation from clean inodes and releases removes unused preallocation from clean inodes and releases

View File

@ -203,12 +203,12 @@ Test Module
Kselftest tests the kernel from userspace. Sometimes things need Kselftest tests the kernel from userspace. Sometimes things need
testing from within the kernel, one method of doing this is to create a testing from within the kernel, one method of doing this is to create a
test module. We can tie the module into the kselftest framework by test module. We can tie the module into the kselftest framework by
using a shell script test runner. ``kselftest_module.sh`` is designed using a shell script test runner. ``kselftest/module.sh`` is designed
to facilitate this process. There is also a header file provided to to facilitate this process. There is also a header file provided to
assist writing kernel modules that are for use with kselftest: assist writing kernel modules that are for use with kselftest:
- ``tools/testing/kselftest/kselftest_module.h`` - ``tools/testing/kselftest/kselftest_module.h``
- ``tools/testing/kselftest/kselftest_module.sh`` - ``tools/testing/kselftest/kselftest/module.sh``
How to use How to use
---------- ----------
@ -247,7 +247,7 @@ A bare bones test module might look like this:
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include "../tools/testing/selftests/kselftest_module.h" #include "../tools/testing/selftests/kselftest/module.h"
KSTM_MODULE_GLOBALS(); KSTM_MODULE_GLOBALS();
@ -276,7 +276,7 @@ Example test script
#!/bin/bash #!/bin/bash
# SPDX-License-Identifier: GPL-2.0+ # SPDX-License-Identifier: GPL-2.0+
$(dirname $0)/../kselftest_module.sh "foo" test_foo $(dirname $0)/../kselftest/module.sh "foo" test_foo
Test Harness Test Harness

View File

@ -9,6 +9,7 @@ KUnit - Unit Testing for the Linux Kernel
start start
usage usage
kunit-tool
api/index api/index
faq faq

View File

@ -0,0 +1,57 @@
.. SPDX-License-Identifier: GPL-2.0
=================
kunit_tool How-To
=================
What is kunit_tool?
===================
kunit_tool is a script (``tools/testing/kunit/kunit.py``) that aids in building
the Linux kernel as UML (`User Mode Linux
<http://user-mode-linux.sourceforge.net/>`_), running KUnit tests, parsing
the test results and displaying them in a user friendly manner.
What is a kunitconfig?
======================
It's just a defconfig that kunit_tool looks for in the base directory.
kunit_tool uses it to generate a .config as you might expect. In addition, it
verifies that the generated .config contains the CONFIG options in the
kunitconfig; the reason it does this is so that it is easy to be sure that a
CONFIG that enables a test actually ends up in the .config.
How do I use kunit_tool?
========================
If a kunitconfig is present at the root directory, all you have to do is:
.. code-block:: bash
./tools/testing/kunit/kunit.py run
However, you most likely want to use it with the following options:
.. code-block:: bash
./tools/testing/kunit/kunit.py run --timeout=30 --jobs=`nproc --all`
- ``--timeout`` sets a maximum amount of time to allow tests to run.
- ``--jobs`` sets the number of threads to use to build the kernel.
If you just want to use the defconfig that ships with the kernel, you can
append the ``--defconfig`` flag as well:
.. code-block:: bash
./tools/testing/kunit/kunit.py run --timeout=30 --jobs=`nproc --all` --defconfig
.. note::
This command is particularly helpful for getting started because it
just works. No kunitconfig needs to be present.
For a list of all the flags supported by kunit_tool, you can run:
.. code-block:: bash
./tools/testing/kunit/kunit.py run --help

View File

@ -19,11 +19,14 @@ The wrapper can be run with:
.. code-block:: bash .. code-block:: bash
./tools/testing/kunit/kunit.py run ./tools/testing/kunit/kunit.py run --defconfig
For more information on this wrapper (also called kunit_tool) checkout the
:doc:`kunit-tool` page.
Creating a kunitconfig Creating a kunitconfig
====================== ======================
The Python script is a thin wrapper around Kbuild as such, it needs to be The Python script is a thin wrapper around Kbuild. As such, it needs to be
configured with a ``kunitconfig`` file. This file essentially contains the configured with a ``kunitconfig`` file. This file essentially contains the
regular Kernel config, with the specific test targets as well. regular Kernel config, with the specific test targets as well.
@ -59,8 +62,8 @@ If everything worked correctly, you should see the following:
followed by a list of tests that are run. All of them should be passing. followed by a list of tests that are run. All of them should be passing.
.. note:: .. note::
Because it is building a lot of sources for the first time, the ``Building Because it is building a lot of sources for the first time, the
kunit kernel`` step may take a while. ``Building KUnit kernel`` step may take a while.
Writing your first test Writing your first test
======================= =======================
@ -159,7 +162,7 @@ Now you can run the test:
.. code-block:: bash .. code-block:: bash
./tools/testing/kunit/kunit.py ./tools/testing/kunit/kunit.py run
You should see the following failure: You should see the following failure:

View File

@ -16,7 +16,7 @@ Organization of this document
============================= =============================
This document is organized into two main sections: Testing and Isolating This document is organized into two main sections: Testing and Isolating
Behavior. The first covers what a unit test is and how to use KUnit to write Behavior. The first covers what unit tests are and how to use KUnit to write
them. The second covers how to use KUnit to isolate code and make it possible them. The second covers how to use KUnit to isolate code and make it possible
to unit test code that was otherwise un-unit-testable. to unit test code that was otherwise un-unit-testable.
@ -174,13 +174,13 @@ Test Suites
~~~~~~~~~~~ ~~~~~~~~~~~
Now obviously one unit test isn't very helpful; the power comes from having Now obviously one unit test isn't very helpful; the power comes from having
many test cases covering all of your behaviors. Consequently it is common to many test cases covering all of a unit's behaviors. Consequently it is common
have many *similar* tests; in order to reduce duplication in these closely to have many *similar* tests; in order to reduce duplication in these closely
related tests most unit testing frameworks provide the concept of a *test related tests most unit testing frameworks - including KUnit - provide the
suite*, in KUnit we call it a *test suite*; all it is is just a collection of concept of a *test suite*. A *test suite* is just a collection of test cases
test cases for a unit of code with a set up function that gets invoked before for a unit of code with a set up function that gets invoked before every test
every test cases and then a tear down function that gets invoked after every case and then a tear down function that gets invoked after every test case
test case completes. completes.
Example: Example:
@ -211,7 +211,7 @@ KUnit test framework.
.. note:: .. note::
A test case will only be run if it is associated with a test suite. A test case will only be run if it is associated with a test suite.
For a more information on these types of things see the :doc:`api/test`. For more information on these types of things see the :doc:`api/test`.
Isolating Behavior Isolating Behavior
================== ==================
@ -338,7 +338,7 @@ We can easily test this code by *faking out* the underlying EEPROM:
return count; return count;
} }
ssize_t fake_eeprom_write(struct eeprom *this, size_t offset, const char *buffer, size_t count) ssize_t fake_eeprom_write(struct eeprom *parent, size_t offset, const char *buffer, size_t count)
{ {
struct fake_eeprom *this = container_of(parent, struct fake_eeprom, parent); struct fake_eeprom *this = container_of(parent, struct fake_eeprom, parent);
@ -454,7 +454,7 @@ KUnit on non-UML architectures
By default KUnit uses UML as a way to provide dependencies for code under test. By default KUnit uses UML as a way to provide dependencies for code under test.
Under most circumstances KUnit's usage of UML should be treated as an Under most circumstances KUnit's usage of UML should be treated as an
implementation detail of how KUnit works under the hood. Nevertheless, there implementation detail of how KUnit works under the hood. Nevertheless, there
are instances where being able to run architecture specific code, or test are instances where being able to run architecture specific code or test
against real hardware is desirable. For these reasons KUnit supports running on against real hardware is desirable. For these reasons KUnit supports running on
other architectures. other architectures.
@ -557,7 +557,7 @@ run your tests on your hardware setup just by compiling for your architecture.
.. important:: .. important::
Always prefer tests that run on UML to tests that only run under a particular Always prefer tests that run on UML to tests that only run under a particular
architecture, and always prefer tests that run under QEMU or another easy architecture, and always prefer tests that run under QEMU or another easy
(and monitarily free) to obtain software environment to a specific piece of (and monetarily free) to obtain software environment to a specific piece of
hardware. hardware.
Nevertheless, there are still valid reasons to write an architecture or hardware Nevertheless, there are still valid reasons to write an architecture or hardware

View File

@ -8,7 +8,7 @@ title: Allwinner platforms device tree bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
$nodename: $nodename:

View File

@ -8,7 +8,7 @@ title: Allwinner A64 Display Engine Bus Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
$nodename: $nodename:

View File

@ -8,7 +8,7 @@ title: Allwinner A23 RSB Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#address-cells": "#address-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner Clock Control Unit Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#clock-cells": "#clock-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Security System Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A31 MIPI-DSI Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#address-cells": true "#address-cells": true

View File

@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Ronbo RB070D30 DSI Display Panel title: Ronbo RB070D30 DSI Display Panel
maintainers: maintainers:
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A10 DMA Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: "dma-controller.yaml#" - $ref: "dma-controller.yaml#"

View File

@ -8,7 +8,7 @@ title: Allwinner A64 DMA Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: "dma-controller.yaml#" - $ref: "dma-controller.yaml#"

View File

@ -8,7 +8,7 @@ title: Allwinner A31 DMA Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: "dma-controller.yaml#" - $ref: "dma-controller.yaml#"

View File

@ -8,7 +8,7 @@ title: Allwinner A31 P2WI (Push/Pull 2 Wires Interface) Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: /schemas/i2c/i2c-controller.yaml# - $ref: /schemas/i2c/i2c-controller.yaml#

View File

@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2 %YAML 1.2
--- ---
$id: http://devicetree.org/schemas/iio/adc/adi,ad7292.yaml# $id: http://devicetree.org/schemas/iio/adc/adi,ad7292.yaml#
@ -53,7 +53,8 @@ patternProperties:
description: | description: |
The channel number. It can have up to 8 channels numbered from 0 to 7. The channel number. It can have up to 8 channels numbered from 0 to 7.
items: items:
maximum: 7 - minimum: 0
maximum: 7
diff-channels: diff-channels:
description: see Documentation/devicetree/bindings/iio/adc/adc.txt description: see Documentation/devicetree/bindings/iio/adc/adc.txt

View File

@ -8,7 +8,7 @@ title: Allwinner A33 Thermal Sensor Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#io-channel-cells": "#io-channel-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner A10 LRADC Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Interrupt Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: /schemas/interrupt-controller.yaml# - $ref: /schemas/interrupt-controller.yaml#

View File

@ -8,7 +8,7 @@ title: Allwinner A20 Non-Maskable Interrupt Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: /schemas/interrupt-controller.yaml# - $ref: /schemas/interrupt-controller.yaml#

View File

@ -8,7 +8,7 @@ title: Allwinner A10 CMOS Sensor Interface (CSI) Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
description: |- description: |-
The Allwinner A10 and later has a CMOS Sensor Interface to retrieve The Allwinner A10 and later has a CMOS Sensor Interface to retrieve

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Infrared Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: "rc.yaml#" - $ref: "rc.yaml#"

View File

@ -60,7 +60,8 @@ patternProperties:
maximum: 1066000000 maximum: 1066000000
nvidia,emem-configuration: nvidia,emem-configuration:
$ref: /schemas/types.yaml#/definitions/uint32-array allOf:
- $ref: /schemas/types.yaml#/definitions/uint32-array
description: | description: |
Values to be written to the EMEM register block. See section Values to be written to the EMEM register block. See section
"15.6.1 MC Registers" in the TRM. "15.6.1 MC Registers" in the TRM.

View File

@ -56,7 +56,8 @@ patternProperties:
maximum: 900000000 maximum: 900000000
nvidia,emc-auto-cal-interval: nvidia,emc-auto-cal-interval:
$ref: /schemas/types.yaml#/definitions/uint32 allOf:
- $ref: /schemas/types.yaml#/definitions/uint32
description: description:
Pad calibration interval in microseconds. Pad calibration interval in microseconds.
minimum: 0 minimum: 0
@ -78,7 +79,8 @@ patternProperties:
Mode Register 0. Mode Register 0.
nvidia,emc-zcal-cnt-long: nvidia,emc-zcal-cnt-long:
$ref: /schemas/types.yaml#/definitions/uint32 allOf:
- $ref: /schemas/types.yaml#/definitions/uint32
description: description:
Number of EMC clocks to wait before issuing any commands after Number of EMC clocks to wait before issuing any commands after
sending ZCAL_MRW_CMD. sending ZCAL_MRW_CMD.
@ -96,7 +98,8 @@ patternProperties:
FBIO "read" FIFO periodic resetting enabled. FBIO "read" FIFO periodic resetting enabled.
nvidia,emc-configuration: nvidia,emc-configuration:
$ref: /schemas/types.yaml#/definitions/uint32-array allOf:
- $ref: /schemas/types.yaml#/definitions/uint32-array
description: description:
EMC timing characterization data. These are the registers EMC timing characterization data. These are the registers
(see section "18.13.2 EMC Registers" in the TRM) whose values (see section "18.13.2 EMC Registers" in the TRM) whose values

View File

@ -77,7 +77,8 @@ patternProperties:
maximum: 900000000 maximum: 900000000
nvidia,emem-configuration: nvidia,emem-configuration:
$ref: /schemas/types.yaml#/definitions/uint32-array allOf:
- $ref: /schemas/types.yaml#/definitions/uint32-array
description: | description: |
Values to be written to the EMEM register block. See section Values to be written to the EMEM register block. See section
"18.13.1 MC Registers" in the TRM. "18.13.1 MC Registers" in the TRM.

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Resistive Touchscreen Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#thermal-sensor-cells": "#thermal-sensor-cells":

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#address-cells": true "#address-cells": true

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#address-cells": true "#address-cells": true

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A10 MDIO Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: "mdio.yaml#" - $ref: "mdio.yaml#"

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A83t EMAC Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A10 CAN Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -10,7 +10,6 @@ Required properties:
- #size-cells: 0 - #size-cells: 0
- spi-max-frequency: Maximum frequency of the SPI bus the chip can - spi-max-frequency: Maximum frequency of the SPI bus the chip can
operate at should be less than or equal to 18 MHz. operate at should be less than or equal to 18 MHz.
- device-wake-gpios: Wake up GPIO to wake up the TCAN device.
- interrupt-parent: the phandle to the interrupt controller which provides - interrupt-parent: the phandle to the interrupt controller which provides
the interrupt. the interrupt.
- interrupts: interrupt specification for data-ready. - interrupts: interrupt specification for data-ready.
@ -23,6 +22,7 @@ Optional properties:
reset. reset.
- device-state-gpios: Input GPIO that indicates if the device is in - device-state-gpios: Input GPIO that indicates if the device is in
a sleep state or if the device is active. a sleep state or if the device is active.
- device-wake-gpios: Wake up GPIO to wake up the TCAN device.
Example: Example:
tcan4x5x: tcan4x5x@0 { tcan4x5x: tcan4x5x@0 {
@ -36,5 +36,5 @@ tcan4x5x: tcan4x5x@0 {
interrupts = <14 GPIO_ACTIVE_LOW>; interrupts = <14 GPIO_ACTIVE_LOW>;
device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
device-wake-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; device-wake-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>;
}; };

View File

@ -347,6 +347,7 @@ allOf:
- st,spear600-gmac - st,spear600-gmac
then: then:
properties:
snps,tso: snps,tso:
$ref: /schemas/types.yaml#definitions/flag $ref: /schemas/types.yaml#definitions/flag
description: description:

View File

@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2 %YAML 1.2
--- ---
$id: http://devicetree.org/schemas/net/ti,cpsw-switch.yaml# $id: http://devicetree.org/schemas/net/ti,cpsw-switch.yaml#
@ -44,7 +44,6 @@ properties:
description: CPSW functional clock description: CPSW functional clock
clock-names: clock-names:
maxItems: 1
items: items:
- const: fck - const: fck
@ -70,7 +69,6 @@ properties:
Phandle to the system control device node which provides access to Phandle to the system control device node which provides access to
efuse IO range with MAC addresses efuse IO range with MAC addresses
ethernet-ports: ethernet-ports:
type: object type: object
properties: properties:
@ -82,8 +80,6 @@ properties:
patternProperties: patternProperties:
"^port@[0-9]+$": "^port@[0-9]+$":
type: object type: object
minItems: 1
maxItems: 2
description: CPSW external ports description: CPSW external ports
allOf: allOf:
@ -91,23 +87,20 @@ properties:
properties: properties:
reg: reg:
maxItems: 1 items:
enum: [1, 2] - enum: [1, 2]
description: CPSW port number description: CPSW port number
phys: phys:
$ref: /schemas/types.yaml#definitions/phandle-array
maxItems: 1 maxItems: 1
description: phandle on phy-gmii-sel PHY description: phandle on phy-gmii-sel PHY
label: label:
$ref: /schemas/types.yaml#/definitions/string-array
maxItems: 1
description: label associated with this port description: label associated with this port
ti,dual-emac-pvid: ti,dual-emac-pvid:
$ref: /schemas/types.yaml#/definitions/uint32 allOf:
maxItems: 1 - $ref: /schemas/types.yaml#/definitions/uint32
minimum: 1 minimum: 1
maximum: 1024 maximum: 1024
description: description:
@ -136,7 +129,6 @@ properties:
description: CPTS reference clock description: CPTS reference clock
clock-names: clock-names:
maxItems: 1
items: items:
- const: cpts - const: cpts
@ -201,7 +193,7 @@ examples:
phys = <&phy_gmii_sel 1>; phys = <&phy_gmii_sel 1>;
phy-handle = <&ethphy0_sw>; phy-handle = <&ethphy0_sw>;
phy-mode = "rgmii"; phy-mode = "rgmii";
ti,dual_emac_pvid = <1>; ti,dual-emac-pvid = <1>;
}; };
cpsw_port2: port@2 { cpsw_port2: port@2 {
@ -211,7 +203,7 @@ examples:
phys = <&phy_gmii_sel 2>; phys = <&phy_gmii_sel 2>;
phy-handle = <&ethphy1_sw>; phy-handle = <&ethphy1_sw>;
phy-mode = "rgmii"; phy-mode = "rgmii";
ti,dual_emac_pvid = <2>; ti,dual-emac-pvid = <2>;
}; };
}; };

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Security ID Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
allOf: allOf:
- $ref: "nvmem.yaml#" - $ref: "nvmem.yaml#"

View File

@ -8,7 +8,7 @@ title: Allwinner A31 MIPI D-PHY Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#phy-cells": "#phy-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Pin Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#gpio-cells": "#gpio-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner A10 PWM Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#pwm-cells": "#pwm-cells":

View File

@ -50,6 +50,8 @@ properties:
description: Should contain the WWDG1 watchdog reset interrupt description: Should contain the WWDG1 watchdog reset interrupt
maxItems: 1 maxItems: 1
wakeup-source: true
mboxes: mboxes:
description: description:
This property is required only if the rpmsg/virtio functionality is used. This property is required only if the rpmsg/virtio functionality is used.

View File

@ -22,6 +22,6 @@ Example:
}; };
&ethernet_switch { &ethernet_switch {
resets = <&reset>; resets = <&reset 26>;
reset-names = "switch"; reset-names = "switch";
}; };

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A31 RTC Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#clock-cells": "#clock-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner A10 PS2 Host Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
description: description:
A20 PS2 is dual role controller (PS2 host and PS2 device). These A20 PS2 is dual role controller (PS2 host and PS2 device). These

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Codec Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#sound-dai-cells": "#sound-dai-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner A10 I2S Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#sound-dai-cells": "#sound-dai-cells":

View File

@ -10,7 +10,7 @@ maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Liam Girdwood <lgirdwood@gmail.com> - Liam Girdwood <lgirdwood@gmail.com>
- Mark Brown <broonie@kernel.org> - Mark Brown <broonie@kernel.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#sound-dai-cells": "#sound-dai-cells":

View File

@ -8,7 +8,7 @@ title: Allwinner A64 Analog Codec Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A23 Analog Codec Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A33 Codec Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#sound-dai-cells": "#sound-dai-cells":

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#address-cells": true "#address-cells": true

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
"#address-cells": true "#address-cells": true

View File

@ -8,7 +8,7 @@ title: Allwinner A10 Timer Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A13 High-Speed Timer Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -8,7 +8,7 @@ title: Allwinner A10 mUSB OTG Controller Device Tree Bindings
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -11,7 +11,7 @@ allOf:
maintainers: maintainers:
- Chen-Yu Tsai <wens@csie.org> - Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com> - Maxime Ripard <mripard@kernel.org>
properties: properties:
compatible: compatible:

View File

@ -24,11 +24,11 @@ Here is the main features of EROFS:
- Metadata & data could be mixed by design; - Metadata & data could be mixed by design;
- 2 inode versions for different requirements: - 2 inode versions for different requirements:
v1 v2 compact (v1) extended (v2)
Inode metadata size: 32 bytes 64 bytes Inode metadata size: 32 bytes 64 bytes
Max file size: 4 GB 16 EB (also limited by max. vol size) Max file size: 4 GB 16 EB (also limited by max. vol size)
Max uids/gids: 65536 4294967296 Max uids/gids: 65536 4294967296
File creation time: no yes (64 + 32-bit timestamp) File change time: no yes (64 + 32-bit timestamp)
Max hardlinks: 65536 4294967296 Max hardlinks: 65536 4294967296
Metadata reserved: 4 bytes 14 bytes Metadata reserved: 4 bytes 14 bytes
@ -39,7 +39,7 @@ Here is the main features of EROFS:
- Support POSIX.1e ACLs by using xattrs; - Support POSIX.1e ACLs by using xattrs;
- Support transparent file compression as an option: - Support transparent file compression as an option:
LZ4 algorithm with 4 KB fixed-output compression for high performance; LZ4 algorithm with 4 KB fixed-sized output compression for high performance.
The following git tree provides the file system user-space tools under The following git tree provides the file system user-space tools under
development (ex, formatting tool mkfs.erofs): development (ex, formatting tool mkfs.erofs):
@ -85,7 +85,7 @@ All data areas should be aligned with the block size, but metadata areas
may not. All metadatas can be now observed in two different spaces (views): may not. All metadatas can be now observed in two different spaces (views):
1. Inode metadata space 1. Inode metadata space
Each valid inode should be aligned with an inode slot, which is a fixed Each valid inode should be aligned with an inode slot, which is a fixed
value (32 bytes) and designed to be kept in line with v1 inode size. value (32 bytes) and designed to be kept in line with compact inode size.
Each inode can be directly found with the following formula: Each inode can be directly found with the following formula:
inode offset = meta_blkaddr * block_size + 32 * nid inode offset = meta_blkaddr * block_size + 32 * nid
@ -117,10 +117,10 @@ may not. All metadatas can be now observed in two different spaces (views):
|-> aligned with 4B |-> aligned with 4B
Inode could be 32 or 64 bytes, which can be distinguished from a common Inode could be 32 or 64 bytes, which can be distinguished from a common
field which all inode versions have -- i_advise: field which all inode versions have -- i_format:
__________________ __________________ __________________ __________________
| i_advise | | i_advise | | i_format | | i_format |
|__________________| |__________________| |__________________| |__________________|
| ... | | ... | | ... | | ... |
| | | | | | | |
@ -129,12 +129,13 @@ may not. All metadatas can be now observed in two different spaces (views):
|__________________| 64 bytes |__________________| 64 bytes
Xattrs, extents, data inline are followed by the corresponding inode with Xattrs, extents, data inline are followed by the corresponding inode with
proper alignes, and they could be optional for different data mappings, proper alignment, and they could be optional for different data mappings.
_currently_ there are totally 3 valid data mappings supported: _currently_ total 4 valid data mappings are supported:
1) flat file data without data inline (no extent); 0 flat file data without data inline (no extent);
2) fixed-output size data compression (must have extents); 1 fixed-sized output data compression (with non-compacted indexes);
3) flat file data with tail-end data inline (no extent); 2 flat file data with tail packing data inline (no extent);
3 fixed-sized output data compression (with compacted indexes, v5.3+).
The size of the optional xattrs is indicated by i_xattr_count in inode The size of the optional xattrs is indicated by i_xattr_count in inode
header. Large xattrs or xattrs shared by many different files can be header. Large xattrs or xattrs shared by many different files can be
@ -182,8 +183,8 @@ introduce another on-disk field at all.
Compression Compression
----------- -----------
Currently, EROFS supports 4KB fixed-output clustersize transparent file Currently, EROFS supports 4KB fixed-sized output transparent file compression,
compression, as illustrated below: as illustrated below:
|---- Variant-Length Extent ----|-------- VLE --------|----- VLE ----- |---- Variant-Length Extent ----|-------- VLE --------|----- VLE -----
clusterofs clusterofs clusterofs clusterofs clusterofs clusterofs

View File

@ -1,3 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0
Written by: Neil Brown Written by: Neil Brown
Please see MAINTAINERS file for where to send questions. Please see MAINTAINERS file for where to send questions.
@ -181,7 +183,7 @@ Kernel config options:
worried about backward compatibility with kernels that have the redirect_dir worried about backward compatibility with kernels that have the redirect_dir
feature and follow redirects even if turned off. feature and follow redirects even if turned off.
Module options (can also be changed through /sys/module/overlay/parameters/*): Module options (can also be changed through /sys/module/overlay/parameters/):
- "redirect_dir=BOOL": - "redirect_dir=BOOL":
See OVERLAY_FS_REDIRECT_DIR kernel config option above. See OVERLAY_FS_REDIRECT_DIR kernel config option above.
@ -263,7 +265,7 @@ top, lower2 the middle and lower3 the bottom layer.
Metadata only copy up Metadata only copy up
-------------------- ---------------------
When metadata only copy up feature is enabled, overlayfs will only copy When metadata only copy up feature is enabled, overlayfs will only copy
up metadata (as opposed to whole file), when a metadata specific operation up metadata (as opposed to whole file), when a metadata specific operation
@ -286,10 +288,10 @@ pointed by REDIRECT. This should not be possible on local system as setting
"trusted." xattrs will require CAP_SYS_ADMIN. But it should be possible "trusted." xattrs will require CAP_SYS_ADMIN. But it should be possible
for untrusted layers like from a pen drive. for untrusted layers like from a pen drive.
Note: redirect_dir={off|nofollow|follow(*)} conflicts with metacopy=on, and Note: redirect_dir={off|nofollow|follow[*]} conflicts with metacopy=on, and
results in an error. results in an error.
(*) redirect_dir=follow only conflicts with metacopy=on if upperdir=... is [*] redirect_dir=follow only conflicts with metacopy=on if upperdir=... is
given. given.
Sharing and copying layers Sharing and copying layers

View File

@ -196,14 +196,11 @@ applicable everywhere (see syntax).
or equal to the first symbol and smaller than or equal to the second or equal to the first symbol and smaller than or equal to the second
symbol. symbol.
- help text: "help" or "---help---" - help text: "help"
This defines a help text. The end of the help text is determined by This defines a help text. The end of the help text is determined by
the indentation level, this means it ends at the first line which has the indentation level, this means it ends at the first line which has
a smaller indentation than the first line of the help text. a smaller indentation than the first line of the help text.
"---help---" and "help" do not differ in behaviour, "---help---" is
used to help visually separate configuration logic from help within
the file as an aid to developers.
- misc options: "option" <symbol>[=<value>] - misc options: "option" <symbol>[=<value>]

View File

@ -297,9 +297,19 @@ more details, with real examples.
If CONFIG_EXT2_FS is set to either 'y' (built-in) or 'm' (modular) If CONFIG_EXT2_FS is set to either 'y' (built-in) or 'm' (modular)
the corresponding obj- variable will be set, and kbuild will descend the corresponding obj- variable will be set, and kbuild will descend
down in the ext2 directory. down in the ext2 directory.
Kbuild only uses this information to decide that it needs to visit
the directory, it is the Makefile in the subdirectory that Kbuild uses this information not only to decide that it needs to visit
specifies what is modular and what is built-in. the directory, but also to decide whether or not to link objects from
the directory into vmlinux.
When Kbuild descends into the directory with 'y', all built-in objects
from that directory are combined into the built-in.a, which will be
eventually linked into vmlinux.
When Kbuild descends into the directory with 'm', in contrast, nothing
from that directory will be linked into vmlinux. If the Makefile in
that directory specifies obj-y, those objects will be left orphan.
It is very likely a bug of the Makefile or of dependencies in Kconfig.
It is good practice to use a `CONFIG_` variable when assigning directory It is good practice to use a `CONFIG_` variable when assigning directory
names. This allows kbuild to totally skip the directory if the names. This allows kbuild to totally skip the directory if the

View File

@ -339,7 +339,7 @@ To claim an address following code example can be used:
.pgn = J1939_PGN_ADDRESS_CLAIMED, .pgn = J1939_PGN_ADDRESS_CLAIMED,
.pgn_mask = J1939_PGN_PDU1_MAX, .pgn_mask = J1939_PGN_PDU1_MAX,
}, { }, {
.pgn = J1939_PGN_ADDRESS_REQUEST, .pgn = J1939_PGN_REQUEST,
.pgn_mask = J1939_PGN_PDU1_MAX, .pgn_mask = J1939_PGN_PDU1_MAX,
}, { }, {
.pgn = J1939_PGN_ADDRESS_COMMANDED, .pgn = J1939_PGN_ADDRESS_COMMANDED,

View File

@ -988,7 +988,7 @@ Similarly, if you need to calculate the size of some structure member, use
.. code-block:: c .. code-block:: c
#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) #define sizeof_field(t, f) (sizeof(((t*)0)->f))
There are also min() and max() macros that do strict type checking if you There are also min() and max() macros that do strict type checking if you
need them. Feel free to peruse that header file to see what else is already need them. Feel free to peruse that header file to see what else is already

View File

@ -29,7 +29,7 @@ smartpqi specific entries in /sys
smartpqi host attributes: smartpqi host attributes:
------------------------- -------------------------
/sys/class/scsi_host/host*/rescan /sys/class/scsi_host/host*/rescan
/sys/class/scsi_host/host*/version /sys/class/scsi_host/host*/driver_version
The host rescan attribute is a write only attribute. Writing to this The host rescan attribute is a write only attribute. Writing to this
attribute will trigger the driver to scan for new, changed, or removed attribute will trigger the driver to scan for new, changed, or removed

View File

@ -1005,7 +1005,7 @@ struttura, usate
.. code-block:: c .. code-block:: c
#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) #define sizeof_field(t, f) (sizeof(((t*)0)->f))
Ci sono anche le macro min() e max() che, se vi serve, effettuano un controllo Ci sono anche le macro min() e max() che, se vi serve, effettuano un controllo
rigido sui tipi. Sentitevi liberi di leggere attentamente questo file rigido sui tipi. Sentitevi liberi di leggere attentamente questo file

View File

@ -826,7 +826,7 @@ inline gcc 也可以自动使其内联。而且其他用户可能会要求移除
.. code-block:: c .. code-block:: c
#define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) #define sizeof_field(t, f) (sizeof(((t*)0)->f))
还有可以做严格的类型检查的 min() 和 max() 宏,如果你需要可以使用它们。你可以 还有可以做严格的类型检查的 min() 和 max() 宏,如果你需要可以使用它们。你可以
自己看看那个头文件里还定义了什么你可以拿来用的东西,如果有定义的话,你就不应 自己看看那个头文件里还定义了什么你可以拿来用的东西,如果有定义的话,你就不应

View File

@ -2272,6 +2272,7 @@ F: drivers/*/*s3c64xx*
F: drivers/*/*s5pv210* F: drivers/*/*s5pv210*
F: drivers/memory/samsung/ F: drivers/memory/samsung/
F: drivers/soc/samsung/ F: drivers/soc/samsung/
F: drivers/tty/serial/samsung*
F: include/linux/soc/samsung/ F: include/linux/soc/samsung/
F: Documentation/arm/samsung/ F: Documentation/arm/samsung/
F: Documentation/devicetree/bindings/arm/samsung/ F: Documentation/devicetree/bindings/arm/samsung/
@ -4970,6 +4971,7 @@ F: include/linux/dma-buf*
F: include/linux/reservation.h F: include/linux/reservation.h
F: include/linux/*fence.h F: include/linux/*fence.h
F: Documentation/driver-api/dma-buf.rst F: Documentation/driver-api/dma-buf.rst
K: dma_(buf|fence|resv)
T: git git://anongit.freedesktop.org/drm/drm-misc T: git git://anongit.freedesktop.org/drm/drm-misc
DMA GENERIC OFFLOAD ENGINE SUBSYSTEM DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
@ -4999,7 +5001,7 @@ F: include/linux/dma-mapping.h
F: include/linux/dma-noncoherent.h F: include/linux/dma-noncoherent.h
DMC FREQUENCY DRIVER FOR SAMSUNG EXYNOS5422 DMC FREQUENCY DRIVER FOR SAMSUNG EXYNOS5422
M: Lukasz Luba <l.luba@partner.samsung.com> M: Lukasz Luba <lukasz.luba@arm.com>
L: linux-pm@vger.kernel.org L: linux-pm@vger.kernel.org
L: linux-samsung-soc@vger.kernel.org L: linux-samsung-soc@vger.kernel.org
S: Maintained S: Maintained
@ -6025,6 +6027,7 @@ M: Yash Shah <yash.shah@sifive.com>
L: linux-edac@vger.kernel.org L: linux-edac@vger.kernel.org
S: Supported S: Supported
F: drivers/edac/sifive_edac.c F: drivers/edac/sifive_edac.c
F: drivers/soc/sifive_l2_cache.c
EDAC-SKYLAKE EDAC-SKYLAKE
M: Tony Luck <tony.luck@intel.com> M: Tony Luck <tony.luck@intel.com>
@ -9038,7 +9041,6 @@ F: include/linux/umh.h
KERNEL VIRTUAL MACHINE (KVM) KERNEL VIRTUAL MACHINE (KVM)
M: Paolo Bonzini <pbonzini@redhat.com> M: Paolo Bonzini <pbonzini@redhat.com>
M: Radim Krčmář <rkrcmar@redhat.com>
L: kvm@vger.kernel.org L: kvm@vger.kernel.org
W: http://www.linux-kvm.org W: http://www.linux-kvm.org
T: git git://git.kernel.org/pub/scm/virt/kvm/kvm.git T: git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
@ -9073,9 +9075,9 @@ F: virt/kvm/arm/
F: include/kvm/arm_* F: include/kvm/arm_*
KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips) KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
M: James Hogan <jhogan@kernel.org>
L: linux-mips@vger.kernel.org L: linux-mips@vger.kernel.org
S: Supported L: kvm@vger.kernel.org
S: Orphan
F: arch/mips/include/uapi/asm/kvm* F: arch/mips/include/uapi/asm/kvm*
F: arch/mips/include/asm/kvm* F: arch/mips/include/asm/kvm*
F: arch/mips/kvm/ F: arch/mips/kvm/
@ -9110,7 +9112,6 @@ F: tools/testing/selftests/kvm/*/s390x/
KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86) KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86)
M: Paolo Bonzini <pbonzini@redhat.com> M: Paolo Bonzini <pbonzini@redhat.com>
M: Radim Krčmář <rkrcmar@redhat.com>
R: Sean Christopherson <sean.j.christopherson@intel.com> R: Sean Christopherson <sean.j.christopherson@intel.com>
R: Vitaly Kuznetsov <vkuznets@redhat.com> R: Vitaly Kuznetsov <vkuznets@redhat.com>
R: Wanpeng Li <wanpengli@tencent.com> R: Wanpeng Li <wanpengli@tencent.com>
@ -10108,6 +10109,7 @@ S: Maintained
F: drivers/media/radio/radio-maxiradio* F: drivers/media/radio/radio-maxiradio*
MCAN MMIO DEVICE DRIVER MCAN MMIO DEVICE DRIVER
M: Dan Murphy <dmurphy@ti.com>
M: Sriram Dash <sriram.dash@samsung.com> M: Sriram Dash <sriram.dash@samsung.com>
L: linux-can@vger.kernel.org L: linux-can@vger.kernel.org
S: Maintained S: Maintained
@ -12393,7 +12395,7 @@ L: linux-unionfs@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git
S: Supported S: Supported
F: fs/overlayfs/ F: fs/overlayfs/
F: Documentation/filesystems/overlayfs.txt F: Documentation/filesystems/overlayfs.rst
P54 WIRELESS DRIVER P54 WIRELESS DRIVER
M: Christian Lamparter <chunkeey@googlemail.com> M: Christian Lamparter <chunkeey@googlemail.com>
@ -13708,6 +13710,15 @@ L: linux-arm-msm@vger.kernel.org
S: Maintained S: Maintained
F: drivers/iommu/qcom_iommu.c F: drivers/iommu/qcom_iommu.c
QUALCOMM RMNET DRIVER
M: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
M: Sean Tranchetti <stranche@codeaurora.org>
L: netdev@vger.kernel.org
S: Maintained
F: drivers/net/ethernet/qualcomm/rmnet/
F: Documentation/networking/device_drivers/qualcomm/rmnet.txt
F: include/linux/if_rmnet.h
QUALCOMM TSENS THERMAL DRIVER QUALCOMM TSENS THERMAL DRIVER
M: Amit Kucheria <amit.kucheria@linaro.org> M: Amit Kucheria <amit.kucheria@linaro.org>
L: linux-pm@vger.kernel.org L: linux-pm@vger.kernel.org
@ -16314,12 +16325,10 @@ F: drivers/media/radio/radio-raremono.c
THERMAL THERMAL
M: Zhang Rui <rui.zhang@intel.com> M: Zhang Rui <rui.zhang@intel.com>
M: Eduardo Valentin <edubezval@gmail.com> M: Daniel Lezcano <daniel.lezcano@linaro.org>
R: Daniel Lezcano <daniel.lezcano@linaro.org>
R: Amit Kucheria <amit.kucheria@verdurent.com> R: Amit Kucheria <amit.kucheria@verdurent.com>
L: linux-pm@vger.kernel.org L: linux-pm@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal.git
Q: https://patchwork.kernel.org/project/linux-pm/list/ Q: https://patchwork.kernel.org/project/linux-pm/list/
S: Supported S: Supported
F: drivers/thermal/ F: drivers/thermal/
@ -16533,6 +16542,13 @@ L: alsa-devel@alsa-project.org (moderated for non-subscribers)
S: Odd Fixes S: Odd Fixes
F: sound/soc/codecs/tas571x* F: sound/soc/codecs/tas571x*
TI TCAN4X5X DEVICE DRIVER
M: Dan Murphy <dmurphy@ti.com>
L: linux-can@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/net/can/tcan4x5x.txt
F: drivers/net/can/m_can/tcan4x5x.c
TI TRF7970A NFC DRIVER TI TRF7970A NFC DRIVER
M: Mark Greer <mgreer@animalcreek.com> M: Mark Greer <mgreer@animalcreek.com>
L: linux-wireless@vger.kernel.org L: linux-wireless@vger.kernel.org

View File

@ -2,7 +2,7 @@
VERSION = 5 VERSION = 5
PATCHLEVEL = 5 PATCHLEVEL = 5
SUBLEVEL = 0 SUBLEVEL = 0
EXTRAVERSION = -rc1 EXTRAVERSION = -rc3
NAME = Kleptomaniac Octopus NAME = Kleptomaniac Octopus
# *DOCUMENTATION* # *DOCUMENTATION*
@ -414,6 +414,7 @@ STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump OBJDUMP = $(CROSS_COMPILE)objdump
OBJSIZE = $(CROSS_COMPILE)size OBJSIZE = $(CROSS_COMPILE)size
READELF = $(CROSS_COMPILE)readelf
PAHOLE = pahole PAHOLE = pahole
LEX = flex LEX = flex
YACC = bison YACC = bison
@ -472,7 +473,7 @@ GCC_PLUGINS_CFLAGS :=
CLANG_FLAGS := CLANG_FLAGS :=
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC
export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE PAHOLE LEX YACC AWK INSTALLKERNEL export CPP AR NM STRIP OBJCOPY OBJDUMP OBJSIZE READELF PAHOLE LEX YACC AWK INSTALLKERNEL
export PERL PYTHON PYTHON2 PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX export PERL PYTHON PYTHON2 PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE

View File

@ -42,10 +42,10 @@ do { \
#define EXTRA_INFO(f) { \ #define EXTRA_INFO(f) { \
BUILD_BUG_ON_ZERO(offsetof(struct unwind_frame_info, f) \ BUILD_BUG_ON_ZERO(offsetof(struct unwind_frame_info, f) \
% FIELD_SIZEOF(struct unwind_frame_info, f)) \ % sizeof_field(struct unwind_frame_info, f)) \
+ offsetof(struct unwind_frame_info, f) \ + offsetof(struct unwind_frame_info, f) \
/ FIELD_SIZEOF(struct unwind_frame_info, f), \ / sizeof_field(struct unwind_frame_info, f), \
FIELD_SIZEOF(struct unwind_frame_info, f) \ sizeof_field(struct unwind_frame_info, f) \
} }
#define PTREGS_INFO(f) EXTRA_INFO(regs.f) #define PTREGS_INFO(f) EXTRA_INFO(regs.f)

View File

@ -108,7 +108,7 @@
&cpsw_emac0 { &cpsw_emac0 {
phy-handle = <&ethphy0>; phy-handle = <&ethphy0>;
phy-mode = "rgmii-txid"; phy-mode = "rgmii-id";
}; };
&i2c0 { &i2c0 {

View File

@ -86,7 +86,7 @@
}; };
lcd0: display { lcd0: display {
compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
label = "lcd"; label = "lcd";
backlight = <&lcd_bl>; backlight = <&lcd_bl>;

View File

@ -42,7 +42,7 @@
}; };
lcd0: display { lcd0: display {
compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
label = "lcd"; label = "lcd";
backlight = <&lcd_bl>; backlight = <&lcd_bl>;

View File

@ -174,8 +174,8 @@
mdio: mdio@18002000 { mdio: mdio@18002000 {
compatible = "brcm,iproc-mdio"; compatible = "brcm,iproc-mdio";
reg = <0x18002000 0x8>; reg = <0x18002000 0x8>;
#size-cells = <1>; #size-cells = <0>;
#address-cells = <0>; #address-cells = <1>;
status = "disabled"; status = "disabled";
gphy0: ethernet-phy@0 { gphy0: ethernet-phy@0 {

View File

@ -43,7 +43,7 @@
<0x7c000000 0x0 0xfc000000 0x02000000>, <0x7c000000 0x0 0xfc000000 0x02000000>,
<0x40000000 0x0 0xff800000 0x00800000>; <0x40000000 0x0 0xff800000 0x00800000>;
/* Emulate a contiguous 30-bit address range for DMA */ /* Emulate a contiguous 30-bit address range for DMA */
dma-ranges = <0xc0000000 0x0 0x00000000 0x3c000000>; dma-ranges = <0xc0000000 0x0 0x00000000 0x40000000>;
/* /*
* This node is the provider for the enable-method for * This node is the provider for the enable-method for

View File

@ -37,7 +37,7 @@
trips { trips {
cpu-crit { cpu-crit {
temperature = <80000>; temperature = <90000>;
hysteresis = <0>; hysteresis = <0>;
type = "critical"; type = "critical";
}; };

View File

@ -353,8 +353,8 @@
mdio: mdio@18003000 { mdio: mdio@18003000 {
compatible = "brcm,iproc-mdio"; compatible = "brcm,iproc-mdio";
reg = <0x18003000 0x8>; reg = <0x18003000 0x8>;
#size-cells = <1>; #size-cells = <0>;
#address-cells = <0>; #address-cells = <1>;
}; };
mdio-bus-mux@18003000 { mdio-bus-mux@18003000 {

View File

@ -265,11 +265,6 @@
regulator-name = "LDORTC1"; regulator-name = "LDORTC1";
regulator-boot-on; regulator-boot-on;
}; };
ldortc2_reg: LDORTC2 {
regulator-name = "LDORTC2";
regulator-boot-on;
};
}; };
}; };
}; };

View File

@ -30,14 +30,26 @@
enable-active-high; enable-active-high;
}; };
reg_sensors: regulator-sensors { reg_peri_3v3: regulator-peri-3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sensors_reg>; pinctrl-0 = <&pinctrl_peri_3v3>;
regulator-name = "sensors-supply"; regulator-name = "VPERI_3V3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
gpio = <&gpio5 2 GPIO_ACTIVE_LOW>; gpio = <&gpio5 2 GPIO_ACTIVE_LOW>;
/*
* If you want to want to make this dynamic please
* check schematics and test all affected peripherals:
*
* - sensors
* - ethernet phy
* - can
* - bluetooth
* - wm8960 audio codec
* - ov5640 camera
*/
regulator-always-on;
}; };
reg_can_3v3: regulator-can-3v3 { reg_can_3v3: regulator-can-3v3 {
@ -140,6 +152,7 @@
pinctrl-0 = <&pinctrl_enet1>; pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rmii"; phy-mode = "rmii";
phy-handle = <&ethphy0>; phy-handle = <&ethphy0>;
phy-supply = <&reg_peri_3v3>;
status = "okay"; status = "okay";
}; };
@ -148,6 +161,7 @@
pinctrl-0 = <&pinctrl_enet2>; pinctrl-0 = <&pinctrl_enet2>;
phy-mode = "rmii"; phy-mode = "rmii";
phy-handle = <&ethphy1>; phy-handle = <&ethphy1>;
phy-supply = <&reg_peri_3v3>;
status = "okay"; status = "okay";
mdio { mdio {
@ -193,8 +207,8 @@
magnetometer@e { magnetometer@e {
compatible = "fsl,mag3110"; compatible = "fsl,mag3110";
reg = <0x0e>; reg = <0x0e>;
vdd-supply = <&reg_sensors>; vdd-supply = <&reg_peri_3v3>;
vddio-supply = <&reg_sensors>; vddio-supply = <&reg_peri_3v3>;
}; };
}; };
@ -227,7 +241,7 @@
flash0: n25q256a@0 { flash0: n25q256a@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "micron,n25q256a"; compatible = "micron,n25q256a", "jedec,spi-nor";
spi-max-frequency = <29000000>; spi-max-frequency = <29000000>;
spi-rx-bus-width = <4>; spi-rx-bus-width = <4>;
spi-tx-bus-width = <4>; spi-tx-bus-width = <4>;
@ -462,7 +476,7 @@
>; >;
}; };
pinctrl_sensors_reg: sensorsreggrp { pinctrl_peri_3v3: peri3v3grp {
fsl,pins = < fsl,pins = <
MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x1b0b0 MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x1b0b0
>; >;

View File

@ -350,6 +350,7 @@ CONFIG_PRINTK_TIME=y
CONFIG_DYNAMIC_DEBUG=y CONFIG_DYNAMIC_DEBUG=y
CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO=y
CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_KERNEL=y
CONFIG_SOFTLOCKUP_DETECTOR=y CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_DETECT_HUNG_TASK is not set # CONFIG_DETECT_HUNG_TASK is not set

View File

@ -462,6 +462,7 @@ CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y CONFIG_FONT_8x16=y
CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME=y
CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y
# CONFIG_SCHED_DEBUG is not set # CONFIG_SCHED_DEBUG is not set
CONFIG_PROVE_LOCKING=y CONFIG_PROVE_LOCKING=y
# CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_BUGVERBOSE is not set

View File

@ -92,6 +92,7 @@ CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y CONFIG_IP_PNP_RARP=y
CONFIG_NETFILTER=y CONFIG_NETFILTER=y
CONFIG_PHONET=m CONFIG_PHONET=m
CONFIG_NET_SWITCHDEV=y
CONFIG_CAN=m CONFIG_CAN=m
CONFIG_CAN_C_CAN=m CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m CONFIG_CAN_C_CAN_PLATFORM=m
@ -181,6 +182,7 @@ CONFIG_SMSC911X=y
# CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_STMICRO is not set
CONFIG_TI_DAVINCI_EMAC=y CONFIG_TI_DAVINCI_EMAC=y
CONFIG_TI_CPSW=y CONFIG_TI_CPSW=y
CONFIG_TI_CPSW_SWITCHDEV=y
CONFIG_TI_CPTS=y CONFIG_TI_CPTS=y
# CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_WIZNET is not set
@ -554,6 +556,6 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_SPLIT=y CONFIG_DEBUG_INFO_SPLIT=y
CONFIG_DEBUG_INFO_DWARF4=y CONFIG_DEBUG_INFO_DWARF4=y
CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_FS=y
CONFIG_SCHEDSTATS=y CONFIG_SCHEDSTATS=y
# CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_BUGVERBOSE is not set
CONFIG_TI_CPSW_SWITCHDEV=y

View File

@ -212,4 +212,5 @@ CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=64 CONFIG_CMA_SIZE_MBYTES=64
CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_MUST_CHECK is not set # CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_KERNEL=y

View File

@ -38,6 +38,13 @@ void curve25519_arch(u8 out[CURVE25519_KEY_SIZE],
} }
EXPORT_SYMBOL(curve25519_arch); EXPORT_SYMBOL(curve25519_arch);
void curve25519_base_arch(u8 pub[CURVE25519_KEY_SIZE],
const u8 secret[CURVE25519_KEY_SIZE])
{
return curve25519_arch(pub, secret, curve25519_base_point);
}
EXPORT_SYMBOL(curve25519_base_arch);
static int curve25519_set_secret(struct crypto_kpp *tfm, const void *buf, static int curve25519_set_secret(struct crypto_kpp *tfm, const void *buf,
unsigned int len) unsigned int len)
{ {

View File

@ -13,6 +13,7 @@ static const char * const bcm2711_compat[] = {
#ifdef CONFIG_ARCH_MULTI_V7 #ifdef CONFIG_ARCH_MULTI_V7
"brcm,bcm2711", "brcm,bcm2711",
#endif #endif
NULL
}; };
DT_MACHINE_START(BCM2711, "BCM2711") DT_MACHINE_START(BCM2711, "BCM2711")

View File

@ -84,7 +84,7 @@ struct device * __init imx_soc_device_init(void)
const char *ocotp_compat = NULL; const char *ocotp_compat = NULL;
struct soc_device *soc_dev; struct soc_device *soc_dev;
struct device_node *root; struct device_node *root;
struct regmap *ocotp; struct regmap *ocotp = NULL;
const char *soc_id; const char *soc_id;
u64 soc_uid = 0; u64 soc_uid = 0;
u32 val; u32 val;
@ -148,11 +148,11 @@ struct device * __init imx_soc_device_init(void)
soc_id = "i.MX6UL"; soc_id = "i.MX6UL";
break; break;
case MXC_CPU_IMX6ULL: case MXC_CPU_IMX6ULL:
ocotp_compat = "fsl,imx6ul-ocotp"; ocotp_compat = "fsl,imx6ull-ocotp";
soc_id = "i.MX6ULL"; soc_id = "i.MX6ULL";
break; break;
case MXC_CPU_IMX6ULZ: case MXC_CPU_IMX6ULZ:
ocotp_compat = "fsl,imx6ul-ocotp"; ocotp_compat = "fsl,imx6ull-ocotp";
soc_id = "i.MX6ULZ"; soc_id = "i.MX6ULZ";
break; break;
case MXC_CPU_IMX6SLL: case MXC_CPU_IMX6SLL:
@ -175,7 +175,9 @@ struct device * __init imx_soc_device_init(void)
ocotp = syscon_regmap_lookup_by_compatible(ocotp_compat); ocotp = syscon_regmap_lookup_by_compatible(ocotp_compat);
if (IS_ERR(ocotp)) if (IS_ERR(ocotp))
pr_err("%s: failed to find %s regmap!\n", __func__, ocotp_compat); pr_err("%s: failed to find %s regmap!\n", __func__, ocotp_compat);
}
if (!IS_ERR_OR_NULL(ocotp)) {
regmap_read(ocotp, OCOTP_UID_H, &val); regmap_read(ocotp, OCOTP_UID_H, &val);
soc_uid = val; soc_uid = val;
regmap_read(ocotp, OCOTP_UID_L, &val); regmap_read(ocotp, OCOTP_UID_L, &val);

View File

@ -17,9 +17,9 @@ extern void pxa168_clear_keypad_wakeup(void);
#include <linux/platform_data/keypad-pxa27x.h> #include <linux/platform_data/keypad-pxa27x.h>
#include <linux/pxa168_eth.h> #include <linux/pxa168_eth.h>
#include <linux/platform_data/mv_usb.h> #include <linux/platform_data/mv_usb.h>
#include <linux/soc/mmp/cputype.h>
#include "devices.h" #include "devices.h"
#include "cputype.h"
extern struct pxa_device_desc pxa168_device_uart1; extern struct pxa_device_desc pxa168_device_uart1;
extern struct pxa_device_desc pxa168_device_uart2; extern struct pxa_device_desc pxa168_device_uart2;

View File

@ -551,8 +551,9 @@ static struct clk *ve_spc_clk_register(struct device *cpu_dev)
static int __init ve_spc_clk_init(void) static int __init ve_spc_clk_init(void)
{ {
int cpu; int cpu, cluster;
struct clk *clk; struct clk *clk;
bool init_opp_table[MAX_CLUSTERS] = { false };
if (!info) if (!info)
return 0; /* Continue only if SPC is initialised */ return 0; /* Continue only if SPC is initialised */
@ -578,8 +579,17 @@ static int __init ve_spc_clk_init(void)
continue; continue;
} }
cluster = topology_physical_package_id(cpu_dev->id);
if (init_opp_table[cluster])
continue;
if (ve_init_opp_table(cpu_dev)) if (ve_init_opp_table(cpu_dev))
pr_warn("failed to initialise cpu%d opp table\n", cpu); pr_warn("failed to initialise cpu%d opp table\n", cpu);
else if (dev_pm_opp_set_sharing_cpus(cpu_dev,
topology_core_cpumask(cpu_dev->id)))
pr_warn("failed to mark OPPs shared for cpu%d\n", cpu);
else
init_opp_table[cluster] = true;
} }
platform_device_register_simple("vexpress-spc-cpufreq", -1, NULL, 0); platform_device_register_simple("vexpress-spc-cpufreq", -1, NULL, 0);

View File

@ -88,7 +88,7 @@
reboot { reboot {
compatible ="syscon-reboot"; compatible ="syscon-reboot";
regmap = <&dcfg>; regmap = <&rst>;
offset = <0xb0>; offset = <0xb0>;
mask = <0x02>; mask = <0x02>;
}; };
@ -178,6 +178,12 @@
big-endian; big-endian;
}; };
rst: syscon@1e60000 {
compatible = "syscon";
reg = <0x0 0x1e60000 0x0 0x10000>;
little-endian;
};
scfg: syscon@1fc0000 { scfg: syscon@1fc0000 {
compatible = "fsl,ls1028a-scfg", "syscon"; compatible = "fsl,ls1028a-scfg", "syscon";
reg = <0x0 0x1fc0000 0x0 0x10000>; reg = <0x0 0x1fc0000 0x0 0x10000>;
@ -584,7 +590,7 @@
0x00010004 0x0000003d 0x00010004 0x0000003d
0x00010005 0x00000045 0x00010005 0x00000045
0x00010006 0x0000004d 0x00010006 0x0000004d
0x00010007 0x00000045 0x00010007 0x00000055
0x00010008 0x0000005e 0x00010008 0x0000005e
0x00010009 0x00000066 0x00010009 0x00000066
0x0001000a 0x0000006e 0x0001000a 0x0000006e

View File

@ -547,6 +547,7 @@ static const struct midr_range spectre_v2_safe_list[] = {
MIDR_ALL_VERSIONS(MIDR_CORTEX_A53), MIDR_ALL_VERSIONS(MIDR_CORTEX_A53),
MIDR_ALL_VERSIONS(MIDR_CORTEX_A55), MIDR_ALL_VERSIONS(MIDR_CORTEX_A55),
MIDR_ALL_VERSIONS(MIDR_BRAHMA_B53), MIDR_ALL_VERSIONS(MIDR_BRAHMA_B53),
MIDR_ALL_VERSIONS(MIDR_HISI_TSV110),
{ /* sentinel */ } { /* sentinel */ }
}; };

View File

@ -2098,9 +2098,9 @@ static void unhandled_cp_access(struct kvm_vcpu *vcpu,
WARN_ON(1); WARN_ON(1);
} }
kvm_err("Unsupported guest CP%d access at: %08lx [%08lx]\n", print_sys_reg_msg(params,
cp, *vcpu_pc(vcpu), *vcpu_cpsr(vcpu)); "Unsupported guest CP%d access at: %08lx [%08lx]\n",
print_sys_reg_instr(params); cp, *vcpu_pc(vcpu), *vcpu_cpsr(vcpu));
kvm_inject_undefined(vcpu); kvm_inject_undefined(vcpu);
} }
@ -2233,6 +2233,12 @@ int kvm_handle_cp14_32(struct kvm_vcpu *vcpu, struct kvm_run *run)
NULL, 0); NULL, 0);
} }
static bool is_imp_def_sys_reg(struct sys_reg_params *params)
{
// See ARM DDI 0487E.a, section D12.3.2
return params->Op0 == 3 && (params->CRn & 0b1011) == 0b1011;
}
static int emulate_sys_reg(struct kvm_vcpu *vcpu, static int emulate_sys_reg(struct kvm_vcpu *vcpu,
struct sys_reg_params *params) struct sys_reg_params *params)
{ {
@ -2248,10 +2254,12 @@ static int emulate_sys_reg(struct kvm_vcpu *vcpu,
if (likely(r)) { if (likely(r)) {
perform_access(vcpu, params, r); perform_access(vcpu, params, r);
} else if (is_imp_def_sys_reg(params)) {
kvm_inject_undefined(vcpu);
} else { } else {
kvm_err("Unsupported guest sys_reg access at: %lx [%08lx]\n", print_sys_reg_msg(params,
*vcpu_pc(vcpu), *vcpu_cpsr(vcpu)); "Unsupported guest sys_reg access at: %lx [%08lx]\n",
print_sys_reg_instr(params); *vcpu_pc(vcpu), *vcpu_cpsr(vcpu));
kvm_inject_undefined(vcpu); kvm_inject_undefined(vcpu);
} }
return 1; return 1;
@ -2360,8 +2368,11 @@ static const struct sys_reg_desc *index_to_sys_reg_desc(struct kvm_vcpu *vcpu,
if ((id & KVM_REG_ARM_COPROC_MASK) != KVM_REG_ARM64_SYSREG) if ((id & KVM_REG_ARM_COPROC_MASK) != KVM_REG_ARM64_SYSREG)
return NULL; return NULL;
if (!index_to_params(id, &params))
return NULL;
table = get_target_table(vcpu->arch.target, true, &num); table = get_target_table(vcpu->arch.target, true, &num);
r = find_reg_by_id(id, &params, table, num); r = find_reg(&params, table, num);
if (!r) if (!r)
r = find_reg(&params, sys_reg_descs, ARRAY_SIZE(sys_reg_descs)); r = find_reg(&params, sys_reg_descs, ARRAY_SIZE(sys_reg_descs));

View File

@ -62,11 +62,24 @@ struct sys_reg_desc {
#define REG_HIDDEN_USER (1 << 0) /* hidden from userspace ioctls */ #define REG_HIDDEN_USER (1 << 0) /* hidden from userspace ioctls */
#define REG_HIDDEN_GUEST (1 << 1) /* hidden from guest */ #define REG_HIDDEN_GUEST (1 << 1) /* hidden from guest */
static __printf(2, 3)
inline void print_sys_reg_msg(const struct sys_reg_params *p,
char *fmt, ...)
{
va_list va;
va_start(va, fmt);
/* Look, we even formatted it for you to paste into the table! */
kvm_pr_unimpl("%pV { Op0(%2u), Op1(%2u), CRn(%2u), CRm(%2u), Op2(%2u), func_%s },\n",
&(struct va_format){ fmt, &va },
p->Op0, p->Op1, p->CRn, p->CRm, p->Op2, p->is_write ? "write" : "read");
va_end(va);
}
static inline void print_sys_reg_instr(const struct sys_reg_params *p) static inline void print_sys_reg_instr(const struct sys_reg_params *p)
{ {
/* Look, we even formatted it for you to paste into the table! */ /* GCC warns on an empty format string */
kvm_pr_unimpl(" { Op0(%2u), Op1(%2u), CRn(%2u), CRm(%2u), Op2(%2u), func_%s },\n", print_sys_reg_msg(p, "%s", "");
p->Op0, p->Op1, p->CRn, p->CRm, p->Op2, p->is_write ? "write" : "read");
} }
static inline bool ignore_write(struct kvm_vcpu *vcpu, static inline bool ignore_write(struct kvm_vcpu *vcpu,

View File

@ -44,13 +44,6 @@ static struct cvmx_bootmem_desc *cvmx_bootmem_desc;
/* See header file for descriptions of functions */ /* See header file for descriptions of functions */
/**
* This macro returns the size of a member of a structure.
* Logically it is the same as "sizeof(s::field)" in C++, but
* C lacks the "::" operator.
*/
#define SIZEOF_FIELD(s, field) sizeof(((s *)NULL)->field)
/** /**
* This macro returns a member of the * This macro returns a member of the
* cvmx_bootmem_named_block_desc_t structure. These members can't * cvmx_bootmem_named_block_desc_t structure. These members can't
@ -65,7 +58,7 @@ static struct cvmx_bootmem_desc *cvmx_bootmem_desc;
#define CVMX_BOOTMEM_NAMED_GET_FIELD(addr, field) \ #define CVMX_BOOTMEM_NAMED_GET_FIELD(addr, field) \
__cvmx_bootmem_desc_get(addr, \ __cvmx_bootmem_desc_get(addr, \
offsetof(struct cvmx_bootmem_named_block_desc, field), \ offsetof(struct cvmx_bootmem_named_block_desc, field), \
SIZEOF_FIELD(struct cvmx_bootmem_named_block_desc, field)) sizeof_field(struct cvmx_bootmem_named_block_desc, field))
/** /**
* This function is the implementation of the get macros defined * This function is the implementation of the get macros defined

View File

@ -604,6 +604,7 @@ static void emit_const_to_reg(struct jit_ctx *ctx, int dst, u64 value)
static int emit_bpf_tail_call(struct jit_ctx *ctx, int this_idx) static int emit_bpf_tail_call(struct jit_ctx *ctx, int this_idx)
{ {
int off, b_off; int off, b_off;
int tcc_reg;
ctx->flags |= EBPF_SEEN_TC; ctx->flags |= EBPF_SEEN_TC;
/* /*
@ -616,14 +617,14 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx, int this_idx)
b_off = b_imm(this_idx + 1, ctx); b_off = b_imm(this_idx + 1, ctx);
emit_instr(ctx, bne, MIPS_R_AT, MIPS_R_ZERO, b_off); emit_instr(ctx, bne, MIPS_R_AT, MIPS_R_ZERO, b_off);
/* /*
* if (--TCC < 0) * if (TCC-- < 0)
* goto out; * goto out;
*/ */
/* Delay slot */ /* Delay slot */
emit_instr(ctx, daddiu, MIPS_R_T5, tcc_reg = (ctx->flags & EBPF_TCC_IN_V1) ? MIPS_R_V1 : MIPS_R_S4;
(ctx->flags & EBPF_TCC_IN_V1) ? MIPS_R_V1 : MIPS_R_S4, -1); emit_instr(ctx, daddiu, MIPS_R_T5, tcc_reg, -1);
b_off = b_imm(this_idx + 1, ctx); b_off = b_imm(this_idx + 1, ctx);
emit_instr(ctx, bltz, MIPS_R_T5, b_off); emit_instr(ctx, bltz, tcc_reg, b_off);
/* /*
* prog = array->ptrs[index]; * prog = array->ptrs[index];
* if (prog == NULL) * if (prog == NULL)

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