struct mipi_dsi_device *dsi;
        struct regulator_bulk_data supplies[2];
        struct gpio_desc *reset_gpio;
-       bool prepared;
 };
 
 static inline struct tm5p5_nt35596 *to_tm5p5_nt35596(struct drm_panel *panel)
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
        if (ret < 0) {
                dev_err(dev, "Failed to enable regulators: %d\n", ret);
                return ret;
        }
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = tm5p5_nt35596_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
        regulator_bulk_disable(ARRAY_SIZE(ctx->supplies),
                               ctx->supplies);
 
-       ctx->prepared = false;
        return 0;
 }
 
 
        struct mipi_dsi_device *dsi;
        struct regulator_bulk_data vregs[BF060Y8M_VREG_MAX];
        struct gpio_desc *reset_gpio;
-       bool prepared;
 };
 
 static inline
        struct device *dev = &boe->dsi->dev;
        int ret;
 
-       if (boe->prepared)
-               return 0;
-
        /*
         * Enable EL Driving Voltage first - doing that at the beginning
         * or at the end of the power sequence doesn't matter, so enable
                return ret;
        }
 
-       boe->prepared = true;
        return 0;
 
 err_vci:
        struct device *dev = &boe->dsi->dev;
        int ret;
 
-       if (!boe->prepared)
-               return 0;
-
        ret = boe_bf060y8m_aj0_off(boe);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
        gpiod_set_value_cansleep(boe->reset_gpio, 1);
        ret = regulator_bulk_disable(ARRAY_SIZE(boe->vregs), boe->vregs);
 
-       boe->prepared = false;
        return 0;
 }
 
 
        struct drm_panel panel;
        struct mipi_dsi_device *dsi;
        struct gpio_desc *reset_gpio;
-       bool prepared;
 };
 
 static inline struct jdi_fhd_r63452 *to_jdi_fhd_r63452(struct drm_panel *panel)
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        jdi_fhd_r63452_reset(ctx);
 
        ret = jdi_fhd_r63452_on(ctx);
                return ret;
        }
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = jdi_fhd_r63452_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
 
        gpiod_set_value_cansleep(ctx->reset_gpio, 1);
 
-       ctx->prepared = false;
        return 0;
 }
 
 
 
        int cur_mode;
        u8 last_page;
-       bool prepared;
 };
 
 struct nt35950_panel_mode {
        struct device *dev = &nt->dsi[0]->dev;
        int ret;
 
-       if (nt->prepared)
-               return 0;
-
        ret = regulator_enable(nt->vregs[0].consumer);
        if (ret)
                return ret;
                dev_err(dev, "Failed to initialize panel: %d\n", ret);
                goto end;
        }
-       nt->prepared = true;
 
 end:
        if (ret < 0) {
        struct device *dev = &nt->dsi[0]->dev;
        int ret;
 
-       if (!nt->prepared)
-               return 0;
-
        ret = nt35950_off(nt);
        if (ret < 0)
                dev_err(dev, "Failed to deinitialize panel: %d\n", ret);
        gpiod_set_value_cansleep(nt->reset_gpio, 0);
        regulator_bulk_disable(ARRAY_SIZE(nt->vregs), nt->vregs);
 
-       nt->prepared = false;
        return 0;
 }
 
 
        struct gpio_desc *reset_gpio;
        struct backlight_device *backlight;
        struct regulator *vddio;
-
-       bool prepared;
 };
 
 struct panel_desc {
        struct panel_info *pinfo = to_panel_info(panel);
        int ret;
 
-       if (pinfo->prepared)
-               return 0;
-
        ret = regulator_enable(pinfo->vddio);
        if (ret) {
                dev_err(panel->dev, "failed to enable vddio regulator: %d\n", ret);
                return ret;
        }
 
-       pinfo->prepared = true;
-
        return 0;
 }
 
 {
        struct panel_info *pinfo = to_panel_info(panel);
 
-       if (!pinfo->prepared)
-               return 0;
-
        gpiod_set_value_cansleep(pinfo->reset_gpio, 1);
        regulator_disable(pinfo->vddio);
 
-       pinfo->prepared = false;
-
        return 0;
 }
 
 
        struct drm_panel panel;
        struct gpio_desc *reset_gpio;
        struct regulator *supply;
-       bool prepared;
-       bool enabled;
 };
 
 static const struct drm_display_mode default_mode = {
        dcs_write_seq(ctx, MCS_CMD_MODE_SW, MCS_CMD1_UCS);
 }
 
-static int rm68200_disable(struct drm_panel *panel)
-{
-       struct rm68200 *ctx = panel_to_rm68200(panel);
-
-       if (!ctx->enabled)
-               return 0;
-
-       ctx->enabled = false;
-
-       return 0;
-}
-
 static int rm68200_unprepare(struct drm_panel *panel)
 {
        struct rm68200 *ctx = panel_to_rm68200(panel);
        struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = mipi_dsi_dcs_set_display_off(dsi);
        if (ret)
                dev_warn(panel->dev, "failed to set display off: %d\n", ret);
 
        regulator_disable(ctx->supply);
 
-       ctx->prepared = false;
-
        return 0;
 }
 
        struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_enable(ctx->supply);
        if (ret < 0) {
                dev_err(ctx->dev, "failed to enable supply: %d\n", ret);
 
        msleep(20);
 
-       ctx->prepared = true;
-
-       return 0;
-}
-
-static int rm68200_enable(struct drm_panel *panel)
-{
-       struct rm68200 *ctx = panel_to_rm68200(panel);
-
-       if (ctx->enabled)
-               return 0;
-
-       ctx->enabled = true;
-
        return 0;
 }
 
 }
 
 static const struct drm_panel_funcs rm68200_drm_funcs = {
-       .disable = rm68200_disable,
        .unprepare = rm68200_unprepare,
        .prepare = rm68200_prepare,
-       .enable = rm68200_enable,
        .get_modes = rm68200_get_modes,
 };
 
 
        struct mipi_dsi_device *dsi;
        struct regulator_bulk_data supplies[2];
        struct gpio_desc *reset_gpio;
-
-       bool prepared;
 };
 
 static inline struct
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
        if (ret < 0) {
                dev_err(dev, "Failed to enable regulators: %d\n", ret);
                return ret;
        }
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = s6e88a0_ams452ef01_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
        gpiod_set_value_cansleep(ctx->reset_gpio, 0);
        regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
 
-       ctx->prepared = false;
        return 0;
 }
 
 
        struct regulator *supply;
        struct gpio_desc *reset_gpio;
        const struct drm_display_mode *mode;
-       bool prepared;
 };
 
 static inline
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_enable(ctx->supply);
        if (ret < 0) {
                dev_err(dev, "Failed to enable regulator: %d\n", ret);
                return ret;
        }
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = sofef00_panel_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
 
        regulator_disable(ctx->supply);
 
-       ctx->prepared = false;
        return 0;
 }
 
 
        struct regulator *avdd_supply;
        struct regulator *avee_supply;
        struct gpio_desc *reset_gpio;
-       bool prepared;
 };
 
 static inline struct sharp_ls060 *to_sharp_ls060(struct drm_panel *panel)
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_enable(ctx->vddi_supply);
        if (ret < 0)
                return ret;
                goto err_on;
        }
 
-       ctx->prepared = true;
-
        return 0;
 
 err_on:
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = sharp_ls060_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
 
        regulator_disable(ctx->vddi_supply);
 
-       ctx->prepared = false;
        return 0;
 }
 
 
        struct regulator_bulk_data supplies[3];
        struct gpio_desc *panel_reset_gpio;
        struct gpio_desc *touch_reset_gpio;
-       bool prepared;
        int type;
 };
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
        if (ret < 0) {
                dev_err(dev, "Failed to enable regulators: %d\n", ret);
                return ret;
        }
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = sony_td4353_jdi_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to power off panel: %d\n", ret);
        sony_td4353_assert_reset_gpios(ctx, 0);
        regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
 
-       ctx->prepared = false;
        return 0;
 }
 
 
        struct regulator_bulk_data supplies[2];
        struct gpio_desc *reset_gpio;
        struct gpio_desc *blen_gpio;
-       bool prepared;
-       bool enabled;
 };
 
 static inline
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
        if (ret < 0) {
                dev_err(dev, "Failed to enable regulators: %d\n", ret);
                return ret;
        }
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = truly_nt35521_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
        regulator_bulk_disable(ARRAY_SIZE(ctx->supplies),
                               ctx->supplies);
 
-       ctx->prepared = false;
        return 0;
 }
 
 {
        struct truly_nt35521 *ctx = to_truly_nt35521(panel);
 
-       if (ctx->enabled)
-               return 0;
-
        gpiod_set_value_cansleep(ctx->blen_gpio, 1);
 
-       ctx->enabled = true;
        return 0;
 }
 
 {
        struct truly_nt35521 *ctx = to_truly_nt35521(panel);
 
-       if (!ctx->enabled)
-               return 0;
-
        gpiod_set_value_cansleep(ctx->blen_gpio, 0);
 
-       ctx->enabled = false;
        return 0;
 }
 
 
 };
 
 struct stk_panel {
-       bool prepared;
        const struct drm_display_mode *mode;
        struct backlight_device *backlight;
        struct drm_panel base;
 {
        struct stk_panel *stk = to_stk_panel(panel);
 
-       if (!stk->prepared)
-               return 0;
-
        stk_panel_off(stk);
        regulator_bulk_disable(ARRAY_SIZE(stk->supplies), stk->supplies);
        gpiod_set_value(stk->reset_gpio, 0);
        gpiod_set_value(stk->enable_gpio, 1);
 
-       stk->prepared = false;
-
        return 0;
 }
 
        struct device *dev = &stk->dsi->dev;
        int ret;
 
-       if (stk->prepared)
-               return 0;
-
        gpiod_set_value(stk->reset_gpio, 0);
        gpiod_set_value(stk->enable_gpio, 0);
        ret = regulator_enable(stk->supplies[IOVCC].consumer);
                goto poweroff;
        }
 
-       stk->prepared = true;
-
        return 0;
 
 poweroff:
 
        struct mipi_dsi_device *dsi[2];
 
        const struct nt35597_config *config;
-       bool prepared;
-       bool enabled;
 };
 
 static inline struct truly_nt35597 *panel_to_ctx(struct drm_panel *panel)
        struct truly_nt35597 *ctx = panel_to_ctx(panel);
        int ret;
 
-       if (!ctx->enabled)
-               return 0;
-
        if (ctx->backlight) {
                ret = backlight_disable(ctx->backlight);
                if (ret < 0)
                        dev_err(ctx->dev, "backlight disable failed %d\n", ret);
        }
 
-       ctx->enabled = false;
        return 0;
 }
 
        struct truly_nt35597 *ctx = panel_to_ctx(panel);
        int ret = 0;
 
-       if (!ctx->prepared)
-               return 0;
-
        ctx->dsi[0]->mode_flags = 0;
        ctx->dsi[1]->mode_flags = 0;
 
        if (ret < 0)
                dev_err(ctx->dev, "power_off failed ret = %d\n", ret);
 
-       ctx->prepared = false;
        return ret;
 }
 
        const struct nt35597_config *config;
        u32 num_cmds;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = truly_35597_power_on(ctx);
        if (ret < 0)
                return ret;
        /* Per DSI spec wait 120ms after sending set_display_on DCS command */
        msleep(120);
 
