[PATCH v2 2/4] drm: panel: Add support for Renesas R61307 based MIPI DSI panel

Svyatoslav Ryhel clamor95 at gmail.com
Mon May 5 11:41:57 UTC 2025


пн, 5 трав. 2025 р. о 10:50 Neil Armstrong <neil.armstrong at linaro.org> пише:
>
> On 03/05/2025 11:41, Svyatoslav Ryhel wrote:
> > R61307 is liquid crystal driver for high-definition amorphous silicon
> > (a-Si) panels and is ideal for tablets and smartphones.
> >
> > Supported compatibles are:
> > - hit,tx13d100vm0eaa
> > - koe,tx13d100vm0eaa
> >
> > Signed-off-by: Svyatoslav Ryhel <clamor95 at gmail.com>
> > ---
> >   drivers/gpu/drm/panel/Kconfig                |  13 +
> >   drivers/gpu/drm/panel/Makefile               |   1 +
> >   drivers/gpu/drm/panel/panel-renesas-r61307.c | 327 +++++++++++++++++++
> >   3 files changed, 341 insertions(+)
> >   create mode 100644 drivers/gpu/drm/panel/panel-renesas-r61307.c
> >
>
> <snip>
>
> > +static int renesas_r61307_probe(struct mipi_dsi_device *dsi)
> > +{
> > +     struct device *dev = &dsi->dev;
> > +     struct renesas_r61307 *priv;
> > +     int ret;
> > +
> > +     priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
> > +     if (!priv)
> > +             return -ENOMEM;
> > +
> > +     priv->vcc_supply = devm_regulator_get(dev, "vcc");
> > +     if (IS_ERR(priv->vcc_supply))
> > +             return dev_err_probe(dev, PTR_ERR(priv->vcc_supply),
> > +                                  "Failed to get vcc-supply\n");
> > +
> > +     priv->iovcc_supply = devm_regulator_get(dev, "iovcc");
> > +     if (IS_ERR(priv->iovcc_supply))
> > +             return dev_err_probe(dev, PTR_ERR(priv->iovcc_supply),
> > +                                  "Failed to get iovcc-supply\n");
> > +
> > +     priv->reset_gpio = devm_gpiod_get_optional(dev, "reset",
> > +                                                GPIOD_OUT_HIGH);
> > +     if (IS_ERR(priv->reset_gpio))
> > +             return dev_err_probe(dev, PTR_ERR(priv->reset_gpio),
> > +                                  "Failed to get reset gpios\n");
> > +
> > +     if (device_property_read_bool(dev, "renesas,inversion"))
> > +             priv->inversion = true;
> > +
> > +     if (device_property_read_bool(dev, "renesas,contrast"))
> > +             priv->dig_cont_adj = true;
> > +
> > +     priv->gamma = 0;
> > +     device_property_read_u32(dev, "renesas,gamma", &priv->gamma);
> > +
> > +     priv->dsi = dsi;
> > +     mipi_dsi_set_drvdata(dsi, priv);
> > +
> > +     dsi->lanes = 4;
> > +     dsi->format = MIPI_DSI_FMT_RGB888;
> > +     dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
> > +                       MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_LPM;
> > +
> > +     drm_panel_init(&priv->panel, dev, &renesas_r61307_panel_funcs,
> > +                    DRM_MODE_CONNECTOR_DSI);
>
> Please switch to devm_drm_panel_alloc()
>

This helper is not available as for 6.15-rc5

> > +
> > +     ret = drm_panel_of_backlight(&priv->panel);
> > +     if (ret)
> > +             return dev_err_probe(dev, ret, "Failed to get backlight\n");
> > +
> > +     drm_panel_add(&priv->panel);
> > +
> <snip>
>
> With that:
> Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>


More information about the dri-devel mailing list