public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] of-platdata: improve documentation
@ 2019-01-07 19:23 Simon Goldschmidt
  2019-01-10 12:56 ` Simon Glass
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Goldschmidt @ 2019-01-07 19:23 UTC (permalink / raw)
  To: u-boot

Improve some things in the documentation of OF_PLATDATA that I found
while porting socfgpa_gen5 to it.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
---

 doc/driver-model/of-plat.txt | 18 ++++++++++++------
 dts/Kconfig                  |  6 ++----
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/doc/driver-model/of-plat.txt b/doc/driver-model/of-plat.txt
index 732bc34f06..ecb5f1724b 100644
--- a/doc/driver-model/of-plat.txt
+++ b/doc/driver-model/of-plat.txt
@@ -69,12 +69,12 @@ How it works
 ------------
 
 The feature is enabled by CONFIG SPL_OF_PLATDATA. This is only available
-in SPL and should be tested with:
+in SPL/TPL and should be tested with:
 
         #if CONFIG_IS_ENABLED(SPL_OF_PLATDATA)
 
 A new tool called 'dtoc' converts a device tree file either into a set of
-struct declarations, one for each compatible node, or a set of
+struct declarations, one for each compatible node, and a set of
 U_BOOT_DEVICE() declarations along with the actual platform data for each
 device. As an example, consider this MMC node:
 
@@ -156,6 +156,12 @@ This avoids the code overhead of converting the device tree data to
 platform data in the driver. The ofdata_to_platdata() method should
 therefore do nothing in such a driver.
 
+Note that for the platform data to be matched with a driver, the 'name'
+property of the U_BOOT_DEVICE() declaration has to match a driver declared
+via U_BOOT_DRIVER(). This effectively means that a U_BOOT_DRIVER() with a
+'name' identical to the devicetree 'compatible' string is needed, so a
+dedicated driver is required for each 'compatible' string.
+
 Where a node has multiple compatible strings, a #define is used to make them
 equivalent, e.g.:
 
@@ -165,8 +171,8 @@ equivalent, e.g.:
 Converting of-platdata to a useful form
 ---------------------------------------
 
-Of course it would be possible use the of-platdata directly in your driver
-whenever configuration information is required. However this meands that the
+Of course it would be possible to use the of-platdata directly in your driver
+whenever configuration information is required. However this means that the
 driver will not be able to support device tree, since the of-platdata
 structure is not available when device tree is used. It would make no sense
 to use this structure if device tree were available, since the structure has
@@ -282,8 +288,8 @@ prevents them being used inadvertently. All usage must be bracketed with
 The dt-platdata.c file contains the device declarations and is is built in
 spl/dt-platdata.c.
 
-Some phandles (thsoe that are recognised as such) are converted into
-points to platform data. This pointer can potentially be used to access the
+Some phandles (those that are recognised as such) are converted into
+pointer to platform data. This pointer can potentially be used to access the
 referenced device (by searching for the pointer value). This feature is not
 yet implemented, however.
 
diff --git a/dts/Kconfig b/dts/Kconfig
index 8917f42444..3e85914d11 100644
--- a/dts/Kconfig
+++ b/dts/Kconfig
@@ -265,8 +265,7 @@ config SPL_OF_PLATDATA
 
 	  This option works by generating C structure declarations for each
 	  compatible string, then adding platform data and U_BOOT_DEVICE
-	  declarations for each node. See README.platdata for more
-	  information.
+	  declarations for each node. See of-plat.txt for more information.
 
 config TPL_OF_PLATDATA
 	bool "Generate platform data for use in TPL"
@@ -287,8 +286,7 @@ config TPL_OF_PLATDATA
 
 	  This option works by generating C structure declarations for each
 	  compatible string, then adding platform data and U_BOOT_DEVICE
-	  declarations for each node. See README.platdata for more
-	  information.
+	  declarations for each node. See of-plat.txt for more information.
 
 endmenu
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] of-platdata: improve documentation
  2019-01-07 19:23 [U-Boot] [PATCH] of-platdata: improve documentation Simon Goldschmidt
@ 2019-01-10 12:56 ` Simon Glass
  2019-01-11  7:35   ` Simon Goldschmidt
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Glass @ 2019-01-10 12:56 UTC (permalink / raw)
  To: u-boot

On Mon, 7 Jan 2019 at 12:23, Simon Goldschmidt
<simon.k.r.goldschmidt@gmail.com> wrote:
>
> Improve some things in the documentation of OF_PLATDATA that I found
> while porting socfgpa_gen5 to it.
>
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
> ---
>
>  doc/driver-model/of-plat.txt | 18 ++++++++++++------
>  dts/Kconfig                  |  6 ++----
>  2 files changed, 14 insertions(+), 10 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

>
> diff --git a/doc/driver-model/of-plat.txt b/doc/driver-model/of-plat.txt
> index 732bc34f06..ecb5f1724b 100644
> --- a/doc/driver-model/of-plat.txt
> +++ b/doc/driver-model/of-plat.txt
> @@ -69,12 +69,12 @@ How it works
>  ------------
>
>  The feature is enabled by CONFIG SPL_OF_PLATDATA. This is only available
> -in SPL and should be tested with:
> +in SPL/TPL and should be tested with:
>
>          #if CONFIG_IS_ENABLED(SPL_OF_PLATDATA)

Actually that seems wrong. Shouldn't it omit the SPL_ part?

>
>  A new tool called 'dtoc' converts a device tree file either into a set of
> -struct declarations, one for each compatible node, or a set of
> +struct declarations, one for each compatible node, and a set of
>  U_BOOT_DEVICE() declarations along with the actual platform data for each
>  device. As an example, consider this MMC node:
>
> @@ -156,6 +156,12 @@ This avoids the code overhead of converting the device tree data to
>  platform data in the driver. The ofdata_to_platdata() method should
>  therefore do nothing in such a driver.
>
> +Note that for the platform data to be matched with a driver, the 'name'
> +property of the U_BOOT_DEVICE() declaration has to match a driver declared
> +via U_BOOT_DRIVER(). This effectively means that a U_BOOT_DRIVER() with a
> +'name' identical to the devicetree 'compatible' string is needed, so a
> +dedicated driver is required for each 'compatible' string.

Not identical - e.g. hyphens change to underscores.

> +
>  Where a node has multiple compatible strings, a #define is used to make them
>  equivalent, e.g.:
>
> @@ -165,8 +171,8 @@ equivalent, e.g.:
>  Converting of-platdata to a useful form
>  ---------------------------------------
>
> -Of course it would be possible use the of-platdata directly in your driver
> -whenever configuration information is required. However this meands that the
> +Of course it would be possible to use the of-platdata directly in your driver
> +whenever configuration information is required. However this means that the
>  driver will not be able to support device tree, since the of-platdata
>  structure is not available when device tree is used. It would make no sense
>  to use this structure if device tree were available, since the structure has
> @@ -282,8 +288,8 @@ prevents them being used inadvertently. All usage must be bracketed with
>  The dt-platdata.c file contains the device declarations and is is built in
>  spl/dt-platdata.c.
>
> -Some phandles (thsoe that are recognised as such) are converted into
> -points to platform data. This pointer can potentially be used to access the
> +Some phandles (those that are recognised as such) are converted into
> +pointer to platform data. This pointer can potentially be used to access the

a pointer to platform data


>  referenced device (by searching for the pointer value). This feature is not
>  yet implemented, however.
>
> diff --git a/dts/Kconfig b/dts/Kconfig
> index 8917f42444..3e85914d11 100644
> --- a/dts/Kconfig
> +++ b/dts/Kconfig
> @@ -265,8 +265,7 @@ config SPL_OF_PLATDATA
>
>           This option works by generating C structure declarations for each
>           compatible string, then adding platform data and U_BOOT_DEVICE
> -         declarations for each node. See README.platdata for more
> -         information.
> +         declarations for each node. See of-plat.txt for more information.
>
>  config TPL_OF_PLATDATA
>         bool "Generate platform data for use in TPL"
> @@ -287,8 +286,7 @@ config TPL_OF_PLATDATA
>
>           This option works by generating C structure declarations for each
>           compatible string, then adding platform data and U_BOOT_DEVICE
> -         declarations for each node. See README.platdata for more
> -         information.
> +         declarations for each node. See of-plat.txt for more information.
>
>  endmenu
>
> --
> 2.17.1
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] of-platdata: improve documentation
  2019-01-10 12:56 ` Simon Glass
