diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c index 4b54cd5c9564..7a0b301587f6 100644 --- a/drivers/video/sh_mobile_lcdcfb.c +++ b/drivers/video/sh_mobile_lcdcfb.c @@ -1072,14 +1072,11 @@ static int sh_mobile_fb_pan_display(struct fb_var_screeninfo *var, if (ch->meram) { struct sh_mobile_meram_info *mdev; - int ret; mdev = priv->meram_dev; - ret = mdev->ops->meram_update(mdev, ch->meram, + mdev->ops->meram_update(mdev, ch->meram, base_addr_y, base_addr_c, &base_addr_y, &base_addr_c); - if (ret) - return ret; } ch->base_addr_y = base_addr_y; diff --git a/drivers/video/sh_mobile_meram.c b/drivers/video/sh_mobile_meram.c index 2ce0d8f72e31..d9f7a44c231c 100644 --- a/drivers/video/sh_mobile_meram.c +++ b/drivers/video/sh_mobile_meram.c @@ -451,21 +451,15 @@ static void *sh_mobile_meram_register(struct sh_mobile_meram_info *pdata, unsigned int *pitch) { struct sh_mobile_meram_fb_cache *cache; - struct sh_mobile_meram_priv *priv; - struct platform_device *pdev; + struct sh_mobile_meram_priv *priv = pdata->priv; + struct platform_device *pdev = pdata->pdev; unsigned int out_pitch; - if (!pdata || !pdata->priv || !pdata->pdev || !cfg) - return ERR_PTR(-EINVAL); - if (pixelformat != SH_MOBILE_MERAM_PF_NV && pixelformat != SH_MOBILE_MERAM_PF_NV24 && pixelformat != SH_MOBILE_MERAM_PF_RGB) return ERR_PTR(-EINVAL); - priv = pdata->priv; - pdev = pdata->pdev; - dev_dbg(&pdev->dev, "registering %dx%d (%s)", xres, yres, !pixelformat ? "yuv" : "rgb"); @@ -500,16 +494,11 @@ err: return cache; } -static int +static void sh_mobile_meram_unregister(struct sh_mobile_meram_info *pdata, void *data) { struct sh_mobile_meram_fb_cache *cache = data; - struct sh_mobile_meram_priv *priv; - - if (!pdata || !pdata->priv || !data) - return -EINVAL; - - priv = pdata->priv; + struct sh_mobile_meram_priv *priv = pdata->priv; mutex_lock(&priv->lock); @@ -521,22 +510,15 @@ sh_mobile_meram_unregister(struct sh_mobile_meram_info *pdata, void *data) meram_free(priv, cache); mutex_unlock(&priv->lock); - - return 0; } -static int +static void sh_mobile_meram_update(struct sh_mobile_meram_info *pdata, void *data, unsigned long base_addr_y, unsigned long base_addr_c, unsigned long *icb_addr_y, unsigned long *icb_addr_c) { struct sh_mobile_meram_fb_cache *cache = data; - struct sh_mobile_meram_priv *priv; - - if (!pdata || !pdata->priv || !data) - return -EINVAL; - - priv = pdata->priv; + struct sh_mobile_meram_priv *priv = pdata->priv; mutex_lock(&priv->lock); @@ -544,8 +526,6 @@ sh_mobile_meram_update(struct sh_mobile_meram_info *pdata, void *data, meram_get_next_icb_addr(pdata, cache, icb_addr_y, icb_addr_c); mutex_unlock(&priv->lock); - - return 0; } static struct sh_mobile_meram_ops sh_mobile_meram_ops = { diff --git a/include/video/sh_mobile_meram.h b/include/video/sh_mobile_meram.h index 553335ce7a2c..29b2fd3b147e 100644 --- a/include/video/sh_mobile_meram.h +++ b/include/video/sh_mobile_meram.h @@ -49,16 +49,15 @@ struct sh_mobile_meram_ops { unsigned int *pitch); /* unregister usage of meram */ - int (*meram_unregister)(struct sh_mobile_meram_info *meram_dev, - void *data); + void (*meram_unregister)(struct sh_mobile_meram_info *meram_dev, + void *data); /* update meram settings */ - int (*meram_update)(struct sh_mobile_meram_info *meram_dev, - void *data, - unsigned long base_addr_y, - unsigned long base_addr_c, - unsigned long *icb_addr_y, - unsigned long *icb_addr_c); + void (*meram_update)(struct sh_mobile_meram_info *meram_dev, void *data, + unsigned long base_addr_y, + unsigned long base_addr_c, + unsigned long *icb_addr_y, + unsigned long *icb_addr_c); }; #endif /* __VIDEO_SH_MOBILE_MERAM_H__ */