Manivannan Sadhasivam
cd457afb16
bus: mhi: core: Add support for downloading firmware over BHIe
...
MHI supports downloading the device firmware over BHI/BHIe (Boot Host
Interface) protocol. Hence, this commit adds necessary helpers, which
will be called during device power up stage.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/989
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[mani: splitted the data transfer patch and cleaned up for upstream]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org >
Tested-by: Jeffrey Hugo <jhugo@codeaurora.org >
Link: https://lore.kernel.org/r/20200220095854.4804-9-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:05 +01:00
Manivannan Sadhasivam
3000f85b8f
bus: mhi: core: Add support for basic PM operations
...
This commit adds support for basic MHI PM operations such as
mhi_async_power_up, mhi_sync_power_up, and mhi_power_down. These
routines places the MHI bus into respective power domain states
and calls the state_transition APIs when necessary. The MHI
controller driver is expected to call these PM routines for
MHI powerup and powerdown.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/989
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[mani: splitted the pm patch and cleaned up for upstream]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org >
Tested-by: Jeffrey Hugo <jhugo@codeaurora.org >
Link: https://lore.kernel.org/r/20200220095854.4804-8-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:04 +01:00
Manivannan Sadhasivam
a6e2e3522f
bus: mhi: core: Add support for PM state transitions
...
This commit adds support for transitioning the MHI states as a
part of the power management operations. Helpers functions are
provided for the state transitions, which will be consumed by the
actual power management routines.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/989
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[jhugo: removed dma_zalloc_coherent() and fixed several bugs]
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org >
[mani: splitted the pm patch and cleaned up for upstream]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org >
Tested-by: Jeffrey Hugo <jhugo@codeaurora.org >
Link: https://lore.kernel.org/r/20200220095854.4804-7-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:04 +01:00
Manivannan Sadhasivam
6cd330ae76
bus: mhi: core: Add support for ringing channel/event ring doorbells
...
This commit adds support for ringing channel and event ring doorbells
by MHI host. The MHI host can use the channel and event ring doorbells
for notifying the client device about processing transfer and event
rings which it has queued using MMIO registers.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/989
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[mani: splitted from pm patch and cleaned up for upstream]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org >
Tested-by: Jeffrey Hugo <jhugo@codeaurora.org >
Link: https://lore.kernel.org/r/20200220095854.4804-6-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:04 +01:00
Manivannan Sadhasivam
da1c4f8569
bus: mhi: core: Add support for creating and destroying MHI devices
...
This commit adds support for creating and destroying MHI devices. The
MHI devices binds to the MHI channels and are used to transfer data
between MHI host and client device.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/989
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[mani: splitted from pm patch and cleaned up for upstream]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org >
Tested-by: Jeffrey Hugo <jhugo@codeaurora.org >
Link: https://lore.kernel.org/r/20200220095854.4804-5-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:04 +01:00
Manivannan Sadhasivam
e755cadb01
bus: mhi: core: Add support for registering MHI client drivers
...
This commit adds support for registering MHI client drivers with the
MHI stack. MHI client drivers binds to one or more MHI devices inorder
to sends and receive the upper-layer protocol packets like IP packets,
modem control messages, and diagnostics messages over MHI bus.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/987
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[mani: splitted and cleaned up for upstream]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org >
Tested-by: Jeffrey Hugo <jhugo@codeaurora.org >
Link: https://lore.kernel.org/r/20200220095854.4804-4-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:04 +01:00
Manivannan Sadhasivam
0cbf260820
bus: mhi: core: Add support for registering MHI controllers
...
This commit adds support for registering MHI controller drivers with
the MHI stack. MHI controller drivers manages the interaction with the
MHI client devices such as the external modems and WiFi chipsets. They
are also the MHI bus master in charge of managing the physical link
between the host and client device.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/987
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[jhugo: added static config for controllers and fixed several bugs]
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org >
[mani: removed DT dependency, splitted and cleaned up for upstream]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Link: https://lore.kernel.org/r/20200220095854.4804-3-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:04 +01:00
Manivannan Sadhasivam
9435dc3b5e
docs: Add documentation for MHI bus
...
MHI (Modem Host Interface) is a communication protocol used by the
host processors to control and communicate with modems over a high
speed peripheral bus or shared memory. The MHI protocol has been
designed and developed by Qualcomm Innovation Center, Inc., for use
in their modems. This commit adds the documentation for the bus and
the implementation in Linux kernel.
This is based on the patch submitted by Sujeev Dias:
https://lkml.org/lkml/2018/7/9/987
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: linux-doc@vger.kernel.org
Signed-off-by: Sujeev Dias <sdias@codeaurora.org >
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org >
[mani: converted to .rst and splitted the patch]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org >
Link: https://lore.kernel.org/r/20200220095854.4804-2-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:04 +01:00
Joe Perches
87292bca01
virt: vbox: Use fallthrough;
...
Convert the various uses of fallthrough comments to fallthrough;
Done via script
Link: https://lore.kernel.org/lkml/b56602fcf79f849e733e7b521bb0e17895d390fa.1582230379.git.joe@perches.com/
And by hand:
drivers/virt/vboxguest/vboxguest_core.c has a fallthrough comment outside
of an #ifdef block that causes gcc to emit a warning if converted in-place.
So move the new fallthrough; inside the containing #ifdef/#endif too.
Signed-off-by: Joe Perches <joe@perches.com >
Acked-by: Hans de Goede <hdegoede@redhat.com >
Link: https://lore.kernel.org/r/68773b4cd82288b78ca6fcde8c43e249a025378a.1584040050.git.joe@perches.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
Gustavo A. R. Silva
3c2faf61fb
char: mspec: Replace zero-length array with flexible-array member
...
The current codebase makes use of the zero-length array language
extension to the C90 standard, but the preferred mechanism to declare
variable-length types such as these ones is a flexible array member[1][2],
introduced in C99:
struct foo {
int stuff;
struct boo array[];
};
By making use of the mechanism above, we will get a compiler warning
in case the flexible array does not occur last in the structure, which
will help us prevent some kind of undefined behavior bugs from being
inadvertently introduced[3] to the codebase from now on.
Also, notice that, dynamic memory allocations won't be affected by
this change:
"Flexible array members have incomplete type, and so the sizeof operator
may not be applied. As a quirk of the original implementation of
zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://github.com/KSPP/linux/issues/21
[3] commit 7649773293 ("cxgb3/l2t: Fix undefined behaviour")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com >
Link: https://lore.kernel.org/r/20200227184808.GA1925@embeddedor
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
H. Nikolaus Schaller
ba2bb5f789
nvmem: jz4780-efuse: fix build warnings on ARCH=x86_64 or riscv
...
kbuild-robot did find a type error in the min(a, b)
function used by this driver if built for x86_64 or riscv.
Althought it is very unlikely that this driver is built
for those platforms it could be used as a template
for something else and therefore should be correct.
The problem is that we implicitly cast a size_t to
unsigned int inside the implementation of the min() function.
Since size_t may differ on different compilers and
plaforms there may be warnings or not.
So let's use only size_t variables on all platforms.
Reported-by: kbuild test robot <lkp@intel.com >
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: srinivas.kandagatla@linaro.org
Cc: prasannatsmkumar@gmail.com
Cc: malat@debian.org
Cc: paul@crapouillou.net
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-15-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
PrasannaKumar Muralidharan
49d37c6b09
Documentation: ABI: nvmem: add documentation for JZ4780 efuse ABI
...
This patch brings support for the JZ4780 efuse. Currently it only exposes
a read only access to the entire 8K bits efuse memory.
Tested-by: Mathieu Malaterre <malat@debian.org >
Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com >
Signed-off-by: Mathieu Malaterre <malat@debian.org >
Reviewed-by: Paul Cercueil <paul@crapouillou.net >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-14-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
PrasannaKumar Muralidharan
4a2addc287
nvmem: add driver for JZ4780 efuse
...
This patch brings support for the JZ4780 efuse. Currently it only exposes
a read only access to the entire 8K bits efuse memory and nvmem cells.
To fetch for example the MAC address:
dd if=/sys/devices/platform/134100d0.efuse/jz4780-efuse0/nvmem bs=1 skip=34 count=6 status=none | xxd
Tested-by: Mathieu Malaterre <malat@debian.org >
Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com >
Signed-off-by: Mathieu Malaterre <malat@debian.org >
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com >
Signed-off-by: Paul Cercueil <paul@crapouillou.net >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-13-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
PrasannaKumar Muralidharan
af934656d8
Bindings: nvmem: add bindings for JZ4780 efuse
...
This patch brings support for the JZ4780 efuse. Currently it only exposes
a read only access to the entire 8K bits efuse memory.
Tested-by: Mathieu Malaterre <malat@debian.org >
Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com >
Signed-off-by: Mathieu Malaterre <malat@debian.org >
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com >
[converted to yaml]
Signed-off-by: Andreas Kemnade <andreas@kemnade.info >
Reviewed-by: Paul Cercueil <paul@crapouillou.net >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-12-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
Anson Huang
13d588baed
nvmem: imx-ocotp: Drop unnecessary initializations
...
Drop unnecessary initialization of variable 'clk_rate' and 'timing'.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-11-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
Nicholas Johnson
3c91ef69a3
nvmem: check for NULL reg_read and reg_write before dereferencing
...
Return -EPERM if reg_read is NULL in bin_attr_nvmem_read() or if
reg_write is NULL in bin_attr_nvmem_write().
This prevents NULL dereferences such as the one described in
03cd45d2e2 ("thunderbolt: Prevent crash if non-active NVMem file is
read")
Signed-off-by: Nicholas Johnson <nicholas.johnson-opensource@outlook.com.au >
Cc: stable <stable@vger.kernel.org >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-10-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
Srinivas Kandagatla
061a320b32
nvmem: core: validate nvmem config before parsing
...
nvmem provider has to provide either reg_read/write, add a check
to enforce this.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-9-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
Khouloud Touil
a9c3766cb1
nvmem: release the write-protect pin
...
Put the write-protect GPIO descriptor in nvmem_release() so that it can
be automatically released when the associated device's reference count
drops to 0.
Fixes: 2a127da461 ("nvmem: add support for the write-protect pin")
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org >
Signed-off-by: Khouloud Touil <ktouil@baylibre.com >
Cc: stable <stable@vger.kernel.org >
[Bartosz: tweak the commit message]
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-8-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:03 +01:00
Bartosz Golaszewski
f7d8d7dcd9
nvmem: fix memory leak in error path
...
We need to free the ida mapping and nvmem struct if the write-protect
GPIO lookup fails.
Fixes: 2a127da461 ("nvmem: add support for the write-protect pin")
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-7-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Bartosz Golaszewski
31c6ff51fd
nvmem: add a newline for readability
...
Visibly separate the GPIO request from the previous operation in the
code with a newline.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-6-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Bartosz Golaszewski
e280a8c64a
nvmem: remove a stray newline in nvmem_register()
...
Two newlines are unnecessary - remove one.
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-5-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Yangtao Li
8b977c5498
nvmem: core: add nvmem_cell_read_u64
...
Add nvmem_cell_read_u64() helper to ease read of an u64 value on consumer
side. This helper is useful on some sunxi platform that has 64 bits data
cells stored in no volatile memory.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Yangtao Li
6bb317ce75
nvmem: core: add nvmem_cell_read_common
...
Now there are nvmem_cell_read_u16 and nvmem_cell_read_u32.
They are very similar, let's strip out a common part.
And use nvmem_cell_read_common to simplify their implementation.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-3-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Peng Fan
c3f4af8b31
nvmem: imx: ocotp: add i.MX8MP support
...
i.MX8MP has 96 banks with each bank 4 words. And it has different
ctrl register layout, so add new macros for that.
Signed-off-by: Peng Fan <peng.fan@nxp.com >
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org >
Link: https://lore.kernel.org/r/20200310132257.23358-2-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Arnd Bergmann
f52ef24be2
rtc/alpha: remove legacy rtc driver
...
The old drivers/char/rtc.c driver was originally the implementation
for x86 PCs but got subsequently replaced by the rtc class driver
on all architectures except alpha.
Move alpha over to the portable driver and remove the old one
for good.
The CONFIG_JS_RTC option was only ever used on SPARC32 but
has not been available for many years, this was used to build
the same rtc driver with a different module name.
Cc: Richard Henderson <rth@twiddle.net >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: linux-alpha@vger.kernel.org
Cc: Paul Gortmaker <paul.gortmaker@windriver.com >
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com >
Link: https://lore.kernel.org/r/20200226224322.187960-2-alexandre.belloni@bootlin.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Arnd Bergmann
8067c0b0c6
rtc/ia64: remove legacy efirtc driver
...
There are two EFI RTC drivers, the original drivers/char/efirtc.c
driver and the more modern drivers/rtc/rtc-efi.c.
Both implement the same interface, but the new one does so
in a more portable way.
Move everything over to that one and remove the old one.
Cc: linux-ia64@vger.kernel.org
Cc: Fenghua Yu <fenghua.yu@intel.com >
Cc: Tony Luck <tony.luck@intel.com >
Cc: Stephane Eranian <eranian@google.com >
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com >
Link: https://lore.kernel.org/r/20200226224322.187960-1-alexandre.belloni@bootlin.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Christian Brauner
e48d117436
binderfs: add stress test for binderfs binder devices
...
This adds a stress test that should hopefully help us catch regressions
for [1], [2], and [3].
[1]: 2669b8b0c7 ("binder: prevent UAF for binderfs devices")
[2]: f0fe2c0f05 ("binder: prevent UAF for binderfs devices II")
[3]: 211b64e4b5 ("binderfs: use refcount for binder control devices too")
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20200313152420.138777-3-christian.brauner@ubuntu.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:02 +01:00
Christian Brauner
ad29ace2e2
binderfs_test: switch from /dev to a unique per-test mountpoint
...
Unprivileged users will be able to create directories in there. The
unprivileged test for /dev wouldn't have worked on most systems.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20200313152420.138777-2-christian.brauner@ubuntu.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:01 +01:00
Christian Brauner
6e29225af9
binderfs: port tests to test harness infrastructure
...
Makes for nicer output and prepares for additional tests.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20200313152420.138777-1-christian.brauner@ubuntu.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:01 +01:00
Christian Brauner
095cf502b3
binderfs: port to new mount api
...
When I first wrote binderfs the new mount api had not yet landed. Now
that it has been around for a little while and a bunch of filesystems
have already been ported we should do so too. When Al sent his
mount-api-conversion pr he requested that binderfs (and a few others) be
ported separately. It's time we port binderfs. We can make use of the
new option parser, get nicer infrastructure and it will be easier if we
ever add any new mount options.
This survives testing with the binderfs selftests:
for i in `seq 1 1000`; do ./binderfs_test; done
including the new stress tests I sent out for review today:
TAP version 13
1..1
# selftests: filesystems/binderfs: binderfs_test
# [==========] Running 3 tests from 1 test cases.
# [ RUN ] global.binderfs_stress
# [ XFAIL! ] Tests are not run as root. Skipping privileged tests
# [==========] Running 3 tests from 1 test cases.
# [ RUN ] global.binderfs_stress
# [ OK ] global.binderfs_stress
# [ RUN ] global.binderfs_test_privileged
# [ OK ] global.binderfs_test_privileged
# [ RUN ] global.binderfs_test_unprivileged
# # Allocated new binder device with major 243, minor 4, and name my-binder
# # Detected binder version: 8
# [==========] Running 3 tests from 1 test cases.
# [ RUN ] global.binderfs_stress
# [ OK ] global.binderfs_stress
# [ RUN ] global.binderfs_test_privileged
# [ OK ] global.binderfs_test_privileged
# [ RUN ] global.binderfs_test_unprivileged
# [ OK ] global.binderfs_test_unprivileged
# [==========] 3 / 3 tests passed.
# [ PASSED ]
ok 1 selftests: filesystems/binderfs: binderfs_test
Cc: Todd Kjos <tkjos@google.com >
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Link: https://lore.kernel.org/r/20200313153427.141789-1-christian.brauner@ubuntu.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:01 +01:00
Chanwoo Choi
b52cc1bb95
extcon: Remove unneeded extern keyword from extcon-provider.h
...
The commit tb7365587f513 ("extcon: Remove unneeded extern keyword
from extcon.h") removes the unneeded extern keyword from extcon header
file. But, The commit tb7365587f513 has missed that deletes 'extern'
keyword from extcon-provider.h. So that it deletes extern keyword
from extcon-provider.h.
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com >
Link: https://lore.kernel.org/r/20200217104728.29330-1-cw00.choi@samsung.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-19 07:41:01 +01:00
Alexandru Ardelean
eff1dd87fa
uio: uio_pdrv_genirq: use new devm_uio_register_device() function
...
This change makes use of the new devm_uio_register_device() initializer.
This cleans up the exit path quite nicely, and removes the remove function
of the driver.
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com >
Link: https://lore.kernel.org/r/20200306161853.25368-2-alexandru.ardelean@analog.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:34:10 +01:00
Alexandru Ardelean
86a78b1cfc
uio: add resource managed devm_uio_register_device() function
...
This change adds a resource managed equivalent of uio_register_device().
Not adding devm_uio_unregister_device(), since the intent is to discourage
it's usage. Having such a function may allow some bad driver designs. Most
users of devm_*register*() functions rarely use the unregister equivalents.
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com >
Link: https://lore.kernel.org/r/20200306161853.25368-1-alexandru.ardelean@analog.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:34:10 +01:00
Qiang Su
05d67ec3ca
UIO: fix up inapposite whiteplace in uio head file
...
Whitespace is used in the inapposite place,
which makes checkpatch complain.
Signed-off-by: Qiang Su <suqiang4@huawei.com >
Link: https://lore.kernel.org/r/20200306070359.71398-1-suqiang4@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:34:10 +01:00
Anson Huang
a9f85f93ed
firmware: imx: add COMPILE_TEST support
...
Add COMPILE_TEST support to i.MX SCU drivers for better compile
testing coverage.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com >
Link: https://lore.kernel.org/r/1583509356-8265-1-git-send-email-Anson.Huang@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:34:09 +01:00
Zhenzhong Duan
2668dba6df
misc: move FLASH_MINOR into miscdevice.h and fix conflicts
...
FLASH_MINOR is used in both drivers/char/nwflash.c and
drivers/sbus/char/flash.c with conflict minor numbers.
Move all the definitions of FLASH_MINOR into miscdevice.h.
Rename FLASH_MINOR for drivers/char/nwflash.c to NWFLASH_MINOR
and FLASH_MINOR for drivers/sbus/char/flash.c to SBUS_FLASH_MINOR.
Link: https://lore.kernel.org/lkml/20200120221323.GJ15860@mit.edu/t/
Suggested-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Russell King <linux@armlinux.org.uk >
Cc: "David S. Miller" <davem@davemloft.net >
Link: https://lore.kernel.org/r/20200311071654.335-3-zhenzhong.duan@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:27:04 +01:00
Zhenzhong Duan
6ce6ae7c17
misc: cleanup minor number definitions in c file into miscdevice.h
...
HWRNG_MINOR and RNG_MISCDEV_MINOR are duplicate definitions, use
unified HWRNG_MINOR instead and moved into miscdevice.h
ANSLCD_MINOR and LCD_MINOR are duplicate definitions, use unified
LCD_MINOR instead and moved into miscdevice.h
MISCDEV_MINOR is renamed to PXA3XX_GCU_MINOR and moved into
miscdevice.h
Other definitions are just moved without any change.
Link: https://lore.kernel.org/lkml/20200120221323.GJ15860@mit.edu/t/
Suggested-by: Arnd Bergmann <arnd@arndb.de >
Build-tested-by: Willy TARREAU <wtarreau@haproxy.com >
Build-tested-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com >
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com >
Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Acked-by: Herbert Xu <herbert@gondor.apana.org.au >
Link: https://lore.kernel.org/r/20200311071654.335-2-zhenzhong.duan@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:27:03 +01:00
Alexander Usyskin
c23df7de08
mei: fix CNL itouch device number to match the spec.
...
The Cannon Lake device for itouch in HW spec is numbered 3, not 4.
Fix the internal numbering to match the HW spec.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com >
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com >
Link: https://lore.kernel.org/r/20200227112737.8383-1-tomas.winkler@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:24:19 +01:00
Gustavo A. R. Silva
f490e8aea3
misc: Replace zero-length array with flexible-array member
...
The current codebase makes use of the zero-length array language
extension to the C90 standard, but the preferred mechanism to declare
variable-length types such as these ones is a flexible array member[1][2],
introduced in C99:
struct foo {
int stuff;
struct boo array[];
};
By making use of the mechanism above, we will get a compiler warning
in case the flexible array does not occur last in the structure, which
will help us prevent some kind of undefined behavior bugs from being
inadvertently introduced[3] to the codebase from now on.
Also, notice that, dynamic memory allocations won't be affected by
this change:
"Flexible array members have incomplete type, and so the sizeof operator
may not be applied. As a quirk of the original implementation of
zero-length arrays, sizeof evaluates to zero."[1]
This issue was found with the help of Coccinelle.
[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://github.com/KSPP/linux/issues/21
[3] commit 7649773293 ("cxgb3/l2t: Fix undefined behaviour")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com >
Acked-by: Dimitri Sivanich <sivanich@hpe.com >
Link: https://lore.kernel.org/r/20200226222240.GA14474@embeddedor
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:24:19 +01:00
Takashi Iwai
d108b132ea
misc: mic: Use scnprintf() for avoiding potential buffer overflow
...
Since snprintf() returns the would-be-output size instead of the
actual output size, the succeeding calls may go beyond the given
buffer limit. Fix it by replacing with scnprintf().
Signed-off-by: Takashi Iwai <tiwai@suse.de >
Link: https://lore.kernel.org/r/20200311074916.8783-1-tiwai@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:24:19 +01:00
Richard Gong
f276d3ea88
firmware: stratix10-svc: add the compatible value for intel agilex
...
Add the compatible property value so we can reuse Intel Stratix10
Service Layer driver on Intel Agilex SoC platform.
Signed-off-by: Richard Gong <richard.gong@intel.com >
Acked-by: Moritz Fischer <mdf@kernel.org >
Link: https://lore.kernel.org/r/1583428346-13307-2-git-send-email-richard.gong@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:24:18 +01:00
Richard Gong
231d901d1e
firmware: intel_stratix10_service: add depend on agilex
...
Add depend on Agilex for Intel Agilex SoC platform.
Signed-off-by: Richard Gong <richard.gong@intel.com >
Acked-by: Moritz Fischer <mdf@kernel.org >
Link: https://lore.kernel.org/r/1583428346-13307-3-git-send-email-richard.gong@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 12:24:18 +01:00
Alexander Shishkin
397c772966
intel_th: Disallow multi mode on devices where it's broken
...
Some versions of Intel TH have an issue that prevents the multi mode of
MSU from working correctly, resulting in no trace data and potentially
stuck MSU pipeline.
Disable multi mode on such devices.
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com >
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Link: https://lore.kernel.org/r/20200317062215.15598-2-alexander.shishkin@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-18 11:28:22 +01:00
Randy Dunlap
2cca608ad9
tty: reorganize tty & serial menus
...
Move LDISC_AUTOLOAD ahead of the Serial drivers menu.
Move the Serial drivers menu ahead of the Non-standard serial port
support menu.
Move NOZOMI out of the SERIAL_NONSTANDARD area since it does not
depend on SERIAL_NONSTANDARD and it breaks the SERIAL_NONSTANDARD
menu list.
Alphabetize the remaining drivers (in tty/Kconfig) by their prompt strings.
[The drivers in tty/hvc/Kconfig and tty/serial/Kconfig have not
been alphabetized.]
Cc: Jiri Slaby <jslaby@suse.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Randy Dunlap <rdunlap@infradead.org >
Link: https://lore.kernel.org/r/20200311225736.32147-4-rdunlap@infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-12 17:17:30 +01:00
Randy Dunlap
00e3754397
tty: source all tty Kconfig files in one place
...
'source' (include) all of the tty/*/Kconfig files from
drivers/tty/Kconfig instead of from drivers/char/Kconfig.
This consolidates them both in source code and in menu
presentation to the user.
Move hvc/Kconfig and serial/Kconfig 'source' lines into the
if TTY/endif block and remove the if TTY/endif blocks from
those 2 files.
Cc: linux-serial@vger.kernel.org
Cc: Jiri Slaby <jslaby@suse.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Suggested-by: Jiri Slaby <jslaby@suse.com >
Suggested-by: Arnd Bergmann <arnd@arndb.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Randy Dunlap <rdunlap@infradead.org >
Link: https://lore.kernel.org/r/20200311225736.32147-3-rdunlap@infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-12 17:17:30 +01:00
Randy Dunlap
8d7dc56ee9
char: group dev configs togther
...
Group /dev/{mem,kmem,nvram,raw,port} driver configs together.
This also means that tty configs are now grouped together instead
of being split up.
This just moves Kconfig lines around. There are no other changes.
Cc: linux-serial@vger.kernel.org
Cc: Jiri Slaby <jslaby@suse.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Randy Dunlap <rdunlap@infradead.org >
Link: https://lore.kernel.org/r/20200311225736.32147-2-rdunlap@infradead.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-12 17:17:29 +01:00
Greg Kroah-Hartman
bb3a151dd4
Merge 5.6-rc5 into char-misc-next
...
We need the binder and other fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-03-09 08:38:58 +01:00
Linus Torvalds
2c523b344d
Linux 5.6-rc5
2020-03-08 17:44:44 -07:00
Linus Torvalds
62790268e4
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
...
Pull ARM SoC fixes from Olof Johansson:
"We've been accruing these for a couple of weeks, so the batch is a bit
bigger than usual.
Largest delta is due to a led-bl driver that is added -- there was a
miscommunication before the merge window and the driver didn't make it
in. Due to this, the platforms needing it regressed. At this point, it
seemed easier to add the new driver than unwind the changes.
Besides that, there are a handful of various fixes:
- AMD tee memory leak fix
- A handful of fixlets for i.MX SCU communication
- A few maintainers woke up and realized DEBUG_FS had been missing
for a while, so a few updates of that.
... and the usual collection of smaller fixes to various platforms"
* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (37 commits)
ARM: socfpga_defconfig: Add back DEBUG_FS
arm64: dts: socfpga: agilex: Fix gmac compatible
ARM: bcm2835_defconfig: Explicitly restore CONFIG_DEBUG_FS
arm64: dts: meson: fix gxm-khadas-vim2 wifi
arm64: dts: meson-sm1-sei610: add missing interrupt-names
ARM: meson: Drop unneeded select of COMMON_CLK
ARM: dts: bcm2711: Add pcie0 alias
ARM: dts: bcm283x: Add missing properties to the PWR LED
tee: amdtee: fix memory leak in amdtee_open_session()
ARM: OMAP2+: Fix compile if CONFIG_HAVE_ARM_SMCCC is not set
arm: dts: dra76x: Fix mmc3 max-frequency
ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes
bus: ti-sysc: Fix 1-wire reset quirk
ARM: dts: r8a7779: Remove deprecated "renesas, rcar-sata" compatible value
soc: imx-scu: Align imx sc msg structs to 4
firmware: imx: Align imx_sc_msg_req_cpu_start to 4
firmware: imx: scu-pd: Align imx sc msg structs to 4
firmware: imx: misc: Align imx sc msg structs to 4
firmware: imx: scu: Ensure sequential TX
ARM: dts: imx7-colibri: Fix frequency for sd/mmc
...
2020-03-08 17:36:22 -07:00
Linus Torvalds
efe582a137
Merge tag 'edac_urgent-2020-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras
...
Pull EDAC fix from Borislav Petkov:
"Error reporting fix for synopsys_edac: do not overwrite partial
decoded error message (Sherry Sun)"
* tag 'edac_urgent-2020-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
EDAC/synopsys: Do not print an error with back-to-back snprintf() calls
2020-03-08 17:33:52 -07:00