Skip to content

Commit

Permalink
fbdev: sh_mobile_meram: Remove unneeded sanity checks
Browse files Browse the repository at this point in the history
The meram_register(), meram_unregister() and meram_update() operations
check that the pointers they get from the caller are not NULL. Those
checks can be remove, as the caller already ensures that the pointers
are valid.

The platform sanity checks can also be removed, as the operations can't
be accessed without valid platform data anyway.

Signed-off-by: Laurent Pinchart <[email protected]>
  • Loading branch information
pinchartl committed Mar 12, 2012
1 parent 97d16fe commit cdf88b9
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 38 deletions.
5 changes: 1 addition & 4 deletions drivers/video/sh_mobile_lcdcfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
32 changes: 6 additions & 26 deletions drivers/video/sh_mobile_meram.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");

Expand Down Expand Up @@ -500,16 +494,11 @@ static void *sh_mobile_meram_register(struct sh_mobile_meram_info *pdata,
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);

Expand All @@ -521,31 +510,22 @@ 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);

meram_set_next_addr(priv, cache, base_addr_y, base_addr_c);
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 = {
Expand Down
15 changes: 7 additions & 8 deletions include/video/sh_mobile_meram.h
Original file line number Diff line number Diff line change
Expand Up @@ -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__ */

0 comments on commit cdf88b9

Please sign in to comment.