Re: [PATCH 18/21] ARM: drop SMP support for ARM11MPCore

2023-03-30 Thread Neil Armstrong

Le 30/03/2023 à 12:03, Arnd Bergmann a écrit :

On Thu, Mar 30, 2023, at 09:48, Neil Armstrong wrote:

On 27/03/2023 14:13, Arnd Bergmann wrote:

From: Arnd Bergmann 

The cache management operations for noncoherent DMA on ARMv6 work
in two different ways:

   * When CONFIG_DMA_CACHE_RWFO is set, speculative prefetches on in-flight
 DMA buffers lead to data corruption when the prefetched data is written
 back on top of data from the device.

   * When CONFIG_DMA_CACHE_RWFO is disabled, a cache flush on one CPU
 is not seen by the other core(s), leading to inconsistent contents
 accross the system.

As a consequence, neither configuration is actually safe to use in a
general-purpose kernel that is used on both MPCore systems and ARM1176
with prefetching enabled.

We could add further workarounds to make the behavior more dynamic based
on the system, but realistically, there are close to zero remaining
users on any ARM11MPCore anyway, and nobody seems too interested in it,
compared to the more popular ARM1176 used in BMC2835 and AST2500.

The Oxnas platform has some minimal support in OpenWRT, but most of the
drivers and dts files never made it into the mainline kernel, while the
Arm Versatile/Realview platform mainly serves as a reference system but
is not necessary to be kept working once all other ARM11MPCore are gone.


Acked-by: Neil Armstrong 

It's sad but it's the reality, there's no chance full OXNAS support will
ever come upstream and no real work has been done for years.

I think OXNAS support can be programmed for removal for next release,
it would need significant work to rework current support to make it acceptable
before trying to upstream missing bits anyway.


Ok, thanks for your reply!

To clarify, do you think we should plan for removal after the next
stable release (6.3, removed in 6.4), or after the next LTS
release (probably 6.6, removed in 6.7)? As far as I understand,
the next OpenWRT release (23.x) will be based on linux-5.15,
and the one after that (24.x) would likely still use 6.1, unless
they skip an LTS kernel.


I think it's ok to remove it ASAP, or at least before the next LTS,
not having SMP makes the platform barely usable so the earliest is the best.

Neil



  Arnd




Re: [PATCH 18/21] ARM: drop SMP support for ARM11MPCore

2023-03-30 Thread Neil Armstrong

On 27/03/2023 14:13, Arnd Bergmann wrote:

From: Arnd Bergmann 

The cache management operations for noncoherent DMA on ARMv6 work
in two different ways:

  * When CONFIG_DMA_CACHE_RWFO is set, speculative prefetches on in-flight
DMA buffers lead to data corruption when the prefetched data is written
back on top of data from the device.

  * When CONFIG_DMA_CACHE_RWFO is disabled, a cache flush on one CPU
is not seen by the other core(s), leading to inconsistent contents
accross the system.

As a consequence, neither configuration is actually safe to use in a
general-purpose kernel that is used on both MPCore systems and ARM1176
with prefetching enabled.

We could add further workarounds to make the behavior more dynamic based
on the system, but realistically, there are close to zero remaining
users on any ARM11MPCore anyway, and nobody seems too interested in it,
compared to the more popular ARM1176 used in BMC2835 and AST2500.

The Oxnas platform has some minimal support in OpenWRT, but most of the
drivers and dts files never made it into the mainline kernel, while the
Arm Versatile/Realview platform mainly serves as a reference system but
is not necessary to be kept working once all other ARM11MPCore are gone.


Acked-by: Neil Armstrong 

It's sad but it's the reality, there's no chance full OXNAS support will
ever come upstream and no real work has been done for years.

I think OXNAS support can be programmed for removal for next release,
it would need significant work to rework current support to make it acceptable
before trying to upstream missing bits anyway.

Thanks,
Neil




Take the easy way out here and drop support for multiprocessing on
ARMv6, along with the CONFIG_DMA_CACHE_RWFO option and the cache
management implementation for it. This also helps with other ARMv6
issues, but for the moment leaves the ability to build a kernel that
can run on both ARMv7 SMP and single-processor ARMv6, which we probably
want to stop supporting as well, but not as part of this series.

Cc: Neil Armstrong 
Cc: Daniel Golle 
Cc: Linus Walleij 
Cc: linux-ox...@groups.io
Signed-off-by: Arnd Bergmann 
---
I could use some help clarifying the above changelog text to describe
the exact problem, and how the CONFIG_DMA_CACHE_RWFO actually works on
MPCore. The TRMs for both 1176 and 11MPCore only describe prefetching
into the instruction cache, not the data cache, but this can end up in
the outercache as a result. The 1176 has some extra control bits to
control prefetching, but I found no reference that explains why an
MPCore does not run into the problem.
---
  arch/arm/mach-oxnas/Kconfig|  4 -
  arch/arm/mach-oxnas/Makefile   |  1 -
  arch/arm/mach-oxnas/headsmp.S  | 23 --
  arch/arm/mach-oxnas/platsmp.c  | 96 --
  arch/arm/mach-versatile/platsmp-realview.c |  4 -
  arch/arm/mm/Kconfig| 19 -
  arch/arm/mm/cache-v6.S | 31 ---
  7 files changed, 178 deletions(-)
  delete mode 100644 arch/arm/mach-oxnas/headsmp.S
  delete mode 100644 arch/arm/mach-oxnas/platsmp.c

diff --git a/arch/arm/mach-oxnas/Kconfig b/arch/arm/mach-oxnas/Kconfig
index a9ded7079268..a054235c3d6c 100644
--- a/arch/arm/mach-oxnas/Kconfig
+++ b/arch/arm/mach-oxnas/Kconfig
@@ -28,10 +28,6 @@ config MACH_OX820
bool "Support OX820 Based Products"
depends on ARCH_MULTI_V6
select ARM_GIC
-   select DMA_CACHE_RWFO if SMP
-   select HAVE_SMP
-   select HAVE_ARM_SCU if SMP
-   select HAVE_ARM_TWD if SMP
help
  Include Support for the Oxford Semiconductor OX820 SoC Based Products.
  
diff --git a/arch/arm/mach-oxnas/Makefile b/arch/arm/mach-oxnas/Makefile

