linux/drivers/gpu/drm/sun4i
Julia Lawall 4bb0e6d725
drm/sun4i: backend: add missing of_node_puts
The device node iterators perform an of_node_get on each
iteration, so a jump out of the loop requires an of_node_put.

Remote and port also have augmented reference counts, so drop them
on each iteration and at the end of the function, respectively.
Remote is only used for the address it contains, not for the
contents of that address, so the reference count can be dropped
immediately.

The semantic patch that fixes the first part of this problem is
as follows (http://coccinelle.lip6.fr):

// <smpl>
@@
expression root,e;
local idexpression child;
iterator name for_each_child_of_node;
@@

 for_each_available_child_of_node(root, child) {
   ... when != of_node_put(child)
       when != e = child
+  of_node_put(child);
?  break;
   ...
}
... when != child
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1547369264-24831-5-git-send-email-Julia.Lawall@lip6.fr
2019-01-15 21:46:10 +01:00
..
Kconfig drm/sun4i: fix build failure with CONFIG_DRM_SUN8I_MIXER=m 2018-07-12 09:35:19 +02:00
Makefile BackMerge v4.18-rc7 into drm-next 2018-07-30 10:39:22 +10:00
sun4i_backend.c drm/sun4i: backend: add missing of_node_puts 2019-01-15 21:46:10 +01:00
sun4i_backend.h drm/sun4i: Pass modifier to backend and frontend format support helpers 2018-11-27 10:12:56 +01:00
sun4i_crtc.c drm/sun4i: Use drm_crtc_mask() 2018-07-02 18:45:56 +03:00
sun4i_crtc.h
sun4i_dotclock.c drm/sun4i: Fix an ulong overflow in the dotclock driver 2018-10-19 11:50:25 +02:00
sun4i_dotclock.h
sun4i_drv.c drm/sun4i: Add compatible for H6 display engine 2018-12-04 08:46:28 +01:00
sun4i_drv.h drm/sun4i: Add a driver for the display frontend 2018-01-22 15:15:38 +01:00
sun4i_framebuffer.c drm/sun4i: Use drm_fbdev_generic_setup() 2018-11-01 15:25:11 +01:00
sun4i_framebuffer.h drm/sun4i: Use drm_fbdev_generic_setup() 2018-11-01 15:25:11 +01:00
sun4i_frontend.c drm/sun4i: Pass modifier to backend and frontend format support helpers 2018-11-27 10:12:56 +01:00
sun4i_frontend.h drm/sun4i: Pass modifier to backend and frontend format support helpers 2018-11-27 10:12:56 +01:00
sun4i_hdmi_ddc_clk.c
sun4i_hdmi_enc.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun4i_hdmi_i2c.c
sun4i_hdmi_tmds_clk.c drm/sun4i: hdmi: Fix double flag assignation 2018-10-29 14:19:51 +01:00
sun4i_hdmi.h
sun4i_layer.c drm/sun4i: frontend: Add support for the BGRX8888 input format 2018-11-27 09:56:53 +01:00
sun4i_layer.h drm/sun4i: backend: Assign the pipes automatically 2018-02-22 16:19:52 +01:00
sun4i_lvds.c drm/sun4i: tcon: fix check of tcon->panel null pointer 2018-10-08 11:20:50 +02:00
sun4i_lvds.h drm/sun4i: Add LVDS support 2018-01-04 20:37:17 +01:00
sun4i_rgb.c drm/sun4i: tcon: fix check of tcon->panel null pointer 2018-10-08 11:20:50 +02:00
sun4i_rgb.h
sun4i_tcon.c drm/sun4i: tcon: Support an active-low DE signal with RGB interface 2018-11-09 08:31:28 +01:00
sun4i_tcon.h drm/sun4i: tcon: Support an active-low DE signal with RGB interface 2018-11-09 08:31:28 +01:00
sun4i_tv.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun6i_drc.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
sun6i_mipi_dphy.c drm/sun4i: Add Allwinner A31 MIPI-DSI controller support 2018-04-11 13:19:17 +02:00
sun6i_mipi_dsi.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sun6i_mipi_dsi.h drm/sun4i: Add Allwinner A31 MIPI-DSI controller support 2018-04-11 13:19:17 +02:00
sun8i_csc.c drm/sun4i: Add basic support for DE3 2018-11-05 11:48:23 +01:00
sun8i_csc.h drm/sun4i: Add DE2 CSC library 2017-12-05 13:22:44 +01:00
sun8i_dw_hdmi.c drm/sun4i: Add support for Synopsys HDMI PHY 2018-11-05 11:49:05 +01:00
sun8i_dw_hdmi.h drm/sun4i: Add support for Synopsys HDMI PHY 2018-11-05 11:49:05 +01:00
sun8i_hdmi_phy_clk.c drm/sun4i: Add support for second clock parent to DW HDMI PHY clk driver 2018-06-27 21:44:02 +02:00
sun8i_hdmi_phy.c drm/sun4i: Add support for H6 HDMI PHY 2018-11-05 11:49:05 +01:00
sun8i_mixer.c drm/sun4i: Add support for H6 DE3 mixer 0 2018-11-05 11:49:03 +01:00
sun8i_mixer.h drm/sun4i: Add basic support for DE3 2018-11-05 11:48:23 +01:00
sun8i_tcon_top.c drm: sun4i: add support for H6 TCON TOP 2018-11-05 11:49:06 +01:00
sun8i_tcon_top.h drm/sun4i: tcon-top: Add helpers for mux switching 2018-07-11 09:54:54 +02:00
sun8i_ui_layer.c drm/sun4i: wait on implicit fence before display 2018-11-22 10:07:26 +01:00
sun8i_ui_layer.h drm/sun4i: Rework DE2 register defines 2018-11-05 10:34:43 +01:00
sun8i_ui_scaler.c drm/sun4i: Add basic support for DE3 2018-11-05 11:48:23 +01:00
sun8i_ui_scaler.h drm/sun4i: Add basic support for DE3 2018-11-05 11:48:23 +01:00
sun8i_vi_layer.c drm/sun4i: wait on implicit fence before display 2018-11-22 10:07:26 +01:00
sun8i_vi_layer.h drm/sun4i: Add basic support for DE3 2018-11-05 11:48:23 +01:00
sun8i_vi_scaler.c drm/sun4i: Add basic support for DE3 2018-11-05 11:48:23 +01:00
sun8i_vi_scaler.h drm/sun4i: Add basic support for DE3 2018-11-05 11:48:23 +01:00
sunxi_engine.h drm/sun4i: Fix build warnings in sunxi_engine.h 2018-01-23 10:45:01 +01:00