This patchset include a couple of different things - all related to panels. - The panel callbacks are optional - so drop error if callback is not present. - Add support for backlight in drm_panel. This allows us to make much simpler backlight support to most panels. The patchset include conversion of most of the trivial cases. - Drop drm_connector from drm_panel. This change required many changes to most panels and many bridges and display drivers. This is by far the most invasive change in this patchset. - Drop the unused get_timings() callback. No users, so no need to keep it around. With this patchset drm_panel_(attach|detach) are nop's but they are kept for now. A few of these patches has been sent out before - but versioning started again from v1 - as the most patches are new. I have tested the panel-simple changes, and thus some of the infrastructure changes. The testing was done on an earlier iteration - and I ended up submitting this as Laurent and others started to depend on it. Jitao has a patch to add more callbacks, and I wanted the simplification of the callbacks before we add more callbacks. Sam Sam Ravnborg (26): drm/drm_panel: no error when no callback drm/panel: add backlight support drm/panel: simple: use drm_panel backlight support drm: get drm_bridge_panel connector via helper drm/panel: add drm_connector argument to get_modes() drm/panel: decouple connector from drm_panel drm/panel: remove get_timings drm/panel: drop drm_device from drm_panel drm/panel: feiyang-fy07024di26a30d: use drm_panel backlight support drm/panel: ilitek-ili9881c: use drm_panel backlight support drm/panel: innolux-p079zca: use drm_panel backlight support drm/panel: kingdisplay-kd097d04: use drm_panel backlight support drm/panel: lvds: use drm_panel backlight support drm/panel: olimex-lcd-olinuxino: use drm_panel backlight support drm/panel: osd-osd101t2587-53ts: use drm_panel backlight support drm/panel: panasonic-vvx10f034n00: use drm_panel backlight support drm/panel: raydium-rm68200: use drm_panel backlight support drm/panel: rocktech-jh057n00900: use drm_panel backlight support drm/panel: ronbo-rb070d30: use drm_panel backlight support drm/panel: seiko-43wvf1g: use drm_panel backlight support drm/panel: sharp-lq101r1sx01: use drm_panel backlight support drm/panel: sharp-ls043t1le01: use drm_panel backlight support drm/panel: sitronix-st7701: use drm_panel backlight support drm/panel: sitronix-st7789v: use drm_panel backlight support drm/panel: tpo-td028ttec1: use drm_panel backlight support drm/panel: tpo-tpg110: use drm_panel backlight support drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 2 +- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- drivers/gpu/drm/bridge/panel.c | 18 +++- drivers/gpu/drm/bridge/parade-ps8622.c | 2 +- drivers/gpu/drm/bridge/tc358764.c | 2 +- drivers/gpu/drm/bridge/tc358767.c | 2 +- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 2 +- drivers/gpu/drm/drm_panel.c | 96 ++++++++++++++---- drivers/gpu/drm/exynos/exynos_drm_dpi.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_dsi.c | 2 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c | 2 +- drivers/gpu/drm/imx/imx-ldb.c | 2 +- drivers/gpu/drm/imx/parallel-display.c | 2 +- drivers/gpu/drm/mediatek/mtk_dsi.c | 2 +- .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 2 +- drivers/gpu/drm/msm/dsi/dsi_manager.c | 2 +- drivers/gpu/drm/mxsfb/mxsfb_out.c | 2 +- drivers/gpu/drm/omapdrm/omap_connector.c | 3 +- drivers/gpu/drm/panel/panel-arm-versatile.c | 6 +- .../gpu/drm/panel/panel-feiyang-fy07024di26a30d.c | 16 ++- drivers/gpu/drm/panel/panel-ilitek-ili9322.c | 20 ++-- drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 29 ++---- drivers/gpu/drm/panel/panel-innolux-p079zca.c | 45 +++------ drivers/gpu/drm/panel/panel-jdi-lt070me05000.c | 11 ++- drivers/gpu/drm/panel/panel-kingdisplay-kd097d04.c | 43 +++----- drivers/gpu/drm/panel/panel-lg-lb035q02.c | 6 +- drivers/gpu/drm/panel/panel-lg-lg4573.c | 12 +-- drivers/gpu/drm/panel/panel-lvds.c | 46 ++------- drivers/gpu/drm/panel/panel-nec-nl8048hl11.c | 6 +- drivers/gpu/drm/panel/panel-novatek-nt39016.c | 6 +- drivers/gpu/drm/panel/panel-olimex-lcd-olinuxino.c | 27 ++--- drivers/gpu/drm/panel/panel-orisetech-otm8009a.c | 11 ++- drivers/gpu/drm/panel/panel-osd-osd101t2587-53ts.c | 37 +++---- .../gpu/drm/panel/panel-panasonic-vvx10f034n00.c | 58 +++-------- .../gpu/drm/panel/panel-raspberrypi-touchscreen.c | 9 +- drivers/gpu/drm/panel/panel-raydium-rm67191.c | 8 +- drivers/gpu/drm/panel/panel-raydium-rm68200.c | 26 +++-- drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c | 35 +++---- drivers/gpu/drm/panel/panel-ronbo-rb070d30.c | 31 ++---- drivers/gpu/drm/panel/panel-samsung-ld9040.c | 4 +- drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 6 +- drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c | 6 +- drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c | 6 +- drivers/gpu/drm/panel/panel-samsung-s6e63m0.c | 6 +- drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c | 4 +- drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 72 +++----------- drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c | 34 +++---- drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c | 6 +- drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c | 33 +++---- drivers/gpu/drm/panel/panel-simple.c | 110 ++++++--------------- drivers/gpu/drm/panel/panel-sitronix-st7701.c | 23 ++--- drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 49 ++------- drivers/gpu/drm/panel/panel-sony-acx565akm.c | 6 +- drivers/gpu/drm/panel/panel-tpo-td028ttec1.c | 20 ++-- drivers/gpu/drm/panel/panel-tpo-td043mtea1.c | 6 +- drivers/gpu/drm/panel/panel-tpo-tpg110.c | 26 ++--- drivers/gpu/drm/panel/panel-truly-nt35597.c | 4 +- drivers/gpu/drm/pl111/pl111_drv.c | 2 +- drivers/gpu/drm/rcar-du/rcar_lvds.c | 2 +- drivers/gpu/drm/rockchip/rockchip_lvds.c | 2 +- drivers/gpu/drm/sti/sti_dvo.c | 2 +- drivers/gpu/drm/sun4i/sun4i_lvds.c | 2 +- drivers/gpu/drm/sun4i/sun4i_rgb.c | 2 +- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 2 +- drivers/gpu/drm/tegra/output.c | 2 +- drivers/gpu/drm/tve200/tve200_drv.c | 2 +- include/drm/drm_bridge.h | 1 + include/drm/drm_panel.h | 49 ++++----- 68 files changed, 460 insertions(+), 664 deletions(-)