summaryrefslogtreecommitdiff
path: root/include/drm/drm_bridge.h
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@collabora.com>2020-01-07 19:58:07 +0100
committerBoris Brezillon <boris.brezillon@collabora.com>2020-01-08 00:34:34 +0100
commit09912635230374bdca2aca620d183f1834b3140c (patch)
tree5f1c735d665cbc85c1932374129b5fba90fbc673 /include/drm/drm_bridge.h
parentb470743bedbacc7552763c0d973abe958aa0ff87 (diff)
downloadlwn-09912635230374bdca2aca620d183f1834b3140c.tar.gz
lwn-09912635230374bdca2aca620d183f1834b3140c.zip
Revert "drm/bridge: Add a drm_bridge_state object"
This reverts commit 6ed7e9625fa6 ("drm/bridge: Add a drm_bridge_state object") which introduced a circular dependency between drm.ko and drm_kms_helper.ko. Looks like the helper/core split is not appropriate and fixing that is not simple. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Acked-by: Neil Armstrong <narmstrong@baylibre.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200107185807.606999-6-boris.brezillon@collabora.com
Diffstat (limited to 'include/drm/drm_bridge.h')
-rw-r--r--include/drm/drm_bridge.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index fc7c71f4de55..694e153a7531 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -25,8 +25,6 @@
#include <linux/list.h>
#include <linux/ctype.h>
-
-#include <drm/drm_atomic.h>
#include <drm/drm_encoder.h>
#include <drm/drm_mode_object.h>
#include <drm/drm_modes.h>
@@ -36,23 +34,6 @@ struct drm_bridge_timings;
struct drm_panel;
/**
- * struct drm_bridge_state - Atomic bridge state object
- * @base: inherit from &drm_private_state
- * @bridge: the bridge this state refers to
- */
-struct drm_bridge_state {
- struct drm_private_state base;
-
- struct drm_bridge *bridge;
-};
-
-static inline struct drm_bridge_state *
-drm_priv_to_bridge_state(struct drm_private_state *priv)
-{
- return container_of(priv, struct drm_bridge_state, base);
-}
-
-/**
* struct drm_bridge_funcs - drm_bridge control functions
*/
struct drm_bridge_funcs {
@@ -357,49 +338,6 @@ struct drm_bridge_funcs {
*/
void (*atomic_post_disable)(struct drm_bridge *bridge,
struct drm_atomic_state *old_state);
-
- /**
- * @atomic_duplicate_state:
- *
- * Duplicate the current bridge state object (which is guaranteed to be
- * non-NULL).
- *
- * The atomic_duplicate_state() is optional. When not implemented the
- * core allocates a drm_bridge_state object and calls
- * &__drm_atomic_helper_bridge_duplicate_state() to initialize it.
- *
- * RETURNS:
- * A valid drm_bridge_state object or NULL if the allocation fails.
- */
- struct drm_bridge_state *(*atomic_duplicate_state)(struct drm_bridge *bridge);
-
- /**
- * @atomic_destroy_state:
- *
- * Destroy a bridge state object previously allocated by
- * &drm_bridge_funcs.atomic_duplicate_state().
- *
- * The atomic_destroy_state hook is optional. When not implemented the
- * core calls kfree() on the state.
- */
- void (*atomic_destroy_state)(struct drm_bridge *bridge,
- struct drm_bridge_state *state);
-
- /**
- * @atomic_reset:
- *
- * Reset the bridge to a predefined state (or retrieve its current
- * state) and return a &drm_bridge_state object matching this state.
- * This function is called at attach time.
- *
- * The atomic_reset hook is optional. When not implemented the core
- * allocates a new state and calls &__drm_atomic_helper_bridge_reset().
- *
- * RETURNS:
- * A valid drm_bridge_state object in case of success, an ERR_PTR()
- * giving the reason of the failure otherwise.
- */
- struct drm_bridge_state *(*atomic_reset)(struct drm_bridge *bridge);
};
/**
@@ -442,8 +380,6 @@ struct drm_bridge_timings {
* struct drm_bridge - central DRM bridge control structure
*/
struct drm_bridge {
- /** @base: inherit from &drm_private_object */
- struct drm_private_obj base;
/** @dev: DRM device this bridge belongs to */
struct drm_device *dev;
/** @encoder: encoder to which this bridge is connected */
@@ -468,12 +404,6 @@ struct drm_bridge {
void *driver_private;
};
-static inline struct drm_bridge *
-drm_priv_to_bridge(struct drm_private_obj *priv)
-{
- return container_of(priv, struct drm_bridge, base);
-}
-
void drm_bridge_add(struct drm_bridge *bridge);
void drm_bridge_remove(struct drm_bridge *bridge);
struct drm_bridge *of_drm_find_bridge(struct device_node *np);
@@ -561,50 +491,6 @@ void drm_atomic_bridge_chain_pre_enable(struct drm_bridge *bridge,
void drm_atomic_bridge_chain_enable(struct drm_bridge *bridge,
struct drm_atomic_state *state);
-void __drm_atomic_helper_bridge_reset(struct drm_bridge *bridge,
- struct drm_bridge_state *state);
-void __drm_atomic_helper_bridge_duplicate_state(struct drm_bridge *bridge,
- struct drm_bridge_state *new);
-
-static inline struct drm_bridge_state *
-drm_atomic_get_bridge_state(struct drm_atomic_state *state,
- struct drm_bridge *bridge)
-{
- struct drm_private_state *obj_state;
-
- obj_state = drm_atomic_get_private_obj_state(state, &bridge->base);
- if (IS_ERR(obj_state))
- return ERR_CAST(obj_state);
-
- return drm_priv_to_bridge_state(obj_state);
-}
-
-static inline struct drm_bridge_state *
-drm_atomic_get_old_bridge_state(struct drm_atomic_state *state,
- struct drm_bridge *bridge)
-{
- struct drm_private_state *obj_state;
-
- obj_state = drm_atomic_get_old_private_obj_state(state, &bridge->base);
- if (!obj_state)
- return NULL;
-
- return drm_priv_to_bridge_state(obj_state);
-}
-
-static inline struct drm_bridge_state *
-drm_atomic_get_new_bridge_state(struct drm_atomic_state *state,
- struct drm_bridge *bridge)
-{
- struct drm_private_state *obj_state;
-
- obj_state = drm_atomic_get_new_private_obj_state(state, &bridge->base);
- if (!obj_state)
- return NULL;
-
- return drm_priv_to_bridge_state(obj_state);
-}
-
#ifdef CONFIG_DRM_PANEL_BRIDGE
struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel);
struct drm_bridge *drm_panel_bridge_add_typed(struct drm_panel *panel,