public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Herve Codina <herve.codina@bootlin.com>
To: Rob Herring <robh@kernel.org>
Cc: David Gibson <david@gibson.dropbear.id.au>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Ayush Singh <ayush@beagleboard.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	devicetree-compiler@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, devicetree-spec@vger.kernel.org,
	Hui Pu <hui.pu@gehealthcare.com>,
	Ian Ray <ian.ray@gehealthcare.com>,
	Luca Ceresoli <luca.ceresoli@bootlin.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Saravana Kannan <saravanak@kernel.org>
Subject: Re: [RFC PATCH 00/77] Add support for dtb metadata and addon device-trees
Date: Wed, 14 Jan 2026 17:18:22 +0100	[thread overview]
Message-ID: <20260114171822.2a44d2a5@bootlin.com> (raw)
In-Reply-To: <CAL_JsqK4nH0B-CfKz5wgg12C+Vzi31ceHeOes94Z8hg3uN=X1g@mail.gmail.com>

Hi Rob,

On Tue, 13 Jan 2026 12:44:07 -0600
Rob Herring <robh@kernel.org> wrote:

> On Mon, Jan 12, 2026 at 8:20 AM Herve Codina <herve.codina@bootlin.com> wrote:

...

> >
> > - A new kind of device-tree, an addon device-tree, in order to replace the
> >   usage of the overlay device-tree in this 'hot-plugging additional board'
> >   use-case.  
> 
> I guess "addons" is overlays 2.0. Do you envision any use for overlays
> 1.0 after this? I wouldn't think so other than compatibility for
> existing overlays.

On my side, with use cases I know about, I plan to switch to addons.

Of course, our connector use case which was the use case that leads to
series will use addons.

Also, I plan to move the overlay used in the LAN966x PCI use case (overlay on
top of PCI devices) to addons. I will do that when all needed support for this
feature will be available in the Linux kernel.

> 
> Maybe a conversion tool and/or function would be useful (not asking
> for that now).

Indeed, this kind of tool could be a nice to have.

