diff options
Diffstat (limited to 'drivers/video/omap2/omapfb/omapfb-ioctl.c')
-rw-r--r-- | drivers/video/omap2/omapfb/omapfb-ioctl.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c index 4c4bafdfaa43..33fc1459a7c9 100644 --- a/drivers/video/omap2/omapfb/omapfb-ioctl.c +++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c | |||
@@ -483,6 +483,7 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg) | |||
483 | struct omapfb_memory_read memory_read; | 483 | struct omapfb_memory_read memory_read; |
484 | struct omapfb_vram_info vram_info; | 484 | struct omapfb_vram_info vram_info; |
485 | struct omapfb_tearsync_info tearsync_info; | 485 | struct omapfb_tearsync_info tearsync_info; |
486 | struct omapfb_display_info display_info; | ||
486 | } p; | 487 | } p; |
487 | 488 | ||
488 | int r = 0; | 489 | int r = 0; |
@@ -741,6 +742,29 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg) | |||
741 | break; | 742 | break; |
742 | } | 743 | } |
743 | 744 | ||
745 | case OMAPFB_GET_DISPLAY_INFO: { | ||
746 | u16 xres, yres; | ||
747 | |||
748 | DBG("ioctl GET_DISPLAY_INFO\n"); | ||
749 | |||
750 | if (display == NULL) { | ||
751 | r = -ENODEV; | ||
752 | break; | ||
753 | } | ||
754 | |||
755 | display->get_resolution(display, &xres, &yres); | ||
756 | |||
757 | p.display_info.xres = xres; | ||
758 | p.display_info.yres = yres; | ||
759 | p.display_info.width = 0; | ||
760 | p.display_info.height = 0; | ||
761 | |||
762 | if (copy_to_user((void __user *)arg, &p.display_info, | ||
763 | sizeof(p.display_info))) | ||
764 | r = -EFAULT; | ||
765 | break; | ||
766 | } | ||
767 | |||
744 | default: | 768 | default: |
745 | dev_err(fbdev->dev, "Unknown ioctl 0x%x\n", cmd); | 769 | dev_err(fbdev->dev, "Unknown ioctl 0x%x\n", cmd); |
746 | r = -EINVAL; | 770 | r = -EINVAL; |