index 0e78ecfe6c49..a4e40e534e6a 100644
--- a/arch/arm/mach-oxnas/Makefile
+++ b/arch/arm/mach-oxnas/Makefile
@@ -1,2 +1 @@
  # SPDX-License-Identifier: GPL-2.0-only
-obj-$(CONFIG_SMP)  += platsmp.o headsmp.o
diff --git a/arch/arm/mach-oxnas/headsmp.S b/arch/arm/mach-oxnas/headsmp.S
deleted file mode 100644
index 9c0f1479f33a..
--- a/arch/arm/mach-oxnas/headsmp.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright (C) 2013 Ma Haijun 
- * Copyright (c) 2003 ARM Limited
- * All Rights Reserved
- */
-#include 
-#include 
-
-   __INIT
-
-/*
- * OX820 specific entry point for secondary CPUs.
- */
-ENTRY(ox820_secondary_startup)
-   mov r4, #0
-   /* invalidate both caches and branch target cache */
-   mcr p15, 0, r4, c7, c7, 0
-   /*
-* we've been released from the holding pen: secondary_stack
-* should now contain the SVC stack for this core
-*/
-   b   secondary_startup
diff --git a/arch/arm/mach-oxnas/platsmp.c b/arch/arm/mach-oxnas/platsmp.c
deleted file mode 100644
index f0a50b9e61df..
--- a/arch/arm/mach-oxnas/platsmp.c
+++ /dev/null
@@ -1,96 +0,0 @@
-// SPDX-License-Ident

Re: [PATCH RESEND v5 15/18] PCI: dwc: Add dw_ prefix to the pcie_port structure name

2022-06-27 Thread Neil Armstrong
+258,7 @@ static void uniphier_pcie_irq_handler(struct irq_desc *desc)
chained_irq_exit(chip, desc);
  }
  
-static int uniphier_pcie_config_legacy_irq(struct pcie_port *pp)

+static int uniphier_pcie_config_legacy_irq(struct dw_pcie_rp *pp)
  {
struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
struct uniphier_pcie *pcie = to_uniphier_pcie(pci);
@@ -295,7 +295,7 @@ static int uniphier_pcie_config_legacy_irq(struct pcie_port 
*pp)
return ret;
  }
  
-static int uniphier_pcie_host_init(struct pcie_port *pp)

