mbox series

[v4,0/4] OF phandle nexus support + GPIO nexus

Message ID 20170811154236.12891-1-stephen.boyd@linaro.org
Headers show
Series OF phandle nexus support + GPIO nexus | expand

Message

Stephen Boyd Aug. 11, 2017, 3:42 p.m. UTC
This is a continutation of my phandle remapping/nexus node series
from a while ago. I finally got around to writing the documentation
in the spec for this, but it's really rough around the edges and
could use some review/suggestions to get it into shape. Please
review!

This is one small chunk of work related to DT overlays for expansion
boards. It would be good to have a way to expose #<list>-cells types of
providers through a connector in a standard way. So we introduce a way
to make "nexus" nodes for these types of properties to remap the consumer
number space to the other side of the connector's number space. It's
basically a copy of the interrupt nexus implementation, but without
the address space matching design and interrupt-parent walking.

Changes since v3:
 * Added devicetree spec patch
 * Rebased to v4.13-rc1

Changes since v2:
 * Picked up Linus' ack on the gpio core patch
 * Made const stack arrays static (Rob Herring)
 * Used of_property_read_u32() instead of open coding (Rob Herring)

Changes since v1:
 * Addition of optional pass-thru parameter
 * Reduction of strings passed to 1 instead of 3 (or 4 now)
 * Updated gpio patch for the new function signature
 * Updated test-case for new funciton signature and pass-thru parameter
 * Updated kernel-doc to be correct and highlighted difference between this
   API and of_parse_phandle_with_args()

Stephen Boyd (3):
  Document nexus nodes/specifier remapping
  of: Support parsing phandle argument lists through a nexus node
  of: unittest: Add phandle remapping test
  gpio: Support gpio nexus dt bindings

Kernel:
 drivers/gpio/gpiolib-of.c                   |   4 +-
 drivers/of/base.c                           | 184 ++++++++++++++++++++++++++++
 drivers/of/unittest-data/testcases.dts      |  11 ++
 drivers/of/unittest-data/tests-phandle.dtsi |  25 ++++
 drivers/of/unittest.c                       | 120 ++++++++++++++++++
 include/linux/of.h                          |  12 ++
 6 files changed, 354 insertions(+), 2 deletions(-)

Spec:
 source/devicetree-basics.rst | 208 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 208 insertions(+)

-- 
2.7.4

Comments

Rob Herring Aug. 15, 2017, 8:36 p.m. UTC | #1
On Fri, Aug 11, 2017 at 10:42 AM, Stephen Boyd <stephen.boyd@linaro.org> wrote:
> This is a continutation of my phandle remapping/nexus node series

> from a while ago. I finally got around to writing the documentation

> in the spec for this, but it's really rough around the edges and

> could use some review/suggestions to get it into shape. Please

> review!

>

> This is one small chunk of work related to DT overlays for expansion

> boards. It would be good to have a way to expose #<list>-cells types of

> providers through a connector in a standard way. So we introduce a way

> to make "nexus" nodes for these types of properties to remap the consumer

> number space to the other side of the connector's number space. It's

> basically a copy of the interrupt nexus implementation, but without

> the address space matching design and interrupt-parent walking.


This generally looks good to me. I'm inclined to merge the kernel
parts now and sort the spec addition out afterwards. With no users
yet, we can still tweak things if needed.

I would like to see more comments on this though. Perhaps "OF phandle
nexus" is too obscure. Maybe "Add DT overlay connector bindings" would
trick some people in looking at it...

Rob