All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Arseniy Krasnov <avkrasnov@sberdevices.ru>
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Liang Yang <liang.yang@amlogic.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Kevin Hilman <khilman@baylibre.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Jianxin Pan <jianxin.pan@amlogic.com>,
	Yixun Lan <yixun.lan@amlogic.com>, <oxffffaa@gmail.com>,
	<kernel@sberdevices.ru>, <linux-mtd@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 6/6] mtd: rawnand: meson: rename node for chip select
Date: Thu, 11 May 2023 14:11:14 +0200	[thread overview]
Message-ID: <20230511141114.04cbd9f1@xps-13> (raw)
In-Reply-To: <4561f558-1d34-a7a9-2a05-f6453b0ed9a9@sberdevices.ru>

Hi Arseniy,

avkrasnov@sberdevices.ru wrote on Thu, 11 May 2023 13:16:59 +0300:

> On 11.05.2023 12:17, Arseniy Krasnov wrote:
> > 
> > 
> > On 11.05.2023 12:12, Miquel Raynal wrote:  
> >> Hi Arseniy,
> >>
> >> avkrasnov@sberdevices.ru wrote on Thu, 11 May 2023 11:59:07 +0300:
> >>  
> >>> On 10.05.2023 23:53, Miquel Raynal wrote:
> >>>
> >>> Hello Martin, Miquel
> >>>  
> >>>> Hi Martin & Arseniy,
> >>>>
> >>>> martin.blumenstingl@googlemail.com wrote on Wed, 10 May 2023 22:40:37
> >>>> +0200:
> >>>>     
> >>>>> Hello Arseniy,
> >>>>>
> >>>>> On Wed, May 10, 2023 at 1:13 PM Arseniy Krasnov
> >>>>> <AVKrasnov@sberdevices.ru> wrote:    
> >>>>>>
> >>>>>> This renames node with values for chip select from "reg" to "cs". It is
> >>>>>> needed because when OTP access is enabled on the attached storage, MTD
> >>>>>> subsystem registers this storage in the NVMEM subsystem. NVMEM in turn
> >>>>>> tries to use "reg" node in its own manner, supposes that it has another
> >>>>>> layout. All of this leads to device initialization failure.      
> >>>>> In general: if we change the device-tree interface (in this case:
> >>>>> replacing a "reg" with a "cs" property) the dt-bindings have to be
> >>>>> updated as well.    
> >>>>
> >>>> True, and I would add, bindings should not be broken.    
> >>>
> >>> I see, that's true. That is bad way to change bindings.
> >>>  
> >>>>     
> >>>>> Documentation/devicetree/bindings/mtd/nand-controller.yaml and
> >>>>> Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml show
> >>>>> that the chip select of a NAND chip is specified with a "reg"
> >>>>> property.    
> >>>>
> >>>> All NAND controller binding expect the chip-select to be in the
> >>>> 'reg' property, very much like a spi device would use reg to store the
> >>>> cs as well: the reg property tells you how you address the device.
> >>>>
> >>>> I also fully agree with Martin's comments below. Changing reg is likely
> >>>> a wrong approach :)
> >>>>     
> >>>>> Also the code has to be backwards compatible with old .dtbs.
> >>>>>    
> >>>>>> Example:
> >>>>>>
> >>>>>> [...] nvmem mtd0-user-otp: nvmem: invalid reg on /soc/bus@ffe00000/...
> >>>>>> [...] mtd mtd0: Failed to register OTP NVMEM device
> >>>>>> [...] meson-nand ffe07800.nfc: failed to register MTD device: -22
> >>>>>> [...] meson-nand ffe07800.nfc: failed to init NAND chips
> >>>>>> [...] meson-nand: probe of ffe07800.nfc failed with error -22      
> >>>>> This is odd - can you please share your definition of the &nfc node?    
> >>>
> >>> Sure, here it is:
> >>>
> >>> mtd_nand: nfc@7800 {                            
> >>> 	compatible = "amlogic,meson-axg-nfc";
> >>> 	...
> >>> 	nand@0 {                                
> >>>         	reg = <0>;
> >>>         };
> >>> }
> >>>
> >>> I checked, that 'nand_set_flash_node()' is called with 'nand@0' and i suppose
> >>> that it is correct (as You mentioned below). But, 'nvmem_add_cells_from_of()' is called
> >>> with parent: 'nfc@7800', then it iterates over its childs, e.g. 'nand@0' and thus i get such
> >>> situation. I guess, that 'nvmem_add_cells_from_of()' must be called with 'nand@0' ?  
> >>
> >> We recently had issues with nvmem parsing, but I believe a mainline
> >> kernel should now be perfectly working on this regard. What version of
> >> the Linux kernel are you using?  
> > 
> > My current version is:
> > 
> > VERSION = 6                                                             
> > PATCHLEVEL = 2                                                          
> > SUBLEVEL = 0                                                            
> > EXTRAVERSION = -rc8 
> > 
> > Fix was in drivers/nvmem/* ?
> > 
> > Thanks, Arseniy  
> 
> Upd: I resolved problem in the following way:
> 
> nand@0 {                                
> 	reg = <0>;//chip select
> 
	partitions {
		compatible = ...

> 	otp@0 {                         
> 		#address-cells = <2>;   
> 		#size-cells = <0>;      

#address/size-cells is not needed here

> 		compatible = "user-otp";
> 		reg = <A B>;            
> 	};                              
> 	otp@1 {                         
> 		#address-cells = <2>;   
> 		#size-cells = <0>;      

Ditto

> 		compatible = "factory-otp";
> 		reg = <C D>;            
> 	};                              

	};

> };
> 
> Now nvmem subsystem parses 'otp@0' and 'otp@1' and error is gone. 'compatible' values are
> the same as in drivers/mtd/mtdcore.c:mtd_otp_nvmem_add(). 'reg' in 'nand@0' is used as
> chip select as supposed.

I don't fully get it. The parsing on the nvmem side should not fail if
there is no subpartition/otp-region defined. Can you confirm an empty
NAND device node works? Because your last e-mail suggested the opposite.

> 
> I think, this patch should be abandoned in the next version.
> 
> Thanks, Arseniy
> 
> >   
> >>
> >> Thanks,
> >> Miquèl  


Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Arseniy Krasnov <avkrasnov@sberdevices.ru>
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Liang Yang <liang.yang@amlogic.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Kevin Hilman <khilman@baylibre.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Jianxin Pan <jianxin.pan@amlogic.com>,
	Yixun Lan <yixun.lan@amlogic.com>, <oxffffaa@gmail.com>,
	<kernel@sberdevices.ru>, <linux-mtd@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 6/6] mtd: rawnand: meson: rename node for chip select
Date: Thu, 11 May 2023 14:11:14 +0200	[thread overview]
Message-ID: <20230511141114.04cbd9f1@xps-13> (raw)
In-Reply-To: <4561f558-1d34-a7a9-2a05-f6453b0ed9a9@sberdevices.ru>

Hi Arseniy,

avkrasnov@sberdevices.ru wrote on Thu, 11 May 2023 13:16:59 +0300:

> On 11.05.2023 12:17, Arseniy Krasnov wrote:
> > 
> > 
> > On 11.05.2023 12:12, Miquel Raynal wrote:  
> >> Hi Arseniy,
> >>
> >> avkrasnov@sberdevices.ru wrote on Thu, 11 May 2023 11:59:07 +0300:
> >>  
> >>> On 10.05.2023 23:53, Miquel Raynal wrote:
> >>>
> >>> Hello Martin, Miquel
> >>>  
> >>>> Hi Martin & Arseniy,
> >>>>
> >>>> martin.blumenstingl@googlemail.com wrote on Wed, 10 May 2023 22:40:37
> >>>> +0200:
> >>>>     
> >>>>> Hello Arseniy,
> >>>>>
> >>>>> On Wed, May 10, 2023 at 1:13 PM Arseniy Krasnov
> >>>>> <AVKrasnov@sberdevices.ru> wrote:    
> >>>>>>
> >>>>>> This renames node with values for chip select from "reg" to "cs". It is
> >>>>>> needed because when OTP access is enabled on the attached storage, MTD
> >>>>>> subsystem registers this storage in the NVMEM subsystem. NVMEM in turn
> >>>>>> tries to use "reg" node in its own manner, supposes that it has another
> >>>>>> layout. All of this leads to device initialization failure.      
> >>>>> In general: if we change the device-tree interface (in this case:
> >>>>> replacing a "reg" with a "cs" property) the dt-bindings have to be
> >>>>> updated as well.    
> >>>>
> >>>> True, and I would add, bindings should not be broken.    
> >>>
> >>> I see, that's true. That is bad way to change bindings.
> >>>  
> >>>>     
> >>>>> Documentation/devicetree/bindings/mtd/nand-controller.yaml and
> >>>>> Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml show
> >>>>> that the chip select of a NAND chip is specified with a "reg"
> >>>>> property.    
> >>>>
> >>>> All NAND controller binding expect the chip-select to be in the
> >>>> 'reg' property, very much like a spi device would use reg to store the
> >>>> cs as well: the reg property tells you how you address the device.
> >>>>
> >>>> I also fully agree with Martin's comments below. Changing reg is likely
> >>>> a wrong approach :)
> >>>>     
> >>>>> Also the code has to be backwards compatible with old .dtbs.
> >>>>>    
> >>>>>> Example:
> >>>>>>
> >>>>>> [...] nvmem mtd0-user-otp: nvmem: invalid reg on /soc/bus@ffe00000/...
> >>>>>> [...] mtd mtd0: Failed to register OTP NVMEM device
> >>>>>> [...] meson-nand ffe07800.nfc: failed to register MTD device: -22
> >>>>>> [...] meson-nand ffe07800.nfc: failed to init NAND chips
> >>>>>> [...] meson-nand: probe of ffe07800.nfc failed with error -22      
> >>>>> This is odd - can you please share your definition of the &nfc node?    
> >>>
> >>> Sure, here it is:
> >>>
> >>> mtd_nand: nfc@7800 {                            
> >>> 	compatible = "amlogic,meson-axg-nfc";
> >>> 	...
> >>> 	nand@0 {                                
> >>>         	reg = <0>;
> >>>         };
> >>> }
> >>>
> >>> I checked, that 'nand_set_flash_node()' is called with 'nand@0' and i suppose
> >>> that it is correct (as You mentioned below). But, 'nvmem_add_cells_from_of()' is called
> >>> with parent: 'nfc@7800', then it iterates over its childs, e.g. 'nand@0' and thus i get such
> >>> situation. I guess, that 'nvmem_add_cells_from_of()' must be called with 'nand@0' ?  
> >>
> >> We recently had issues with nvmem parsing, but I believe a mainline
> >> kernel should now be perfectly working on this regard. What version of
> >> the Linux kernel are you using?  
> > 
> > My current version is:
> > 
> > VERSION = 6                                                             
> > PATCHLEVEL = 2                                                          
> > SUBLEVEL = 0                                                            
> > EXTRAVERSION = -rc8 
> > 
> > Fix was in drivers/nvmem/* ?
> > 
> > Thanks, Arseniy  
> 
> Upd: I resolved problem in the following way:
> 
> nand@0 {                                
> 	reg = <0>;//chip select
> 
	partitions {
		compatible = ...

> 	otp@0 {                         
> 		#address-cells = <2>;   
> 		#size-cells = <0>;      

#address/size-cells is not needed here

> 		compatible = "user-otp";
> 		reg = <A B>;            
> 	};                              
> 	otp@1 {                         
> 		#address-cells = <2>;   
> 		#size-cells = <0>;      

Ditto

> 		compatible = "factory-otp";
> 		reg = <C D>;            
> 	};                              

	};

> };
> 
> Now nvmem subsystem parses 'otp@0' and 'otp@1' and error is gone. 'compatible' values are
> the same as in drivers/mtd/mtdcore.c:mtd_otp_nvmem_add(). 'reg' in 'nand@0' is used as
> chip select as supposed.

I don't fully get it. The parsing on the nvmem side should not fail if
there is no subpartition/otp-region defined. Can you confirm an empty
NAND device node works? Because your last e-mail suggested the opposite.

> 
> I think, this patch should be abandoned in the next version.
> 
> Thanks, Arseniy
> 
> >   
> >>
> >> Thanks,
> >> Miquèl  


Thanks,
Miquèl

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Arseniy Krasnov <avkrasnov@sberdevices.ru>
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Liang Yang <liang.yang@amlogic.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Kevin Hilman <khilman@baylibre.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	Jianxin Pan <jianxin.pan@amlogic.com>,
	Yixun Lan <yixun.lan@amlogic.com>, <oxffffaa@gmail.com>,
	<kernel@sberdevices.ru>, <linux-mtd@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-amlogic@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 6/6] mtd: rawnand: meson: rename node for chip select
Date: Thu, 11 May 2023 14:11:14 +0200	[thread overview]
Message-ID: <20230511141114.04cbd9f1@xps-13> (raw)
In-Reply-To: <4561f558-1d34-a7a9-2a05-f6453b0ed9a9@sberdevices.ru>

Hi Arseniy,

avkrasnov@sberdevices.ru wrote on Thu, 11 May 2023 13:16:59 +0300:

> On 11.05.2023 12:17, Arseniy Krasnov wrote:
> > 
> > 
> > On 11.05.2023 12:12, Miquel Raynal wrote:  
> >> Hi Arseniy,
> >>
> >> avkrasnov@sberdevices.ru wrote on Thu, 11 May 2023 11:59:07 +0300:
> >>  
> >>> On 10.05.2023 23:53, Miquel Raynal wrote:
> >>>
> >>> Hello Martin, Miquel
> >>>  
> >>>> Hi Martin & Arseniy,
> >>>>
> >>>> martin.blumenstingl@googlemail.com wrote on Wed, 10 May 2023 22:40:37
> >>>> +0200:
> >>>>     
> >>>>> Hello Arseniy,
> >>>>>
> >>>>> On Wed, May 10, 2023 at 1:13 PM Arseniy Krasnov
> >>>>> <AVKrasnov@sberdevices.ru> wrote:    
> >>>>>>
> >>>>>> This renames node with values for chip select from "reg" to "cs". It is
> >>>>>> needed because when OTP access is enabled on the attached storage, MTD
> >>>>>> subsystem registers this storage in the NVMEM subsystem. NVMEM in turn
> >>>>>> tries to use "reg" node in its own manner, supposes that it has another
> >>>>>> layout. All of this leads to device initialization failure.      
> >>>>> In general: if we change the device-tree interface (in this case:
> >>>>> replacing a "reg" with a "cs" property) the dt-bindings have to be
> >>>>> updated as well.    
> >>>>
> >>>> True, and I would add, bindings should not be broken.    
> >>>
> >>> I see, that's true. That is bad way to change bindings.
> >>>  
> >>>>     
> >>>>> Documentation/devicetree/bindings/mtd/nand-controller.yaml and
> >>>>> Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml show
> >>>>> that the chip select of a NAND chip is specified with a "reg"
> >>>>> property.    
> >>>>
> >>>> All NAND controller binding expect the chip-select to be in the
> >>>> 'reg' property, very much like a spi device would use reg to store the
> >>>> cs as well: the reg property tells you how you address the device.
> >>>>
> >>>> I also fully agree with Martin's comments below. Changing reg is likely
> >>>> a wrong approach :)
> >>>>     
> >>>>> Also the code has to be backwards compatible with old .dtbs.
> >>>>>    
> >>>>>> Example:
> >>>>>>
> >>>>>> [...] nvmem mtd0-user-otp: nvmem: invalid reg on /soc/bus@ffe00000/...
> >>>>>> [...] mtd mtd0: Failed to register OTP NVMEM device
> >>>>>> [...] meson-nand ffe07800.nfc: failed to register MTD device: -22
> >>>>>> [...] meson-nand ffe07800.nfc: failed to init NAND chips
> >>>>>> [...] meson-nand: probe of ffe07800.nfc failed with error -22      
> >>>>> This is odd - can you please share your definition of the &nfc node?    
> >>>
> >>> Sure, here it is:
> >>>
> >>> mtd_nand: nfc@7800 {                            
> >>> 	compatible = "amlogic,meson-axg-nfc";
> >>> 	...
> >>> 	nand@0 {                                
> >>>         	reg = <0>;
> >>>         };
> >>> }
> >>>
> >>> I checked, that 'nand_set_flash_node()' is called with 'nand@0' and i suppose
> >>> that it is correct (as You mentioned below). But, 'nvmem_add_cells_from_of()' is called
> >>> with parent: 'nfc@7800', then it iterates over its childs, e.g. 'nand@0' and thus i get such
> >>> situation. I guess, that 'nvmem_add_cells_from_of()' must be called with 'nand@0' ?  
> >>
> >> We recently had issues with nvmem parsing, but I believe a mainline
> >> kernel should now be perfectly working on this regard. What version of
> >> the Linux kernel are you using?  
> > 
> > My current version is:
> > 
> > VERSION = 6                                                             
> > PATCHLEVEL = 2                                                          
> > SUBLEVEL = 0                                                            
> > EXTRAVERSION = -rc8 
> > 
> > Fix was in drivers/nvmem/* ?
> > 
> > Thanks, Arseniy  
> 
> Upd: I resolved problem in the following way:
> 
> nand@0 {                                
> 	reg = <0>;//chip select
> 
	partitions {
		compatible = ...

> 	otp@0 {                         
> 		#address-cells = <2>;   
> 		#size-cells = <0>;      

#address/size-cells is not needed here

> 		compatible = "user-otp";
> 		reg = <A B>;            
> 	};                              
> 	otp@1 {                         
> 		#address-cells = <2>;   
> 		#size-cells = <0>;      

Ditto

> 		compatible = "factory-otp";
> 		reg = <C D>;            
> 	};                              

	};

> };
> 
> Now nvmem subsystem parses 'otp@0' and 'otp@1' and error is gone. 'compatible' values are
> the same as in drivers/mtd/mtdcore.c:mtd_otp_nvmem_add(). 'reg' in 'nand@0' is used as
> chip select as supposed.

I don't fully get it. The parsing on the nvmem side should not fail if
there is no subpartition/otp-region defined. Can you confirm an empty
NAND device node works? Because your last e-mail suggested the opposite.

> 
> I think, this patch should be abandoned in the next version.
> 
> Thanks, Arseniy
> 
> >   
> >>
> >> Thanks,
> >> Miquèl  


Thanks,
Miquèl

  reply	other threads:[~2023-05-11 12:11 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-10 11:08 [PATCH v3 0/6] refactoring and fix for Meson NAND Arseniy Krasnov
2023-05-10 11:08 ` Arseniy Krasnov
2023-05-10 11:08 ` Arseniy Krasnov
2023-05-10 11:08 ` [PATCH v3 1/6] mtd: rawnand: meson: fix command sequence for read/write Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08 ` [PATCH v3 2/6] mtd: rawnand: meson: move OOB to non-protected ECC area Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08 ` [PATCH v3 3/6] mtd: rawnand: meson: always read whole OOB bytes Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08 ` [PATCH v3 4/6] mtd: rawnand: meson: check buffer length Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08 ` [PATCH v3 5/6] mtd: rawnand: meson: remove unneeded bitwise OR with zeroes Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08 ` [PATCH v3 6/6] mtd: rawnand: meson: rename node for chip select Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 11:08   ` Arseniy Krasnov
2023-05-10 20:40   ` Martin Blumenstingl
2023-05-10 20:40     ` Martin Blumenstingl
2023-05-10 20:40     ` Martin Blumenstingl
2023-05-10 20:53     ` Miquel Raynal
2023-05-10 20:53       ` Miquel Raynal
2023-05-10 20:53       ` Miquel Raynal
2023-05-11  8:59       ` Arseniy Krasnov
2023-05-11  8:59         ` Arseniy Krasnov
2023-05-11  8:59         ` Arseniy Krasnov
2023-05-11  9:12         ` Miquel Raynal
2023-05-11  9:12           ` Miquel Raynal
2023-05-11  9:12           ` Miquel Raynal
2023-05-11  9:17           ` Arseniy Krasnov
2023-05-11  9:17             ` Arseniy Krasnov
2023-05-11  9:17             ` Arseniy Krasnov
2023-05-11 10:16             ` Arseniy Krasnov
2023-05-11 10:16               ` Arseniy Krasnov
2023-05-11 10:16               ` Arseniy Krasnov
2023-05-11 12:11               ` Miquel Raynal [this message]
2023-05-11 12:11                 ` Miquel Raynal
2023-05-11 12:11                 ` Miquel Raynal
2023-05-11 14:22                 ` Arseniy Krasnov
2023-05-11 14:22                   ` Arseniy Krasnov
2023-05-11 14:22                   ` Arseniy Krasnov
2023-05-12 14:49                   ` Miquel Raynal
2023-05-12 14:49                     ` Miquel Raynal
2023-05-12 14:49                     ` Miquel Raynal
2023-05-13 13:22                     ` Arseniy Krasnov
2023-05-13 13:22                       ` Arseniy Krasnov
2023-05-13 13:22                       ` Arseniy Krasnov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230511141114.04cbd9f1@xps-13 \
    --to=miquel.raynal@bootlin.com \
    --cc=avkrasnov@sberdevices.ru \
    --cc=jbrunet@baylibre.com \
    --cc=jianxin.pan@amlogic.com \
    --cc=kernel@sberdevices.ru \
    --cc=khilman@baylibre.com \
    --cc=liang.yang@amlogic.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=neil.armstrong@linaro.org \
    --cc=oxffffaa@gmail.com \
    --cc=richard@nod.at \
    --cc=vigneshr@ti.com \
    --cc=yixun.lan@amlogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.