+static int uniphier_pcie_host_init(struct dw_pcie_rp *pp)
  {
struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
struct uniphier_pcie *pcie = to_uniphier_pcie(pci);
diff --git a/drivers/pci/controller/dwc/pcie-visconti.c 
b/drivers/pci/controller/dwc/pcie-visconti.c
index 50f80f07e4db..71026fefa366 100644
--- a/drivers/pci/controller/dwc/pcie-visconti.c
+++ b/drivers/pci/controller/dwc/pcie-visconti.c
@@ -178,7 +178,7 @@ static void visconti_pcie_stop_link(struct dw_pcie *pci)
   */
  static u64 visconti_pcie_cpu_addr_fixup(struct dw_pcie *pci, u64 cpu_addr)
  {
-   struct pcie_port *pp = >pp;
+   struct dw_pcie_rp *pp = >pp;
  
  	return cpu_addr & ~pp->io_base;

  }
@@ -190,7 +190,7 @@ static const struct dw_pcie_ops dw_pcie_ops = {
.stop_link = visconti_pcie_stop_link,
  };
  
-static int visconti_pcie_host_init(struct pcie_port *pp)

+static int visconti_pcie_host_init(struct dw_pcie_rp *pp)
  {
struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
struct visconti_pcie *pcie = dev_get_drvdata(pci->dev);
@@ -278,7 +278,7 @@ static int visconti_add_pcie_port(struct visconti_pcie 
*pcie,
  struct platform_device *pdev)
  {
struct dw_pcie *pci = >pci;
-   struct pcie_port *pp = >pp;
+   struct dw_pcie_rp *pp = >pp;
  
  	pp->irq = platform_get_irq_byname(pdev, "intr");

if (pp->irq < 0)



For pci-meson.c:
Reviewed-by: Neil Armstrong 


Re: [PATCH v2 21/34] dt-bindings: arm: Convert Oxford Semi board/soc bindings to json-schema

2018-12-04 Thread Neil Armstrong
On 03/12/2018 22:32, Rob Herring wrote:
> Convert Oxford Semi SoC bindings to DT schema format using json-schema.
> 
> Cc: Mark Rutland 
> Cc: Neil Armstrong 
> Cc: devicet...@vger.kernel.org
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-ox...@groups.io
> Signed-off-by: Rob Herring 
> ---
>  .../devicetree/bindings/arm/oxnas.txt | 14 ---
>  .../devicetree/bindings/arm/oxnas.yaml| 25 +++
>  2 files changed, 25 insertions(+), 14 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/arm/oxnas.txt
>  create mode 100644 Documentation/devicetree/bindings/arm/oxnas.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/oxnas.txt 
> b/Documentation/devicetree/bindings/arm/oxnas.txt
> deleted file mode 100644
> index ac64e60f99f1..
> --- a/Documentation/devicetree/bindings/arm/oxnas.txt
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -Oxford Semiconductor OXNAS SoCs Family device tree bindings
> 
> -
> -Boards with the OX810SE SoC shall have the following properties:
> -  Required root node property:
> -compatible: "oxsemi,ox810se"
> -
> -Boards with the OX820 SoC shall have the following properties:
> -  Required root node property:
> -compatible: "oxsemi,ox820"
> -
> -Board compatible values:
> -  - "wd,mbwe" (OX810SE)
> -  - "cloudengines,pogoplugv3" (OX820)
> diff --git a/Documentation/devicetree/bindings/arm/oxnas.yaml 
> b/Documentation/devicetree/bindings/arm/oxnas.yaml
> new file mode 100644
> index ..6ae51ef513be
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/oxnas.yaml
> @@ -0,0 +1,25 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/oxnas.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Oxford Semiconductor OXNAS SoCs Family device tree bindings
> +
> +maintainers:
> +  - Neil Armstrong 
> +
> +properties:
> +  $nodename:
> +const: '/'
> +  compatible:
> +oneOf:
> +  - items:
> +- enum:
> +- wd,mbwe
> +- const: oxsemi,ox810se
> +
> +  - items:
> +- enum:
> +- cloudengines,pogoplugv3
> +- const: oxsemi,ox820
> 

We also loose all the "human friendly" description of board/SoC relationship 
here,
and I think it's a shame.

Neil


Re: [PATCH v2 14/34] dt-bindings: arm: Convert Amlogic board/soc bindings to json-schema

2018-12-04 Thread Neil Armstrong
> -  - "amlogic,p212" (Meson gxl s905x)
> -  - "hwacom,amazetv" (Meson gxl s905x)
> -  - "khadas,vim" (Meson gxl s905x)
> -  - "libretech,cc" (Meson gxl s905x)
> -
> -  - "amlogic,p230" (Meson gxl s905d)
> -  - "amlogic,p231" (Meson gxl s905d)
> -
> -  - "amlogic,p241" (Meson gxl s805x)
> -
> -  - "amlogic,p281" (Meson gxl s905w)
> -  - "oranth,tx3-mini" (Meson gxl s905w)
> -
> -  - "amlogic,q200" (Meson gxm s912)
> -  - "amlogic,q201" (Meson gxm s912)
> -  - "khadas,vim2" (Meson gxm s912)
> -  - "kingnovel,r-box-pro" (Meson gxm S912)
> -  - "nexbox,a1" (Meson gxm s912)
> -  - "tronsmart,vega-s96" (Meson gxm s912)
> -
> -  - "amlogic,s400" (Meson axg a113d)
> -
> -  - "amlogic,u200" (Meson g12a s905d2)
> diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml 
> b/Documentation/devicetree/bindings/arm/amlogic.yaml
> new file mode 100644
> index ..8b4b11194658
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
> @@ -0,0 +1,109 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/amlogic.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Amlogic MesonX device tree bindings
> +
> +maintainers:
> +  - Neil Armstrong 

The maintainer is Kevin Hilman.

> +  - Carlo Caione 
> +description: |+
> +  Work in progress statement:
> +
> +  Device tree files and bindings applying to Amlogic SoCs and boards are
> +  considered "unstable". Any Amlogic device tree binding may change at
> +  any time. Be sure to use a device tree binary and a kernel image
> +  generated from the same source tree.
> +
> +  Please refer to Documentation/devicetree/bindings/ABI.txt for a definition 
> of a
> +  stable binding/ABI.
> +
> +properties:
> +  $nodename:
> +const: '/'
> +  compatible:
> +oneOf:
> +  - items:
> +  - enum:
> +  - geniatech,atv1200
> +  - const: amlogic,meson6
> +  - items:
> +  - enum:
> +  - minix,neo-x8
> +  - const: amlogic,meson8
> +  - items:
> +  - enum:
> +  - tronsmart,mxiii-plus
> +  - const: amlogic,meson8m2
> +  - items:
> +  - enum:
> +  - endless,ec100
> +  - hardkernel,odroid-c1
> +  - tronfy,mxq
> +  - const: amlogic,meson8b
> +  - items:
> +  - enum:
> +  - amlogic,p200
> +  - amlogic,p201
> +  - friendlyarm,nanopi-k2
> +  - hardkernel,odroid-c2
> +  - nexbox,a95x
> +  - wetek,hub
> +  - wetek,play2
> +  - const: amlogic,meson-gxbb
> +  - items:
> +  - enum:
> +  - tronsmart,vega-s95-pro
> +  - tronsmart,vega-s95-meta
> +  - tronsmart,vega-s95-telos
> +  - const: tronsmart,vega-s95
> +  - const: amlogic,meson-gxbb
> +  - items:
> +  - enum:
> +  - amlogic,p241
> +  - const: amlogic,s805x
> +  - const: amlogic,meson-gxl
> +  - items:
> +  - enum:
> +  - amlogic,p281
> +  - oranth,tx3-mini
> +  - const: amlogic,s905w
> +  - const: amlogic,meson-gxl
> +  - items:
> +  - enum:
> +  - amlogic,p212
> +  - hwacom,amazetv
> +  - khadas,vim
> +  - libretech,cc
> +  - nexbox,a95x
> +  - const: amlogic,s905x
> +  - const: amlogic,meson-gxl
> +  - items:
> +  - enum:
> +  - amlogic,p230
> +  - amlogic,p231
> +  - const: amlogic,s905d
> +  - const: amlogic,meson-gxl
> +  - items:
> +  - enum:
> +  - amlogic,q200
> +  - amlogic,q201
> +  - khadas,vim2
> +  - kingnovel,r-box-pro
> +  - nexbox,a1
> +  - tronsmart,vega-s96
> +  - const: amlogic,s912
> +  - const: amlogic,meson-gxm
> +  - items:
> +  - enum:
> +  - amlogic,s400
> +  - const: amlogic,a113d
> +  - const: amlogic,meson-axg
> +  - items:
> +  - enum:
> +  - amlogic,u200
> +  - const: amlogic,g12a

but all this feels wrong for me.

First of all, this yaml description is not human friendly and not intuitive at 
all,
and secondly with this conversion we loose all the comments about the SoC 
family relationship
with the compatible strings !

I really understand the point to have automated verification, but really it's a 
pain to read
(I can't imagine newcomers... the actual DT bindings are already hard to 
read...) and
I feel it will be a real pain to write !

Can't we mix an "humam text" with a "yaml" part on a same document ? we are in 
2018 (nearly 2019),
and it should be easy to extract a yaml description from a text document 
without pain and
keep all the human description, no ?

What will be the case for all the bindings with ASCII art to describe the 
architecture of the
HW ? will you simply drop it to replace it with cold yaml description ?

Neil

> +
> +...
> 



Re: [PATCH v2 13/34] dt-bindings: arm: amlogic: Move 'amlogic, meson-gx-ao-secure' binding to its own file

2018-12-04 Thread Neil Armstrong
On 03/12/2018 22:32, Rob Herring wrote:
> It is best practice to have 1 binding per file, so board level bindings
> should be separate for various misc SoC bindings.
> 
> Cc: Mark Rutland 
> Cc: Carlo Caione 
> Cc: Kevin Hilman 
> Cc: devicet...@vger.kernel.org
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-amlo...@lists.infradead.org
> Signed-off-by: Rob Herring 
> ---
>  .../devicetree/bindings/arm/amlogic.txt   | 29 ---
>  .../amlogic/amlogic,meson-gx-ao-secure.txt| 28 ++
>  2 files changed, 28 insertions(+), 29 deletions(-)
>  create mode 100644 
> Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.txt
> 
> diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt 
> b/Documentation/devicetree/bindings/arm/amlogic.txt
> index 4498292b833d..f5c8d50a3506 100644
> --- a/Documentation/devicetree/bindings/arm/amlogic.txt
> +++ b/Documentation/devicetree/bindings/arm/amlogic.txt
> @@ -107,32 +107,3 @@ Board compatible values (alphabetically, grouped by SoC):
>- "amlogic,s400" (Meson axg a113d)
>  
>- "amlogic,u200" (Meson g12a s905d2)
> -
> -Amlogic Meson Firmware registers Interface
> ---
> -
> -The Meson SoCs have a register bank with status and data shared with the
> -secure firmware.
> -
> -Required properties:
> - - compatible: For Meson GX SoCs, must be "amlogic,meson-gx-ao-secure", 
> "syscon"
> -
> -Properties should indentify components of this register interface :
> -
> -Meson GX SoC Information
> -
> -A firmware register encodes the SoC type, package and revision information on
> -the Meson GX SoCs.
> -If present, the following property should be added :
> -
> -Optional properties:
> -  - amlogic,has-chip-id: If present, the interface gives the current SoC 
> version.
> -
> -Example
> 
> -
> -ao-secure@140 {
> - compatible = "amlogic,meson-gx-ao-secure", "syscon";
> - reg = <0x0 0x140 0x0 0x140>;
> - amlogic,has-chip-id;
> -};
> diff --git 
> a/Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.txt
>  
> b/Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.txt
> new file mode 100644
> index ..c67d9f48fb91
> --- /dev/null
> +++ 
> b/Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.txt
> @@ -0,0 +1,28 @@
> +Amlogic Meson Firmware registers Interface
> +--
> +
> +The Meson SoCs have a register bank with status and data shared with the
> +secure firmware.
> +
> +Required properties:
> + - compatible: For Meson GX SoCs, must be "amlogic,meson-gx-ao-secure", 
> "syscon"
> +
> +Properties should indentify components of this register interface :
> +
> +Meson GX SoC Information
> +
> +A firmware register encodes the SoC type, package and revision information on
> +the Meson GX SoCs.
> +If present, the following property should be added :
> +
> +Optional properties:
> +  - amlogic,has-chip-id: If present, the interface gives the current SoC 
> version.
> +
> +Example
> +---
> +
> +ao-secure@140 {
> + compatible = "amlogic,meson-gx-ao-secure", "syscon";
> + reg = <0x0 0x140 0x0 0x140>;
> + amlogic,has-chip-id;
> +};
> 

Acked-by: Neil Armstrong 


Re: [PATCH v2 7/7] net: stmmac: dwmac-meson8b: use xxxsetbits32

2018-09-25 Thread Neil Armstrong
Hi Florian,

On 24/09/2018 21:17, Florian Fainelli wrote:
> On 09/24/2018 12:04 PM, Corentin Labbe wrote:
>> This patch convert meson stmmac glue driver to use all xxxsetbits32 
>> functions.
>>
>> Signed-off-by: Corentin Labbe 
>> ---
>>  .../net/ethernet/stmicro/stmmac/dwmac-meson8b.c| 56 
>> +-
>>  1 file changed, 22 insertions(+), 34 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c 
>> b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
>> index c5979569fd60..abcf65588576 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
>> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
>> @@ -23,6 +23,7 @@
>>  #include 
>>  #include 
>>  #include 
>> +#include 
>>  
>>  #include "stmmac_platform.h"
>>  
>> @@ -75,18 +76,6 @@ struct meson8b_dwmac_clk_configs {
>>  struct clk_gate rgmii_tx_en;
>>  };
>>  
>> -static void meson8b_dwmac_mask_bits(struct meson8b_dwmac *dwmac, u32 reg,
>> -u32 mask, u32 value)
>> -{
>> -u32 data;
>> -
>> -data = readl(dwmac->regs + reg);
>> -data &= ~mask;
>> -data |= (value & mask);
>> -
>> -writel(data, dwmac->regs + reg);
>> -}
> 
> Why not make mseon8b_dwmac_mask_bits() a wrapper around
> clrsetbits_le32() whose purpose is only to dereference dwmac->regs and
> pass it to clrsetbits_le32()? That would be far less changes to review
> and audit for correctness, same goes with every other patch in this
> series touching the meson drivers.
> 

Personally, I'll prefer dropping my custom writel_bits_relaxed() with something
more future proof (I also use it in spi-meson-spicc and ao-cec),
and I think the same for dwmac-meson8b.c

Neil


Re: [PATCH v2 7/7] net: stmmac: dwmac-meson8b: use xxxsetbits32

2018-09-24 Thread Neil Armstrong
On 24/09/2018 21:04, Corentin Labbe wrote:
> This patch convert meson stmmac glue driver to use all xxxsetbits32 functions.
> 
> Signed-off-by: Corentin Labbe 
> ---
>  .../net/ethernet/stmicro/stmmac/dwmac-meson8b.c| 56 
> +-
>  1 file changed, 22 insertions(+), 34 deletions(-)
> 
[...]

Reviewed-by: Neil Armstrong 


Re: [PATCH v2 6/7] drm: meson: use xxxsetbits32

2018-09-24 Thread Neil Armstrong
Hi Corentin,

On 24/09/2018 21:04, Corentin Labbe wrote:
> This patch convert meson DRM driver to use all xxxsetbits32 functions.
> 
> Signed-off-by: Corentin Labbe 
> ---
>  drivers/gpu/drm/meson/meson_crtc.c  | 14 ---
>  drivers/gpu/drm/meson/meson_dw_hdmi.c   | 33 +
>  drivers/gpu/drm/meson/meson_plane.c | 13 ---
>  drivers/gpu/drm/meson/meson_registers.h |  3 --
>  drivers/gpu/drm/meson/meson_venc.c  | 13 ---
>  drivers/gpu/drm/meson/meson_venc_cvbs.c |  4 +-
>  drivers/gpu/drm/meson/meson_viu.c   | 65 
> +
>  drivers/gpu/drm/meson/meson_vpp.c   | 22 +--
>  8 files changed, 86 insertions(+), 81 deletions(-)
> 
[...]

Reviewed-by: Neil Armstrong 
Tested-by: Neil Armstrong 


Re: [PATCH v2] watchdog: add SPDX identifiers for watchdog subsystem

2018-02-20 Thread Neil Armstrong
vers/watchdog/mt7621_wdt.c  |  5 +---
>  drivers/watchdog/mtk_wdt.c | 11 +---
>  drivers/watchdog/mtx-1_wdt.c   | 11 +---
>  drivers/watchdog/mv64x60_wdt.c |  6 ++--
>  drivers/watchdog/ni903x_wdt.c  | 11 +---
>  drivers/watchdog/nic7018_wdt.c | 11 +---
>  drivers/watchdog/nuc900_wdt.c  |  7 ++---
>  drivers/watchdog/nv_tco.c  |  6 +---
>  drivers/watchdog/nv_tco.h  | 10 +--
>  drivers/watchdog/octeon-wdt-main.c | 11 +---
>  drivers/watchdog/octeon-wdt-nmi.S  |  5 +---
>  drivers/watchdog/of_xilinx_wdt.c   |  8 ++
>  drivers/watchdog/omap_wdt.c|  1 +
>  drivers/watchdog/omap_wdt.h| 21 +-
>  drivers/watchdog/orion_wdt.c   |  5 +---
>  drivers/watchdog/pc87413_wdt.c | 10 +--
>  drivers/watchdog/pcwd.c|  1 +
>  drivers/watchdog/pcwd_pci.c| 10 +--
>  drivers/watchdog/pcwd_usb.c| 10 +--
>  drivers/watchdog/pic32-dmt.c   |  5 +---
>  drivers/watchdog/pic32-wdt.c   |  6 +---
>  drivers/watchdog/pika_wdt.c|  1 +
>  drivers/watchdog/pnx4008_wdt.c |  7 ++---
>  drivers/watchdog/pnx833x_wdt.c |  6 +---
>  drivers/watchdog/pretimeout_noop.c |  7 +
>  drivers/watchdog/pretimeout_panic.c|  7 +
>  drivers/watchdog/qcom-wdt.c| 14 ++
>  drivers/watchdog/renesas_wdt.c |  4 +--
>  drivers/watchdog/retu_wdt.c| 10 +--
>  drivers/watchdog/riowd.c   |  1 +
>  drivers/watchdog/rn5t618_wdt.c |  8 +-
>  drivers/watchdog/rt2880_wdt.c  |  5 +---
>  drivers/watchdog/rtd119x_wdt.c |  2 +-
>  drivers/watchdog/rza_wdt.c |  5 +---
>  drivers/watchdog/s3c2410_wdt.c | 11 +---
>  drivers/watchdog/sa1100_wdt.c  | 11 +---
>  drivers/watchdog/sama5d4_wdt.c |  3 +-
>  drivers/watchdog/sb_wdog.c |  5 +---
>  drivers/watchdog/sbc60xxwdt.c  | 10 +--
>  drivers/watchdog/sbc7240_wdt.c | 12 ++--
>  drivers/watchdog/sbc8360.c | 10 +--
>  drivers/watchdog/sbc_epx_c3.c  |  6 +---
>  drivers/watchdog/sbc_fitpc2_wdt.c  |  7 ++---
>  drivers/watchdog/sbsa_gwdt.c   | 10 +--
>  drivers/watchdog/sc1200wdt.c   | 10 +--
>  drivers/watchdog/sc520_wdt.c   | 10 +--
>  drivers/watchdog/sch311x_wdt.c | 10 +--
>  drivers/watchdog/scx200_wdt.c  | 10 ++-
>  drivers/watchdog/shwdt.c   |  6 +---
>  drivers/watchdog/sirfsoc_wdt.c |  5 ++--
>  drivers/watchdog/smsc37b787_wdt.c  | 10 +--
>  drivers/watchdog/softdog.c | 10 +--
>  drivers/watchdog/sp5100_tco.c  |  6 +---
>  drivers/watchdog/sp805_wdt.c   |  5 +---
>  drivers/watchdog/sprd_wdt.c| 10 +--
>  drivers/watchdog/st_lpc_wdt.c  |  6 +---
>  drivers/watchdog/stmp3xxx_rtc_wdt.c|  5 +---
>  drivers/watchdog/sun4v_wdt.c   |  6 +---
>  drivers/watchdog/sunxi_wdt.c   |  6 +---
>  drivers/watchdog/tangox_wdt.c  |  6 +---
>  drivers/watchdog/tegra_wdt.c   | 10 +--
>  drivers/watchdog/ts4800_wdt.c  |  5 +---
>  drivers/watchdog/ts72xx_wdt.c  |  7 ++---
>  drivers/watchdog/twl4030_wdt.c | 15 +-
>  drivers/watchdog/txx9wdt.c |  9 ++
>  drivers/watchdog/uniphier_wdt.c| 10 +--
>  drivers/watchdog/ux500_wdt.c   |  5 ++--
>  drivers/watchdog/via_wdt.c |  4 +--
>  drivers/watchdog/w83627hf_wdt.c| 10 +--
>  drivers/watchdog/w83877f_wdt.c | 10 +--
>  drivers/watchdog/w83977f_wdt.c |  9 +-
>  drivers/watchdog/wafer5823wdt.c| 11 +---
>  drivers/watchdog/watchdog_core.c   | 10 +--
>  drivers/watchdog/watchdog_core.h   | 10 +--
>  drivers/watchdog/watchdog_dev.c| 10 +--
>  drivers/watchdog/watchdog_pretimeout.c |  6 +---
>  drivers/watchdog/wd501p.h  |  1 +
>  drivers/watchdog/wdat_wdt.c|  5 +---
>  drivers/watchdog/wdrtas.c  | 15 +-
>  drivers/watchdog/wdt.c | 11 +---
>  drivers/watchdog/wdt285.c  |  7 +
>  drivers/watchdog/wdt977.c  |  8 +-
>  drivers/watchdog/wdt_pci.c | 11 +---
>  drivers/watchdog/wm831x_wdt.c  |  5 +---
>  drivers/watchdog/wm8350_wdt.c  |  5 +---
>  drivers/watchdog/xen_wdt.c |  6 +---
>  drivers/watchdog/ziirave_wdt.c | 11 +---
>  drivers/watchdog/zx2967_wdt.c  |  3 +-
>  162 files changed, 195 insertions(+), 1051 

Re: [PATCH] watchdog: add SPDX identifiers for watchdog subsystem

2018-02-20 Thread Neil Armstrong
Hi Marcus,

On 20/02/2018 10:59, Marcus Folkesson wrote:
> On Tue, Feb 20, 2018 at 10:47:03AM +0100, Neil Armstrong wrote:
>> Hi Marcus,
>>
>> On 20/02/2018 10:31, Marcus Folkesson wrote:
>>> - Add SPDX identifier
>>> - Remove boiler plate license text
>>> - If MODULE_LICENSE and boiler plate does not match, go for boiler plate
>>>   license
>>>
>>> Signed-off-by: Marcus Folkesson <marcus.folkes...@gmail.com>
>>> ---
>>>
>>> Notes:
>>> v1: Please have an extra look at meson_gxbb_wdt.c
>>>
>>>  drivers/watchdog/acquirewdt.c  |  6 +---
>>>  drivers/watchdog/advantechwdt.c|  6 +---
>>>  drivers/watchdog/alim1535_wdt.c|  6 +---
>>>  drivers/watchdog/alim7101_wdt.c|  1 +
>>>  drivers/watchdog/ar7_wdt.c | 14 +
>>>  drivers/watchdog/asm9260_wdt.c |  2 +-
>>>  drivers/watchdog/aspeed_wdt.c  |  5 +---
>>>  drivers/watchdog/at91rm9200_wdt.c  |  5 +---
>>>  drivers/watchdog/at91sam9_wdt.c|  5 +---
>>>  drivers/watchdog/at91sam9_wdt.h|  5 +---
>>>  drivers/watchdog/ath79_wdt.c   |  4 +--
>>>  drivers/watchdog/atlas7_wdt.c  |  2 +-
>>>  drivers/watchdog/bcm2835_wdt.c |  5 +---
>>>  drivers/watchdog/bcm47xx_wdt.c |  5 +---
>>>  drivers/watchdog/bcm63xx_wdt.c |  5 +---
>>>  drivers/watchdog/bcm7038_wdt.c | 12 ++--
>>>  drivers/watchdog/bcm_kona_wdt.c|  9 +-
>>>  drivers/watchdog/bfin_wdt.c|  2 +-
>>>  drivers/watchdog/booke_wdt.c   |  5 +---
>>>  drivers/watchdog/cadence_wdt.c |  5 +---
>>>  drivers/watchdog/coh901327_wdt.c   |  7 ++---
>>>  drivers/watchdog/cpu5wdt.c | 15 +-
>>>  drivers/watchdog/cpwd.c|  1 +
>>>  drivers/watchdog/da9052_wdt.c  |  6 +---
>>>  drivers/watchdog/da9055_wdt.c  |  6 +---
>>>  drivers/watchdog/da9062_wdt.c  | 10 +--
>>>  drivers/watchdog/da9063_wdt.c  |  5 +---
>>>  drivers/watchdog/davinci_wdt.c |  7 ++---
>>>  drivers/watchdog/diag288_wdt.c |  1 +
>>>  drivers/watchdog/digicolor_wdt.c   |  5 +---
>>>  drivers/watchdog/dw_wdt.c  |  6 +---
>>>  drivers/watchdog/ebc-c384_wdt.c|  9 +-
>>>  drivers/watchdog/ep93xx_wdt.c  |  7 ++---
>>>  drivers/watchdog/eurotechwdt.c |  6 +---
>>>  drivers/watchdog/f71808e_wdt.c | 16 +-
>>>  drivers/watchdog/ftwdt010_wdt.c|  6 ++--
>>>  drivers/watchdog/gef_wdt.c |  6 +---
>>>  drivers/watchdog/geodewdt.c|  5 +---
>>>  drivers/watchdog/gpio_wdt.c|  5 +---
>>>  drivers/watchdog/hpwdt.c   |  7 ++---
>>>  drivers/watchdog/i6300esb.c|  6 +---
>>>  drivers/watchdog/iTCO_vendor_support.c |  9 +-
>>>  drivers/watchdog/iTCO_wdt.c| 10 +--
>>>  drivers/watchdog/ib700wdt.c|  6 +---
>>>  drivers/watchdog/ibmasr.c  |  3 +-
>>>  drivers/watchdog/ie6xx_wdt.c   | 18 ++-
>>>  drivers/watchdog/imgpdc_wdt.c  |  5 +---
>>>  drivers/watchdog/imx2_wdt.c|  5 +---
>>>  drivers/watchdog/indydog.c |  6 +---
>>>  drivers/watchdog/intel-mid_wdt.c   |  6 ++--
>>>  drivers/watchdog/intel_scu_watchdog.c  | 18 ++-
>>>  drivers/watchdog/intel_scu_watchdog.h  | 16 +-
>>>  drivers/watchdog/iop_wdt.c | 16 ++
>>>  drivers/watchdog/it8712f_wdt.c | 10 +--
>>>  drivers/watchdog/it87_wdt.c| 10 +--
>>>  drivers/watchdog/ixp4xx_wdt.c  |  6 ++--
>>>  drivers/watchdog/jz4740_wdt.c  | 10 +--
>>>  drivers/watchdog/kempld_wdt.c  | 12 ++--
>>>  drivers/watchdog/ks8695_wdt.c  |  6 ++--
>>>  drivers/watchdog/lantiq_wdt.c  |  7 ++---
>>>  drivers/watchdog/loongson1_wdt.c   |  5 +---
>>>  drivers/watchdog/lpc18xx_wdt.c |  5 +---
>>>  drivers/watchdog/m54xx_wdt.c   |  6 ++--
>>>  drivers/watchdog/machzwd.c | 11 +--
>>>  drivers/watchdog/max63xx_wdt.c |  5 +---
>>>  drivers/watchdog/max77620_wdt.c|  5 +---
>>>  drivers/watchdog/mei_wdt.c | 12 ++--
>>>  drivers/watchdog/mena21_wdt.c  |  4 +--
>>

Re: [PATCH] watchdog: add SPDX identifiers for watchdog subsystem

2018-02-20 Thread Neil Armstrong
o.c  |  6 +---
>  drivers/watchdog/nv_tco.h  | 10 +--
>  drivers/watchdog/octeon-wdt-main.c | 11 +--
>  drivers/watchdog/octeon-wdt-nmi.S  |  5 +---
>  drivers/watchdog/of_xilinx_wdt.c   |  8 ++---
>  drivers/watchdog/omap_wdt.c|  1 +
>  drivers/watchdog/omap_wdt.h| 21 +
>  drivers/watchdog/orion_wdt.c   |  5 +---
>  drivers/watchdog/pc87413_wdt.c | 10 +--
>  drivers/watchdog/pcwd.c|  1 +
>  drivers/watchdog/pcwd_pci.c| 10 +--
>  drivers/watchdog/pcwd_usb.c| 10 +--
>  drivers/watchdog/pic32-dmt.c   |  5 +---
>  drivers/watchdog/pic32-wdt.c   |  6 +---
>  drivers/watchdog/pika_wdt.c|  1 +
>  drivers/watchdog/pnx4008_wdt.c |  7 ++---
>  drivers/watchdog/pnx833x_wdt.c |  6 +---
>  drivers/watchdog/pretimeout_noop.c |  7 +
>  drivers/watchdog/pretimeout_panic.c|  7 +
>  drivers/watchdog/qcom-wdt.c| 14 ++---
>  drivers/watchdog/renesas_wdt.c |  4 +--
>  drivers/watchdog/retu_wdt.c| 10 +--
>  drivers/watchdog/riowd.c   |  1 +
>  drivers/watchdog/rn5t618_wdt.c |  8 +
>  drivers/watchdog/rt2880_wdt.c  |  5 +---
>  drivers/watchdog/rtd119x_wdt.c |  2 +-
>  drivers/watchdog/rza_wdt.c |  5 +---
>  drivers/watchdog/s3c2410_wdt.c | 11 +--
>  drivers/watchdog/sa1100_wdt.c  | 11 +--
>  drivers/watchdog/sama5d4_wdt.c |  3 +-
>  drivers/watchdog/sb_wdog.c |  5 +---
>  drivers/watchdog/sbc60xxwdt.c  | 10 +--
>  drivers/watchdog/sbc7240_wdt.c | 12 ++--
>  drivers/watchdog/sbc8360.c | 10 +--
>  drivers/watchdog/sbc_epx_c3.c  |  6 +---
>  drivers/watchdog/sbc_fitpc2_wdt.c  |  7 ++---
>  drivers/watchdog/sbsa_gwdt.c   | 10 +--
>  drivers/watchdog/sc1200wdt.c   | 10 +--
>  drivers/watchdog/sc520_wdt.c   | 10 +--
>  drivers/watchdog/sch311x_wdt.c | 10 +--
>  drivers/watchdog/scx200_wdt.c  | 10 ++-
>  drivers/watchdog/shwdt.c   |  6 +---
>  drivers/watchdog/sirfsoc_wdt.c |  5 ++--
>  drivers/watchdog/smsc37b787_wdt.c  | 10 +--
>  drivers/watchdog/softdog.c | 10 +--
>  drivers/watchdog/sp5100_tco.c  |  6 +---
>  drivers/watchdog/sp805_wdt.c   |  5 +---
>  drivers/watchdog/sprd_wdt.c| 10 +--
>  drivers/watchdog/st_lpc_wdt.c  |  6 +---
>  drivers/watchdog/stmp3xxx_rtc_wdt.c|  5 +---
>  drivers/watchdog/sun4v_wdt.c   |  6 +---
>  drivers/watchdog/sunxi_wdt.c   |  6 +---
>  drivers/watchdog/tangox_wdt.c  |  6 +---
>  drivers/watchdog/tegra_wdt.c   | 10 +--
>  drivers/watchdog/ts4800_wdt.c  |  5 +---
>  drivers/watchdog/ts72xx_wdt.c  |  7 ++---
>  drivers/watchdog/twl4030_wdt.c | 15 +-
>  drivers/watchdog/txx9wdt.c |  9 ++
>  drivers/watchdog/uniphier_wdt.c| 10 +--
>  drivers/watchdog/ux500_wdt.c   |  5 ++--
>  drivers/watchdog/via_wdt.c |  4 +--
>  drivers/watchdog/w83627hf_wdt.c| 10 +--
>  drivers/watchdog/w83877f_wdt.c | 10 +--
>  drivers/watchdog/w83977f_wdt.c |  9 +-
>  drivers/watchdog/wafer5823wdt.c| 11 +--
>  drivers/watchdog/watchdog_core.c   | 10 +--
>  drivers/watchdog/watchdog_core.h   | 10 +--
>  drivers/watchdog/watchdog_dev.c| 10 +--
>  drivers/watchdog/watchdog_pretimeout.c |  6 +---
>  drivers/watchdog/wd501p.h  |  1 +
>  drivers/watchdog/wdat_wdt.c|  5 +---
>  drivers/watchdog/wdrtas.c  | 15 +-
>  drivers/watchdog/wdt.c | 11 +--
>  drivers/watchdog/wdt285.c  |  7 +
>  drivers/watchdog/wdt977.c  |  8 +
>  drivers/watchdog/wdt_pci.c | 11 +--
>  drivers/watchdog/wm831x_wdt.c  |  5 +---
>  drivers/watchdog/wm8350_wdt.c  |  5 +---
>  drivers/watchdog/xen_wdt.c |  6 +---
>  drivers/watchdog/ziirave_wdt.c | 11 +--
>  drivers/watchdog/zx2967_wdt.c  |  3 +-
>  162 files changed, 195 insertions(+), 1059 deletions(-)
> 

[..]

> diff --git a/drivers/watchdog/meson_gxbb_wdt.c 
> b/drivers/watchdog/meson_gxbb_wdt.c
> index 69a5a57f1446..500463c3e040 100644
> --- a/drivers/watchdog/meson_gxbb_wdt.c
> +++ b/drivers/watchdog/meson_gxbb_wdt.c
> @@ -1,57 +1,4 @@
> -/*
> - * This file is provided under a dual BSD/GPLv2 license.  When using or
> - * redistributing this file, you may do so under 

Re: [PATCH] mtd: nand: Rename nand.h into rawnand.h

2017-08-04 Thread Neil Armstrong
On 08/04/2017 05:29 PM, Boris Brezillon wrote:
> We are planning to share more code between different NAND based
> devices (SPI NAND, OneNAND and raw NANDs), but before doing that
> we need to move the existing include/linux/mtd/nand.h file into
> include/linux/mtd/rawnand.h so we can later create a nand.h header
> containing all common structure and function prototypes.
> 
> Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com>
> Signed-off-by: Peter Pan <peterpand...@micron.com>
> Cc: Jonathan Corbet <cor...@lwn.net>
> Cc: Sekhar Nori <nsek...@ti.com>
> Cc: Kevin Hilman <khil...@kernel.org>
> Cc: Jason Cooper <ja...@lakedaemon.net>
> Cc: Andrew Lunn <and...@lunn.ch>
> Cc: Sebastian Hesselbarth <sebastian.hesselba...@gmail.com>
> Cc: Gregory Clement <gregory.clem...@free-electrons.com>
> Cc: Hartley Sweeten <hswee...@visionengravers.com>
> Cc: Alexander Sverdlin <alexander.sverd...@gmail.com>
> Cc: Shawn Guo <shawn...@kernel.org>
> Cc: Sascha Hauer <ker...@pengutronix.de>
> Cc: Fabio Estevam <fabio.este...@nxp.com>
> Cc: Imre Kaloz <ka...@openwrt.org>
> Cc: Krzysztof Halasa <khal...@piap.pl>
> Cc: Eric Miao <eric.y.m...@gmail.com>
> Cc: Haojian Zhuang <haojian.zhu...@gmail.com>
> Cc: Aaro Koskinen <aaro.koski...@iki.fi>
> Cc: Tony Lindgren <t...@atomide.com>
> Cc: Alexander Clouter <a...@digriz.org.uk>
> Cc: Daniel Mack <dan...@zonque.org>
> Cc: Robert Jarzmik <robert.jarz...@free.fr>
> Cc: Marek Vasut <marek.va...@gmail.com>
> Cc: Kukjin Kim <kg...@kernel.org>
> Cc: Krzysztof Kozlowski <k...@kernel.org>
> Cc: Simtec Linux Team <li...@simtec.co.uk>
> Cc: Steven Miao <real...@gmail.com>
> Cc: Mikael Starvik <star...@axis.com>
> Cc: Jesper Nilsson <jesper.nils...@axis.com>
> Cc: Ralf Baechle <r...@linux-mips.org>
> Cc: Yoshinori Sato <ys...@users.sourceforge.jp>
> Cc: Rich Felker <dal...@libc.org>
> Cc: Wenyou Yang <wenyou.y...@atmel.com>
> Cc: Josh Wu <rainyfeel...@outlook.com>
> Cc: Kamal Dasu <kdasu.k...@gmail.com>
> Cc: Masahiro Yamada <yamada.masah...@socionext.com>
> Cc: Han Xu <han...@nxp.com>
> Cc: Harvey Hunt <harveyhuntne...@gmail.com>
> Cc: Vladimir Zapolskiy <v...@mleia.com>
> Cc: Sylvain Lemieux <slemieux.t...@gmail.com>
> Cc: Matthias Brugger <matthias@gmail.com>
> Cc: Wan ZongShun <mcuos@gmail.com>
> Cc: Neil Armstrong <narmstr...@baylibre.com>
> Cc: Ezequiel Garcia <ezequiel.gar...@free-electrons.com>
> Cc: Maxim Levitsky <maximlevit...@gmail.com>
> Cc: Marc Gonzalez <marc_gonza...@sigmadesigns.com>
> Cc: Stefan Agner <ste...@agner.ch>
> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> Cc: Mauro Carvalho Chehab <mche...@kernel.org>
> Cc: linux-...@vger.kernel.org
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-o...@vger.kernel.org
> Cc: linux-samsung-...@vger.kernel.org
> Cc: adi-buildroot-de...@lists.sourceforge.net
> Cc: linux-cris-ker...@axis.com
> Cc: linux-m...@linux-mips.org
> Cc: linux...@vger.kernel.org
> Cc: bcm-kernel-feedback-l...@broadcom.com
> Cc: linux-media...@lists.infradead.org
> Cc: linux-ox...@lists.tuxfamily.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: de...@driverdev.osuosl.org
> ---
> Hi All,
> 
> Sorry for the huge Cc list, but I'd like to collect as much acks as
> possible for this patch which is actually part of a bigger series [1].
> 
> Note that there's nothing complicated here, it's just a mechanical
> s/nand\.h/rawnand\.h/ replacement, but it impacts several architectures,
> the doc and staging directories.
> 
> Regards,
> 
> Boris
> 
> [1]https://lwn.net/Articles/723694/
> ---
>  Documentation/driver-api/mtdnand.rst| 8 
>  MAINTAINERS | 2 +-
>  arch/arm/mach-davinci/board-da850-evm.c | 2 +-
>  arch/arm/mach-davinci/board-dm355-evm.c | 2 +-
>  arch/arm/mach-davinci/board-dm355-leopard.c | 2 +-
>  arch/arm/mach-davinci/board-dm365-evm.c | 2 +-
>  arch/arm/mach-davinci/board-dm644x-evm.c| 2 +-
>  arch/arm/mach-davinci/board-dm646x-evm.c| 2 +-
>  arch/arm/mach-davinci/board-sffsdr.c| 2 +-
>  arch/arm/mach-dove/dove-db-setup.c  | 2 +-
>  arch/arm/mach-ep93xx/snappercl15.c  | 2 +-
>  arch/arm/mach-ep93xx/ts72xx.c   | 2 +-
>  arch/arm/mach-imx/mach-qong.c   | 2 +-
>  arch/arm/mach-ixp4xx/ixdp425-setup.c| 2 +-
>  arch/arm/mach-mmp/aspenite.c| 2 +-