aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2010-01-14 10:32:13 -0500
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-02-15 08:14:34 -0500
commit6dd2e42bd892b2e16080ceba451fd9c3ed633145 (patch)
tree9df20142518b3c6276a50a936925da494c7808c9 /drivers/video/omap2
parent92fe0ff16a9299233104187bd6ceb2101501badc (diff)
OMAP: DSS2: OMAPFB: implement OMAPFB_GET_DISPLAY_INFO
Previously the only place to get the size of the display was from the DSS's sysfs interface, making, for example, configuring overlays and doing updates on manual displays more difficult. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2')
-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;