Much of the lvds code for Poulsbo, Oaktrail and Cedarview are almost identical so there is no need to keep three copies of it. Unify as much as possible into one implementation. There are still things like the init code that can be unified but that requires unifying other parts of the driver first. Patrik Jakobsson (19): drm/gma500: Unify *_lvds_get_max_backlight() drm/gma500: Unify *_lvds_set_backlight() drm/gma500: Unify *_lvds_set_power() drm/gma500: Unify *_lvds_mode_valid() drm/gma500: Unify *_lvds_encoder_dpms() drm/gma500: Unify *_intel_lvds_save() drm/gma500: Unify struct *_intel_lvds_priv drm/gma500: Unify *_intel_lvds_restore() drm/gma500: Unify *_intel_lvds_mode_fixup() drm/gma500: Unify *_intel_lvds_prepare() drm/gma500: Unify *_intel_lvds_commit() drm/gma500: Unify *_intel_lvds_mode_set() drm/gma500: Unify struct *_intel_lvds_helper_funcs drm/gma500: Unify *_intel_lvds_get_modes() drm/gma500: Unify struct *_intel_lvds_connector_helper_funcs drm/gma500: Use i2c_bus in gma_encoder for PSB drm/gma500: Unify *_intel_lvds_destroy() drm/gma500: Unify *_intel_lvds_set_property() drm/gma500: Unify struct *_intel_lvds_connector_funcs drivers/gpu/drm/gma500/Makefile | 1 + drivers/gpu/drm/gma500/cdv_intel_lvds.c | 390 +----------------- drivers/gpu/drm/gma500/gma_lvds.c | 462 +++++++++++++++++++++ drivers/gpu/drm/gma500/gma_lvds.h | 38 ++ drivers/gpu/drm/gma500/oaktrail_lvds.c | 112 +----- drivers/gpu/drm/gma500/psb_drv.h | 1 - drivers/gpu/drm/gma500/psb_intel_drv.h | 2 - drivers/gpu/drm/gma500/psb_intel_lvds.c | 507 +----------------------- 8 files changed, 530 insertions(+), 983 deletions(-) create mode 100644 drivers/gpu/drm/gma500/gma_lvds.c create mode 100644 drivers/gpu/drm/gma500/gma_lvds.h -- 2.36.1