}
 
 /* bridge funcs */
-static void lt9611_bridge_enable(struct drm_bridge *bridge)
+static void
+lt9611_bridge_atomic_enable(struct drm_bridge *bridge,
+                           struct drm_bridge_state *old_bridge_state)
 {
        struct lt9611 *lt9611 = bridge_to_lt9611(bridge);
 
        regmap_write(lt9611->regmap, 0x8130, 0xea);
 }
 
-static void lt9611_bridge_disable(struct drm_bridge *bridge)
+static void
+lt9611_bridge_atomic_disable(struct drm_bridge *bridge,
+                            struct drm_bridge_state *old_bridge_state)
 {
        struct lt9611 *lt9611 = bridge_to_lt9611(bridge);
        int ret;
        lt9611->sleep = false;
 }
 
-static void lt9611_bridge_post_disable(struct drm_bridge *bridge)
+static void
+lt9611_bridge_atomic_post_disable(struct drm_bridge *bridge,
+                                 struct drm_bridge_state *old_bridge_state)
 {
        struct lt9611 *lt9611 = bridge_to_lt9611(bridge);
 
 static const struct drm_bridge_funcs lt9611_bridge_funcs = {
        .attach = lt9611_bridge_attach,
        .mode_valid = lt9611_bridge_mode_valid,
-       .enable = lt9611_bridge_enable,
-       .disable = lt9611_bridge_disable,
-       .post_disable = lt9611_bridge_post_disable,
        .mode_set = lt9611_bridge_mode_set,
        .detect = lt9611_bridge_detect,
        .get_edid = lt9611_bridge_get_edid,
        .hpd_enable = lt9611_bridge_hpd_enable,
+
+       .atomic_enable = lt9611_bridge_atomic_enable,
+       .atomic_disable = lt9611_bridge_atomic_disable,
+       .atomic_post_disable = lt9611_bridge_atomic_post_disable,
+       .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
+       .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
+       .atomic_reset = drm_atomic_helper_bridge_reset,
 };
 
 static int lt9611_parse_dt(struct device *dev,