aboutsummaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/Kconfig7
-rw-r--r--drivers/video/Makefile1
-rw-r--r--drivers/video/am335x-fb.c12
-rw-r--r--drivers/video/atmel_hlcdfb.c10
-rw-r--r--drivers/video/atmel_lcdfb.c14
-rw-r--r--drivers/video/backlight_gpio.c6
-rw-r--r--drivers/video/bcm2835.c2
-rw-r--r--drivers/video/bridge/anx6345.c10
-rw-r--r--drivers/video/bridge/ps862x.c2
-rw-r--r--drivers/video/bridge/video-bridge-uclass.c2
-rw-r--r--drivers/video/broadwell_igd.c22
-rw-r--r--drivers/video/console_truetype.c2
-rw-r--r--drivers/video/coreboot.c2
-rw-r--r--drivers/video/display-uclass.c6
-rw-r--r--drivers/video/dw_mipi_dsi.c2
-rw-r--r--drivers/video/efi.c2
-rw-r--r--drivers/video/exynos/exynos_dp.c6
-rw-r--r--drivers/video/exynos/exynos_fb.c10
-rw-r--r--drivers/video/fsl_dcu_fb.c4
-rw-r--r--drivers/video/ihs_video_out.c2
-rw-r--r--drivers/video/imx/mxc_ipuv3_fb.c8
-rw-r--r--drivers/video/ivybridge_igd.c4
-rw-r--r--drivers/video/lg4573.c8
-rw-r--r--drivers/video/logicore_dp_tx.c2
-rw-r--r--drivers/video/mali_dp.c6
-rw-r--r--drivers/video/meson/meson_dw_hdmi.c2
-rw-r--r--drivers/video/meson/meson_plane.c2
-rw-r--r--drivers/video/meson/meson_vpu.c6
-rw-r--r--drivers/video/mvebu_lcd.c6
-rw-r--r--drivers/video/mxsfb.c6
-rw-r--r--drivers/video/nexell_display.c27
-rw-r--r--drivers/video/orisetech_otm8009a.c18
-rw-r--r--drivers/video/pwm_backlight.c10
-rw-r--r--drivers/video/raydium-rm68200.c16
-rw-r--r--drivers/video/rockchip/rk3288_hdmi.c12
-rw-r--r--drivers/video/rockchip/rk3288_mipi.c8
-rw-r--r--drivers/video/rockchip/rk3288_vop.c2
-rw-r--r--drivers/video/rockchip/rk3399_hdmi.c10
-rw-r--r--drivers/video/rockchip/rk3399_mipi.c8
-rw-r--r--drivers/video/rockchip/rk3399_vop.c2
-rw-r--r--drivers/video/rockchip/rk_edp.c8
-rw-r--r--drivers/video/rockchip/rk_hdmi.c2
-rw-r--r--drivers/video/rockchip/rk_hdmi.h4
-rw-r--r--drivers/video/rockchip/rk_lvds.c8
-rw-r--r--drivers/video/rockchip/rk_mipi.c2
-rw-r--r--drivers/video/rockchip/rk_vop.c6
-rw-r--r--drivers/video/sandbox_dsi_host.c2
-rw-r--r--drivers/video/sandbox_osd.c2
-rw-r--r--drivers/video/sandbox_sdl.c10
-rw-r--r--drivers/video/seps525.c327
-rw-r--r--drivers/video/simple_panel.c6
-rw-r--r--drivers/video/simplefb.c2
-rw-r--r--drivers/video/stm32/stm32_dsi.c4
-rw-r--r--drivers/video/stm32/stm32_ltdc.c6
-rw-r--r--drivers/video/sunxi/sunxi_de2.c12
-rw-r--r--drivers/video/sunxi/sunxi_dw_hdmi.c6
-rw-r--r--drivers/video/sunxi/sunxi_lcd.c4
-rw-r--r--drivers/video/tda19988.c2
-rw-r--r--drivers/video/tegra.c10
-rw-r--r--drivers/video/tegra124/display.c6
-rw-r--r--drivers/video/tegra124/dp.c14
-rw-r--r--drivers/video/tegra124/sor.c6
-rw-r--r--drivers/video/vesa.c4
-rw-r--r--drivers/video/vidconsole-uclass.c46
-rw-r--r--drivers/video/video-uclass.c37
-rw-r--r--drivers/video/video_bmp.c5
66 files changed, 596 insertions, 232 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 998271b9b6..71363409f0 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -652,6 +652,13 @@ config VIDEO_NX
HDMI. This option enables this support which can be used on devices
which have an eDP display connected.
+config VIDEO_SEPS525
+ bool "Enable video support for Seps525"
+ depends on DM_VIDEO
+ help
+ Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
+ Currently driver is supporting only SPI interface.
+
source "drivers/video/nexell/Kconfig"
config VIDEO
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 67a492a2d6..9db96aa891 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -70,6 +70,7 @@ obj-$(CONFIG_VIDEO_SIMPLE) += simplefb.o
obj-$(CONFIG_VIDEO_TEGRA20) += tegra.o
obj-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
obj-$(CONFIG_VIDEO_VESA) += vesa.o
+obj-$(CONFIG_VIDEO_SEPS525) += seps525.o
obj-y += bridge/
obj-y += sunxi/
diff --git a/drivers/video/am335x-fb.c b/drivers/video/am335x-fb.c
index 2707ff59c7..e99a9185a2 100644
--- a/drivers/video/am335x-fb.c
+++ b/drivers/video/am335x-fb.c
@@ -368,7 +368,7 @@ struct am335x_fb_priv {
static int am335x_fb_remove(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
uc_plat->base -= 0x20;
uc_plat->size += 0x20;
@@ -377,7 +377,7 @@ static int am335x_fb_remove(struct udevice *dev)
static int am335x_fb_probe(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct am335x_fb_priv *priv = dev_get_priv(dev);
struct am335x_lcdhw *regs = priv->regs;
@@ -498,7 +498,7 @@ static int am335x_fb_probe(struct udevice *dev)
return 0;
}
-static int am335x_fb_ofdata_to_platdata(struct udevice *dev)
+static int am335x_fb_of_to_plat(struct udevice *dev)
{
struct am335x_fb_priv *priv = dev_get_priv(dev);
struct tilcdc_panel_info *panel = &priv->panel;
@@ -592,7 +592,7 @@ static int am335x_fb_ofdata_to_platdata(struct udevice *dev)
static int am335x_fb_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
uc_plat->size = ((LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
(1 << LCD_MAX_LOG2_BPP)) >> 3) + 0x20;
@@ -611,10 +611,10 @@ U_BOOT_DRIVER(am335x_fb) = {
.id = UCLASS_VIDEO,
.of_match = am335x_fb_ids,
.bind = am335x_fb_bind,
- .ofdata_to_platdata = am335x_fb_ofdata_to_platdata,
+ .of_to_plat = am335x_fb_of_to_plat,
.probe = am335x_fb_probe,
.remove = am335x_fb_remove,
- .priv_auto_alloc_size = sizeof(struct am335x_fb_priv),
+ .priv_auto = sizeof(struct am335x_fb_priv),
};
#endif /* CONFIG_DM_VIDEO */
diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c
index 38def2816b..0485ae2436 100644
--- a/drivers/video/atmel_hlcdfb.c
+++ b/drivers/video/atmel_hlcdfb.c
@@ -293,7 +293,7 @@ static int at91_hlcdc_enable_clk(struct udevice *dev)
static void atmel_hlcdc_init(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
struct atmel_hlcdc_priv *priv = dev_get_priv(dev);
struct atmel_hlcd_regs *regs = priv->regs;
struct display_timing *timing = &priv->timing;
@@ -501,7 +501,7 @@ static int atmel_hlcdc_probe(struct udevice *dev)
return 0;
}
-static int atmel_hlcdc_ofdata_to_platdata(struct udevice *dev)
+static int atmel_hlcdc_of_to_plat(struct udevice *dev)
{
struct atmel_hlcdc_priv *priv = dev_get_priv(dev);
const void *blob = gd->fdt_blob;
@@ -539,7 +539,7 @@ static int atmel_hlcdc_ofdata_to_platdata(struct udevice *dev)
static int atmel_hlcdc_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
uc_plat->size = LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
(1 << LCD_MAX_LOG2_BPP) / 8;
@@ -561,8 +561,8 @@ U_BOOT_DRIVER(atmel_hlcdfb) = {
.of_match = atmel_hlcdc_ids,
.bind = atmel_hlcdc_bind,
.probe = atmel_hlcdc_probe,
- .ofdata_to_platdata = atmel_hlcdc_ofdata_to_platdata,
- .priv_auto_alloc_size = sizeof(struct atmel_hlcdc_priv),
+ .of_to_plat = atmel_hlcdc_of_to_plat,
+ .priv_auto = sizeof(struct atmel_hlcdc_priv),
};
#endif
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index ae8ec26468..f87c0224a1 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -245,7 +245,7 @@ ulong calc_fbsize(void)
#ifdef CONFIG_DM_VIDEO
static int atmel_fb_lcd_probe(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct atmel_fb_priv *priv = dev_get_priv(dev);
struct display_timing *timing = &priv->timing;
@@ -267,9 +267,9 @@ static int atmel_fb_lcd_probe(struct udevice *dev)
return 0;
}
-static int atmel_fb_ofdata_to_platdata(struct udevice *dev)
+static int atmel_fb_of_to_plat(struct udevice *dev)
{
- struct atmel_lcd_platdata *plat = dev_get_platdata(dev);
+ struct atmel_lcd_plat *plat = dev_get_plat(dev);
struct atmel_fb_priv *priv = dev_get_priv(dev);
struct display_timing *timing = &priv->timing;
const void *blob = gd->fdt_blob;
@@ -285,7 +285,7 @@ static int atmel_fb_ofdata_to_platdata(struct udevice *dev)
static int atmel_fb_lcd_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
uc_plat->size = LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
(1 << VIDEO_BPP16) / 8;
@@ -304,9 +304,9 @@ U_BOOT_DRIVER(atmel_fb) = {
.id = UCLASS_VIDEO,
.of_match = atmel_fb_lcd_ids,
.bind = atmel_fb_lcd_bind,
- .ofdata_to_platdata = atmel_fb_ofdata_to_platdata,
+ .of_to_plat = atmel_fb_of_to_plat,
.probe = atmel_fb_lcd_probe,
- .platdata_auto_alloc_size = sizeof(struct atmel_lcd_platdata),
- .priv_auto_alloc_size = sizeof(struct atmel_fb_priv),
+ .plat_auto = sizeof(struct atmel_lcd_plat),
+ .priv_auto = sizeof(struct atmel_fb_priv),
};
#endif
diff --git a/drivers/video/backlight_gpio.c b/drivers/video/backlight_gpio.c
index 433d0979e8..eea824ab5e 100644
--- a/drivers/video/backlight_gpio.c
+++ b/drivers/video/backlight_gpio.c
@@ -24,7 +24,7 @@ static int gpio_backlight_enable(struct udevice *dev)
return 0;
}
-static int gpio_backlight_ofdata_to_platdata(struct udevice *dev)
+static int gpio_backlight_of_to_plat(struct udevice *dev)
{
struct gpio_backlight_priv *priv = dev_get_priv(dev);
int ret;
@@ -66,7 +66,7 @@ U_BOOT_DRIVER(gpio_backlight) = {
.id = UCLASS_PANEL_BACKLIGHT,
.of_match = gpio_backlight_ids,
.ops = &gpio_backlight_ops,
- .ofdata_to_platdata = gpio_backlight_ofdata_to_platdata,
+ .of_to_plat = gpio_backlight_of_to_plat,
.probe = gpio_backlight_probe,
- .priv_auto_alloc_size = sizeof(struct gpio_backlight_priv),
+ .priv_auto = sizeof(struct gpio_backlight_priv),
};
diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
index 0888cb0019..9326999cd3 100644
--- a/drivers/video/bcm2835.c
+++ b/drivers/video/bcm2835.c
@@ -13,7 +13,7 @@
static int bcm2835_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
int ret;
int w, h, pitch;
diff --git a/drivers/video/bridge/anx6345.c b/drivers/video/bridge/anx6345.c
index 1c5270ff05..93fa25f16e 100644
--- a/drivers/video/bridge/anx6345.c
+++ b/drivers/video/bridge/anx6345.c
@@ -74,7 +74,7 @@ static int anx6345_read(struct udevice *dev, unsigned int addr_off,
static int anx6345_write_r0(struct udevice *dev, unsigned char reg_addr,
unsigned char value)
{
- struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
+ struct dm_i2c_chip *chip = dev_get_parent_plat(dev);
return anx6345_write(dev, chip->chip_addr, reg_addr, value);
}
@@ -82,7 +82,7 @@ static int anx6345_write_r0(struct udevice *dev, unsigned char reg_addr,
static int anx6345_read_r0(struct udevice *dev, unsigned char reg_addr,
unsigned char *value)
{
- struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
+ struct dm_i2c_chip *chip = dev_get_parent_plat(dev);
return anx6345_read(dev, chip->chip_addr, reg_addr, value);
}
@@ -90,7 +90,7 @@ static int anx6345_read_r0(struct udevice *dev, unsigned char reg_addr,
static int anx6345_write_r1(struct udevice *dev, unsigned char reg_addr,
unsigned char value)
{
- struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
+ struct dm_i2c_chip *chip = dev_get_parent_plat(dev);
return anx6345_write(dev, chip->chip_addr + 1, reg_addr, value);
}
@@ -98,7 +98,7 @@ static int anx6345_write_r1(struct udevice *dev, unsigned char reg_addr,
static int anx6345_read_r1(struct udevice *dev, unsigned char reg_addr,
unsigned char *value)
{
- struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
+ struct dm_i2c_chip *chip = dev_get_parent_plat(dev);
return anx6345_read(dev, chip->chip_addr + 1, reg_addr, value);
}
@@ -421,5 +421,5 @@ U_BOOT_DRIVER(analogix_anx6345) = {
.of_match = anx6345_ids,
.probe = anx6345_probe,
.ops = &anx6345_ops,
- .priv_auto_alloc_size = sizeof(struct anx6345_priv),
+ .priv_auto = sizeof(struct anx6345_priv),
};
diff --git a/drivers/video/bridge/ps862x.c b/drivers/video/bridge/ps862x.c
index 8399c6f74c..76115b7bc5 100644
--- a/drivers/video/bridge/ps862x.c
+++ b/drivers/video/bridge/ps862x.c
@@ -37,7 +37,7 @@ DECLARE_GLOBAL_DATA_PTR;
static int ps8622_write(struct udevice *dev, unsigned addr_off,
unsigned char reg_addr, unsigned char value)
{
- struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
+ struct dm_i2c_chip *chip = dev_get_parent_plat(dev);
uint8_t buf[2];
struct i2c_msg msg;
int ret;
diff --git a/drivers/video/bridge/video-bridge-uclass.c b/drivers/video/bridge/video-bridge-uclass.c
index 389b02cdcb..08d38b244b 100644
--- a/drivers/video/bridge/video-bridge-uclass.c
+++ b/drivers/video/bridge/video-bridge-uclass.c
@@ -134,6 +134,6 @@ int video_bridge_set_active(struct udevice *dev, bool active)
UCLASS_DRIVER(video_bridge) = {
.id = UCLASS_VIDEO_BRIDGE,
.name = "video_bridge",
- .per_device_auto_alloc_size = sizeof(struct video_bridge_priv),
+ .per_device_auto = sizeof(struct video_bridge_priv),
.pre_probe = video_bridge_pre_probe,
};
diff --git a/drivers/video/broadwell_igd.c b/drivers/video/broadwell_igd.c
index df6a761d2d..cba105c19a 100644
--- a/drivers/video/broadwell_igd.c
+++ b/drivers/video/broadwell_igd.c
@@ -356,7 +356,7 @@ static int gtt_poll(struct broadwell_igd_priv *priv, u32 reg, u32 mask,
static void igd_setup_panel(struct udevice *dev)
{
- struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+ struct broadwell_igd_plat *plat = dev_get_plat(dev);
struct broadwell_igd_priv *priv = dev_get_priv(dev);
u32 reg32;
@@ -398,7 +398,7 @@ static void igd_setup_panel(struct udevice *dev)
static int igd_cdclk_init_haswell(struct udevice *dev)
{
- struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+ struct broadwell_igd_plat *plat = dev_get_plat(dev);
struct broadwell_igd_priv *priv = dev_get_priv(dev);
int cdclk = plat->cdclk;
u16 devid;
@@ -472,7 +472,7 @@ err:
static int igd_cdclk_init_broadwell(struct udevice *dev)
{
- struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+ struct broadwell_igd_plat *plat = dev_get_plat(dev);
struct broadwell_igd_priv *priv = dev_get_priv(dev);
int cdclk = plat->cdclk;
u32 dpdiv, lpcll, pwctl, cdset;
@@ -567,7 +567,7 @@ u8 systemagent_revision(struct udevice *bus)
static int igd_pre_init(struct udevice *dev, bool is_broadwell)
{
- struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+ struct broadwell_igd_plat *plat = dev_get_plat(dev);
struct broadwell_igd_priv *priv = dev_get_priv(dev);
u32 rp1_gfx_freq;
int ret;
@@ -661,7 +661,7 @@ static int broadwell_igd_int15_handler(void)
static int broadwell_igd_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
bool is_broadwell;
ulong fbbase;
@@ -706,9 +706,9 @@ static int broadwell_igd_probe(struct udevice *dev)
return 0;
}
-static int broadwell_igd_ofdata_to_platdata(struct udevice *dev)
+static int broadwell_igd_of_to_plat(struct udevice *dev)
{
- struct broadwell_igd_plat *plat = dev_get_platdata(dev);
+ struct broadwell_igd_plat *plat = dev_get_plat(dev);
struct broadwell_igd_priv *priv = dev_get_priv(dev);
int node = dev_of_offset(dev);
const void *blob = gd->fdt_blob;
@@ -756,7 +756,7 @@ static int broadwell_igd_ofdata_to_platdata(struct udevice *dev)
static int broadwell_igd_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
/* Set the maximum supported resolution */
uc_plat->size = 2560 * 1600 * 4;
@@ -778,9 +778,9 @@ U_BOOT_DRIVER(broadwell_igd) = {
.id = UCLASS_VIDEO,
.of_match = broadwell_igd_ids,
.ops = &broadwell_igd_ops,
- .ofdata_to_platdata = broadwell_igd_ofdata_to_platdata,
+ .of_to_plat = broadwell_igd_of_to_plat,
.bind = broadwell_igd_bind,
.probe = broadwell_igd_probe,
- .priv_auto_alloc_size = sizeof(struct broadwell_igd_priv),
- .platdata_auto_alloc_size = sizeof(struct broadwell_igd_plat),
+ .priv_auto = sizeof(struct broadwell_igd_priv),
+ .plat_auto = sizeof(struct broadwell_igd_plat),
};
diff --git a/drivers/video/console_truetype.c b/drivers/video/console_truetype.c
index 8205413d2a..fa11b3bbef 100644
--- a/drivers/video/console_truetype.c
+++ b/drivers/video/console_truetype.c
@@ -588,5 +588,5 @@ U_BOOT_DRIVER(vidconsole_truetype) = {
.id = UCLASS_VIDEO_CONSOLE,
.ops = &console_truetype_ops,
.probe = console_truetype_probe,
- .priv_auto_alloc_size = sizeof(struct console_tt_priv),
+ .priv_auto = sizeof(struct console_tt_priv),
};
diff --git a/drivers/video/coreboot.c b/drivers/video/coreboot.c
index c8797a0d9c..0a5fb08dc8 100644
--- a/drivers/video/coreboot.c
+++ b/drivers/video/coreboot.c
@@ -38,7 +38,7 @@ static int save_vesa_mode(struct cb_framebuffer *fb,
static int coreboot_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct cb_framebuffer *fb = lib_sysinfo.framebuffer;
struct vesa_mode_info *vesa = &mode_info.vesa;
diff --git a/drivers/video/display-uclass.c b/drivers/video/display-uclass.c
index 1a29ce5d85..068108e915 100644
--- a/drivers/video/display-uclass.c
+++ b/drivers/video/display-uclass.c
@@ -31,7 +31,7 @@ int display_enable(struct udevice *dev, int panel_bpp,
if (ret)
return ret;
- disp_uc_plat = dev_get_uclass_platdata(dev);
+ disp_uc_plat = dev_get_uclass_plat(dev);
disp_uc_plat->in_use = true;
return 0;
@@ -71,7 +71,7 @@ int display_read_timing(struct udevice *dev, struct display_timing *timing)
bool display_in_use(struct udevice *dev)
{
- struct display_plat *disp_uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *disp_uc_plat = dev_get_uclass_plat(dev);
return disp_uc_plat->in_use;
}
@@ -79,5 +79,5 @@ bool display_in_use(struct udevice *dev)
UCLASS_DRIVER(display) = {
.id = UCLASS_DISPLAY,
.name = "display",
- .per_device_platdata_auto_alloc_size = sizeof(struct display_plat),
+ .per_device_plat_auto = sizeof(struct display_plat),
};
diff --git a/drivers/video/dw_mipi_dsi.c b/drivers/video/dw_mipi_dsi.c
index 4055ef49b6..4dde648814 100644
--- a/drivers/video/dw_mipi_dsi.c
+++ b/drivers/video/dw_mipi_dsi.c
@@ -845,7 +845,7 @@ U_BOOT_DRIVER(dw_mipi_dsi) = {
.id = UCLASS_DSI_HOST,
.probe = dw_mipi_dsi_probe,
.ops = &dw_mipi_dsi_ops,
- .priv_auto_alloc_size = sizeof(struct dw_mipi_dsi),
+ .priv_auto = sizeof(struct dw_mipi_dsi),
};
MODULE_AUTHOR("Chris Zhong <zyw@rock-chips.com>");
diff --git a/drivers/video/efi.c b/drivers/video/efi.c
index 47441a35a6..c248bd352a 100644
--- a/drivers/video/efi.c
+++ b/drivers/video/efi.c
@@ -110,7 +110,7 @@ static int save_vesa_mode(struct vesa_mode_info *vesa)
static int efi_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct vesa_mode_info *vesa = &mode_info.vesa;
int ret;
diff --git a/drivers/video/exynos/exynos_dp.c b/drivers/video/exynos/exynos_dp.c
index 999ee1c14a..63b5b8e61a 100644
--- a/drivers/video/exynos/exynos_dp.c
+++ b/drivers/video/exynos/exynos_dp.c
@@ -877,7 +877,7 @@ static unsigned int exynos_dp_config_video(struct exynos_dp *regs,
return ret;
}
-static int exynos_dp_ofdata_to_platdata(struct udevice *dev)
+static int exynos_dp_of_to_plat(struct udevice *dev)
{
struct exynos_dp_priv *priv = dev_get_priv(dev);
const void *blob = gd->fdt_blob;
@@ -1080,6 +1080,6 @@ U_BOOT_DRIVER(exynos_dp) = {
.id = UCLASS_DISPLAY,
.of_match = exynos_dp_ids,
.ops = &exynos_dp_ops,
- .ofdata_to_platdata = exynos_dp_ofdata_to_platdata,
- .priv_auto_alloc_size = sizeof(struct exynos_dp_priv),
+ .of_to_plat = exynos_dp_of_to_plat,
+ .priv_auto = sizeof(struct exynos_dp_priv),
};
diff --git a/drivers/video/exynos/exynos_fb.c b/drivers/video/exynos/exynos_fb.c
index 979b909182..7b4459ced8 100644
--- a/drivers/video/exynos/exynos_fb.c
+++ b/drivers/video/exynos/exynos_fb.c
@@ -377,7 +377,7 @@ void exynos_fimd_disable_sysmmu(void)
void exynos_fimd_lcd_init(struct udevice *dev)
{
struct exynos_fb_priv *priv = dev_get_priv(dev);
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct exynos_fb *reg = priv->reg;
unsigned int cfg = 0, rgb_mode;
unsigned int offset;
@@ -479,7 +479,7 @@ unsigned long exynos_fimd_calc_fbsize(struct exynos_fb_priv *priv)
return priv->vl_col * priv->vl_row * (VNBITS(priv->vl_bpix) / 8);
}
-int exynos_fb_ofdata_to_platdata(struct udevice *dev)
+int exynos_fb_of_to_plat(struct udevice *dev)
{
struct exynos_fb_priv *priv = dev_get_priv(dev);
unsigned int node = dev_of_offset(dev);
@@ -692,7 +692,7 @@ static int exynos_fb_probe(struct udevice *dev)
static int exynos_fb_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
/* This is the maximum panel size we expect to see */
plat->size = 1920 * 1080 * 2;
@@ -715,6 +715,6 @@ U_BOOT_DRIVER(exynos_fb) = {
.ops = &exynos_fb_ops,
.bind = exynos_fb_bind,
.probe = exynos_fb_probe,
- .ofdata_to_platdata = exynos_fb_ofdata_to_platdata,
- .priv_auto_alloc_size = sizeof(struct exynos_fb_priv),
+ .of_to_plat = exynos_fb_of_to_plat,
+ .priv_auto = sizeof(struct exynos_fb_priv),
};
diff --git a/drivers/video/fsl_dcu_fb.c b/drivers/video/fsl_dcu_fb.c
index e9d05c9394..4ea0f12487 100644
--- a/drivers/video/fsl_dcu_fb.c
+++ b/drivers/video/fsl_dcu_fb.c
@@ -484,7 +484,7 @@ void *video_hw_init(void)
static int fsl_dcu_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct fb_info fbinfo = { 0 };
unsigned int win_x;
@@ -516,7 +516,7 @@ static int fsl_dcu_video_probe(struct udevice *dev)
static int fsl_dcu_video_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
unsigned int win_x;
unsigned int win_y;
unsigned int depth = 0, freq = 0;
diff --git a/drivers/video/ihs_video_out.c b/drivers/video/ihs_video_out.c
index f02fd13d28..73b8f4bd1c 100644
--- a/drivers/video/ihs_video_out.c
+++ b/drivers/video/ihs_video_out.c
@@ -338,5 +338,5 @@ U_BOOT_DRIVER(ihs_video_out_drv) = {
.ops = &ihs_video_out_ops,
.of_match = ihs_video_out_ids,
.probe = ihs_video_out_probe,
- .priv_auto_alloc_size = sizeof(struct ihs_video_out_priv),
+ .priv_auto = sizeof(struct ihs_video_out_priv),
};
diff --git a/drivers/video/imx/mxc_ipuv3_fb.c b/drivers/video/imx/mxc_ipuv3_fb.c
index eb93a4f1fa..6cdbbafafb 100644
--- a/drivers/video/imx/mxc_ipuv3_fb.c
+++ b/drivers/video/imx/mxc_ipuv3_fb.c
@@ -383,7 +383,7 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
static int mxcfb_map_video_memory(struct fb_info *fbi)
{
struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)fbi->par;
- struct video_uc_platdata *plat = dev_get_uclass_platdata(mxc_fbi->udev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(mxc_fbi->udev);
if (fbi->fix.smem_len < fbi->var.yres_virtual * fbi->fix.line_length) {
fbi->fix.smem_len = fbi->var.yres_virtual *
@@ -586,7 +586,7 @@ enum {
static int ipuv3_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
#if defined(CONFIG_DISPLAY)
struct udevice *disp_dev;
@@ -647,7 +647,7 @@ struct ipuv3_video_priv {
static int ipuv3_video_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
plat->size = LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
(1 << VIDEO_BPP32) / 8;
@@ -671,6 +671,6 @@ U_BOOT_DRIVER(fsl_imx6q_ipu) = {
.of_match = ipuv3_video_ids,
.bind = ipuv3_video_bind,
.probe = ipuv3_video_probe,
- .priv_auto_alloc_size = sizeof(struct ipuv3_video_priv),
+ .priv_auto = sizeof(struct ipuv3_video_priv),
.flags = DM_FLAG_PRE_RELOC,
};
diff --git a/drivers/video/ivybridge_igd.c b/drivers/video/ivybridge_igd.c
index 2587f53ac1..e7db0cbcef 100644
--- a/drivers/video/ivybridge_igd.c
+++ b/drivers/video/ivybridge_igd.c
@@ -753,7 +753,7 @@ static int gma_func0_init(struct udevice *dev)
static int bd82x6x_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
ulong fbbase;
void *gtt_bar;
int ret, rev;
@@ -781,7 +781,7 @@ static int bd82x6x_video_probe(struct udevice *dev)
static int bd82x6x_video_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
/* Set the maximum supported resolution */
uc_plat->size = 2560 * 1600 * 4;
diff --git a/drivers/video/lg4573.c b/drivers/video/lg4573.c
index 45df9c1347..dd87fc461b 100644
--- a/drivers/video/lg4573.c
+++ b/drivers/video/lg4573.c
@@ -219,7 +219,7 @@ static int do_lgset(struct cmd_tbl *cmdtp, int flag, int argc,
int ret;
ret = uclass_get_device_by_driver(UCLASS_DISPLAY,
- DM_GET_DRIVER(lg4573_lcd), &dev);
+ DM_DRIVER_GET(lg4573_lcd), &dev);
if (ret) {
printf("%s: Could not get lg4573 device\n", __func__);
return ret;
@@ -294,7 +294,7 @@ static const struct dm_display_ops lg4573_lcd_ops = {
.enable = lg4573_lcd_enable,
};
-static int lg4573_ofdata_to_platdata(struct udevice *dev)
+static int lg4573_of_to_plat(struct udevice *dev)
{
struct lg4573_lcd_priv *priv = dev_get_priv(dev);
int ret;
@@ -323,9 +323,9 @@ U_BOOT_DRIVER(lg4573_lcd) = {
.name = "lg4573",
.id = UCLASS_DISPLAY,
.ops = &lg4573_lcd_ops,
- .ofdata_to_platdata = lg4573_ofdata_to_platdata,
+ .of_to_plat = lg4573_of_to_plat,
.of_match = lg4573_ids,
.bind = lg4573_bind,
.probe = lg4573_probe,
- .priv_auto_alloc_size = sizeof(struct lg4573_lcd_priv),
+ .priv_auto = sizeof(struct lg4573_lcd_priv),
};
diff --git a/drivers/video/logicore_dp_tx.c b/drivers/video/logicore_dp_tx.c
index 9bc4bbb85d..624084d38b 100644
--- a/drivers/video/logicore_dp_tx.c
+++ b/drivers/video/logicore_dp_tx.c
@@ -2292,6 +2292,6 @@ U_BOOT_DRIVER(logicore_dp_tx) = {
.id = UCLASS_DISPLAY,
.of_match = logicore_dp_tx_ids,
.probe = logicore_dp_tx_probe,
- .priv_auto_alloc_size = sizeof(struct dp_tx),
+ .priv_auto = sizeof(struct dp_tx),
.ops = &logicore_dp_tx_ops,
};
diff --git a/drivers/video/mali_dp.c b/drivers/video/mali_dp.c
index 1e6da0e1e2..dc4f542256 100644
--- a/drivers/video/mali_dp.c
+++ b/drivers/video/mali_dp.c
@@ -260,7 +260,7 @@ static int malidp_update_timings_from_edid(struct udevice *dev,
static int malidp_probe(struct udevice *dev)
{
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
ofnode framebuffer = ofnode_find_subnode(dev_ofnode(dev), "framebuffer");
struct malidp_priv *priv = dev_get_priv(dev);
struct display_timing timings;
@@ -382,7 +382,7 @@ fail_aclk:
static int malidp_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
/* choose max possible size: 2K x 2K, XRGB888 framebuffer */
uc_plat->size = 4 * 2048 * 2048;
@@ -403,6 +403,6 @@ U_BOOT_DRIVER(mali_dp) = {
.of_match = malidp_ids,
.bind = malidp_bind,
.probe = malidp_probe,
- .priv_auto_alloc_size = sizeof(struct malidp_priv),
+ .priv_auto = sizeof(struct malidp_priv),
.ops = &malidp_ops,
};
diff --git a/drivers/video/meson/meson_dw_hdmi.c b/drivers/video/meson/meson_dw_hdmi.c
index 5d74f7f1a7..e5f2813205 100644
--- a/drivers/video/meson/meson_dw_hdmi.c
+++ b/drivers/video/meson/meson_dw_hdmi.c
@@ -508,5 +508,5 @@ U_BOOT_DRIVER(meson_dw_hdmi) = {
.of_match = meson_dw_hdmi_ids,
.ops = &meson_dw_hdmi_ops,
.probe = meson_dw_hdmi_probe,
- .priv_auto_alloc_size = sizeof(struct meson_dw_hdmi),
+ .priv_auto = sizeof(struct meson_dw_hdmi),
};
diff --git a/drivers/video/meson/meson_plane.c b/drivers/video/meson/meson_plane.c
index b367276f23..e3f784ecfe 100644
--- a/drivers/video/meson/meson_plane.c
+++ b/drivers/video/meson/meson_plane.c
@@ -100,7 +100,7 @@ meson_vpp_disable_interlace_vscaler_osd1(struct meson_vpu_priv *priv)
void meson_vpu_setup_plane(struct udevice *dev, bool is_interlaced)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct meson_vpu_priv *priv = dev_get_priv(dev);
u32 osd1_ctrl_stat;
diff --git a/drivers/video/meson/meson_vpu.c b/drivers/video/meson/meson_vpu.c
index 4868839ff7..ca6933a6c5 100644
--- a/drivers/video/meson/meson_vpu.c
+++ b/drivers/video/meson/meson_vpu.c
@@ -43,7 +43,7 @@ bool meson_vpu_is_compatible(struct meson_vpu_priv *priv,
static int meson_vpu_setup_mode(struct udevice *dev, struct udevice *disp)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct display_timing timing;
bool is_cvbs = false;
@@ -138,7 +138,7 @@ static int meson_vpu_probe(struct udevice *dev)
static int meson_vpu_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
plat->size = VPU_MAX_WIDTH * VPU_MAX_HEIGHT *
(1 << VPU_MAX_LOG2_BPP) / 8;
@@ -211,6 +211,6 @@ U_BOOT_DRIVER(meson_vpu) = {
.of_match = meson_vpu_ids,
.probe = meson_vpu_probe,
.bind = meson_vpu_bind,
- .priv_auto_alloc_size = sizeof(struct meson_vpu_priv),
+ .priv_auto = sizeof(struct meson_vpu_priv),
.flags = DM_FLAG_PRE_RELOC | DM_FLAG_REMOVE_WITH_PD_ON,
};
diff --git a/drivers/video/mvebu_lcd.c b/drivers/video/mvebu_lcd.c
index f3cb2bfb48..d3d07e5f83 100644
--- a/drivers/video/mvebu_lcd.c
+++ b/drivers/video/mvebu_lcd.c
@@ -526,7 +526,7 @@ static void mvebu_lcd_register_init(struct mvebu_lcd_info *lcd_info,
static int mvebu_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct mvebu_video_priv *priv = dev_get_priv(dev);
struct mvebu_lcd_info lcd_info;
@@ -575,7 +575,7 @@ static int mvebu_video_probe(struct udevice *dev)
static int mvebu_video_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
plat->size = LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
(1 << LCD_MAX_LOG2_BPP) / 8;
@@ -594,5 +594,5 @@ U_BOOT_DRIVER(mvebu_video) = {
.of_match = mvebu_video_ids,
.bind = mvebu_video_bind,
.probe = mvebu_video_probe,
- .priv_auto_alloc_size = sizeof(struct mvebu_video_priv),
+ .priv_auto = sizeof(struct mvebu_video_priv),
};
diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
index 6589a2a09d..b43732a77a 100644
--- a/drivers/video/mxsfb.c
+++ b/drivers/video/mxsfb.c
@@ -356,7 +356,7 @@ static int mxs_of_get_timings(struct udevice *dev,
static int mxs_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct display_timing timings;
@@ -409,7 +409,7 @@ static int mxs_video_probe(struct udevice *dev)
static int mxs_video_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct display_timing timings;
u32 bpp = 0;
u32 bytes_pp = 0;
@@ -443,7 +443,7 @@ static int mxs_video_bind(struct udevice *dev)
static int mxs_video_remove(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
mxs_remove_common(plat->base);
diff --git a/drivers/video/nexell_display.c b/drivers/video/nexell_display.c
index 4101e0962a..b47bef3578 100644
--- a/drivers/video/nexell_display.c
+++ b/drivers/video/nexell_display.c
@@ -174,7 +174,7 @@ static void nx_display_parse_dp_layer(ofnode node, struct dp_plane_info *plane)
static void nx_display_parse_dp_planes(ofnode node,
struct nx_display_dev *dp,
- struct video_uc_platdata *plat)
+ struct video_uc_plat *plat)
{
const char *name;
ofnode subnode;
@@ -332,7 +332,7 @@ static int nx_display_parse_dp_lcds(ofnode node, const char *type,
static int nx_display_parse_dt(struct udevice *dev,
struct nx_display_dev *dp,
- struct video_uc_platdata *plat)
+ struct video_uc_plat *plat)
{
const char *name, *dtype;
int ret = 0;
@@ -391,7 +391,7 @@ static struct nx_display_dev *nx_display_setup(void)
struct nx_display_dev *dp;
int i, ret;
int node = 0;
- struct video_uc_platdata *plat = NULL;
+ struct video_uc_plat *plat = NULL;
struct udevice *dev;
@@ -404,9 +404,9 @@ static struct nx_display_dev *nx_display_setup(void)
__func__);
return NULL;
}
- plat = dev_get_uclass_platdata(dev);
+ plat = dev_get_uclass_plat(dev);
if (!dev) {
- debug("%s(): dev_get_uclass_platdata(dev) == NULL --> return NULL\n",
+ debug("%s(): dev_get_uclass_plat(dev) == NULL --> return NULL\n",
__func__);
return NULL;
}
@@ -416,7 +416,7 @@ static struct nx_display_dev *nx_display_setup(void)
__func__);
return NULL;
}
- node = dev->node.of_offset;
+ node = dev_ofnode(dev).of_offset;
if (CONFIG_IS_ENABLED(OF_CONTROL)) {
ret = nx_display_parse_dt(dev, dp, plat);
@@ -534,9 +534,9 @@ __weak void lcd_enable(void)
static int nx_display_probe(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
- struct nx_display_platdata *plat = dev_get_platdata(dev);
+ struct nx_display_plat *plat = dev_get_plat(dev);
static GraphicDevice *graphic_device;
char addr[64];
@@ -546,7 +546,7 @@ static int nx_display_probe(struct udevice *dev)
return -EINVAL;
if (!uc_plat) {
- debug("%s(): video_uc_platdata *plat == NULL --> return -EINVAL\n",
+ debug("%s(): video_uc_plat *plat == NULL --> return -EINVAL\n",
__func__);
return -EINVAL;
}
@@ -558,7 +558,7 @@ static int nx_display_probe(struct udevice *dev)
}
if (!plat) {
- debug("%s(): nx_display_platdata *plat == NULL --> return -EINVAL\n",
+ debug("%s(): nx_display_plat *plat == NULL --> return -EINVAL\n",
__func__);
return -EINVAL;
}
@@ -619,7 +619,7 @@ static int nx_display_probe(struct udevice *dev)
static int nx_display_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
debug("%s()\n", __func__);
@@ -643,9 +643,8 @@ U_BOOT_DRIVER(nexell_display) = {
.name = "nexell-display",
.id = UCLASS_VIDEO,
.of_match = nx_display_ids,
- .platdata_auto_alloc_size =
- sizeof(struct nx_display_platdata),
+ .plat_auto = sizeof(struct nx_display_plat),
.bind = nx_display_bind,
.probe = nx_display_probe,
- .priv_auto_alloc_size = sizeof(struct nx_display_dev),
+ .priv_auto = sizeof(struct nx_display_dev),
};
diff --git a/drivers/video/orisetech_otm8009a.c b/drivers/video/orisetech_otm8009a.c
index 362bf6a6fe..95738e34bf 100644
--- a/drivers/video/orisetech_otm8009a.c
+++ b/drivers/video/orisetech_otm8009a.c
@@ -79,7 +79,7 @@ static const struct display_timing default_timing = {
static void otm8009a_dcs_write_buf(struct udevice *dev, const void *data,
size_t len)
{
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
struct mipi_dsi_device *device = plat->device;
if (mipi_dsi_dcs_write_buffer(device, data, len) < 0)
@@ -89,7 +89,7 @@ static void otm8009a_dcs_write_buf(struct udevice *dev, const void *data,
static void otm8009a_dcs_write_buf_hs(struct udevice *dev, const void *data,
size_t len)
{
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
struct mipi_dsi_device *device = plat->device;
/* data will be sent in dsi hs mode (ie. no lpm) */
@@ -124,7 +124,7 @@ static void otm8009a_dcs_write_buf_hs(struct udevice *dev, const void *data,
static int otm8009a_init_sequence(struct udevice *dev)
{
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
struct mipi_dsi_device *device = plat->device;
int ret;
@@ -255,7 +255,7 @@ static int otm8009a_init_sequence(struct udevice *dev)
static int otm8009a_panel_enable_backlight(struct udevice *dev)
{
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
struct mipi_dsi_device *device = plat->device;
int ret;
@@ -295,7 +295,7 @@ static int otm8009a_panel_get_display_timing(struct udevice *dev,
return 0;
}
-static int otm8009a_panel_ofdata_to_platdata(struct udevice *dev)
+static int otm8009a_panel_of_to_plat(struct udevice *dev)
{
struct otm8009a_panel_priv *priv = dev_get_priv(dev);
int ret;
@@ -323,7 +323,7 @@ static int otm8009a_panel_ofdata_to_platdata(struct udevice *dev)
static int otm8009a_panel_probe(struct udevice *dev)
{
struct otm8009a_panel_priv *priv = dev_get_priv(dev);
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
int ret;
if (IS_ENABLED(CONFIG_DM_REGULATOR) && priv->reg) {
@@ -364,8 +364,8 @@ U_BOOT_DRIVER(otm8009a_panel) = {
.id = UCLASS_PANEL,
.of_match = otm8009a_panel_ids,
.ops = &otm8009a_panel_ops,
- .ofdata_to_platdata = otm8009a_panel_ofdata_to_platdata,
+ .of_to_plat = otm8009a_panel_of_to_plat,
.probe = otm8009a_panel_probe,
- .platdata_auto_alloc_size = sizeof(struct mipi_dsi_panel_plat),
- .priv_auto_alloc_size = sizeof(struct otm8009a_panel_priv),
+ .plat_auto = sizeof(struct mipi_dsi_panel_plat),
+ .priv_auto = sizeof(struct otm8009a_panel_priv),
};
diff --git a/drivers/video/pwm_backlight.c b/drivers/video/pwm_backlight.c
index 9519180ceb..9e32bc47cf 100644
--- a/drivers/video/pwm_backlight.c
+++ b/drivers/video/pwm_backlight.c
@@ -84,10 +84,10 @@ static int enable_sequence(struct udevice *dev, int seq)
switch (seq) {
case 0:
if (priv->reg) {
- __maybe_unused struct dm_regulator_uclass_platdata
+ __maybe_unused struct dm_regulator_uclass_plat
*plat;
- plat = dev_get_uclass_platdata(priv->reg);
+ plat = dev_get_uclass_plat(priv->reg);
log_debug("Enable '%s', regulator '%s'/'%s'\n",
dev->name, priv->reg->name, plat->name);
ret = regulator_set_enable(priv->reg, true);
@@ -182,7 +182,7 @@ static int pwm_backlight_set_brightness(struct udevice *dev, int percent)
return 0;
}
-static int pwm_backlight_ofdata_to_platdata(struct udevice *dev)
+static int pwm_backlight_of_to_plat(struct udevice *dev)
{
struct pwm_backlight_priv *priv = dev_get_priv(dev);
struct ofnode_phandle_args args;
@@ -263,7 +263,7 @@ U_BOOT_DRIVER(pwm_backlight) = {
.id = UCLASS_PANEL_BACKLIGHT,
.of_match = pwm_backlight_ids,
.ops = &pwm_backlight_ops,
- .ofdata_to_platdata = pwm_backlight_ofdata_to_platdata,
+ .of_to_plat = pwm_backlight_of_to_plat,
.probe = pwm_backlight_probe,
- .priv_auto_alloc_size = sizeof(struct pwm_backlight_priv),
+ .priv_auto = sizeof(struct pwm_backlight_priv),
};
diff --git a/drivers/video/raydium-rm68200.c b/drivers/video/raydium-rm68200.c
index 353894503b..373668d28b 100644
--- a/drivers/video/raydium-rm68200.c
+++ b/drivers/video/raydium-rm68200.c
@@ -92,7 +92,7 @@ static const struct display_timing default_timing = {
static void rm68200_dcs_write_buf(struct udevice *dev, const void *data,
size_t len)
{
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
struct mipi_dsi_device *device = plat->device;
int err;
@@ -103,7 +103,7 @@ static void rm68200_dcs_write_buf(struct udevice *dev, const void *data,
static void rm68200_dcs_write_cmd(struct udevice *dev, u8 cmd, u8 value)
{
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
struct mipi_dsi_device *device = plat->device;
int err;
@@ -223,7 +223,7 @@ static void rm68200_init_sequence(struct udevice *dev)
static int rm68200_panel_enable_backlight(struct udevice *dev)
{
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
struct mipi_dsi_device *device = plat->device;
struct rm68200_panel_priv *priv = dev_get_priv(dev);
int ret;
@@ -261,7 +261,7 @@ static int rm68200_panel_get_display_timing(struct udevice *dev,
return 0;
}
-static int rm68200_panel_ofdata_to_platdata(struct udevice *dev)
+static int rm68200_panel_of_to_plat(struct udevice *dev)
{
struct rm68200_panel_priv *priv = dev_get_priv(dev);
int ret;
@@ -296,7 +296,7 @@ static int rm68200_panel_ofdata_to_platdata(struct udevice *dev)
static int rm68200_panel_probe(struct udevice *dev)
{
struct rm68200_panel_priv *priv = dev_get_priv(dev);
- struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
+ struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
int ret;
if (IS_ENABLED(CONFIG_DM_REGULATOR) && priv->reg) {
@@ -336,8 +336,8 @@ U_BOOT_DRIVER(rm68200_panel) = {
.id = UCLASS_PANEL,
.of_match = rm68200_panel_ids,
.ops = &rm68200_panel_ops,
- .ofdata_to_platdata = rm68200_panel_ofdata_to_platdata,
+ .of_to_plat = rm68200_panel_of_to_plat,
.probe = rm68200_panel_probe,
- .platdata_auto_alloc_size = sizeof(struct mipi_dsi_panel_plat),
- .priv_auto_alloc_size = sizeof(struct rm68200_panel_priv),
+ .plat_auto = sizeof(struct mipi_dsi_panel_plat),
+ .priv_auto = sizeof(struct rm68200_panel_priv),
};
diff --git a/drivers/video/rockchip/rk3288_hdmi.c b/drivers/video/rockchip/rk3288_hdmi.c
index f835f4d517..327ae78712 100644
--- a/drivers/video/rockchip/rk3288_hdmi.c
+++ b/drivers/video/rockchip/rk3288_hdmi.c
@@ -25,7 +25,7 @@ static int rk3288_hdmi_enable(struct udevice *dev, int panel_bpp,
const struct display_timing *edid)
{
struct rk_hdmi_priv *priv = dev_get_priv(dev);
- struct display_plat *uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *uc_plat = dev_get_uclass_plat(dev);
int vop_id = uc_plat->source_id;
struct rk3288_grf *grf = priv->grf;
@@ -38,7 +38,7 @@ static int rk3288_hdmi_enable(struct udevice *dev, int panel_bpp,
return dw_hdmi_enable(&priv->hdmi, edid);
}
-static int rk3288_hdmi_ofdata_to_platdata(struct udevice *dev)
+static int rk3288_hdmi_of_to_plat(struct udevice *dev)
{
struct rk_hdmi_priv *priv = dev_get_priv(dev);
struct dw_hdmi *hdmi = &priv->hdmi;
@@ -53,12 +53,12 @@ static int rk3288_hdmi_ofdata_to_platdata(struct udevice *dev)
hdmi->i2c_clk_high = 0x0d;
hdmi->i2c_clk_low = 0x0d;
- return rk_hdmi_ofdata_to_platdata(dev);
+ return rk_hdmi_of_to_plat(dev);
}
static int rk3288_clk_config(struct udevice *dev)
{
- struct display_plat *uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *uc_plat = dev_get_uclass_plat(dev);
struct clk clk;
int ret;
@@ -111,7 +111,7 @@ U_BOOT_DRIVER(rk3288_hdmi_rockchip) = {
.id = UCLASS_DISPLAY,
.of_match = rk3288_hdmi_ids,
.ops = &rk3288_hdmi_ops,
- .ofdata_to_platdata = rk3288_hdmi_ofdata_to_platdata,
+ .of_to_plat = rk3288_hdmi_of_to_plat,
.probe = rk3288_hdmi_probe,
- .priv_auto_alloc_size = sizeof(struct rk_hdmi_priv),
+ .priv_auto = sizeof(struct rk_hdmi_priv),
};
diff --git a/drivers/video/rockchip/rk3288_mipi.c b/drivers/video/rockchip/rk3288_mipi.c
index 8ac0125b50..7e48dd8346 100644
--- a/drivers/video/rockchip/rk3288_mipi.c
+++ b/drivers/video/rockchip/rk3288_mipi.c
@@ -31,7 +31,7 @@ static int rk_mipi_dsi_source_select(struct udevice *dev)
{
struct rk_mipi_priv *priv = dev_get_priv(dev);
struct rk3288_grf *grf = priv->grf;
- struct display_plat *disp_uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *disp_uc_plat = dev_get_uclass_plat(dev);
/* Select the video source */
switch (disp_uc_plat->source_id) {
@@ -129,7 +129,7 @@ static int rk_mipi_enable(struct udevice *dev, int panel_bpp,
return 0;
}
-static int rk_mipi_ofdata_to_platdata(struct udevice *dev)
+static int rk_mipi_of_to_plat(struct udevice *dev)
{
struct rk_mipi_priv *priv = dev_get_priv(dev);
@@ -182,8 +182,8 @@ U_BOOT_DRIVER(rk_mipi_dsi) = {
.name = "rk_mipi_dsi",
.id = UCLASS_DISPLAY,
.of_match = rk_mipi_dsi_ids,
- .ofdata_to_platdata = rk_mipi_ofdata_to_platdata,
+ .of_to_plat = rk_mipi_of_to_plat,
.probe = rk_mipi_probe,
.ops = &rk_mipi_dsi_ops,
- .priv_auto_alloc_size = sizeof(struct rk_mipi_priv),
+ .priv_auto = sizeof(struct rk_mipi_priv),
};
diff --git a/drivers/video/rockchip/rk3288_vop.c b/drivers/video/rockchip/rk3288_vop.c
index 9ec33e6e51..3f6ee74487 100644
--- a/drivers/video/rockchip/rk3288_vop.c
+++ b/drivers/video/rockchip/rk3288_vop.c
@@ -105,5 +105,5 @@ U_BOOT_DRIVER(rockchip_rk3288_vop) = {
.bind = rk_vop_bind,
.probe = rk3288_vop_probe,
.remove = rk_vop_remove,
- .priv_auto_alloc_size = sizeof(struct rk_vop_priv),
+ .priv_auto = sizeof(struct rk_vop_priv),
};
diff --git a/drivers/video/rockchip/rk3399_hdmi.c b/drivers/video/rockchip/rk3399_hdmi.c
index a62be98327..3041360c6e 100644
--- a/drivers/video/rockchip/rk3399_hdmi.c
+++ b/drivers/video/rockchip/rk3399_hdmi.c
@@ -23,7 +23,7 @@ static int rk3399_hdmi_enable(struct udevice *dev, int panel_bpp,
const struct display_timing *edid)
{
struct rk_hdmi_priv *priv = dev_get_priv(dev);
- struct display_plat *uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *uc_plat = dev_get_uclass_plat(dev);
int vop_id = uc_plat->source_id;
struct rk3399_grf_regs *grf = priv->grf;
@@ -34,7 +34,7 @@ static int rk3399_hdmi_enable(struct udevice *dev, int panel_bpp,
return dw_hdmi_enable(&priv->hdmi, edid);
}
-static int rk3399_hdmi_ofdata_to_platdata(struct udevice *dev)
+static int rk3399_hdmi_of_to_plat(struct udevice *dev)
{
struct rk_hdmi_priv *priv = dev_get_priv(dev);
struct dw_hdmi *hdmi = &priv->hdmi;
@@ -42,7 +42,7 @@ static int rk3399_hdmi_ofdata_to_platdata(struct udevice *dev)
hdmi->i2c_clk_high = 0x7a;
hdmi->i2c_clk_low = 0x8d;
- return rk_hdmi_ofdata_to_platdata(dev);
+ return rk_hdmi_of_to_plat(dev);
}
static const char * const rk3399_regulator_names[] = {
@@ -74,7 +74,7 @@ U_BOOT_DRIVER(rk3399_hdmi_rockchip) = {
.id = UCLASS_DISPLAY,
.of_match = rk3399_hdmi_ids,
.ops = &rk3399_hdmi_ops,
- .ofdata_to_platdata = rk3399_hdmi_ofdata_to_platdata,
+ .of_to_plat = rk3399_hdmi_of_to_plat,
.probe = rk3399_hdmi_probe,
- .priv_auto_alloc_size = sizeof(struct rk_hdmi_priv),
+ .priv_auto = sizeof(struct rk_hdmi_priv),
};
diff --git a/drivers/video/rockchip/rk3399_mipi.c b/drivers/video/rockchip/rk3399_mipi.c
index e5534c36e6..9173350483 100644
--- a/drivers/video/rockchip/rk3399_mipi.c
+++ b/drivers/video/rockchip/rk3399_mipi.c
@@ -29,7 +29,7 @@ static int rk_mipi_dsi_source_select(struct udevice *dev)
{
struct rk_mipi_priv *priv = dev_get_priv(dev);
struct rk3399_grf_regs *grf = priv->grf;
- struct display_plat *disp_uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *disp_uc_plat = dev_get_uclass_plat(dev);
/* Select the video source */
switch (disp_uc_plat->source_id) {
@@ -121,7 +121,7 @@ static int rk_display_enable(struct udevice *dev, int panel_bpp,
return 0;
}
-static int rk_mipi_ofdata_to_platdata(struct udevice *dev)
+static int rk_mipi_of_to_plat(struct udevice *dev)
{
struct rk_mipi_priv *priv = dev_get_priv(dev);
@@ -173,8 +173,8 @@ U_BOOT_DRIVER(rk_mipi_dsi) = {
.name = "rk_mipi_dsi",
.id = UCLASS_DISPLAY,
.of_match = rk_mipi_dsi_ids,
- .ofdata_to_platdata = rk_mipi_ofdata_to_platdata,
+ .of_to_plat = rk_mipi_of_to_plat,
.probe = rk_mipi_probe,
.ops = &rk_mipi_dsi_ops,
- .priv_auto_alloc_size = sizeof(struct rk_mipi_priv),
+ .priv_auto = sizeof(struct rk_mipi_priv),
};
diff --git a/drivers/video/rockchip/rk3399_vop.c b/drivers/video/rockchip/rk3399_vop.c
index 55d1be0411..30e81b88b6 100644
--- a/drivers/video/rockchip/rk3399_vop.c
+++ b/drivers/video/rockchip/rk3399_vop.c
@@ -99,5 +99,5 @@ U_BOOT_DRIVER(rk3399_vop) = {
.ops = &rk3399_vop_ops,
.bind = rk_vop_bind,
.probe = rk3399_vop_probe,
- .priv_auto_alloc_size = sizeof(struct rk_vop_priv),
+ .priv_auto = sizeof(struct rk_vop_priv),
};
diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c
index c55f7a4f72..0be60e169e 100644
--- a/drivers/video/rockchip/rk_edp.c
+++ b/drivers/video/rockchip/rk_edp.c
@@ -1001,7 +1001,7 @@ done:
return edid_size;
}
-static int rk_edp_ofdata_to_platdata(struct udevice *dev)
+static int rk_edp_of_to_plat(struct udevice *dev)
{
struct rk_edp_priv *priv = dev_get_priv(dev);
@@ -1026,7 +1026,7 @@ static int rk_edp_remove(struct udevice *dev)
static int rk_edp_probe(struct udevice *dev)
{
- struct display_plat *uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *uc_plat = dev_get_uclass_plat(dev);
struct rk_edp_priv *priv = dev_get_priv(dev);
struct rk3288_edp *regs = priv->regs;
struct clk clk;
@@ -1099,8 +1099,8 @@ U_BOOT_DRIVER(dp_rockchip) = {
.id = UCLASS_DISPLAY,
.of_match = rockchip_dp_ids,
.ops = &dp_rockchip_ops,
- .ofdata_to_platdata = rk_edp_ofdata_to_platdata,
+ .of_to_plat = rk_edp_of_to_plat,
.probe = rk_edp_probe,
.remove = rk_edp_remove,
- .priv_auto_alloc_size = sizeof(struct rk_edp_priv),
+ .priv_auto = sizeof(struct rk_edp_priv),
};
diff --git a/drivers/video/rockchip/rk_hdmi.c b/drivers/video/rockchip/rk_hdmi.c
index f27cdf8ed4..8dcd4d5964 100644
--- a/drivers/video/rockchip/rk_hdmi.c
+++ b/drivers/video/rockchip/rk_hdmi.c
@@ -78,7 +78,7 @@ int rk_hdmi_read_edid(struct udevice *dev, u8 *buf, int buf_size)
return dw_hdmi_read_edid(&priv->hdmi, buf, buf_size);
}
-int rk_hdmi_ofdata_to_platdata(struct udevice *dev)
+int rk_hdmi_of_to_plat(struct udevice *dev)
{
struct rk_hdmi_priv *priv = dev_get_priv(dev);
struct dw_hdmi *hdmi = &priv->hdmi;
diff --git a/drivers/video/rockchip/rk_hdmi.h b/drivers/video/rockchip/rk_hdmi.h
index 5767ef1443..859a0b9ff3 100644
--- a/drivers/video/rockchip/rk_hdmi.h
+++ b/drivers/video/rockchip/rk_hdmi.h
@@ -52,12 +52,12 @@ int rk_hdmi_read_edid(struct udevice *dev, u8 *buf, int buf_size);
void rk_hdmi_probe_regulators(struct udevice *dev,
const char * const *names, int cnt);
/**
- * rk_hdmi_ofdata_to_platdata() - common ofdata_to_platdata implementation
+ * rk_hdmi_of_to_plat() - common of_to_plat implementation
*
* @dev: device
* @return 0 if OK, -ve if something went wrong
*/
-int rk_hdmi_ofdata_to_platdata(struct udevice *dev);
+int rk_hdmi_of_to_plat(struct udevice *dev);
/**
* rk_hdmi_probe() - common probe implementation
diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c
index 04f795a213..03c8257a35 100644
--- a/drivers/video/rockchip/rk_lvds.c
+++ b/drivers/video/rockchip/rk_lvds.c
@@ -53,7 +53,7 @@ int rk_lvds_enable(struct udevice *dev, int panel_bpp,
const struct display_timing *edid)
{
struct rk_lvds_priv *priv = dev_get_priv(dev);
- struct display_plat *uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *uc_plat = dev_get_uclass_plat(dev);
int ret = 0;
unsigned int val = 0;
@@ -170,7 +170,7 @@ int rk_lvds_read_timing(struct udevice *dev, struct display_timing *timing)
return 0;
}
-static int rk_lvds_ofdata_to_platdata(struct udevice *dev)
+static int rk_lvds_of_to_plat(struct udevice *dev)
{
struct rk_lvds_priv *priv = dev_get_priv(dev);
int ret;
@@ -245,7 +245,7 @@ U_BOOT_DRIVER(lvds_rockchip) = {
.id = UCLASS_DISPLAY,
.of_match = rockchip_lvds_ids,
.ops = &lvds_rockchip_ops,
- .ofdata_to_platdata = rk_lvds_ofdata_to_platdata,
+ .of_to_plat = rk_lvds_of_to_plat,
.probe = rk_lvds_probe,
- .priv_auto_alloc_size = sizeof(struct rk_lvds_priv),
+ .priv_auto = sizeof(struct rk_lvds_priv),
};
diff --git a/drivers/video/rockchip/rk_mipi.c b/drivers/video/rockchip/rk_mipi.c
index d125a5ba73..159201a591 100644
--- a/drivers/video/rockchip/rk_mipi.c
+++ b/drivers/video/rockchip/rk_mipi.c
@@ -119,7 +119,7 @@ int rk_mipi_dsi_enable(struct udevice *dev,
rk_mipi_dsi_write(regs, VID_PKT_SIZE, 0x4b0);
/* Set dpi color coding depth 24 bit */
- timing_node = ofnode_find_subnode(dev->node, "display-timings");
+ timing_node = ofnode_find_subnode(dev_ofnode(dev), "display-timings");
node = ofnode_first_subnode(timing_node);
val = ofnode_read_u32_default(node, "bits-per-pixel", -1);
diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c
index 6475b3e2af..fcb393b906 100644
--- a/drivers/video/rockchip/rk_vop.c
+++ b/drivers/video/rockchip/rk_vop.c
@@ -283,7 +283,7 @@ static int rk_display_init(struct udevice *dev, ulong fbbase, ofnode ep_node)
break;
};
- disp_uc_plat = dev_get_uclass_platdata(disp);
+ disp_uc_plat = dev_get_uclass_plat(disp);
debug("Found device '%s', disp_uc_priv=%p\n", disp->name, disp_uc_plat);
if (display_in_use(disp)) {
debug(" - device in use\n");
@@ -364,7 +364,7 @@ void rk_vop_probe_regulators(struct udevice *dev,
int rk_vop_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct rk_vop_priv *priv = dev_get_priv(dev);
int ret = 0;
ofnode port, node;
@@ -406,7 +406,7 @@ int rk_vop_probe(struct udevice *dev)
int rk_vop_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
plat->size = 4 * (CONFIG_VIDEO_ROCKCHIP_MAX_XRES *
CONFIG_VIDEO_ROCKCHIP_MAX_YRES);
diff --git a/drivers/video/sandbox_dsi_host.c b/drivers/video/sandbox_dsi_host.c
index cd644ec0b4..c84a27ee3b 100644
--- a/drivers/video/sandbox_dsi_host.c
+++ b/drivers/video/sandbox_dsi_host.c
@@ -86,5 +86,5 @@ U_BOOT_DRIVER(sandbox_dsi_host) = {
.id = UCLASS_DSI_HOST,
.of_match = sandbox_dsi_host_ids,
.ops = &sandbox_dsi_host_ops,
- .priv_auto_alloc_size = sizeof(struct sandbox_dsi_host_priv),
+ .priv_auto = sizeof(struct sandbox_dsi_host_priv),
};
diff --git a/drivers/video/sandbox_osd.c b/drivers/video/sandbox_osd.c
index 7e722326b3..2a854d3958 100644
--- a/drivers/video/sandbox_osd.c
+++ b/drivers/video/sandbox_osd.c
@@ -158,5 +158,5 @@ U_BOOT_DRIVER(sandbox_osd_drv) = {
.ops = &sandbox_osd_ops,
.of_match = sandbox_osd_ids,
.probe = sandbox_osd_probe,
- .priv_auto_alloc_size = sizeof(struct sandbox_osd_priv),
+ .priv_auto = sizeof(struct sandbox_osd_priv),
};
diff --git a/drivers/video/sandbox_sdl.c b/drivers/video/sandbox_sdl.c
index d806f35deb..12edf9c90c 100644
--- a/drivers/video/sandbox_sdl.c
+++ b/drivers/video/sandbox_sdl.c
@@ -23,8 +23,8 @@ enum {
static int sandbox_sdl_probe(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
- struct sandbox_sdl_plat *plat = dev_get_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
+ struct sandbox_sdl_plat *plat = dev_get_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct sandbox_state *state = state_get_current();
int ret;
@@ -49,8 +49,8 @@ static int sandbox_sdl_probe(struct udevice *dev)
static int sandbox_sdl_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
- struct sandbox_sdl_plat *plat = dev_get_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
+ struct sandbox_sdl_plat *plat = dev_get_plat(dev);
int ret = 0;
plat->xres = dev_read_u32_default(dev, "xres", LCD_MAX_WIDTH);
@@ -78,5 +78,5 @@ U_BOOT_DRIVER(sandbox_lcd_sdl) = {
.of_match = sandbox_sdl_ids,
.bind = sandbox_sdl_bind,
.probe = sandbox_sdl_probe,
- .platdata_auto_alloc_size = sizeof(struct sandbox_sdl_plat),
+ .plat_auto = sizeof(struct sandbox_sdl_plat),
};
diff --git a/drivers/video/seps525.c b/drivers/video/seps525.c
new file mode 100644
index 0000000000..369e5e6afc
--- /dev/null
+++ b/drivers/video/seps525.c
@@ -0,0 +1,327 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * FB driver for the WiseChip Semiconductor Inc. (UG-6028GDEBF02) display
+ * using the SEPS525 (Syncoam) LCD Controller
+ *
+ * Copyright (C) 2020 Xilinx Inc.
+ */
+
+#include <common.h>
+#include <command.h>
+#include <cpu_func.h>
+#include <dm.h>
+#include <errno.h>
+#include <spi.h>
+#include <video.h>
+#include <asm/gpio.h>
+#include <dm/device_compat.h>
+#include <linux/delay.h>
+
+#define WIDTH 160
+#define HEIGHT 128
+
+#define SEPS525_INDEX 0x00
+#define SEPS525_STATUS_RD 0x01
+#define SEPS525_OSC_CTL 0x02
+#define SEPS525_IREF 0x80
+#define SEPS525_CLOCK_DIV 0x03
+#define SEPS525_REDUCE_CURRENT 0x04
+#define SEPS525_SOFT_RST 0x05
+#define SEPS525_DISP_ONOFF 0x06
+#define SEPS525_PRECHARGE_TIME_R 0x08
+#define SEPS525_PRECHARGE_TIME_G 0x09
+#define SEPS525_PRECHARGE_TIME_B 0x0A
+#define SEPS525_PRECHARGE_CURRENT_R 0x0B
+#define SEPS525_PRECHARGE_CURRENT_G 0x0C
+#define SEPS525_PRECHARGE_CURRENT_B 0x0D
+#define SEPS525_DRIVING_CURRENT_R 0x10
+#define SEPS525_DRIVING_CURRENT_G 0x11
+#define SEPS525_DRIVING_CURRENT_B 0x12
+#define SEPS525_DISPLAYMODE_SET 0x13
+#define SEPS525_RGBIF 0x14
+#define SEPS525_RGB_POL 0x15
+#define SEPS525_MEMORY_WRITEMODE 0x16
+#define SEPS525_MX1_ADDR 0x17
+#define SEPS525_MX2_ADDR 0x18
+#define SEPS525_MY1_ADDR 0x19
+#define SEPS525_MY2_ADDR 0x1A
+#define SEPS525_MEMORY_ACCESS_POINTER_X 0x20
+#define SEPS525_MEMORY_ACCESS_POINTER_Y 0x21
+#define SEPS525_DDRAM_DATA_ACCESS_PORT 0x22
+#define SEPS525_GRAY_SCALE_TABLE_INDEX 0x50
+#define SEPS525_GRAY_SCALE_TABLE_DATA 0x51
+#define SEPS525_DUTY 0x28
+#define SEPS525_DSL 0x29
+#define SEPS525_D1_DDRAM_FAC 0x2E
+#define SEPS525_D1_DDRAM_FAR 0x2F
+#define SEPS525_D2_DDRAM_SAC 0x31
+#define SEPS525_D2_DDRAM_SAR 0x32
+#define SEPS525_SCR1_FX1 0x33
+#define SEPS525_SCR1_FX2 0x34
+#define SEPS525_SCR1_FY1 0x35
+#define SEPS525_SCR1_FY2 0x36
+#define SEPS525_SCR2_SX1 0x37
+#define SEPS525_SCR2_SX2 0x38
+#define SEPS525_SCR2_SY1 0x39
+#define SEPS525_SCR2_SY2 0x3A
+#define SEPS525_SCREEN_SAVER_CONTEROL 0x3B
+#define SEPS525_SS_SLEEP_TIMER 0x3C
+#define SEPS525_SCREEN_SAVER_MODE 0x3D
+#define SEPS525_SS_SCR1_FU 0x3E
+#define SEPS525_SS_SCR1_MXY 0x3F
+#define SEPS525_SS_SCR2_FU 0x40
+#define SEPS525_SS_SCR2_MXY 0x41
+#define SEPS525_MOVING_DIRECTION 0x42
+#define SEPS525_SS_SCR2_SX1 0x47
+#define SEPS525_SS_SCR2_SX2 0x48
+#define SEPS525_SS_SCR2_SY1 0x49
+#define SEPS525_SS_SCR2_SY2 0x4A
+
+/* SEPS525_DISPLAYMODE_SET */
+#define MODE_SWAP_BGR BIT(7)
+#define MODE_SM BIT(6)
+#define MODE_RD BIT(5)
+#define MODE_CD BIT(4)
+
+/**
+ * struct seps525_priv - Private structure
+ * @reset_gpio: Reset gpio pin
+ * @dc_gpio: Data/command control gpio pin
+ * @dev: Device uclass for video_ops
+ */
+struct seps525_priv {
+ struct gpio_desc reset_gpio;
+ struct gpio_desc dc_gpio;
+ struct udevice *dev;
+};
+
+static int seps525_spi_write_cmd(struct udevice *dev, u32 reg)
+{
+ struct seps525_priv *priv = dev_get_priv(dev);
+ u8 buf8 = reg;
+ int ret;
+
+ ret = dm_gpio_set_value(&priv->dc_gpio, 0);
+ if (ret) {
+ dev_dbg(dev, "Failed to handle dc\n");
+ return ret;
+ }
+
+ ret = dm_spi_xfer(dev, 8, &buf8, NULL, SPI_XFER_BEGIN | SPI_XFER_END);
+ if (ret)
+ dev_dbg(dev, "Failed to write command\n");
+
+ return ret;
+}
+
+static int seps525_spi_write_data(struct udevice *dev, u32 val)
+{
+ struct seps525_priv *priv = dev_get_priv(dev);
+ u8 buf8 = val;
+ int ret;
+
+ ret = dm_gpio_set_value(&priv->dc_gpio, 1);
+ if (ret) {
+ dev_dbg(dev, "Failed to handle dc\n");
+ return ret;
+ }
+
+ ret = dm_spi_xfer(dev, 8, &buf8, NULL, SPI_XFER_BEGIN | SPI_XFER_END);
+ if (ret)
+ dev_dbg(dev, "Failed to write data\n");
+
+ return ret;
+}
+
+static void seps525_spi_write(struct udevice *dev, u32 reg, u32 val)
+{
+ (void)seps525_spi_write_cmd(dev, reg);
+ (void)seps525_spi_write_data(dev, val);
+}
+
+static int seps525_display_init(struct udevice *dev)
+{
+ /* Disable Oscillator Power Down */
+ seps525_spi_write(dev, SEPS525_REDUCE_CURRENT, 0x03);
+ mdelay(5);
+
+ /* Set Normal Driving Current */
+ seps525_spi_write(dev, SEPS525_REDUCE_CURRENT, 0x00);
+ mdelay(5);
+
+ seps525_spi_write(dev, SEPS525_SCREEN_SAVER_CONTEROL, 0x00);
+ /* Set EXPORT1 Pin at Internal Clock */
+ seps525_spi_write(dev, SEPS525_OSC_CTL, 0x01);
+ /* Set Clock as 120 Frames/Sec */
+ seps525_spi_write(dev, SEPS525_CLOCK_DIV, 0x90);
+ /* Set Reference Voltage Controlled by External Resister */
+ seps525_spi_write(dev, SEPS525_IREF, 0x01);
+
+ /* precharge time R G B */
+ seps525_spi_write(dev, SEPS525_PRECHARGE_TIME_R, 0x04);
+ seps525_spi_write(dev, SEPS525_PRECHARGE_TIME_G, 0x05);
+ seps525_spi_write(dev, SEPS525_PRECHARGE_TIME_B, 0x05);
+
+ /* precharge current R G B (uA) */
+ seps525_spi_write(dev, SEPS525_PRECHARGE_CURRENT_R, 0x9D);
+ seps525_spi_write(dev, SEPS525_PRECHARGE_CURRENT_G, 0x8C);
+ seps525_spi_write(dev, SEPS525_PRECHARGE_CURRENT_B, 0x57);
+
+ /* driving current R G B (uA) */
+ seps525_spi_write(dev, SEPS525_DRIVING_CURRENT_R, 0x56);
+ seps525_spi_write(dev, SEPS525_DRIVING_CURRENT_G, 0x4D);
+ seps525_spi_write(dev, SEPS525_DRIVING_CURRENT_B, 0x46);
+ /* Set Color Sequence */
+ seps525_spi_write(dev, SEPS525_DISPLAYMODE_SET, 0x00);
+ /* Set MCU Interface Mode */
+ seps525_spi_write(dev, SEPS525_RGBIF, 0x01);
+ /* Set Memory Write Mode */
+ seps525_spi_write(dev, SEPS525_MEMORY_WRITEMODE, 0x66);
+ /* 1/128 Duty (0x0F~0x7F) */
+ seps525_spi_write(dev, SEPS525_DUTY, 0x7F);
+ /* Set Mapping RAM Display Start Line (0x00~0x7F) */
+ seps525_spi_write(dev, SEPS525_DSL, 0x00);
+ /* Display On (0x00/0x01) */
+ seps525_spi_write(dev, SEPS525_DISP_ONOFF, 0x01);
+ /* Set All Internal Register Value as Normal Mode */
+ seps525_spi_write(dev, SEPS525_SOFT_RST, 0x00);
+ /* Set RGB Interface Polarity as Active Low */
+ seps525_spi_write(dev, SEPS525_RGB_POL, 0x00);
+
+ /* Enable access for data */
+ (void)seps525_spi_write_cmd(dev, SEPS525_DDRAM_DATA_ACCESS_PORT);
+
+ return 0;
+}
+
+static int seps525_spi_startup(struct udevice *dev)
+{
+ struct seps525_priv *priv = dev_get_priv(dev);
+ int ret;
+
+ ret = dm_gpio_set_value(&priv->reset_gpio, 1);
+ if (ret)
+ return ret;
+
+ ret = dm_gpio_set_value(&priv->reset_gpio, 0);
+ if (ret)
+ return ret;
+
+ ret = dm_spi_claim_bus(dev);
+ if (ret) {
+ dev_err(dev, "Failed to claim SPI bus: %d\n", ret);
+ return ret;
+ }
+
+ ret = seps525_display_init(dev);
+ if (ret)
+ return ret;
+
+ dm_spi_release_bus(dev);
+
+ return 0;
+}
+
+static int seps525_sync(struct udevice *vid)
+{
+ struct video_priv *uc_priv = dev_get_uclass_priv(vid);
+ struct seps525_priv *priv = dev_get_priv(vid);
+ struct udevice *dev = priv->dev;
+ int i, ret;
+ u8 data1, data2;
+ u8 *start = uc_priv->fb;
+
+ ret = dm_spi_claim_bus(dev);
+ if (ret) {
+ dev_err(dev, "Failed to claim SPI bus: %d\n", ret);
+ return ret;
+ }
+
+ /* start position X,Y */
+ seps525_spi_write(dev, SEPS525_MEMORY_ACCESS_POINTER_X, 0);
+ seps525_spi_write(dev, SEPS525_MEMORY_ACCESS_POINTER_Y, 0);
+
+ /* Enable access for data */
+ (void)seps525_spi_write_cmd(dev, SEPS525_DDRAM_DATA_ACCESS_PORT);
+
+ for (i = 0; i < (uc_priv->xsize * uc_priv->ysize); i++) {
+ data2 = *start++;
+ data1 = *start++;
+ (void)seps525_spi_write_data(dev, data1);
+ (void)seps525_spi_write_data(dev, data2);
+ }
+
+ dm_spi_release_bus(dev);
+
+ return 0;
+}
+
+static int seps525_probe(struct udevice *dev)
+{
+ struct video_priv *uc_priv = dev_get_uclass_priv(dev);
+ struct seps525_priv *priv = dev_get_priv(dev);
+ u32 buswidth;
+ int ret;
+
+ buswidth = dev_read_u32_default(dev, "buswidth", 0);
+ if (buswidth != 8) {
+ dev_err(dev, "Only 8bit buswidth is supported now");
+ return -EINVAL;
+ }
+
+ ret = gpio_request_by_name(dev, "reset-gpios", 0,
+ &priv->reset_gpio, GPIOD_IS_OUT);
+ if (ret) {
+ dev_err(dev, "missing reset GPIO\n");
+ return ret;
+ }
+
+ ret = gpio_request_by_name(dev, "dc-gpios", 0,
+ &priv->dc_gpio, GPIOD_IS_OUT);
+ if (ret) {
+ dev_err(dev, "missing dc GPIO\n");
+ return ret;
+ }
+
+ uc_priv->bpix = VIDEO_BPP16;
+ uc_priv->xsize = WIDTH;
+ uc_priv->ysize = HEIGHT;
+ uc_priv->rot = 0;
+
+ priv->dev = dev;
+
+ ret = seps525_spi_startup(dev);
+ if (ret)
+ return ret;
+
+ return 0;
+}
+
+static int seps525_bind(struct udevice *dev)
+{
+ struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+
+ plat->size = WIDTH * HEIGHT * 16;
+
+ return 0;
+}
+
+static const struct video_ops seps525_ops = {
+ .video_sync = seps525_sync,
+};
+
+static const struct udevice_id seps525_ids[] = {
+ { .compatible = "syncoam,seps525" },
+ { }
+};
+
+U_BOOT_DRIVER(seps525_video) = {
+ .name = "seps525_video",
+ .id = UCLASS_VIDEO,
+ .of_match = seps525_ids,
+ .ops = &seps525_ops,
+ .platdata_auto_alloc_size = sizeof(struct video_uc_platdata),
+ .bind = seps525_bind,
+ .probe = seps525_probe,
+ .priv_auto_alloc_size = sizeof(struct seps525_priv),
+};
diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c
index 6c624c3769..59e17f8f10 100644
--- a/drivers/video/simple_panel.c
+++ b/drivers/video/simple_panel.c
@@ -48,7 +48,7 @@ static int simple_panel_set_backlight(struct udevice *dev, int percent)
return 0;
}
-static int simple_panel_ofdata_to_platdata(struct udevice *dev)
+static int simple_panel_of_to_plat(struct udevice *dev)
{
struct simple_panel_priv *priv = dev_get_priv(dev);
int ret;
@@ -116,7 +116,7 @@ U_BOOT_DRIVER(simple_panel) = {
.id = UCLASS_PANEL,
.of_match = simple_panel_ids,
.ops = &simple_panel_ops,
- .ofdata_to_platdata = simple_panel_ofdata_to_platdata,
+ .of_to_plat = simple_panel_of_to_plat,
.probe = simple_panel_probe,
- .priv_auto_alloc_size = sizeof(struct simple_panel_priv),
+ .priv_auto = sizeof(struct simple_panel_priv),
};
diff --git a/drivers/video/simplefb.c b/drivers/video/simplefb.c
index 0c5b40c30b..b5fb6f62bb 100644
--- a/drivers/video/simplefb.c
+++ b/drivers/video/simplefb.c
@@ -12,7 +12,7 @@
static int simple_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
const void *blob = gd->fdt_blob;
const int node = dev_of_offset(dev);
diff --git a/drivers/video/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c
index 9d5abacc2b..266623b876 100644
--- a/drivers/video/stm32/stm32_dsi.c
+++ b/drivers/video/stm32/stm32_dsi.c
@@ -351,7 +351,7 @@ static int stm32_dsi_attach(struct udevice *dev)
return ret;
}
- mplat = dev_get_platdata(priv->panel);
+ mplat = dev_get_plat(priv->panel);
mplat->device = &priv->device;
device->lanes = mplat->lanes;
device->format = mplat->format;
@@ -512,5 +512,5 @@ U_BOOT_DRIVER(stm32_dsi) = {
.bind = stm32_dsi_bind,
.probe = stm32_dsi_probe,
.ops = &stm32_dsi_ops,
- .priv_auto_alloc_size = sizeof(struct stm32_dsi_priv),
+ .priv_auto = sizeof(struct stm32_dsi_priv),
};
diff --git a/drivers/video/stm32/stm32_ltdc.c b/drivers/video/stm32/stm32_ltdc.c
index 7fff735930..dc10b8cfc1 100644
--- a/drivers/video/stm32/stm32_ltdc.c
+++ b/drivers/video/stm32/stm32_ltdc.c
@@ -329,7 +329,7 @@ static void stm32_ltdc_set_layer1(struct stm32_ltdc_priv *priv, ulong fb_addr)
static int stm32_ltdc_probe(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct stm32_ltdc_priv *priv = dev_get_priv(dev);
struct udevice *bridge = NULL;
@@ -452,7 +452,7 @@ static int stm32_ltdc_probe(struct udevice *dev)
static int stm32_ltdc_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
uc_plat->size = CONFIG_VIDEO_STM32_MAX_XRES *
CONFIG_VIDEO_STM32_MAX_YRES *
@@ -473,5 +473,5 @@ U_BOOT_DRIVER(stm32_ltdc) = {
.of_match = stm32_ltdc_ids,
.probe = stm32_ltdc_probe,
.bind = stm32_ltdc_bind,
- .priv_auto_alloc_size = sizeof(struct stm32_ltdc_priv),
+ .priv_auto = sizeof(struct stm32_ltdc_priv),
};
diff --git a/drivers/video/sunxi/sunxi_de2.c b/drivers/video/sunxi/sunxi_de2.c
index b657e163f0..a3e21aa5f1 100644
--- a/drivers/video/sunxi/sunxi_de2.c
+++ b/drivers/video/sunxi/sunxi_de2.c
@@ -189,7 +189,7 @@ static int sunxi_de2_init(struct udevice *dev, ulong fbbase,
struct display_plat *disp_uc_plat;
int ret;
- disp_uc_plat = dev_get_uclass_platdata(disp);
+ disp_uc_plat = dev_get_uclass_plat(disp);
debug("Using device '%s', disp_uc_priv=%p\n", disp->name, disp_uc_plat);
if (display_in_use(disp)) {
debug(" - device in use\n");
@@ -237,7 +237,7 @@ static int sunxi_de2_init(struct udevice *dev, ulong fbbase,
static int sunxi_de2_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct udevice *disp;
int ret;
@@ -299,7 +299,7 @@ static int sunxi_de2_probe(struct udevice *dev)
static int sunxi_de2_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
plat->size = LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
(1 << LCD_MAX_LOG2_BPP) / 8;
@@ -319,7 +319,7 @@ U_BOOT_DRIVER(sunxi_de2) = {
.flags = DM_FLAG_PRE_RELOC,
};
-U_BOOT_DEVICE(sunxi_de2) = {
+U_BOOT_DRVINFO(sunxi_de2) = {
.name = "sunxi_de2"
};
@@ -331,7 +331,7 @@ int sunxi_simplefb_setup(void *blob)
{
struct udevice *de2, *hdmi, *lcd;
struct video_priv *de2_priv;
- struct video_uc_platdata *de2_plat;
+ struct video_uc_plat *de2_plat;
int mux;
int offset, ret;
u64 start, size;
@@ -383,7 +383,7 @@ int sunxi_simplefb_setup(void *blob)
}
de2_priv = dev_get_uclass_priv(de2);
- de2_plat = dev_get_uclass_platdata(de2);
+ de2_plat = dev_get_uclass_plat(de2);
offset = sunxi_simplefb_fdt_match(blob, pipeline);
if (offset < 0) {
diff --git a/drivers/video/sunxi/sunxi_dw_hdmi.c b/drivers/video/sunxi/sunxi_dw_hdmi.c
index 01d4b7a11c..0b8cefc311 100644
--- a/drivers/video/sunxi/sunxi_dw_hdmi.c
+++ b/drivers/video/sunxi/sunxi_dw_hdmi.c
@@ -340,7 +340,7 @@ static int sunxi_dw_hdmi_enable(struct udevice *dev, int panel_bpp,
static int sunxi_dw_hdmi_probe(struct udevice *dev)
{
- struct display_plat *uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *uc_plat = dev_get_uclass_plat(dev);
struct sunxi_dw_hdmi_priv *priv = dev_get_priv(dev);
struct sunxi_ccm_reg * const ccm =
(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
@@ -395,9 +395,9 @@ U_BOOT_DRIVER(sunxi_dw_hdmi) = {
.id = UCLASS_DISPLAY,
.ops = &sunxi_dw_hdmi_ops,
.probe = sunxi_dw_hdmi_probe,
- .priv_auto_alloc_size = sizeof(struct sunxi_dw_hdmi_priv),
+ .priv_auto = sizeof(struct sunxi_dw_hdmi_priv),
};
-U_BOOT_DEVICE(sunxi_dw_hdmi) = {
+U_BOOT_DRVINFO(sunxi_dw_hdmi) = {
.name = "sunxi_dw_hdmi"
};
diff --git a/drivers/video/sunxi/sunxi_lcd.c b/drivers/video/sunxi/sunxi_lcd.c
index 49bf083a8d..635edf6dd3 100644
--- a/drivers/video/sunxi/sunxi_lcd.c
+++ b/drivers/video/sunxi/sunxi_lcd.c
@@ -142,11 +142,11 @@ U_BOOT_DRIVER(sunxi_lcd) = {
.id = UCLASS_DISPLAY,
.ops = &sunxi_lcd_ops,
.probe = sunxi_lcd_probe,
- .priv_auto_alloc_size = sizeof(struct sunxi_lcd_priv),
+ .priv_auto = sizeof(struct sunxi_lcd_priv),
};
#ifdef CONFIG_MACH_SUN50I
-U_BOOT_DEVICE(sunxi_lcd) = {
+U_BOOT_DRVINFO(sunxi_lcd) = {
.name = "sunxi_lcd"
};
#endif
diff --git a/drivers/video/tda19988.c b/drivers/video/tda19988.c
index 191cda3ce7..2448743904 100644
--- a/drivers/video/tda19988.c
+++ b/drivers/video/tda19988.c
@@ -651,5 +651,5 @@ U_BOOT_DRIVER(tda19988) = {
.of_match = tda19988_ids,
.ops = &tda19988_ops,
.probe = tda19988_probe,
- .priv_auto_alloc_size = sizeof(struct tda19988_priv),
+ .priv_auto = sizeof(struct tda19988_priv),
};
diff --git a/drivers/video/tegra.c b/drivers/video/tegra.c
index 827ea13d13..08b006b469 100644
--- a/drivers/video/tegra.c
+++ b/drivers/video/tegra.c
@@ -299,7 +299,7 @@ static int tegra_display_probe(const void *blob, struct tegra_lcd_priv *priv,
static int tegra_lcd_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct tegra_lcd_priv *priv = dev_get_priv(dev);
const void *blob = gd->fdt_blob;
@@ -336,7 +336,7 @@ static int tegra_lcd_probe(struct udevice *dev)
return 0;
}
-static int tegra_lcd_ofdata_to_platdata(struct udevice *dev)
+static int tegra_lcd_of_to_plat(struct udevice *dev)
{
struct tegra_lcd_priv *priv = dev_get_priv(dev);
const void *blob = gd->fdt_blob;
@@ -393,7 +393,7 @@ static int tegra_lcd_ofdata_to_platdata(struct udevice *dev)
static int tegra_lcd_bind(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
const void *blob = gd->fdt_blob;
int node = dev_of_offset(dev);
int rgb;
@@ -423,6 +423,6 @@ U_BOOT_DRIVER(tegra_lcd) = {
.ops = &tegra_lcd_ops,
.bind = tegra_lcd_bind,
.probe = tegra_lcd_probe,
- .ofdata_to_platdata = tegra_lcd_ofdata_to_platdata,
- .priv_auto_alloc_size = sizeof(struct tegra_lcd_priv),
+ .of_to_plat = tegra_lcd_of_to_plat,
+ .priv_auto = sizeof(struct tegra_lcd_priv),
};
diff --git a/drivers/video/tegra124/display.c b/drivers/video/tegra124/display.c
index 6c27932263..f642b3b10a 100644
--- a/drivers/video/tegra124/display.c
+++ b/drivers/video/tegra124/display.c
@@ -351,7 +351,7 @@ static int display_init(struct udevice *dev, void *lcdbase,
return ret;
}
- disp_uc_plat = dev_get_uclass_platdata(dp_dev);
+ disp_uc_plat = dev_get_uclass_plat(dp_dev);
debug("Found device '%s', disp_uc_priv=%p\n", dp_dev->name,
disp_uc_plat);
disp_uc_plat->src_dev = dev;
@@ -465,7 +465,7 @@ static int tegra124_lcd_init(struct udevice *dev, void *lcdbase,
static int tegra124_lcd_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
ulong start;
int ret;
@@ -482,7 +482,7 @@ static int tegra124_lcd_probe(struct udevice *dev)
static int tegra124_lcd_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
uc_plat->size = LCD_MAX_WIDTH * LCD_MAX_HEIGHT *
(1 << VIDEO_BPP16) / 8;
diff --git a/drivers/video/tegra124/dp.c b/drivers/video/tegra124/dp.c
index 59758eb936..8f5116fe7c 100644
--- a/drivers/video/tegra124/dp.c
+++ b/drivers/video/tegra124/dp.c
@@ -1566,9 +1566,9 @@ error_enable:
return 0;
}
-static int tegra_dp_ofdata_to_platdata(struct udevice *dev)
+static int tegra_dp_of_to_plat(struct udevice *dev)
{
- struct tegra_dp_plat *plat = dev_get_platdata(dev);
+ struct tegra_dp_plat *plat = dev_get_plat(dev);
plat->base = dev_read_addr(dev);
@@ -1594,9 +1594,9 @@ static const struct dm_display_ops dp_tegra_ops = {
static int dp_tegra_probe(struct udevice *dev)
{
- struct tegra_dp_plat *plat = dev_get_platdata(dev);
+ struct tegra_dp_plat *plat = dev_get_plat(dev);
struct tegra_dp_priv *priv = dev_get_priv(dev);
- struct display_plat *disp_uc_plat = dev_get_uclass_platdata(dev);
+ struct display_plat *disp_uc_plat = dev_get_uclass_plat(dev);
priv->regs = (struct dpaux_ctlr *)plat->base;
priv->enabled = false;
@@ -1616,9 +1616,9 @@ U_BOOT_DRIVER(dp_tegra) = {
.name = "dpaux_tegra",
.id = UCLASS_DISPLAY,
.of_match = tegra_dp_ids,
- .ofdata_to_platdata = tegra_dp_ofdata_to_platdata,
+ .of_to_plat = tegra_dp_of_to_plat,
.probe = dp_tegra_probe,
.ops = &dp_tegra_ops,
- .priv_auto_alloc_size = sizeof(struct tegra_dp_priv),
- .platdata_auto_alloc_size = sizeof(struct tegra_dp_plat),
+ .priv_auto = sizeof(struct tegra_dp_priv),
+ .plat_auto = sizeof(struct tegra_dp_plat),
};
diff --git a/drivers/video/tegra124/sor.c b/drivers/video/tegra124/sor.c
index 49f33c15b5..95976ee573 100644
--- a/drivers/video/tegra124/sor.c
+++ b/drivers/video/tegra124/sor.c
@@ -1042,7 +1042,7 @@ static int tegra_sor_set_backlight(struct udevice *dev, int percent)
return 0;
}
-static int tegra_sor_ofdata_to_platdata(struct udevice *dev)
+static int tegra_sor_of_to_plat(struct udevice *dev)
{
struct tegra_dc_sor_data *priv = dev_get_priv(dev);
int ret;
@@ -1077,7 +1077,7 @@ U_BOOT_DRIVER(sor_tegra) = {
.name = "sor_tegra",
.id = UCLASS_VIDEO_BRIDGE,
.of_match = tegra_sor_ids,
- .ofdata_to_platdata = tegra_sor_ofdata_to_platdata,
+ .of_to_plat = tegra_sor_of_to_plat,
.ops = &tegra_sor_ops,
- .priv_auto_alloc_size = sizeof(struct tegra_dc_sor_data),
+ .priv_auto = sizeof(struct tegra_dc_sor_data),
};
diff --git a/drivers/video/vesa.c b/drivers/video/vesa.c
index 9656326bdb..869e546973 100644
--- a/drivers/video/vesa.c
+++ b/drivers/video/vesa.c
@@ -13,7 +13,7 @@
static int vesa_video_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
ulong fbbase;
int ret;
@@ -31,7 +31,7 @@ static int vesa_video_probe(struct udevice *dev)
static int vesa_video_bind(struct udevice *dev)
{
- struct video_uc_platdata *uc_plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
/* Set the maximum supported resolution */
uc_plat->size = 2560 * 1600 * 4;
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 3a07f36ce2..81b65f5aae 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -89,9 +89,7 @@ static int vidconsole_back(struct udevice *dev)
if (priv->ycur < 0)
priv->ycur = 0;
}
- video_sync(dev->parent, false);
-
- return 0;
+ return video_sync(dev->parent, false);
}
/* Move to a newline, scrolling the display if necessary */
@@ -101,7 +99,7 @@ static void vidconsole_newline(struct udevice *dev)
struct udevice *vid_dev = dev->parent;
struct video_priv *vid_priv = dev_get_uclass_priv(vid_dev);
const int rows = CONFIG_CONSOLE_SCROLL_LINES;
- int i;
+ int i, ret;
priv->xcur_frac = priv->xstart_frac;
priv->ycur += priv->y_charsize;
@@ -116,7 +114,12 @@ static void vidconsole_newline(struct udevice *dev)
}
priv->last_ch = 0;
- video_sync(dev->parent, false);
+ ret = video_sync(dev->parent, false);
+ if (ret) {
+#ifdef DEBUG
+ console_puts_select_stderr(true, "[vc err: video_sync]");
+#endif
+ }
}
static const struct vid_rgb colors[VID_COLOR_COUNT] = {
@@ -348,8 +351,15 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
parsenum(priv->escape_buf + 1, &mode);
if (mode == 2) {
+ int ret;
+
video_clear(dev->parent);
- video_sync(dev->parent, false);
+ ret = video_sync(dev->parent, false);
+ if (ret) {
+#ifdef DEBUG
+ console_puts_select_stderr(true, "[vc err: video_sync]");
+#endif
+ }
priv->ycur = 0;
priv->xcur_frac = priv->xstart_frac;
} else {
@@ -565,7 +575,12 @@ static void vidconsole_putc(struct stdio_dev *sdev, const char ch)
console_puts_select_stderr(true, "[vc err: putc]");
#endif
}
- video_sync(dev->parent, false);
+ ret = video_sync(dev->parent, false);
+ if (ret) {
+#ifdef DEBUG
+ console_puts_select_stderr(true, "[vc err: video_sync]");
+#endif
+ }
}
static void vidconsole_puts(struct stdio_dev *sdev, const char *s)
@@ -582,7 +597,12 @@ static void vidconsole_puts(struct stdio_dev *sdev, const char *s)
console_puts_select_stderr(true, str);
#endif
}
- video_sync(dev->parent, false);
+ ret = video_sync(dev->parent, false);
+ if (ret) {
+#ifdef DEBUG
+ console_puts_select_stderr(true, "[vc err: video_sync]");
+#endif
+ }
}
/* Set up the number of rows and colours (rotated drivers override this) */
@@ -606,9 +626,9 @@ static int vidconsole_post_probe(struct udevice *dev)
if (!priv->tab_width_frac)
priv->tab_width_frac = VID_TO_POS(priv->x_charsize) * 8;
- if (dev->seq) {
+ if (dev_seq(dev)) {
snprintf(sdev->name, sizeof(sdev->name), "vidconsole%d",
- dev->seq);
+ dev_seq(dev));
} else {
strcpy(sdev->name, "vidconsole");
}
@@ -626,7 +646,7 @@ UCLASS_DRIVER(vidconsole) = {
.name = "vidconsole0",
.pre_probe = vidconsole_pre_probe,
.post_probe = vidconsole_post_probe,
- .per_device_auto_alloc_size = sizeof(struct vidconsole_priv),
+ .per_device_auto = sizeof(struct vidconsole_priv),
};
#ifdef CONFIG_VIDEO_COPY
@@ -691,9 +711,7 @@ static int do_video_puts(struct cmd_tbl *cmdtp, int flag, int argc,
for (s = argv[1]; *s; s++)
vidconsole_put_char(dev, *s);
- video_sync(dev->parent, false);
-
- return 0;
+ return video_sync(dev->parent, false);
}
U_BOOT_CMD(
diff --git a/drivers/video/video-uclass.c b/drivers/video/video-uclass.c
index 650891e49d..a1d527529f 100644
--- a/drivers/video/video-uclass.c
+++ b/drivers/video/video-uclass.c
@@ -15,6 +15,7 @@
#include <video_console.h>
#include <asm/cache.h>
#include <dm/lists.h>
+#include <dm/device_compat.h>
#include <dm/device-internal.h>
#include <dm/uclass-internal.h>
#ifdef CONFIG_SANDBOX
@@ -25,7 +26,7 @@
* Theory of operation:
*
* Before relocation each device is bound. The driver for each device must
- * set the @align and @size values in struct video_uc_platdata. This
+ * set the @align and @size values in struct video_uc_plat. This
* information represents the requires size and alignment of the frame buffer
* for the device. The values can be an over-estimate but cannot be too
* small. The actual values will be suppled (in the same manner) by the bind()
@@ -68,7 +69,7 @@ void video_set_flush_dcache(struct udevice *dev, bool flush)
static ulong alloc_fb(struct udevice *dev, ulong *addrp)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
ulong base, align, size;
if (!plat->size)
@@ -142,7 +143,7 @@ int video_clear(struct udevice *dev)
if (ret)
return ret;
- return 0;
+ return video_sync(dev, false);
}
void video_set_default_colors(struct udevice *dev, bool invert)
@@ -172,8 +173,17 @@ void video_set_default_colors(struct udevice *dev, bool invert)
}
/* Flush video activity to the caches */
-void video_sync(struct udevice *vid, bool force)
+int video_sync(struct udevice *vid, bool force)
{
+ struct video_ops *ops = video_get_ops(vid);
+ int ret;
+
+ if (ops && ops->video_sync) {
+ ret = ops->video_sync(vid);
+ if (ret)
+ return ret;
+ }
+
/*
* flush_dcache_range() is declared in common.h but it seems that some
* architectures do not actually implement it. Is there a way to find
@@ -196,17 +206,22 @@ void video_sync(struct udevice *vid, bool force)
last_sync = get_timer(0);
}
#endif
+ return 0;
}
void video_sync_all(void)
{
struct udevice *dev;
+ int ret;
for (uclass_find_first_device(UCLASS_VIDEO, &dev);
dev;
uclass_find_next_device(&dev)) {
- if (device_active(dev))
- video_sync(dev, true);
+ if (device_active(dev)) {
+ ret = video_sync(dev, true);
+ if (ret)
+ dev_dbg(dev, "Video sync failed\n");
+ }
}
}
@@ -301,7 +316,7 @@ static int video_pre_remove(struct udevice *dev)
/* Set up the display ready for use */
static int video_post_probe(struct udevice *dev)
{
- struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+ struct video_uc_plat *plat = dev_get_uclass_plat(dev);
struct video_priv *priv = dev_get_uclass_priv(dev);
char name[30], drv[15], *str;
const char *drv_name = drv;
@@ -378,7 +393,7 @@ static int video_post_bind(struct udevice *dev)
return 0;
/* Set up the video pointer, if this is the first device */
- uc_priv = dev->uclass->priv;
+ uc_priv = uclass_get_priv(dev->uclass);
if (!uc_priv->video_ptr)
uc_priv->video_ptr = gd->video_top;
@@ -408,7 +423,7 @@ UCLASS_DRIVER(video) = {
.pre_probe = video_pre_probe,
.post_probe = video_post_probe,
.pre_remove = video_pre_remove,
- .priv_auto_alloc_size = sizeof(struct video_uc_priv),
- .per_device_auto_alloc_size = sizeof(struct video_priv),
- .per_device_platdata_auto_alloc_size = sizeof(struct video_uc_platdata),
+ .priv_auto = sizeof(struct video_uc_priv),
+ .per_device_auto = sizeof(struct video_priv),
+ .per_device_plat_auto = sizeof(struct video_uc_plat),
};
diff --git a/drivers/video/video_bmp.c b/drivers/video/video_bmp.c
index 5a4d12c68d..66de22318f 100644
--- a/drivers/video/video_bmp.c
+++ b/drivers/video/video_bmp.c
@@ -379,8 +379,5 @@ int video_bmp_display(struct udevice *dev, ulong bmp_image, int x, int y,
if (ret)
return log_ret(ret);
- video_sync(dev, false);
-
- return 0;
+ return video_sync(dev, false);
}
-