EXPORT_SYMBOL_GPL(drm_bridge_hpd_notify);
#ifdef CONFIG_OF
+/**
+ * of_drm_find_and_get_bridge - find the bridge corresponding to the device
+ * node in the global bridge list
+ * @np: device node
+ *
+ * The refcount of the returned bridge is incremented. Use drm_bridge_put()
+ * when done with it.
+ *
+ * RETURNS:
+ * drm_bridge control struct on success, NULL on failure
+ */
+struct drm_bridge *of_drm_find_and_get_bridge(struct device_node *np)
+{
+ struct drm_bridge *bridge;
+
+ scoped_guard(mutex, &bridge_lock) {
+ list_for_each_entry(bridge, &bridge_list, list)
+ if (bridge->of_node == np)
+ return drm_bridge_get(bridge);
+ }
+
+ return NULL;
+}
+EXPORT_SYMBOL(of_drm_find_and_get_bridge);
+
/**
* of_drm_find_bridge - find the bridge corresponding to the device node in
* the global bridge list
enum drm_bridge_attach_flags flags);
#ifdef CONFIG_OF
+struct drm_bridge *of_drm_find_and_get_bridge(struct device_node *np);
struct drm_bridge *of_drm_find_bridge(struct device_node *np);
#else
+static inline struct drm_bridge *of_drm_find_and_get_bridge(struct device_node *np)
+{
+ return NULL;
+}
static inline struct drm_bridge *of_drm_find_bridge(struct device_node *np)
{
return NULL;