diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/imx-ipu-v3/imx-pd.c | 2 | ||||
-rw-r--r-- | drivers/video/imx-ipu-v3/ipu-di.c | 1 | ||||
-rw-r--r-- | drivers/video/ssd1307fb.c | 7 |
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); |