summaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/imx-ipu-v3/imx-pd.c2
-rw-r--r--drivers/video/imx-ipu-v3/ipu-di.c1
-rw-r--r--drivers/video/ssd1307fb.c7
3 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/imx-ipu-v3/imx-pd.c b/drivers/video/imx-ipu-v3/imx-pd.c
index 09d8a3ae2a..601be35880 100644
--- a/drivers/video/imx-ipu-v3/imx-pd.c
+++ b/drivers/video/imx-ipu-v3/imx-pd.c
@@ -45,7 +45,7 @@ static int imx_pd_ioctl(struct vpl *vpl, unsigned int port,
case IMX_IPU_VPL_DI_MODE:
mode = data;
- mode->di_clkflags = IPU_DI_CLKMODE_SYNC;
+ mode->di_clkflags = IPU_DI_CLKMODE_NON_FRACTIONAL;
mode->bus_format = imx_pd->bus_format;
return 0;
diff --git a/drivers/video/imx-ipu-v3/ipu-di.c b/drivers/video/imx-ipu-v3/ipu-di.c
index b6e64fe16a..b4302412e0 100644
--- a/drivers/video/imx-ipu-v3/ipu-di.c
+++ b/drivers/video/imx-ipu-v3/ipu-di.c
@@ -140,6 +140,7 @@ static int ipu_di_clk_calc_div(unsigned long inrate, unsigned long outrate)
int div;
tmp *= 16;
+ tmp += outrate / 2;
do_div(tmp, outrate);
diff --git a/drivers/video/ssd1307fb.c b/drivers/video/ssd1307fb.c
index d68f0c5056..70077e43a8 100644
--- a/drivers/video/ssd1307fb.c
+++ b/drivers/video/ssd1307fb.c
@@ -548,8 +548,10 @@ static int ssd1307fb_probe(struct device_d *dev)
/* clear display */
array = ssd1307fb_alloc_array(par->width * par->height / 8,
SSD1307FB_DATA);
- if (!array)
- return -ENOMEM;
+ if (!array) {
+ ret = -ENOMEM;
+ goto panel_init_error;
+ }
for (i = 0; i < (par->height / 8); i++) {
for (j = 0; j < par->width; j++) {
@@ -569,6 +571,7 @@ static int ssd1307fb_probe(struct device_d *dev)
panel_init_error:
reset_oled_error:
+ free(vmem);
fb_alloc_error:
regulator_disable(par->vbat);
free(info);