@ 2019-01-11  7:35   ` Simon Goldschmidt
  2019-01-11  8:26     ` Lukasz Majewski
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Goldschmidt @ 2019-01-11  7:35 UTC (permalink / raw)
  To: u-boot

On Thu, Jan 10, 2019 at 1:57 PM Simon Glass <sjg@chromium.org> wrote:
>
> On Mon, 7 Jan 2019 at 12:23, Simon Goldschmidt
> <simon.k.r.goldschmidt@gmail.com> wrote:
> >
> > Improve some things in the documentation of OF_PLATDATA that I found
> > while porting socfgpa_gen5 to it.
> >
> > Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
> > ---
> >
> >  doc/driver-model/of-plat.txt | 18 ++++++++++++------
> >  dts/Kconfig                  |  6 ++----
> >  2 files changed, 14 insertions(+), 10 deletions(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
> >
> > diff --git a/doc/driver-model/of-plat.txt b/doc/driver-model/of-plat.txt
> > index 732bc34f06..ecb5f1724b 100644
> > --- a/doc/driver-model/of-plat.txt
> > +++ b/doc/driver-model/of-plat.txt
> > @@ -69,12 +69,12 @@ How it works
> >  ------------
> >
> >  The feature is enabled by CONFIG SPL_OF_PLATDATA. This is only available
> > -in SPL and should be tested with:
> > +in SPL/TPL and should be tested with:
> >
> >          #if CONFIG_IS_ENABLED(SPL_OF_PLATDATA)
>
> Actually that seems wrong. Shouldn't it omit the SPL_ part?

Right, didn't catch that.

> >
> >  A new tool called 'dtoc' converts a device tree file either into a set of
> > -struct declarations, one for each compatible node, or a set of
> > +struct declarations, one for each compatible node, and a set of
> >  U_BOOT_DEVICE() declarations along with the actual platform data for each
> >  device. As an example, consider this MMC node:
> >
> > @@ -156,6 +156,12 @@ This avoids the code overhead of converting the device tree data to
> >  platform data in the driver. The ofdata_to_platdata() method should
> >  therefore do nothing in such a driver.
> >
> > +Note that for the platform data to be matched with a driver, the 'name'
> > +property of the U_BOOT_DEVICE() declaration has to match a driver declared
> > +via U_BOOT_DRIVER(). This effectively means that a U_BOOT_DRIVER() with a
> > +'name' identical to the devicetree 'compatible' string is needed, so a
> > +dedicated driver is required for each 'compatible' string.
>
> Not identical - e.g. hyphens change to underscores.

Ehrm, yeah. Seems like I need a V2...

> > +
> >  Where a node has multiple compatible strings, a #define is used to make them
> >  equivalent, e.g.:
> >
> > @@ -165,8 +171,8 @@ equivalent, e.g.:
> >  Converting of-platdata to a useful form
> >  ---------------------------------------
> >
> > -Of course it would be possible use the of-platdata directly in your driver
> > -whenever configuration information is required. However this meands that the
> > +Of course it would be possible to use the of-platdata directly in your driver
> > +whenever configuration information is required. However this means that the
> >  driver will not be able to support device tree, since the of-platdata
> >  structure is not available when device tree is used. It would make no sense
> >  to use this structure if device tree were available, since the structure has
> > @@ -282,8 +288,8 @@ prevents them being used inadvertently. All usage must be bracketed with
> >  The dt-platdata.c file contains the device declarations and is is built in
> >  spl/dt-platdata.c.
> >
> > -Some phandles (thsoe that are recognised as such) are converted into
> > -points to platform data. This pointer can potentially be used to access the
> > +Some phandles (those that are recognised as such) are converted into
> > +pointer to platform data. This pointer can potentially be used to access the
>
> a pointer to platform data

I'll change that as well in V2.

Regards,
Simon

>
> >  referenced device (by searching for the pointer value). This feature is not
> >  yet implemented, however.
> >
> > diff --git a/dts/Kconfig b/dts/Kconfig
> > index 8917f42444..3e85914d11 100644
> > --- a/dts/Kconfig
> > +++ b/dts/Kconfig
> > @@ -265,8 +265,7 @@ config SPL_OF_PLATDATA
> >
> >           This option works by generating C structure declarations for each
> >           compatible string, then adding platform data and U_BOOT_DEVICE
> > -         declarations for each node. See README.platdata for more
> > -         information.
> > +         declarations for each node. See of-plat.txt for more information.
> >
> >  config TPL_OF_PLATDATA
> >         bool "Generate platform data for use in TPL"
> > @@ -287,8 +286,7 @@ config TPL_OF_PLATDATA
> >
> >           This option works by generating C structure declarations for each
> >           compatible string, then adding platform data and U_BOOT_DEVICE
> > -         declarations for each node. See README.platdata for more
> > -         information.
> > +         declarations for each node. See of-plat.txt for more information.
> >
> >  endmenu
> >
> > --
> > 2.17.1
> >

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] of-platdata: improve documentation
  2019-01-11  7:35   ` Simon Goldschmidt
@ 2019-01-11  8:26     ` Lukasz Majewski
  0 siblings, 0 replies; 4+ messages in thread
