Hi Liu Ying , Philipp: On 2015?01?07? 10:39, Liu Ying wrote: > > On 12/05/2014 02:22 PM, Andy Yan wrote: >> >> We found Freescale imx6 and Rockchip rk3288 and Ingenic JZ4780 >> (Xburst/MIPS) >> use the interface compatible Designware HDMI IP, but they also have some >> lightly differences, such as phy pll configuration, register >> width(imx hdmi >> register is one byte, but rk3288 is 4 bytes width and can only be >> accessed >> by word), 4K support(imx6 doesn't support 4k, but rk3288 does), and >> HDMI2.0 >> support. >> >> To reuse the imx-hdmi driver, we make this patch set: >> (1): fix some CodingStyle warning to make checkpatch happy >> (2): convert imx-hdmi to drm_bridge >> (3): split platform specific code >> (4): move imx-hdmi to bridge/dw_hdmi >> (5): extend dw_hdmi.c to support rk3288 hdmi >> (6): add rockchip rk3288 platform specific code dw_hdmi-rockchip.c >> >> Changes in v18: >> - remove a multiple blank lines in imx-hdmi.c >> - fix a checkpatch warning in imx-hdmi_pltfm.c >> - add port bindings >> - correct some spelling mistakes in dw_hdmi bindings doc >> - correct some spelling mistakes in dw_hdmi-rockchip bindings doc >> >> Changes in v17: >> - remove platform device stuff, adviced by Russell King >> - remove prompt message of dw_hdmi, adviced by Russel King >> - parse resource and irq in platform driver >> >> Changes in v16: >> - use the common binding for the clocks >> - describe ddc-i2c-bus as optional >> - add common clocks bindings >> - modify clocks bindings >> - descrbie ddc-i2c-bus as optional >> >> Changes in v15: >> - add prefix dw_hdmi/DW_HDMI for public used dw_hdmi structs >> adviced by Philipp Zabel >> - remove THIS_MODULE in platform driver >> - remove unio of the multi-byte register access, adviced by Philipp >> Zabel >> - remove THIS_MODULE in platform driver >> >> Changes in v14: >> - add defer probing, adviced by Philipp Zabel >> - remove drm_connector_register, because imx-drm core has registered >> connector >> >> Changes in v13: >> - patch against drm-next >> - split platform specific phy configuration >> - split phy configuration from patch#4 >> >> Changes in v12: >> - refactor of_node_put(ddc_node) >> - squash patch <convert dw_hdmi to drm_bridge> >> - add comment for the depend on patch >> >> Changes in v11: >> - squash patch <split some phy configuration to platform driver> >> >> Changes in v10: >> - split generic dw_hdmi.c improvements from patch#11 (add rk3288 >> support) >> - add more display mode support mpll configuration for rk3288 >> >> Changes in v9: >> - move some phy configuration to platform driver >> >> Changes in v8: >> - correct some spelling mistake >> - modify ddc-i2c-bus and interrupt description >> - Add documentation for rockchip dw hdmi >> >> Changes in v7: >> - remove unused variables from structure dw_hdmi >> - remove a wrong modification >> - add copyrights for dw_hdmi-imx.c >> >> Changes in v6: >> - rearrange the patch order >> - refactor register access without reg_shift >> >> Changes in v5: >> - refactor reg-io-width >> >> Changes in v4: >> - fix checkpatch CHECK >> - defer probe ddc i2c adapter >> >> Changes in v3: >> - split multi-register access to one indepent patch >> >> Andy Yan (12): >> drm: imx: imx-hdmi: make checkpatch happy >> drm: imx: imx-hdmi: return defer if can't get ddc i2c adapter >> drm: imx: imx-hdmi: convert imx-hdmi to drm_bridge mode >> drm: imx: imx-hdmi: split phy configuration to platform driver >> drm: imx: imx-hdmi: move imx-hdmi to bridge/dw_hdmi >> dt-bindings: add document for dw_hdmi >> drm: bridge/dw_hdmi: add support for multi-byte register width access >> drm: bridge/dw_hdmi: add mode_valid support >> drm: bridge/dw_hdmi: clear i2cmphy_stat0 reg in >> hdmi_phy_wait_i2c_done >> drm: bridge/dw_hdmi: add function dw_hdmi_phy_enable_spare >> dt-bindings: Add documentation for rockchip dw hdmi >> drm: bridge/dw_hdmi: add rockchip rk3288 support >> >> .../devicetree/bindings/drm/bridge/dw_hdmi.txt | 50 ++ >> .../devicetree/bindings/video/dw_hdmi-rockchip.txt | 46 ++ >> drivers/gpu/drm/bridge/Kconfig | 5 + >> drivers/gpu/drm/bridge/Makefile | 1 + >> .../gpu/drm/{imx/imx-hdmi.c => bridge/dw_hdmi.c} | 717 >> ++++++++++----------- >> .../gpu/drm/{imx/imx-hdmi.h => bridge/dw_hdmi.h} | 4 +- >> drivers/gpu/drm/imx/Kconfig | 1 + >> drivers/gpu/drm/imx/Makefile | 2 +- >> drivers/gpu/drm/imx/dw_hdmi-imx.c | 258 ++++++++ >> drivers/gpu/drm/rockchip/Kconfig | 10 + >> drivers/gpu/drm/rockchip/Makefile | 2 + >> drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 341 ++++++++++ >> include/drm/bridge/dw_hdmi.h | 61 ++ >> 13 files changed, 1111 insertions(+), 387 deletions(-) >> create mode 100644 >> Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt >> create mode 100644 >> Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt >> rename drivers/gpu/drm/{imx/imx-hdmi.c => bridge/dw_hdmi.c} (72%) >> rename drivers/gpu/drm/{imx/imx-hdmi.h => bridge/dw_hdmi.h} (99%) >> create mode 100644 drivers/gpu/drm/imx/dw_hdmi-imx.c >> create mode 100644 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c >> create mode 100644 include/drm/bridge/dw_hdmi.h >> > > After applying this series, I find there is a build break issue with the > allmodconfig configuration for the ARM architecture. > Please fix this. > > drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c:243:1: error: > ?__mod_of__dw_hdmi_rockchip_dt_ids_device_table? aliased to undefined > symbol ?dw_hdmi_rockchip_dt_ids? > scripts/Makefile.build:257: recipe for target > 'drivers/gpu/drm/rockchip/dw_hdmi-rockchip.o' failed > make[4]: *** [drivers/gpu/drm/rockchip/dw_hdmi-rockchip.o] Error 1 > scripts/Makefile.build:402: recipe for target > 'drivers/gpu/drm/rockchip' failed > make[3]: *** [drivers/gpu/drm/rockchip] Error 2 > scripts/Makefile.build:402: recipe for target 'drivers/gpu/drm' failed > make[2]: *** [drivers/gpu/drm] Error 2 > scripts/Makefile.build:402: recipe for target 'drivers/gpu' failed > make[1]: *** [drivers/gpu] Error 2 > Makefile:937: recipe for target 'drivers' failed > make: *** [drivers] Error 2 > > Regards, > Liu Ying > > > Very sorry for these issue, thank you for pointing out it. I will send [PATCH V18.1 12/12] for a fix.