-       ctx->prepared = true;
-
        return 0;
 
 power_off:
        struct truly_nt35597 *ctx = panel_to_ctx(panel);
        int ret;
 
-       if (ctx->enabled)
-               return 0;
-
        if (ctx->backlight) {
                ret = backlight_enable(ctx->backlight);
                if (ret < 0)
                        dev_err(ctx->dev, "backlight enable failed %d\n", ret);
        }
 
-       ctx->enabled = true;
-
        return 0;
 }
 
 
        struct mipi_dsi_device *dsi;
        struct gpio_desc *reset_gpio;
        struct regulator_bulk_data supplies[2];
-       bool prepared, enabled;
 };
 
 static inline struct visionox_r66451 *to_visionox_r66451(struct drm_panel *panel)
        struct device *dev = &dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies),
                                    ctx->supplies);
        if (ret < 0)
 
        mipi_dsi_compression_mode(ctx->dsi, true);
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = visionox_r66451_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
        gpiod_set_value_cansleep(ctx->reset_gpio, 1);
        regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
 
-       ctx->prepared = false;
        return 0;
 }
 
        struct drm_dsc_picture_parameter_set pps;
        int ret;
 
-       if (ctx->enabled)
-               return 0;
-
        if (!dsi->dsc) {
                dev_err(&dsi->dev, "DSC not attached to DSI\n");
                return -ENODEV;
        }
        msleep(20);
 
