[U-Boot] [PATCH v2 00/25] exynos: video: Convert exynos LCD driver to use driver model

Simon Glass
2016-02-23T06:42:55Z

Hi Minkyu,

On 21 February 2016 at 21:08, Simon Glass <sjg@chromium.org> wrote:
>
> This series converts the exynos LCD driver to work with driver model. Only
> the eDP display is converted - the MIPI display is left mostly alone as I
> do not have a device to test with.
>
> The conversion involves some refactoring to simplify the code, reduce the
> amount of global/static data and allow boards to be built without LCD
> support.
>
> The series is tested with snow, spring, pit and pi. It disables LCD on other
> exynos boards so that they will still build with these changes. Further work
> will be needed (by someone with a board) to convert the others. I am not
> sure when this series can be applied.
>
> The series also brings in device tree features from Linux v4.4. It would be
> useful to do a full sync with the kernel on these files, but this is really
> a job for the Samsung maintainer :-)
>
> The series is available at u-boot-dm/rkg-working.
>
> Changes in v2:
> - Rebase to master
> - Rebase to master
>

What do you think we should do about applying this series?

> Simon Glass (25):
> exynos: video: Move driver files into their own directory
> exynos: video: Drop dead code
> exynos: video: Remove use of vidinfo_t typedef
> exynos: video: Drop the static lcd_base_addr variable
> exynos: video: Drop static variables in exynos_fimd.c
> exynos: video: Drop static variables in exynos_fb.c
> exynos: video: Drop static variables in exynos_dp_lowlevel.c
> exynos: video: Move dsim_config_dt into a function
> exynos: video: Move struct exynos_platform_mipi_dsim into vidinfo
> exynos: video: Move mipi_lcd_device_dt into a function
> exynos: video: Combine LCD driver into one file
> exynos: pwm: Add a driver for the exynos5 PWM
> video: Add an enum for active low/high
> exynos: dts: Add pwm device tree node
> exynos: Allow tizen to be built without an LCD
> exynos: Allow CONFIG_MISC_COMMON to be build without an LCD
> exynos: Disable LCD display for boards we can't convert
> dts: Add clock and regulator binding files for max77802
> exynos: Allow PWM0 pinmux to be set up
> exynos: Simplify calling of exynos_dp_phy_ctrl()
> exynos: dts: Add display-related device tree fragments
> exynos: video: Rename edp_device_info to exynos_dp_priv
> exynos: video: Rename variables for driver model
> exynos: video: Convert several boards to driver model for video
> exynos: video: Drop old unused code
>
> arch/arm/cpu/armv7/s5p-common/timer.c | 3 +
> arch/arm/dts/exynos5.dtsi | 3 +-
> arch/arm/dts/exynos5250-snow.dts | 44 ++
> arch/arm/dts/exynos5250-spring.dts | 53 ++
> arch/arm/dts/exynos5250.dtsi | 7 +
> arch/arm/dts/exynos5420-peach-pit.dts | 55 ++
> arch/arm/dts/exynos54xx.dtsi | 11 +-
> arch/arm/dts/exynos5800-peach-pi.dts | 40 ++
> arch/arm/mach-exynos/include/mach/cpu.h | 2 -
> arch/arm/mach-exynos/include/mach/dp_info.h | 5 +-
> arch/arm/mach-exynos/include/mach/mipi_dsim.h | 10 +-
> arch/arm/mach-exynos/include/mach/power.h | 2 +-
> arch/arm/mach-exynos/pinmux.c | 6 +
> arch/arm/mach-exynos/power.c | 2 +-
> board/samsung/common/board.c | 15 -
> board/samsung/common/exynos5-dt.c | 158 -----
> board/samsung/common/misc.c | 10 +
> board/samsung/trats/trats.c | 2 +
> board/samsung/universal_c210/universal.c | 2 +
> configs/peach-pi_defconfig | 4 +
> configs/peach-pit_defconfig | 4 +
> configs/snow_defconfig | 4 +
> configs/spring_defconfig | 4 +
> drivers/pwm/Kconfig | 9 +
> drivers/pwm/Makefile | 1 +
> drivers/pwm/exynos_pwm.c | 120 ++++
> drivers/video/Makefile | 6 +-
> drivers/video/exynos/Makefile | 12 +
> drivers/video/{ => exynos}/exynos_dp.c | 599 ++++++++++-------
> drivers/video/{ => exynos}/exynos_dp_lowlevel.c | 268 ++++----
> drivers/video/exynos/exynos_dp_lowlevel.h | 89 +++
> drivers/video/exynos/exynos_fb.c | 720 +++++++++++++++++++++
> drivers/video/{ => exynos}/exynos_mipi_dsi.c | 71 +-
> .../video/{ => exynos}/exynos_mipi_dsi_common.c | 6 +-
> .../video/{ => exynos}/exynos_mipi_dsi_common.h | 0
> .../video/{ => exynos}/exynos_mipi_dsi_lowlevel.c | 0
> .../video/{ => exynos}/exynos_mipi_dsi_lowlevel.h | 0
> drivers/video/{ => exynos}/exynos_pwm_bl.c | 0
> drivers/video/exynos_dp_lowlevel.h | 68 --
> drivers/video/exynos_fb.c | 330 ----------
> drivers/video/exynos_fb.h | 41 --
> drivers/video/exynos_fimd.c | 409 ------------
> drivers/video/s6e8ax0.c | 4 +-
> drivers/video/simple_panel.c | 2 +
> include/configs/exynos5-common.h | 1 -
> include/configs/exynos5-dt-common.h | 5 +-
> include/configs/s5pc210_universal.h | 3 -
> include/configs/smdk5250.h | 3 +
> include/configs/smdk5420.h | 4 +
> include/configs/trats.h | 4 -
> include/configs/trats2.h | 4 -
> include/dt-bindings/clock/maxim,max77802.h | 22 +
> include/dt-bindings/regulator/maxim,max77802.h | 18 +
> include/exynos_lcd.h | 4 +-
> include/libtizen.h | 2 +
> include/video.h | 5 +
> lib/tizen/tizen.c | 2 +
> 57 files changed, 1804 insertions(+), 1474 deletions(-)
> create mode 100644 drivers/pwm/exynos_pwm.c
> create mode 100644 drivers/video/exynos/Makefile
> rename drivers/video/{ => exynos}/exynos_dp.c (50%)
> rename drivers/video/{ => exynos}/exynos_dp_lowlevel.c (77%)
> create mode 100644 drivers/video/exynos/exynos_dp_lowlevel.h
> create mode 100644 drivers/video/exynos/exynos_fb.c
> rename drivers/video/{ => exynos}/exynos_mipi_dsi.c (80%)
> rename drivers/video/{ => exynos}/exynos_mipi_dsi_common.c (99%)
> rename drivers/video/{ => exynos}/exynos_mipi_dsi_common.h (100%)
> rename drivers/video/{ => exynos}/exynos_mipi_dsi_lowlevel.c (100%)
> rename drivers/video/{ => exynos}/exynos_mipi_dsi_lowlevel.h (100%)
> rename drivers/video/{ => exynos}/exynos_pwm_bl.c (100%)
> delete mode 100644 drivers/video/exynos_dp_lowlevel.h
> delete mode 100644 drivers/video/exynos_fb.c
> delete mode 100644 drivers/video/exynos_fb.h
> delete mode 100644 drivers/video/exynos_fimd.c
> create mode 100644 include/dt-bindings/clock/maxim,max77802.h
> create mode 100644 include/dt-bindings/regulator/maxim,max77802.h
>
> --
> 2.7.0.rc3.207.g0ac5344
>

Regards,
Simon