Skip to content

Commit 9b5dbf6

Browse files
committed
Merge tag 'drm-misc-fixes-2023-03-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
Short summary of fixes pull: * fixes for bind and probing error handling for meson, lt8912b bridge * panel-orientation fixes for Lenovo Book X90F Signed-off-by: Daniel Vetter <[email protected]> From: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/20230323082401.GA8371@linux-uq9g
2 parents e8d018d + 1a70ca8 commit 9b5dbf6

File tree

3 files changed

+20
-10
lines changed

3 files changed

+20
-10
lines changed

drivers/gpu/drm/bridge/lontium-lt8912b.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,8 @@ static int lt8912_parse_dt(struct lt8912 *lt)
676676

677677
lt->hdmi_port = of_drm_find_bridge(port_node);
678678
if (!lt->hdmi_port) {
679-
dev_err(lt->dev, "%s: Failed to get hdmi port\n", __func__);
680-
ret = -ENODEV;
679+
ret = -EPROBE_DEFER;
680+
dev_err_probe(lt->dev, ret, "%s: Failed to get hdmi port\n", __func__);
681681
goto err_free_host_node;
682682
}
683683

drivers/gpu/drm/drm_panel_orientation_quirks.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -328,10 +328,17 @@ static const struct dmi_system_id orientation_data[] = {
328328
DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "IdeaPad Duet 3 10IGL5"),
329329
},
330330
.driver_data = (void *)&lcd1200x1920_rightside_up,
331-
}, { /* Lenovo Yoga Book X90F / X91F / X91L */
331+
}, { /* Lenovo Yoga Book X90F / X90L */
332332
.matches = {
333-
/* Non exact match to match all versions */
334-
DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X9"),
333+
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
334+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
335+
DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "YETI-11"),
336+
},
337+
.driver_data = (void *)&lcd1200x1920_rightside_up,
338+
}, { /* Lenovo Yoga Book X91F / X91L */
339+
.matches = {
340+
/* Non exact match to match F + L versions */
341+
DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X91"),
335342
},
336343
.driver_data = (void *)&lcd1200x1920_rightside_up,
337344
}, { /* Lenovo Yoga Tablet 2 830F / 830L */

drivers/gpu/drm/meson/meson_drv.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -325,23 +325,23 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
325325

326326
ret = meson_encoder_hdmi_init(priv);
327327
if (ret)
328-
goto exit_afbcd;
328+
goto unbind_all;
329329

330330
ret = meson_plane_create(priv);
331331
if (ret)
332-
goto exit_afbcd;
332+
goto unbind_all;
333333

334334
ret = meson_overlay_create(priv);
335335
if (ret)
336-
goto exit_afbcd;
336+
goto unbind_all;
337337

338338
ret = meson_crtc_create(priv);
339339
if (ret)
340-
goto exit_afbcd;
340+
goto unbind_all;
341341

342342
ret = request_irq(priv->vsync_irq, meson_irq, 0, drm->driver->name, drm);
343343
if (ret)
344-
goto exit_afbcd;
344+
goto unbind_all;
345345

346346
drm_mode_config_reset(drm);
347347

@@ -359,6 +359,9 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
359359

360360
uninstall_irq:
361361
free_irq(priv->vsync_irq, drm);
362+
unbind_all:
363+
if (has_components)
364+
component_unbind_all(drm->dev, drm);
362365
exit_afbcd:
363366
if (priv->afbcd.ops)
364367
priv->afbcd.ops->exit(priv);

0 commit comments

Comments
 (0)