> 
> > [3] https://lore.kernel.org/all/20250902105710.00512c6d@booty/
> >
> > This current RFC is the implementation of features discussed on the
> > mailing-list. A lot of things are new in dtb format (new tags) and dts
> > format (new keyword, new kind of references) and not yet mentioned in
> > the standard.  
> 
> spec follows code. :)
> 
> > The purpose of this big picture RFC is to move forward on this topic
> > based on code and some concrete dts / dtb example. Indeed, this RFC also
> > adds tests for each feature introduced. Those tests are performed using
> > dts files and the content of those dts files can also help in the
> > discussion.
> >
> > The first patch is just a simple fix and can probably be merged out of this
> > meta-data and addon discussion.
> >
> >   - Patches 2..12: Introduce new meta-data dtb tags based on markers
> >
> >     Those new tags are FDT_REF_LOCAL and FDT_REF_PHANDLE.
> >
> >     FDT_REF_LOCAL (details in patch 6) is used to tag property using a
> >     phandle and this phandle points to a local node (i.e. a node
> >     existing in the dtb).
> >
> >     FDT_REF_PHANDLE (details in patch 11) is used to tag a property
> >     using a phandle but this phandle points to a non local node (i.e.
> >     the node doesn't exist in the dtb). The reference to the node is
> >     present with the tag and the phandle value has to be fixed when the
> >     dtb is applied. This tag can only be present in plugins (overlays)
> >     and addons dtb.  
> 
> This is very much aligned with what I would like to see. We've
> discussed new DTB formats in the past and it becomes a laundry list of
> changes likely resulting in something entirely different. I think
> that's never going to move forward (it's only been discussed for 10+
> years). I think doing something like this is much easier to define and
> deploy.
> 
> I think the first step is just allowing the FDT format to have
> additional tags with metadata that's not yet defined. Ideally that
> would be just "allow unknown tags" instead of giving a parsing error.
> However, I think we have to at least know the length of data for
> unknown tags, so maybe we define a range of tag values which are
> followed by a length. Either way, that should be a pretty small change
> and easily deployed everywhere (that uses libfdt). After that, then we
> can start to define the specific tags and meta-data we want. I would
> like to see not just phandle info, but all type information for
> example.
> 
> The addition of phandle info is also useful for fw_devlink (which is
> the kernel's device dependency tracking), and I've been talking with
> Saravana some about an approach like this.
> 
> >   - Patches 13..17: Introduce addons device-tree
> >
> >     This part introduce the new /addon/ dts keyword
> >
> >   - Patches 18..30: Introduce /export/ keyword and related dtb tags
> >
> >     This part introduces the new /export/ dts keyword (details in patch
> >     20) and the related FDT_EXPORT_SYM and FDT_EXPORT_SYM_REF dtb tags.
> >
> >     FDT_EXPORT_SYM (details in patch 25) is used when the exported
> >     symbol involved is a local node and FDT_EXPORT_SYM_REF (details in
> >     patch 29) is used when the node involved is a non local node.  
> 
> More generally, would these just be "node metadata" tags?
> 

I think we can have metadata at 3 differents levels:
- Property
- Node
- Global dtb

With the suggestion you did on patch 6 related to FDT_REF_LOCAL and if I
understood correctly, you expect to have a kind of "container" tag to group
metadata on each level.

Also you expect to have the ability to handle all 'for now unknown' tag
smoothly and so, I agree, the length of the data related to a tag are
needed to be present with the tag itself. I see to kind of tag, some with
the length of data available in the u32 following the tag and other without
the length encoded.

Tags without length encoded are followed by one u32 field containing data
related to the tag. This allow to avoid a lot of 'TAG_XXX 0x04 u32_data'
Indeed, I have the feeling that quite a lot of tags will have only one u32
field as data part and so, having 0x04 encoded (cell aligned) each time.

A tag value is on 32bits. We can define the structure of this value.
  - bit 31 (msb):
     - 0: This is not a new kind to tag and so it doesn't follow this definition.
          All existing tags are in this categorie
     - 1: New kind of tag adopting this definition

  - bits 30..28:
     tag data length encoding
     0b000: No data related to the tag
     0b001: 1 data cell (u32) directly follows the tag
     0b010: 2 data cells (2 u32) directly follow the tag
     ...
     0b110: 6 data cells (6 u32) directly follow the tag
     0b111: Tag is followed by a cell (u32) indicating the size (in bytes)
            of data available just after this cell (including any padding
            if needed).
	    Because this size include some possible padding, its value is a
            multiple of 4 bytes.
            The offset of the tag + 4 + size points to the next tag.
          

  - bit 27..0
     tag specific identifier

With that definition, the following tags can be defined:
  - FDT_INFO_PROPERTY (new tag, length encoding): 0xf0000001
     This tag is available after a property.
     It is followed by a cell for the length of data, the data part is a
     sequence of tags (and related data) giving information related to the
     last property available before the tag.

  - FDT_REF_LOCAL (new tag, 1 cell data): 0x90000002:
     The cell after this tag is the offset in the property where a local
     phandle is available

  - FDT_REF_PHANDLE (new tag, length encoding): 0xf0000003
     Cf. patch 11 for definition
     It is followed by a cell for the length of data. The data part is
     composed of:
       - offset (u32)
       - label (string including \0)
       - padding if needed to have next item aligned on 32bits


With that defined, supposing the following dts example:
  --- 8< ---
  /* 'foo' is a reference to local node,
   * 'bar' is a reference to an external node
   */
  prop = <1 2 &foo &bar1>;
  --- 8< ---

The dtb will see the following structure:
FDT_PROP ...
FDT_INFO_PROPERTY (0xf0000001)
  28 (length = (4+4)+(4+4+12) bytes)
  FDT_REF_LOCAL (0x90000002)
    0x8                             <--- offset of &foo
  FDT_REF_PHANDLE (0xf0000003)
    12 (length = 4+4+1+3 bytes)
    0xc                             <--- offset of &bar
    "bar1" + its \0                 <-- reference to resolve
    0x00 0x00 0x00                  <-- 3 bytes padding

Adding FDT_TYPE_U32 later will consist in defining
its value, probably a 0x9 family (1 cell after the tag for the
offset value)

At any point, only looking at the higher part of the tag (i.e. 0xN.......), we
can skip the tag and its data if don't know about the tag.
 - 0x0: Old tag format
    -> Error if unknown

 - 0x8 to 0xe: New format followed by 0 (0x8) to 6 cells of data
    -> Ignore if unknown and skip the N cells of data to look at the next

 - 0xf: New format followed by 1 cell giving the size of following data.
    -> Ignore if unknown and read the length available in the cell after the
       tag, skip length byte of data to look at the next.
       If the length read is not a multiple of 4: Error, invalid tag.


For this series we need the container tags:
- FDT_INFO_PROPERTY for information related to a property
  Among known tags defined in this series, only FDT_REF_LOCAL and
  FDT_REF_PHANDLE can be grouped into a FDT_INFO_PROPERTY.

- FDT_INFO_NODE for information related to a node
  Among known tags defined in this series, only FDT_EXPORT_SYM_LOCAL
  and FDT_EXPORT_SYM_REF can be grouped into a FDT_INFO_NODE.

- FDT_INFO_DTB for information related to the dtb
  Among known tags defined in this series, only FDT_IMPORT_SYM can
  be present into a FDT_INFO_DTB.

IMHO, the new tag FDT_BEGIN_NODE_REF related to orphan nodes doesn't
have to be in one of those containers. Indeed, FDT_BEGIN_NODE_REF
is more a node definition than a metadata.

Rob, does this could fit with what you expect?

If it does, is it relevant to keep the length cell available in 0xf
family to be in bytes. It should be a multiple of 4 in all cases and
so it can be given in the number of 32bit words instead of bytes.

Best regards,
Hervé


  reply	other threads:[~2026-01-14 16:18 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-12 14:18 [RFC PATCH 00/77] Add support for dtb metadata and addon device-trees Herve Codina
2026-01-12 14:18 ` [RFC PATCH 01/77] checks: Use consistent type for strspn() returned value Herve Codina
2026-01-12 14:55   ` Ayush Singh
2026-01-13  3:08   ` David Gibson
2026-01-13  4:42     ` David Gibson
2026-01-13  8:02       ` Herve Codina
2026-01-12 14:18 ` [RFC PATCH 02/77] Introduce v18 dtb version Herve Codina
2026-01-15  0:12   ` David Gibson
2026-01-16  9:09     ` Herve Codina
2026-01-19  5:13       ` David Gibson
2026-01-19  9:48         ` Herve Codina
2026-01-28  1:49           ` David Gibson
2026-01-20 20:38         ` Rob Herring
2026-01-29  1:40           ` David Gibson
2026-01-12 14:18 ` [RFC PATCH 03/77] libfdt: Introduce fdt_next_tag_full() and use it in fdt_next_tag() Herve Codina
2026-01-15  0:17   ` David Gibson
2026-01-12 14:18 ` [RFC PATCH 04/77] dtc: Allow to use data_append_markers() out of data.c Herve Codina
2026-01-15  0:18   ` David Gibson
2026-01-12 14:18 ` [RFC PATCH 05/77] fdtdump: Change FDT_PROP prob handling to ease future addition Herve Codina
2026-01-12 15:41   ` Ayush Singh
2026-01-15  0:28     ` David Gibson
2026-01-12 14:18 ` [RFC PATCH 06/77] Add support for FDT_REF_LOCAL dtb tag Herve Codina
2026-01-13 19:22   ` Rob Herring
2026-01-15  0:34     ` David Gibson
2026-01-15 15:54       ` Rob Herring
2026-01-16 10:16         ` Herve Codina
2026-01-16 10:17           ` Herve Codina
2026-01-19  6:16         ` David Gibson
2026-01-12 14:18 ` [RFC PATCH 07/77] livetree: Improve get_node_by_phandle() Herve Codina
2026-01-15  0:41   ` David Gibson
2026-01-16 10:52     ` Herve Codina
2026-01-19  5:18       ` David Gibson
2026-01-12 14:18 ` [RFC PATCH 08/77] dtc: Introduce update_phandles_ref() Herve Codina
2026-01-15  0:46   ` David Gibson
2026-01-16 11:26     ` Herve Codina
2026-01-19  5:21       ` David Gibson
2026-01-12 14:18 ` [RFC PATCH 09/77] dtc: Introduce mark_local_phandles() Herve Codina
2026-01-15  0:48   ` David Gibson
2026-01-16 13:09     ` Herve Codina
2026-01-19  5:46       ` David Gibson
2026-01-19 12:14         ` Herve Codina
2026-01-12 14:19 ` [RFC PATCH 10/77] tests: Add basic metadata tests Herve Codina
2026-01-15  0:50   ` David Gibson
2026-01-16 13:36     ` Herve Codina
2026-01-19  5:32       ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 11/77] Add support for FDT_REF_PHANDLE dtb tag Herve Codina
2026-01-15  1:24   ` David Gibson
2026-01-16 15:17     ` Herve Codina
2026-01-19  5:40       ` David Gibson
2026-01-19 13:19         ` Herve Codina
2026-01-12 14:19 ` [RFC PATCH 12/77] tests: metadata: Add external phandle reference tests Herve Codina
2026-01-12 14:19 ` [RFC PATCH 13/77] Introduce dt_flags field in dtb header Herve Codina
2026-01-15  1:29   ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 14/77] tests: metadata: Add a first test related to the dt_flags header field Herve Codina
2026-01-12 14:19 ` [RFC PATCH 15/77] Add support for /addon/ keyword Herve Codina
2026-01-12 14:19 ` [RFC PATCH 16/77] tests: metadata: Add a test related to addon dt_flags header value Herve Codina
2026-01-12 14:19 ` [RFC PATCH 17/77] tests: metadata: Add a basic addon test Herve Codina
2026-01-12 14:19 ` [RFC PATCH 18/77] dtc-parser.y: Avoid an empty proplist Herve Codina
2026-01-15  1:34   ` David Gibson
2026-01-16 16:22     ` Herve Codina
2026-01-12 14:19 ` [RFC PATCH 19/77] dtc: Introduce export symbols Herve Codina
2026-01-15  5:52   ` David Gibson
2026-01-16 16:27     ` Herve Codina
2026-01-19  5:51       ` David Gibson
2026-01-19 13:51         ` Herve Codina
2026-01-21  2:35           ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 20/77] dtc: Add support for /export/ dts keyword parsing Herve Codina
2026-01-15  5:57   ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 21/77] checks: Handle export symbols in fixup_phandle_references() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 22/77] dtc: Add export symbols (/export/ keyword) in generated dts file Herve Codina
2026-01-12 14:19 ` [RFC PATCH 23/77] dtc: Introduce mark_local_exports() Herve Codina
2026-01-15  6:01   ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 24/77] dtc: Introduce update_exports_ref() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 25/77] Add support for FDT_EXPORT_SYM dtb tag Herve Codina
2026-01-15  6:23   ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 26/77] tests: metadata: Add export symbols with local references tests Herve Codina
2026-01-12 14:19 ` [RFC PATCH 27/77] dtc: Add support for export symbols sorting Herve Codina
2026-01-12 14:19 ` [RFC PATCH 28/77] tests: metadata: Add a test " Herve Codina
2026-01-12 14:19 ` [RFC PATCH 29/77] Add support for FDT_EXPORT_SYM_REF dtb tag Herve Codina
2026-01-15  6:25   ` David Gibson
2026-01-19 15:46     ` Herve Codina
2026-01-29  1:36       ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 30/77] tests: metadata: Add export symbols with external references tests Herve Codina
2026-01-12 14:19 ` [RFC PATCH 31/77] dtc: Introduce import symbols Herve Codina
2026-01-12 14:19 ` [RFC PATCH 32/77] dtc-parser: Introduce last_header_flags Herve Codina
2026-01-15  6:31   ` David Gibson
2026-01-19 14:11     ` Herve Codina
2026-01-21  2:37       ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 33/77] dtc: Add support for /import/ dts keyword parsing Herve Codina
2026-01-12 14:19 ` [RFC PATCH 34/77] dtc: Add import symbols (/import/ keyword) in generated dts file Herve Codina
2026-01-12 14:19 ` [RFC PATCH 35/77] Add support for FDT_IMPORT_SYM dtb tag Herve Codina
2026-01-15  6:41   ` David Gibson
2026-01-19 14:36     ` Herve Codina
2026-01-28  2:25       ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 36/77] tests: metadata: Add import symbols tests Herve Codina
2026-01-12 14:19 ` [RFC PATCH 37/77] dtc: Add support for import symbols sorting Herve Codina
2026-01-12 14:19 ` [RFC PATCH 38/77] tests: metadata: Improve sort test to check " Herve Codina
2026-01-12 14:19 ` [RFC PATCH 39/77] check: Get 'chosen' node using get_subnode() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 40/77] dtc: Introduce dti_get_node_by_path() Herve Codina
2026-01-15  6:47   ` David Gibson
2026-01-19 15:52     ` Herve Codina
2026-01-29  1:38       ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 41/77] dtc: Introduce dti_get_node_by_label() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 42/77] dtc: Introduce dti_get_node_by_phandle() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 43/77] dtc: Introduce dti_get_node_by_ref() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 44/77] dtc: Introduce dti_get_node_phandle() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 45/77] dtc: Introduce dti_get_property_by_label() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 46/77] dtc: Introduce dti_get_marker_label() Herve Codina
2026-01-15  6:51   ` David Gibson
2026-01-19 16:02     ` Herve Codina
2026-01-21  9:02       ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 47/77] dtc: Introduce dti_fill_fullpaths() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 48/77] dtc: Introduce orphan nodes Herve Codina
2026-01-12 14:19 ` [RFC PATCH 49/77] dtc: Handle orphan nodes in dti_get_xxx_by_yyy() Herve Codina
2026-01-15  6:55   ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 50/77] dtc: Handle orphan nodes in mark_local_xxx() and update_xxx_ref() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 51/77] dtc: Avoid NULL fullpath for nodes in orphan trees Herve Codina
2026-01-15  6:56   ` David Gibson
2026-01-19 16:11     ` Herve Codina
2026-01-12 14:19 ` [RFC PATCH 52/77] checks: Perform checks for orphan nodes Herve Codina
2026-01-12 14:19 ` [RFC PATCH 53/77] dtc: Rename add_orphan_node() to plugin_add_orphan_node() Herve Codina
2026-01-12 14:19 ` [RFC PATCH 54/77] dtc: Add basic support for addon orphan nodes dts parsing Herve Codina
2026-01-12 14:19 ` [RFC PATCH 55/77] dtc: Add orphan nodes in generated dts file Herve Codina
2026-01-12 14:19 ` [RFC PATCH 56/77] Add support for FDT_BEGIN_NODE_REF_SYM dtb tag Herve Codina
2026-01-12 14:19 ` [RFC PATCH 57/77] tests: metadata: Add basic test for addon orphan nodes Herve Codina
2026-01-12 14:19 ` [RFC PATCH 58/77] dtc: Add support for missing root node in addon device-tree Herve Codina
2026-01-12 14:19 ` [RFC PATCH 59/77] tests: metadata: Add a test for addon without root node Herve Codina
2026-01-12 14:19 ` [RFC PATCH 60/77] dtc: Allow parser_get_node_by_ref() to return an orphan node for merging purpose Herve Codina
2026-01-12 14:19 ` [RFC PATCH 61/77] tests: metadata: Add a test related to orphan node merging Herve Codina
2026-01-12 14:19 ` [RFC PATCH 62/77] dtc: Add support for orphan nodes sorting Herve Codina
2026-01-12 14:19 ` [RFC PATCH 63/77] tests: metadata: Improve sort test to check " Herve Codina
2026-01-12 14:19 ` [RFC PATCH 64/77] dtc: Add support for references by path involving orphan nodes Herve Codina
2026-01-15  7:01   ` David Gibson
2026-01-19 16:38     ` Herve Codina
2026-01-21  9:06       ` David Gibson
2026-01-21 16:30         ` Herve Codina
2026-01-29  2:00           ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 65/77] tests: metadata: Add a test " Herve Codina
2026-01-12 14:19 ` [RFC PATCH 66/77] dtc: Add support for namespace labels references Herve Codina
2026-01-12 14:19 ` [RFC PATCH 67/77] tests: metadata: Add a test " Herve Codina
2026-01-12 14:19 ` [RFC PATCH 68/77] libfdt: Introduce fdt_getprop_by_offset_w() Herve Codina
2026-01-15  7:05   ` David Gibson
2026-01-12 14:19 ` [RFC PATCH 69/77] libfdt: Introduce fdt_getprop_offset() Herve Codina
2026-01-12 14:20 ` [RFC PATCH 70/77] libfdt: Add support for applying an addon on a base device-tree blob Herve Codina
2026-01-12 14:20 ` [RFC PATCH 71/77] Add fdtaddon tool to apply an addon Herve Codina
2026-01-12 14:20 ` [RFC PATCH 72/77] tests: Add a first basic test for fdtaddon Herve Codina
2026-01-12 14:20 ` [RFC PATCH 73/77] tests: fdtaddon: Add a basic test for addons using an orphan nodes Herve Codina
2026-01-12 14:20 ` [RFC PATCH 74/77] tests: fdtaddon: Add a basic test for addons with unresolved phandle references Herve Codina
2026-01-12 14:20 ` [RFC PATCH 75/77] tests: fdtaddon: Add a test for addons using namespace label references Herve Codina
2026-01-12 14:20 ` [RFC PATCH 76/77] tests: fdtaddon: Add a test for using 'stacked' addons Herve Codina
2026-01-12 14:20 ` [RFC PATCH 77/77] tests: fdtaddon: Add a test using more realistic dts and dtsa Herve Codina
2026-01-12 14:49 ` [RFC PATCH 00/77] Add support for dtb metadata and addon device-trees Ayush Singh
2026-01-13 18:44 ` Rob Herring
2026-01-14 16:18   ` Herve Codina [this message]
2026-01-19  6:00     ` David Gibson
2026-01-27 15:19       ` Herve Codina
2026-01-27 22:06         ` Rob Herring
2026-01-29  5:08           ` David Gibson
2026-01-15  0:08 ` David Gibson
2026-01-15  7:11   ` David Gibson

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=20260114171822.2a44d2a5@bootlin.com \
    --to=herve.codina@bootlin.com \
    --cc=ayush@beagleboard.org \
    --cc=conor+dt@kernel.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=devicetree-compiler@vger.kernel.org \
    --cc=devicetree-spec@vger.kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=hui.pu@gehealthcare.com \
    --cc=ian.ray@gehealthcare.com \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.ceresoli@bootlin.com \
    --cc=robh@kernel.org \
    --cc=saravanak@kernel.org \
    --cc=thomas.petazzoni@bootlin.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox