drm/panel: samsung-sofef00: Drop s6e3fc2x01 support
authorCasey Connolly <casey.connolly@linaro.org>
Sat, 19 Apr 2025 16:31:44 +0000 (18:31 +0200)
committerNeil Armstrong <neil.armstrong@linaro.org>
Tue, 22 Apr 2025 07:40:14 +0000 (09:40 +0200)
We never properly supported this panel and always used the wrong init
sequence. Drop support so we can move it to it's own proper driver.

Fixes: 5933baa36e26 ("drm/panel/samsung-sofef00: Add panel for OnePlus 6/T devices")
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250419-drop-s6e3fc2x01-support-v1-1-05edfe0d27aa@ixit.cz
drivers/gpu/drm/panel/panel-samsung-sofef00.c

index e20c85d5d9e10201cdfcb25228a112bb1d928126..210a25afe82bf9fcee0e626ade398913e4c34cef 100644 (file)
@@ -22,7 +22,6 @@ struct sofef00_panel {
        struct mipi_dsi_device *dsi;
        struct regulator *supply;
        struct gpio_desc *reset_gpio;
-       const struct drm_display_mode *mode;
 };
 
 static inline
@@ -131,26 +130,11 @@ static const struct drm_display_mode enchilada_panel_mode = {
        .height_mm = 145,
 };
 
-static const struct drm_display_mode fajita_panel_mode = {
-       .clock = (1080 + 72 + 16 + 36) * (2340 + 32 + 4 + 18) * 60 / 1000,
-       .hdisplay = 1080,
-       .hsync_start = 1080 + 72,
-       .hsync_end = 1080 + 72 + 16,
-       .htotal = 1080 + 72 + 16 + 36,
-       .vdisplay = 2340,
-       .vsync_start = 2340 + 32,
-       .vsync_end = 2340 + 32 + 4,
-       .vtotal = 2340 + 32 + 4 + 18,
-       .width_mm = 68,
-       .height_mm = 145,
-};
-
 static int sofef00_panel_get_modes(struct drm_panel *panel, struct drm_connector *connector)
 {
        struct drm_display_mode *mode;
-       struct sofef00_panel *ctx = to_sofef00_panel(panel);
 
-       mode = drm_mode_duplicate(connector->dev, ctx->mode);
+       mode = drm_mode_duplicate(connector->dev, &enchilada_panel_mode);
        if (!mode)
                return -ENOMEM;
 
@@ -211,13 +195,6 @@ static int sofef00_panel_probe(struct mipi_dsi_device *dsi)
        if (!ctx)
                return -ENOMEM;
 
-       ctx->mode = of_device_get_match_data(dev);
-
-       if (!ctx->mode) {
-               dev_err(dev, "Missing device mode\n");
-               return -ENODEV;
-       }
-
        ctx->supply = devm_regulator_get(dev, "vddio");
        if (IS_ERR(ctx->supply))
                return dev_err_probe(dev, PTR_ERR(ctx->supply),
@@ -267,14 +244,7 @@ static void sofef00_panel_remove(struct mipi_dsi_device *dsi)
 }
 
 static const struct of_device_id sofef00_panel_of_match[] = {
-       { // OnePlus 6 / enchilada
-               .compatible = "samsung,sofef00",
-               .data = &enchilada_panel_mode,
-       },
-       { // OnePlus 6T / fajita
-               .compatible = "samsung,s6e3fc2x01",
-               .data = &fajita_panel_mode,
-       },
+       { .compatible = "samsung,sofef00" },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, sofef00_panel_of_match);