-       ctx->enabled = true;
-
        return 0;
 }
 
        struct device *dev = &dsi->dev;
        int ret;
 
-       ctx->enabled = false;
-
        ret = mipi_dsi_dcs_set_display_off(dsi);
        if (ret < 0) {
                dev_err(dev, "Failed to set display off: %d\n", ret);
 
        struct regulator_bulk_data supplies[2];
        struct gpio_desc *reset_gpio;
        struct mipi_dsi_device *dsi;
-       bool prepared;
-       bool enabled;
 };
 
 static inline struct visionox_rm69299 *panel_to_ctx(struct drm_panel *panel)
 
        ret = visionox_rm69299_power_off(ctx);
 
-       ctx->prepared = false;
        return ret;
 }
 
        struct visionox_rm69299 *ctx = panel_to_ctx(panel);
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = visionox_rm69299_power_on(ctx);
        if (ret < 0)
                return ret;
        /* Per DSI spec wait 120ms after sending set_display_on DCS command */
        msleep(120);
 
-       ctx->prepared = true;
-
        return 0;
 
 power_off:
 
        struct mipi_dsi_device *dsi;
        struct gpio_desc *reset_gpio;
        struct regulator_bulk_data supplies[3];
-       bool prepared;
 };
 
 static inline struct visionox_vtdr6130 *to_visionox_vtdr6130(struct drm_panel *panel)
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (ctx->prepared)
-               return 0;
-
        ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies),
                                    ctx->supplies);
        if (ret < 0)
                return ret;
        }
 
-       ctx->prepared = true;
        return 0;
 }
 
        struct device *dev = &ctx->dsi->dev;
        int ret;
 
-       if (!ctx->prepared)
-               return 0;
-
        ret = visionox_vtdr6130_off(ctx);
        if (ret < 0)
                dev_err(dev, "Failed to un-initialize panel: %d\n", ret);
 
        regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
 
-       ctx->prepared = false;
        return 0;
 }