From: Lukasz Majewski @ 2019-01-11  8:26 UTC (permalink / raw)
  To: u-boot

Hi Simon,

> On Thu, Jan 10, 2019 at 1:57 PM Simon Glass <sjg@chromium.org> wrote:
> >
> > On Mon, 7 Jan 2019 at 12:23, Simon Goldschmidt
> > <simon.k.r.goldschmidt@gmail.com> wrote:  
> > >
> > > Improve some things in the documentation of OF_PLATDATA that I
> > > found while porting socfgpa_gen5 to it.
> > >
> > > Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
> > > ---
> > >
> > >  doc/driver-model/of-plat.txt | 18 ++++++++++++------
> > >  dts/Kconfig                  |  6 ++----
> > >  2 files changed, 14 insertions(+), 10 deletions(-)  
> >
> > Reviewed-by: Simon Glass <sjg@chromium.org>
> >  
> > >
> > > diff --git a/doc/driver-model/of-plat.txt
> > > b/doc/driver-model/of-plat.txt index 732bc34f06..ecb5f1724b 100644
> > > --- a/doc/driver-model/of-plat.txt
> > > +++ b/doc/driver-model/of-plat.txt
> > > @@ -69,12 +69,12 @@ How it works
> > >  ------------
> > >
> > >  The feature is enabled by CONFIG SPL_OF_PLATDATA. This is only
> > > available -in SPL and should be tested with:
> > > +in SPL/TPL and should be tested with:
> > >
> > >          #if CONFIG_IS_ENABLED(SPL_OF_PLATDATA)  
> >
> > Actually that seems wrong. Shouldn't it omit the SPL_ part?  
> 
> Right, didn't catch that.
> 
> > >
> > >  A new tool called 'dtoc' converts a device tree file either into
> > > a set of -struct declarations, one for each compatible node, or a
> > > set of +struct declarations, one for each compatible node, and a
> > > set of U_BOOT_DEVICE() declarations along with the actual
> > > platform data for each device. As an example, consider this MMC
> > > node:
> > >
> > > @@ -156,6 +156,12 @@ This avoids the code overhead of converting
> > > the device tree data to platform data in the driver. The
> > > ofdata_to_platdata() method should therefore do nothing in such a
> > > driver.
> > >
> > > +Note that for the platform data to be matched with a driver, the
> > > 'name' +property of the U_BOOT_DEVICE() declaration has to match
> > > a driver declared +via U_BOOT_DRIVER(). This effectively means
> > > that a U_BOOT_DRIVER() with a +'name' identical to the devicetree
> > > 'compatible' string is needed, so a +dedicated driver is required
> > > for each 'compatible' string.  
> >
> > Not identical - e.g. hyphens change to underscores.  
> 
> Ehrm, yeah. Seems like I need a V2...

