driver/fb: add fb_get_planeinfo and initialize local variable pinfo
VELAPLATFO-11808 Change-Id: I32db03d52b778cc7dd1784adea0a432976fde6bf Signed-off-by: jianglianfang <jianglianfang@xiaomi.com>
This commit is contained in:
parent
6536ddcdcf
commit
43ea7e65e1
@ -98,6 +98,9 @@ static int fb_poll(FAR struct file *filep, FAR struct pollfd *fds,
|
|||||||
bool setup);
|
bool setup);
|
||||||
static int fb_get_panelinfo(FAR struct fb_chardev_s *fb,
|
static int fb_get_panelinfo(FAR struct fb_chardev_s *fb,
|
||||||
FAR struct fb_panelinfo_s *panelinfo);
|
FAR struct fb_panelinfo_s *panelinfo);
|
||||||
|
static int fb_get_planeinfo(FAR struct fb_chardev_s *fb,
|
||||||
|
FAR struct fb_planeinfo_s *pinfo,
|
||||||
|
uint8_t display);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Data
|
* Private Data
|
||||||
@ -429,9 +432,8 @@ static int fb_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
FAR struct fb_planeinfo_s *pinfo =
|
FAR struct fb_planeinfo_s *pinfo =
|
||||||
(FAR struct fb_planeinfo_s *)((uintptr_t)arg);
|
(FAR struct fb_planeinfo_s *)((uintptr_t)arg);
|
||||||
|
|
||||||
DEBUGASSERT(pinfo != 0 && fb->vtable != NULL &&
|
DEBUGASSERT(pinfo != 0);
|
||||||
fb->vtable->getplaneinfo != NULL);
|
ret = fb_get_planeinfo(fb, pinfo, pinfo->display);
|
||||||
ret = fb->vtable->getplaneinfo(fb->vtable, fb->plane, pinfo);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -701,16 +703,14 @@ static int fb_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
(FAR struct fb_var_screeninfo *)((uintptr_t)arg);
|
(FAR struct fb_var_screeninfo *)((uintptr_t)arg);
|
||||||
|
|
||||||
DEBUGASSERT(varinfo != 0 && fb->vtable != NULL &&
|
DEBUGASSERT(varinfo != 0 && fb->vtable != NULL &&
|
||||||
fb->vtable->getvideoinfo != NULL &&
|
fb->vtable->getvideoinfo != NULL);
|
||||||
fb->vtable->getplaneinfo != NULL);
|
|
||||||
ret = fb->vtable->getvideoinfo(fb->vtable, &vinfo);
|
ret = fb->vtable->getvideoinfo(fb->vtable, &vinfo);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&pinfo, 0, sizeof(pinfo));
|
ret = fb_get_planeinfo(fb, &pinfo, 0);
|
||||||
ret = fb->vtable->getplaneinfo(fb->vtable, fb->plane, &pinfo);
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
@ -795,16 +795,14 @@ static int fb_ioctl(FAR struct file *filep, int cmd, unsigned long arg)
|
|||||||
(FAR struct fb_fix_screeninfo *)((uintptr_t)arg);
|
(FAR struct fb_fix_screeninfo *)((uintptr_t)arg);
|
||||||
|
|
||||||
DEBUGASSERT(fixinfo != 0 && fb->vtable != NULL &&
|
DEBUGASSERT(fixinfo != 0 && fb->vtable != NULL &&
|
||||||
fb->vtable->getvideoinfo != NULL &&
|
fb->vtable->getvideoinfo != NULL);
|
||||||
fb->vtable->getplaneinfo != NULL);
|
|
||||||
ret = fb->vtable->getvideoinfo(fb->vtable, &vinfo);
|
ret = fb->vtable->getvideoinfo(fb->vtable, &vinfo);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&pinfo, 0, sizeof(pinfo));
|
ret = fb_get_planeinfo(fb, &pinfo, 0);
|
||||||
ret = fb->vtable->getplaneinfo(fb->vtable, fb->plane, &pinfo);
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
@ -950,15 +948,9 @@ static int fb_get_panelinfo(FAR struct fb_chardev_s *fb,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DEBUGASSERT(fb->vtable != NULL);
|
ret = fb_get_planeinfo(fb, &pinfo, 0);
|
||||||
DEBUGASSERT(fb->vtable->getplaneinfo != NULL);
|
|
||||||
memset(&pinfo, 0, sizeof(pinfo));
|
|
||||||
|
|
||||||
ret = fb->vtable->getplaneinfo(fb->vtable, fb->plane, &pinfo);
|
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
gerr("ERROR: getplaneinfo() failed: %d\n", ret);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -969,6 +961,33 @@ static int fb_get_panelinfo(FAR struct fb_chardev_s *fb,
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: fb_get_planeinfo
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
static int fb_get_planeinfo(FAR struct fb_chardev_s *fb,
|
||||||
|
FAR struct fb_planeinfo_s *pinfo,
|
||||||
|
uint8_t display)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
DEBUGASSERT(fb->vtable != NULL);
|
||||||
|
DEBUGASSERT(fb->vtable->getplaneinfo != NULL);
|
||||||
|
|
||||||
|
memset(pinfo, 0, sizeof(struct fb_planeinfo_s));
|
||||||
|
pinfo->display = display;
|
||||||
|
|
||||||
|
ret = fb->vtable->getplaneinfo(fb->vtable, fb->plane, pinfo);
|
||||||
|
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
gerr("ERROR: getplaneinfo() failed: %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: fb_do_pollnotify
|
* Name: fb_do_pollnotify
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -1110,11 +1129,9 @@ int fb_register(int display, int plane)
|
|||||||
|
|
||||||
/* Get plane info */
|
/* Get plane info */
|
||||||
|
|
||||||
DEBUGASSERT(fb->vtable->getplaneinfo != NULL);
|
ret = fb_get_planeinfo(fb, &pinfo, 0);
|
||||||
ret = fb->vtable->getplaneinfo(fb->vtable, fb->plane, &pinfo);
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
gerr("ERROR: getplaneinfo() failed: %d\n", ret);
|
|
||||||
goto errout_with_fb;
|
goto errout_with_fb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user