aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/omapfb/omapfb-ioctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/omap2/omapfb/omapfb-ioctl.c')
-rw-r--r--drivers/video/omap2/omapfb/omapfb-ioctl.c24
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;