If I may add my 2 cents.

Simon, could you add the information regarding what can be done and
what is not yet implemented?

For example - from the other mail I've read that phandles are
supported, but not parent/child relationship.

> 
> > > +
> > >  Where a node has multiple compatible strings, a #define is used
> > > to make them equivalent, e.g.:
> > >
> > > @@ -165,8 +171,8 @@ equivalent, e.g.:
> > >  Converting of-platdata to a useful form
> > >  ---------------------------------------
> > >
> > > -Of course it would be possible use the of-platdata directly in
> > > your driver -whenever configuration information is required.
> > > However this meands that the +Of course it would be possible to
> > > use the of-platdata directly in your driver +whenever
> > > configuration information is required. However this means that
> > > the driver will not be able to support device tree, since the
> > > of-platdata structure is not available when device tree is used.
> > > It would make no sense to use this structure if device tree were
> > > available, since the structure has @@ -282,8 +288,8 @@ prevents
> > > them being used inadvertently. All usage must be bracketed with
> > > The dt-platdata.c file contains the device declarations and is is
> > > built in spl/dt-platdata.c.
> > >
> > > -Some phandles (thsoe that are recognised as such) are converted
> > > into -points to platform data. This pointer can potentially be
> > > used to access the +Some phandles (those that are recognised as
> > > such) are converted into +pointer to platform data. This pointer
> > > can potentially be used to access the  
> >
> > a pointer to platform data  
> 
> I'll change that as well in V2.
> 
> Regards,
> Simon
> 
> >  
> > >  referenced device (by searching for the pointer value). This
> > > feature is not yet implemented, however.
> > >
> > > diff --git a/dts/Kconfig b/dts/Kconfig
> > > index 8917f42444..3e85914d11 100644
> > > --- a/dts/Kconfig
> > > +++ b/dts/Kconfig
> > > @@ -265,8 +265,7 @@ config SPL_OF_PLATDATA
> > >
> > >           This option works by generating C structure
> > > declarations for each compatible string, then adding platform
> > > data and U_BOOT_DEVICE
> > > -         declarations for each node. See README.platdata for more
> > > -         information.
> > > +         declarations for each node. See of-plat.txt for more
> > > information.
> > >
> > >  config TPL_OF_PLATDATA
> > >         bool "Generate platform data for use in TPL"
> > > @@ -287,8 +286,7 @@ config TPL_OF_PLATDATA
> > >
> > >           This option works by generating C structure
> > > declarations for each compatible string, then adding platform
> > > data and U_BOOT_DEVICE
> > > -         declarations for each node. See README.platdata for more
> > > -         information.
> > > +         declarations for each node. See of-plat.txt for more
> > > information.
> > >
> > >  endmenu
> > >
> > > --
> > > 2.17.1
> > >  
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190111/07e62aed/attachment.sig>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-01-11  8:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-07 19:23 [U-Boot] [PATCH] of-platdata: improve documentation Simon Goldschmidt
2019-01-10 12:56 ` Simon Glass
2019-01-11  7:35   ` Simon Goldschmidt
2019-01-11  8:26     ` Lukasz Majewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox