Lines Matching +full:hot +full:- +full:plug
1 // SPDX-License-Identifier: GPL-2.0+
13 #include <drm/bridge/aux-bridge.h>
26 ida_free(&drm_aux_hpd_bridge_ida, adev->id); in drm_aux_hpd_bridge_release()
28 of_node_put(adev->dev.platform_data); in drm_aux_hpd_bridge_release()
29 of_node_put(adev->dev.of_node); in drm_aux_hpd_bridge_release()
40 * devm_drm_dp_hpd_bridge_alloc - allocate a HPD DisplayPort bridge
57 return ERR_PTR(-ENOMEM); in devm_drm_dp_hpd_bridge_alloc()
65 adev->id = ret; in devm_drm_dp_hpd_bridge_alloc()
66 adev->name = "dp_hpd_bridge"; in devm_drm_dp_hpd_bridge_alloc()
67 adev->dev.parent = parent; in devm_drm_dp_hpd_bridge_alloc()
68 adev->dev.release = drm_aux_hpd_bridge_release; in devm_drm_dp_hpd_bridge_alloc()
69 adev->dev.platform_data = of_node_get(np); in devm_drm_dp_hpd_bridge_alloc()
71 device_set_of_node_from_dev(&adev->dev, parent); in devm_drm_dp_hpd_bridge_alloc()
75 of_node_put(adev->dev.platform_data); in devm_drm_dp_hpd_bridge_alloc()
76 of_node_put(adev->dev.of_node); in devm_drm_dp_hpd_bridge_alloc()
77 ida_free(&drm_aux_hpd_bridge_ida, adev->id); in devm_drm_dp_hpd_bridge_alloc()
96 * devm_drm_dp_hpd_bridge_add - register a HDP DisplayPort bridge
115 * drm_dp_hpd_bridge_register - allocate and register a HDP DisplayPort bridge
134 return &adev->dev; in drm_dp_hpd_bridge_register()
139 * drm_aux_hpd_bridge_notify - notify hot plug detection events
143 * A wrapper around drm_bridge_hpd_notify() that is used to report hot plug
156 drm_bridge_hpd_notify(&data->bridge, status); in drm_aux_hpd_bridge_notify()
164 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in drm_aux_hpd_bridge_attach()
176 data = devm_drm_bridge_alloc(&auxdev->dev, in drm_aux_hpd_bridge_probe()
182 data->dev = &auxdev->dev; in drm_aux_hpd_bridge_probe()
183 data->bridge.of_node = dev_get_platdata(data->dev); in drm_aux_hpd_bridge_probe()
184 data->bridge.ops = DRM_BRIDGE_OP_HPD; in drm_aux_hpd_bridge_probe()
185 data->bridge.type = id->driver_data; in drm_aux_hpd_bridge_probe()
188 data->bridge.interlace_allowed = true; in drm_aux_hpd_bridge_probe()
189 data->bridge.ycbcr_420_allowed = true; in drm_aux_hpd_bridge_probe()
193 return devm_drm_bridge_add(data->dev, &data->bridge); in drm_aux_hpd_bridge_probe()