[PATCH v2 0/8] Add of-graph helpers to loop over endpoints and find ports by id

Philipp Zabel
2014-09-10T10:59:01Z

Hi,

this series converts all existing users of of_graph_get_next_endpoint that pass
a non-NULL prev argument to the function and decrement its refcount themselves
to stop doing that. The of_node_put is moved into of_graph_get_next_endpoint
instead.
This allows to add a for_each_endpoint_of_node helper macro to loop over all
endpoints in a device tree node.
The third of patch adds a of_graph_get_port_by_id function to retrieve a port
by its known port id from the device tree.
Finally, the last three patches convert functions in drm_of.c and imx-drm-core.c
to use the for_each_endpoint_of_node macro instead of of_graph_get_next_endpoint.

Changes since v1:
- Added a comment about the child node reference count when breaking out
of the loop of for_each_endpoint_of_node.
- Changed id parameter to of_graph_get_port_by_id to u32
- Simplified of_graph_get_port_by_id as suggested by Laurent,
making use of port id defaulting to 0 if no "reg" property is given.
- Added Laurent's ack to drm_of_find_possible_crtcs patch

The previous version can be found here: https://lkml.org/lkml/2014/8/19/280

regards
Philipp

Philipp Zabel (8):
[media] soc_camera: Do not decrement endpoint node refcount in the
loop
imx-drm: Do not decrement endpoint node refcount in the loop
of: Decrement refcount of previous endpoint in
of_graph_get_next_endpoint
of: Add for_each_endpoint_of_node helper macro
of: Add of_graph_get_port_by_id function
drm: use for_each_endpoint_of_node macro in drm_of_find_possible_crtcs
imx-drm: use for_each_endpoint_of_node macro in
imx_drm_encoder_get_mux_id
imx-drm: use for_each_endpoint_of_node macro in
imx_drm_encoder_parse_of

drivers/gpu/drm/drm_of.c | 8 ++----
drivers/media/platform/soc_camera/soc_camera.c | 2 +-
drivers/of/base.c | 35 ++++++++++++++++++++------
drivers/staging/imx-drm/imx-drm-core.c | 34 ++++++++-----------------
include/linux/of_graph.h | 18 +++++++++++++
5 files changed, 58 insertions(+), 39 deletions(-)

--
2.1.0