commit:     5f525b99557a217d179cb33604d2ef38c2ce8a43
Author:     Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 29 19:56:03 2014 +0000
Commit:     Markus Meier <maekke <AT> gentoo <DOT> org>
CommitDate: Tue Jul 29 19:56:03 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=dev/maekke.git;a=commit;h=5f525b99

version bump by A. Person, bug #515602

Package-Manager: portage-2.2.10
Manifest-Sign-Key: 072AD062

---
 x11-drivers/xf86-video-omapfb/Manifest             |  16 +-
 ...a-large-CRTC-upper-limit-to-not-prune-lar.patch |  41 +++
 ...virtual-size-when-configuring-framebuffer.patch |  32 ++
 .../files/0003-force-plain-mode.patch              |  31 ++
 .../files/0004-blacklist-tv-out.patch              |  33 +++
 .../files/0005-Attempt-to-fix-VRFB.patch           | 325 +++++++++++++++++++++
 ...0006-omapfb-port-to-new-xserver-video-API.patch | 272 +++++++++++++++++
 .../xf86-video-omapfb-0.1.1.1_p1.ebuild            |  34 +++
 8 files changed, 780 insertions(+), 4 deletions(-)

diff --git a/x11-drivers/xf86-video-omapfb/Manifest 
b/x11-drivers/xf86-video-omapfb/Manifest
index 54a60a0..68c8aee 100644
--- a/x11-drivers/xf86-video-omapfb/Manifest
+++ b/x11-drivers/xf86-video-omapfb/Manifest
@@ -1,15 +1,23 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
+AUX 0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch 1243 
SHA256 0ae65339cf88065588a94fd519a9d9a4bb9dc188b5a2ebdd528da760820c65c8 SHA512 
6e8a3217639cc42fc784bf4353529f01841627c47ab0bb2fd8a5d147d9f242e9304f4a9c8003d325df7b9de62ee61a2da0d910bc2807ce8441ea6a89e0dd27a9
 WHIRLPOOL 
0eff75182d3d3aa61e98a9715ad4f3c3768c94408473143cb3a1fd55ceba11c2f26547945eb5657e56e21c672f189259ba74b2644668ffa2e5fca26c2fe898e6
+AUX 0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch 978 SHA256 
042ea60ef000e895c2342c52a8a9ec7664f6564944bee5f2fa09e3283bfc7f70 SHA512 
b874e288e9c09321edc393b19a659b832260dba6d1796a1d5ef7c4c8528e1ecdd4958487bc91e2985ae3d2b364a71c6df03a8d6576576f8aeb887aed7f4c8536
 WHIRLPOOL 
68c4ece0a2a2693f47fd68005f9a021ec4f736c447ef0ba54e8c7e75e87b4ad21a98ce42605f60ce275e469e3e51371c4fb976878b0c018d22360fba134d97db
+AUX 0003-force-plain-mode.patch 888 SHA256 
2d4aeb376621ee5238a296aab58c16c24a55facf89e1172917a67eb7849525ca SHA512 
964b3ddeb43a22428ad35fcd91ee7081536b476a6b5891fb68a800c89825113af66683d6274f98ffd5fa476964e4f2d5c42b02cd0f124eb6afc611f757a650fc
 WHIRLPOOL 
189432c3ace5de097d50bb2b560242dcb1704f167f1e92ee2ea5e30ce298b27a9a333e97b90539577bfb1d56ce0e8400aa090d8b90e86a5abce00a8ee5ec1dc7
+AUX 0004-blacklist-tv-out.patch 979 SHA256 
df00a6afb3690b983c4be82f360785c163a27166d958775317aa8c2356402948 SHA512 
7b7e184da92d1b8cebeb2b1d64c5e48ec6d7a6955ace3dd7875c120fba577458ef074994917796529603a3aff81667d32d1f4d67eb8523954ca203656465560a
 WHIRLPOOL 
af33ea722b8cf7c12fbf39fb65b6c3723647fe2b4aa2462c6d3ec4769e859dccd2983604453be20f3f7e2306fdcea4a904cf4918e7ea7f52c3b1dca7669ac16a
+AUX 0005-Attempt-to-fix-VRFB.patch 11317 SHA256 
44bb60af568f15cbb593ed2fde11852d2b5501a581c48548278cbdc1e5de7759 SHA512 
5e59f35bc645bb66da014bc76a4c81de101d56971850da046f03e5a20f1eac6908761fa71c0e56a1b724f3c15817d38f069ff5c738c7cee926192c63cb64ba8c
 WHIRLPOOL 
fbfeaf2c14b89ef073cd894a72437d06e498a06b175bd639953de87d91205db59fefcd5d8848c79061c105d047069841a2b5f58ad59dd8ed579706d49cec6dd2
+AUX 0006-omapfb-port-to-new-xserver-video-API.patch 9764 SHA256 
1b42f17c924999fb88a8b489be0bb26d3cd45991bb48da2716dd6254bc346e50 SHA512 
cb1c597ca78240d51741c988d761485ff3ca5c5a391734a74455f0ba590308e7d037f4fc4ae5ae9b60b5d19f1c433fcf0a50ce716791aaaec702e97c577ab760
 WHIRLPOOL 
e33bc0fb2ed46fcab22c13f091c9f7501d630385164d02d4388589efff396379839ea6df379af035ec584d2d3e1d33dc185ecba56d1f03016ceb19404290e7fc
 AUX xf86-video-omapfb-0.1.1-closescreen.patch 256 SHA256 
fab977189b0bf68dbe47f1d97edfb48b362a406cf09d3f7f6cadc875c6b59bb7 SHA512 
70c2e4d84ff3a99c8972e9a428503d66d4c5cb4a7427fe254890ad4dc20c8b2883e5a73721161bd48b4198bb33c36d991b58a9ce28bdba280ea92d96a03c1125
 WHIRLPOOL 
c4e6bd44ff5926cc7400a8123bf678f84ff6cc7f23d80ef8904fdd669a18c5bec28720bec456fbdbbc70b3437ff5356881df72aad207633d6c186c3131c92e4a
 DIST xf86-video-omapfb_0.1.1-3.tar.gz 24816 SHA256 
a1e7e472bc8047f860854218c04eb834c80f826fd84a7309f5817755a266827a SHA512 
285f0b0c8599e692def66e019899e6e078bf2da9a399db94bbb06e69e1d6744cbc3d5054598d61e053596674c7a7779c8bfb5a1da9ef3e2e0995473b8d0e4b98
 WHIRLPOOL 
c63db0994b52b1ca8dc45987e93de87c5eca24a3cffe238333cf9c6a9e6532d2bab354789eb1f015041f42486e036640b7dcc250fe78a995de9dc9b17f5cfb07
+DIST xf86-video-omapfb_0.1.1.1-1.diff.gz 3116 SHA256 
c4ea91003b4244563668a78603b28918df40629ef729515ba48d1dc923ef359c SHA512 
cc463421b8a86a90234cf5a6352458d708f60fe77613bcc9099531651653efd9da11640199c792a3061f65930bc39bef90ec769a673cee27dd88a606c5fa652f
 WHIRLPOOL 
73c4ef6c0bd67f46b25c794dbfa7ed318231b68d7dc8c4cae20397fc2ecd6610beeb77dc4a49394056d21d2a5a8954c0d9fea371e7f7547eb60f698dc3d8a95f
+DIST xf86-video-omapfb_0.1.1.1.orig.tar.gz 26835 SHA256 
fe7e6e7739ecddc3b1663cbe08e7e889544a16e5e505d0dc48c79b2153208fbc SHA512 
96f6ff1adc5c558e4957b32a0dee722553f6c9e4aac6f8b5ca77e58b6d7b33b910b207ffa27b6556b802ead4cacaa034cf822dccb979072171782a5a34b6f96d
 WHIRLPOOL 
5524a3b3319de0d0de57a1dcc888c488b902357be93f685211b581b3e31c368a462c4a9ac78096b40974a9a98773220117086cd911e958c2a8444278d52744bc
+EBUILD xf86-video-omapfb-0.1.1.1_p1.ebuild 904 SHA256 
9b4a405a984d4aa6b3a7bbffe2c1de15dfa59163fcc2f6bc4c6c105526606378 SHA512 
1e5de58fc3012b77234de888ebb0eb228a2751c443a0474e7ccdefa2a21ec75c2a64fda4aac698cdf38b27049c58bb88e66587300662340dcab4771d6b7352b4
 WHIRLPOOL 
d904aee92abb94fd323e4b530c67b8bffe5a85f81396607d8e76c6dfdd274009670c28b2b4c44d2dc27c0622330ea60ac7858c8b32643d54a3cd488435e644b7
 EBUILD xf86-video-omapfb-0.1.1_p3.ebuild 790 SHA256 
379293129df94afb8606eb02918f1fbced5fa0daf1ef9c16295e92c39ffa3317 SHA512 
2cbc7f5c10efe594079a2af20655e566ea3c12f2d5f41df79bf7251ed931a708c8372ff6323af389ac601b92e47f2c9afe105fc1898b313286ed2783984cd3ec
 WHIRLPOOL 
45fba1a0bc868cb4ec3f67ec4dd98be80bb3a2b788ec78ce36159f300fd0a65cfbb676c9fb79ea104372db77adff347446a6fda39d1deb982b3d4add7a157ee2
-MISC ChangeLog 815 SHA256 
e56f40df61901f5e76bbc9cae7bdc483bbe4a68cec1673a3945348767023c9fb SHA512 
a86eddf6d9c28b15e709c1209a8750700fdb6e580ed86dba2db124ffecd308b911844c00362d4971028585187d28d65be1e7cf0e113b3be8db52a9411594fef2
 WHIRLPOOL 
e321556a066742f654d33756a7a2ea2b4df3199aa0db38c8ec381c311339cdff27df29c467abf5466622bd6c84a80828a97d97cb0989d1db20663a8cd2edddc8
 MISC metadata.xml 156 SHA256 
a1bd575e6a3a37cce12fa439fbda5823d4f737a0978d481fdd63f774d50c044c SHA512 
32c2add1fc5dfbe520fe89c0606f84d3c5582fa90dd1558f8a7c6d19506b2e47e68ffd5b1a2e0cfb996fc34dad60d1fc5b6b09c932da744f23b5146884ef8cd8
 WHIRLPOOL 
d9a54aad11151ec3b2d349488086fdd54c0f2570e695a4e5bc14c46b8e0f6bfd1a6c033773d16253430465793a6e61a6a61dadde991cbeedafc4264ff36328d6
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iEYEAREIAAYFAlPX83oACgkQkKaRLQcq0GJd9ACgsfVBn8UsOxj2OGShBg3gLUku
-oNMAoJhtuKaYdBJ3Rrop8L3G2FMi+KWz
-=O/lT
+iEYEAREIAAYFAlPX/FIACgkQkKaRLQcq0GKsIACZAVFgtvgHgDdwJdYYm2f2xMUE
+LMYAoJ6x7ssmXrMyQVJSO0YXJ2vY2j7h
+=VFQ+
 -----END PGP SIGNATURE-----

diff --git 
a/x11-drivers/xf86-video-omapfb/files/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch
 
b/x11-drivers/xf86-video-omapfb/files/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch
new file mode 100644
index 0000000..9fb01d4
--- /dev/null
+++ 
b/x11-drivers/xf86-video-omapfb/files/0001-Revert-Set-a-large-CRTC-upper-limit-to-not-prune-lar.patch
@@ -0,0 +1,41 @@
+From 8fb7d0f99d4afbb574b30cb4f1e66a8f89d94ad5 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <[email protected]>
+Date: Wed, 26 Jan 2011 12:04:36 +0100
+Subject: [PATCH 1/6] Revert "Set a large CRTC upper limit to not prune larger
+ resolutions"
+
+Picture is garbled after switching resolutions, so revert it.
+Virtual size too big, revert the commit 
9c4d7592dcb7dc20a48a6f941d9d94bd73d34153.
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <[email protected]>
+---
+ src/omapfb-crtc.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c
+index 9aaa52f..cbeff35 100644
+--- a/src/omapfb-crtc.c
++++ b/src/omapfb-crtc.c
+@@ -190,13 +190,13 @@ OMAPFBCRTCInit(ScrnInfoPtr pScrn)
+        * In practise, this doesn't seem to be supported.
+        * (no way to setup the overlay offset/base address)
+        */
+-       /* FIXME: figure out what makes sense here. A known max resolution?
+-        * framebuffer size?
+-        */
+       xf86CrtcSetSizeRange(pScrn,
+-                           8, 8, 2048, 2048);
++                           8, 8,
++                           ofb->state_info.xres_virtual,
++                           ofb->state_info.yres_virtual);
+ 
+       ofb->crtc = xf86CrtcCreate(pScrn, &OMAPFBCrtcFuncs);
++
+ }
+ 
+ 
+-- 
+1.8.0
+

diff --git 
a/x11-drivers/xf86-video-omapfb/files/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch
 
b/x11-drivers/xf86-video-omapfb/files/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch
new file mode 100644
index 0000000..683a989
--- /dev/null
+++ 
b/x11-drivers/xf86-video-omapfb/files/0002-Revert-Set-virtual-size-when-configuring-framebuffer.patch
@@ -0,0 +1,32 @@
+From 855c333ac0d16350f895f1d1b9391e9cbb0b6db4 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <[email protected]>
+Date: Wed, 26 Jan 2011 13:27:20 +0100
+Subject: [PATCH 2/6] Revert "Set virtual size when configuring framebuffer"
+
+Virtual size too big, so revert it.
+
+This reverts commit 2653ef07883fbd1a5e7025f9300cf89b79ba429a.
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <[email protected]>
+---
+ src/omapfb-crtc.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/omapfb-crtc.c b/src/omapfb-crtc.c
+index cbeff35..9655db2 100644
+--- a/src/omapfb-crtc.c
++++ b/src/omapfb-crtc.c
+@@ -98,8 +98,6 @@ OMAPFBCrtcCommitChangeMode (xf86CrtcPtr crtc)
+       v = ofb->state_info;
+       v.xres = mode->HDisplay;
+       v.yres = mode->VDisplay;
+-      v.xres_virtual = crtc->scrn->virtualX;
+-      v.yres_virtual = crtc->scrn->virtualY;
+       v.activate = FB_ACTIVATE_NOW;
+       v.pixclock = KHZ2PICOS(mode->Clock ? mode->Clock : 56000);
+       v.left_margin = mode->HTotal - mode->HSyncEnd;
+-- 
+1.8.0
+

diff --git a/x11-drivers/xf86-video-omapfb/files/0003-force-plain-mode.patch 
b/x11-drivers/xf86-video-omapfb/files/0003-force-plain-mode.patch
new file mode 100644
index 0000000..67ea7c1
--- /dev/null
+++ b/x11-drivers/xf86-video-omapfb/files/0003-force-plain-mode.patch
@@ -0,0 +1,31 @@
+From 252f44c072d3447a32127fc9afe5d0d40f3c510e Mon Sep 17 00:00:00 2001
+From: Koen Kooi <[email protected]>
+Date: Wed, 26 Jan 2011 13:20:20 +0100
+Subject: [PATCH 3/6] force 'plain' mode
+
+The new DSS mode breaks XV, so force plain mode
+
+Upstream-Status: Pending
+
+Signed-off-by: Koen Kooi <[email protected]>
+Signed-off-by: Martin Jansa <[email protected]>
+---
+ src/omapfb-driver.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c
+index 018e040..48aa09c 100644
+--- a/src/omapfb-driver.c
++++ b/src/omapfb-driver.c
+@@ -326,7 +326,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags)
+       OMAPFBProbeController(ofb->ctrl_name);
+ 
+       /* Do we have the DSS kernel API? */
+-      if (stat(SYSFS_DSS_DIR, &st) == 0) {
++      if (0) { //stat(SYSFS_DSS_DIR, &st) == 0) {
+               ofb->dss = TRUE;
+       } else {
+               ofb->dss = FALSE;
+-- 
+1.8.0
+

diff --git a/x11-drivers/xf86-video-omapfb/files/0004-blacklist-tv-out.patch 
b/x11-drivers/xf86-video-omapfb/files/0004-blacklist-tv-out.patch
new file mode 100644
index 0000000..b0ac9a4
--- /dev/null
+++ b/x11-drivers/xf86-video-omapfb/files/0004-blacklist-tv-out.patch
@@ -0,0 +1,33 @@
+From cfa46b67f59115f6d8ef9414af60380749ff3eb3 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <[email protected]>
+Date: Wed, 26 Jan 2011 13:21:12 +0100
+Subject: [PATCH 4/6] blacklist tv out
+
+The tv-out gets added last and the driver tries to reconfigure dvi to TV 
resolutions, which fails. so blacklist it
+
+Upstream-Status: Pending
+
+Signed-off-by: Koen Kooi <[email protected]>
+Signed-off-by: Martin Jansa <[email protected]>
+---
+ src/omapfb-output-dss.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/omapfb-output-dss.c b/src/omapfb-output-dss.c
+index 6cc52de..83cb711 100644
+--- a/src/omapfb-output-dss.c
++++ b/src/omapfb-output-dss.c
+@@ -205,6 +205,10 @@ OMAPFBDSSOutputDetect (xf86OutputPtr output)
+       if(ofb->timings[idx][0] == '\0')
+               return XF86OutputStatusDisconnected;
+ 
++      // Hack to disable the tv out
++      if (strncmp(output->name, "tv", 2) == 0)
++              return XF86OutputStatusDisconnected;
++
+       return XF86OutputStatusConnected;
+ }
+ 
+-- 
+1.8.0
+

diff --git a/x11-drivers/xf86-video-omapfb/files/0005-Attempt-to-fix-VRFB.patch 
b/x11-drivers/xf86-video-omapfb/files/0005-Attempt-to-fix-VRFB.patch
new file mode 100644
index 0000000..67b2840
--- /dev/null
+++ b/x11-drivers/xf86-video-omapfb/files/0005-Attempt-to-fix-VRFB.patch
@@ -0,0 +1,325 @@
+From 8b1f697a60e35ab82fffdabfaefdb45e9a9df379 Mon Sep 17 00:00:00 2001
+From: Eino-Ville Talvala <[email protected]>
+Date: Tue, 23 Aug 2011 18:37:01 +0200
+Subject: [PATCH 5/6] Attempt to fix VRFB
+
+Upstream-Status: Pending
+
+http://dominion.thruhere.net/git/cgit.cgi/xf86-video-omapfb/commit/?h=koen/fixups&id=6833fc9f795265e4943d248103fbaf3463b515d6
+
+Signed-off-by: Sebastian Krzyszkowiak <[email protected]>
+Signed-off-by: Martin Jansa <[email protected]>
+---
+ src/image-format-conversions.c |  4 +--
+ src/image-format-conversions.h |  2 +-
+ src/omapfb-driver.c            | 28 +++++++++++++---
+ src/omapfb-xv-blizzard.c       |  1 +
+ src/omapfb-xv-generic.c        | 72 +++++++++++++++++++++++++++++++++---------
+ src/omapfb-xv.c                |  3 ++
+ 6 files changed, 88 insertions(+), 22 deletions(-)
+
+diff --git a/src/image-format-conversions.c b/src/image-format-conversions.c
+index dcefa9b..d43427d 100644
+--- a/src/image-format-conversions.c
++++ b/src/image-format-conversions.c
+@@ -38,13 +38,13 @@
+ #include "image-format-conversions.h"
+ 
+ /* Basic line-based copy for packed formats */
+-void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest)
++void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t 
*src, uint8_t *dest)
+ {
+       int i;
+       int len = w * 2;
+       for (i = 0; i < h; i++)
+       {
+-              memcpy(dest + i * len, src + i * stride, len);
++              memcpy(dest + i * dst_stride, src + i * src_stride, len);
+       }
+ }
+ 
+diff --git a/src/image-format-conversions.h b/src/image-format-conversions.h
+index 584896a..ba7caf2 100644
+--- a/src/image-format-conversions.h
++++ b/src/image-format-conversions.h
+@@ -27,7 +27,7 @@
+ #include <stdint.h>
+ 
+ /* Basic line-based copy for packed formats */
+-void packed_line_copy(int w, int h, int stride, uint8_t *src, uint8_t *dest);
++void packed_line_copy(int w, int h, int src_stride, int dst_stride, uint8_t 
*src, uint8_t *dest);
+ 
+ /* Basic C implementation of YV12/I420 to UYVY conversion */
+ void uv12_to_uyvy(int w, int h, int y_pitch, int uv_pitch, uint8_t *y_p, 
uint8_t *u_p, uint8_t *v_p, uint8_t *dest);
+diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c
+index 48aa09c..07989f5 100644
+--- a/src/omapfb-driver.c
++++ b/src/omapfb-driver.c
+@@ -66,6 +66,7 @@
+ #define OMAPFB_VERSION 1000
+ #define OMAPFB_DRIVER_NAME "OMAPFB"
+ #define OMAPFB_NAME "omapfb"
++#define ENFORCE_MODES
+ 
+ static Bool OMAPFBProbe(DriverPtr drv, int flags);
+ static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags);
+@@ -105,11 +106,13 @@ static SymTabRec OMAPFBChipsets[] = {
+ typedef enum {
+       OPTION_ACCELMETHOD,
+       OPTION_FB,
++      OPTION_ROTATE,
+ } FBDevOpts;
+ 
+ static const OptionInfoRec OMAPFBOptions[] = {
+       { OPTION_ACCELMETHOD,   "AccelMethod",  OPTV_STRING,    {0},    FALSE },
+       { OPTION_FB,            "fb",           OPTV_STRING,    {0},    FALSE },
++      { OPTION_ROTATE,        "rotation",     OPTV_STRING,    {0},    FALSE },
+       { -1,                   NULL,           OPTV_NONE,      {0},    FALSE }
+ };
+ 
+@@ -286,6 +289,7 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags)
+ {
+       OMAPFBPtr ofb;
+       EntityInfoPtr pEnt;
++      char *rotate;
+       rgb zeros = { 0, 0, 0 };
+       struct stat st;
+ 
+@@ -379,6 +383,8 @@ OMAPFBPreInit(ScrnInfoPtr pScrn, int flags)
+       pScrn->progClock = TRUE;
+       pScrn->chipset   = "omapfb";
+       
++      xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Rotate test version 0.02\n");
++      
+       /* Start with configured virtual size */
+       pScrn->virtualX = pScrn->display->virtualX;
+       pScrn->virtualY = pScrn->display->virtualY;
+@@ -496,12 +502,21 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+       ofb->CloseScreen = pScreen->CloseScreen;
+       pScreen->CloseScreen = OMAPFBCloseScreen;
+ 
++      /* Enforce the default mode (this is silly I guess) */
++#ifdef ENFORCE_MODES
++      //xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enforcing modes\n");
++      //set_mode(ofb, &ofb->default_mode);
++      //pScrn->displayWidth = ofb->fixed_info.line_length /
++      //  (ofb->state_info.bits_per_pixel>>3); //ofb->state_info.xres;
++#endif
++
+       /* Map our framebuffer memory */
++      ofb->mem_info.size = ofb->fixed_info.line_length * ofb->state_info.yres;
+       ofb->fb = mmap (NULL, ofb->mem_info.size,
+                       PROT_READ | PROT_WRITE, MAP_SHARED,
+                       ofb->fd, 0);
+-      if (ofb->fb == NULL) {
+-              xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory 
failed\n");
++      if (ofb->fb == MAP_FAILED) {
++              xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory 
failed, wanted %d bytes.\n", ofb->mem_info.size);
+               return FALSE;
+       }
+ 
+@@ -578,8 +593,13 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+       } else if (!ofb->dss) {
+ 
+               ofb->plane_info.enabled = 1;
+-              ofb->plane_info.out_width = ofb->state_info.xres;
+-              ofb->plane_info.out_height = ofb->state_info.yres;
++              if (ofb->state_info.rotate == 0 || ofb->state_info.rotate == 2) 
{
++                      ofb->plane_info.out_width = ofb->state_info.xres;
++                      ofb->plane_info.out_height = ofb->state_info.yres;
++              } else {
++                      ofb->plane_info.out_width = ofb->state_info.yres;
++                      ofb->plane_info.out_height = ofb->state_info.xres;
++              }
+ 
+               if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) {
+                       xf86DrvMsg(scrnIndex, X_ERROR,
+diff --git a/src/omapfb-xv-blizzard.c b/src/omapfb-xv-blizzard.c
+index 406ffc6..b71d2aa 100644
+--- a/src/omapfb-xv-blizzard.c
++++ b/src/omapfb-xv-blizzard.c
+@@ -220,6 +220,7 @@ int OMAPFBXVPutImageBlizzard (ScrnInfoPtr pScrn,
+                       packed_line_copy(src_w & ~3,
+                                        src_h & ~3,
+                                        ((src_w + 1) & ~1) * 2,
++                                       ofb->port->fixed_info.line_length,
+                                        (uint8_t*)buf,
+                                        (uint8_t*)ofb->port->fb);
+                       break;
+diff --git a/src/omapfb-xv-generic.c b/src/omapfb-xv-generic.c
+index e6f89fe..b33f344 100644
+--- a/src/omapfb-xv-generic.c
++++ b/src/omapfb-xv-generic.c
+@@ -62,7 +62,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn)
+ {
+       OMAPFBPtr ofb = OMAPFB(pScrn);
+ 
+-      /* The memory size is already set in OMAPFBXVQueryImageAttributes */
++      /* The memory size is already set before we get here */
+       if (ioctl(ofb->port->fd, OMAPFB_SETUP_MEM, &ofb->port->mem_info) != 0) {
+               xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+                          "Failed to allocate video plane memory\n");
+@@ -73,19 +73,20 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn)
+       ofb->port->fb = mmap (NULL, ofb->port->mem_info.size,
+                       PROT_READ | PROT_WRITE, MAP_SHARED,
+                       ofb->port->fd, 0);
+-      if (ofb->port->fb == NULL) {
++      if (ofb->port->fb == MAP_FAILED) {
+               xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+                          "Mapping video memory failed\n");
+               return XvBadAlloc;
+       }
+ 
+       /* Update the state info */
++      /* Let's not - it's bad
+       if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info))
+       {
+               xf86Msg(X_ERROR, "%s: Reading state info failed\n", 
__FUNCTION__);
+               return XvBadAlloc;
+       }
+-
++      */
+       return Success;
+ }
+ 
+@@ -93,6 +94,7 @@ int OMAPXVAllocPlane(ScrnInfoPtr pScrn)
+ int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn)
+ {
+       OMAPFBPtr ofb = OMAPFB(pScrn);
++      int ret;
+ 
+       if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info))
+       {
+@@ -104,6 +106,31 @@ int OMAPXVSetupVideoPlane(ScrnInfoPtr pScrn)
+               xf86Msg(X_ERROR, "%s: Reading state info failed\n", 
__FUNCTION__);
+               return XvBadAlloc;
+       }
++      /* Changing rotation/nonstd flags can change the fixed info! */
++      if (ioctl (ofb->port->fd, FBIOGET_FSCREENINFO, &ofb->port->fixed_info))
++      {
++              xf86Msg(X_ERROR, "%s: Reading state info failed\n", 
__FUNCTION__);
++              return XvBadAlloc;
++      }
++      /* Correct fixed info requires recalculation of needed memory */
++      ofb->port->mem_info.size = ofb->port->fixed_info.line_length * 
ofb->port->state_info.yres;
++
++      /* Allocate buffer memory */
++      ret = OMAPXVAllocPlane(pScrn);
++      if (ret != Success)
++              return ret;
++
++      /* Workaround for reset of mode after memory allo */
++      if (ioctl (ofb->port->fd, FBIOPUT_VSCREENINFO, &ofb->port->state_info))
++      {
++              xf86Msg(X_ERROR, "%s: setting state info failed\n", 
__FUNCTION__);
++              return XvBadAlloc;
++      }
++      if (ioctl (ofb->port->fd, FBIOGET_VSCREENINFO, &ofb->port->state_info))
++      {
++              xf86Msg(X_ERROR, "%s: Reading state info failed\n", 
__FUNCTION__);
++              return XvBadAlloc;
++      }
+ 
+       if(ioctl(ofb->port->fd, OMAPFB_SETUP_PLANE,
+          &ofb->port->plane_info) != 0) {
+@@ -124,6 +151,8 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
+                              DrawablePtr pDraw)
+ {
+       OMAPFBPtr ofb = OMAPFB(pScrn);
++      short drw_temp;
++      short rot_xres, rot_yres;
+ 
+       if (!ofb->port->plane_info.enabled
+        || ofb->port->update_window.x != src_x
+@@ -163,13 +192,6 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
+                       return Success;
+               }
+ 
+-              /* If we don't have the plane running, enable it */
+-              if (!ofb->port->plane_info.enabled) {
+-                      ret = OMAPXVAllocPlane(pScrn);
+-                      if (ret != Success)
+-                              return ret;
+-              }
+-
+               /* Set up the state info, xres and yres will be used for
+                * scaling to the values in the plane info struct
+                */
+@@ -179,12 +201,31 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
+               ofb->port->state_info.yres_virtual = 0;
+               ofb->port->state_info.xoffset = 0;
+               ofb->port->state_info.yoffset = 0;
+-              ofb->port->state_info.rotate = 0;
++              //ofb->port->state_info.rotate = 0;
+               ofb->port->state_info.grayscale = 0;
+               ofb->port->state_info.activate = FB_ACTIVATE_NOW;
+               ofb->port->state_info.bits_per_pixel = 0;
+               ofb->port->state_info.nonstd = xv_to_omapfb_format(image);
+ 
++              /* Plane info does not rotate with state_info */
++              if (ofb->port->state_info.rotate == 1 ||
++                ofb->port->state_info.rotate == 3) {
++                      drw_temp = drw_x;
++                      drw_x = drw_y;
++                      drw_y = drw_temp;
++
++                      drw_temp = drw_w;
++                      drw_w = drw_h;
++                      drw_h = drw_temp;
++
++                      rot_xres = ofb->port->state_info.yres;
++                      rot_yres = ofb->port->state_info.xres;
++              } else {
++                      rot_xres = ofb->port->state_info.xres;
++                      rot_yres = ofb->port->state_info.yres;
++              }
++
++
+               /* Set up the video plane info */
+               ofb->port->plane_info.enabled = 1;
+               ofb->port->plane_info.pos_x = drw_x;
+@@ -193,13 +234,13 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
+               ofb->port->plane_info.out_height = drw_h & ~15;
+ 
+               /* Cap output to screen size */
+-              if (ofb->port->plane_info.out_width > ofb->state_info.xres) {
++              if (ofb->port->plane_info.out_width > rot_xres) {
+                       ofb->port->plane_info.pos_x = 0;
+-                      ofb->port->plane_info.out_width = ofb->state_info.xres;
++                      ofb->port->plane_info.out_width = rot_xres;
+               }
+-              if (ofb->port->plane_info.out_height > ofb->state_info.yres) {
++              if (ofb->port->plane_info.out_height > rot_yres) {
+                       ofb->port->plane_info.pos_y = 0;
+-                      ofb->port->plane_info.out_height = ofb->state_info.yres;
++                      ofb->port->plane_info.out_height = rot_yres;
+               }
+ 
+               ret = OMAPXVSetupVideoPlane(pScrn);
+@@ -223,6 +264,7 @@ int OMAPFBXVPutImageGeneric (ScrnInfoPtr pScrn,
+                       packed_line_copy(src_w & ~15,
+                                        src_h & ~15,
+                                        ((src_w + 1) & ~1) * 2,
++                                       ofb->port->fixed_info.line_length,
+                                        (uint8_t*)buf,
+                                        (uint8_t*)ofb->port->fb);
+                       break;
+diff --git a/src/omapfb-xv.c b/src/omapfb-xv.c
+index 1df651e..0fee2c6 100644
+--- a/src/omapfb-xv.c
++++ b/src/omapfb-xv.c
+@@ -169,8 +169,11 @@ static int OMAPFBXVQueryImageAttributes (ScrnInfoPtr 
pScrn,
+       h = *height;
+ 
+       w = (w + 1) & ~1;
++
++      /* Can't calculate these here - don't know line length
+       ofb->port->mem_info.size = w << 1;
+       ofb->port->mem_info.size *= h;
++      */
+ 
+       return size;
+ }
+-- 
+1.8.0
+

diff --git 
a/x11-drivers/xf86-video-omapfb/files/0006-omapfb-port-to-new-xserver-video-API.patch
 
b/x11-drivers/xf86-video-omapfb/files/0006-omapfb-port-to-new-xserver-video-API.patch
new file mode 100644
index 0000000..d567299
--- /dev/null
+++ 
b/x11-drivers/xf86-video-omapfb/files/0006-omapfb-port-to-new-xserver-video-API.patch
@@ -0,0 +1,272 @@
+From 803ecf2909949e6152f4a81b6cbb92a4430679ac Mon Sep 17 00:00:00 2001
+From: Martin Jansa <[email protected]>
+Date: Fri, 23 Nov 2012 00:31:06 +0100
+Subject: [PATCH 6/6] omapfb: port to new xserver video API
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <[email protected]>
+---
+ src/compat-api.h    | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/omapfb-driver.c | 41 ++++++++++++-----------
+ 2 files changed, 118 insertions(+), 19 deletions(-)
+ create mode 100644 src/compat-api.h
+
+diff --git a/src/compat-api.h b/src/compat-api.h
+new file mode 100644
+index 0000000..b1591b1
+--- /dev/null
++++ b/src/compat-api.h
+@@ -0,0 +1,96 @@
++/*
++ * Copyright 2012 Red Hat, Inc.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the next
++ * paragraph) shall be included in all copies or substantial portions of the
++ * Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ * DEALINGS IN THE SOFTWARE.
++ *
++ * Author: Dave Airlie <[email protected]>
++ */
++
++/* this file provides API compat between server post 1.13 and pre it,
++   it should be reused inside as many drivers as possible */
++#ifndef COMPAT_API_H
++#define COMPAT_API_H
++
++#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
++#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
++#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
++#endif
++
++#ifndef XF86_HAS_SCRN_CONV
++#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
++#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
++#endif
++
++#ifndef XF86_SCRN_INTERFACE
++
++#define SCRN_ARG_TYPE int
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
++
++#define SCREEN_ARG_TYPE int
++#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
++
++#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char 
**argv
++
++#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, 
pointer pReadmask
++#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
++
++#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
++#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
++
++#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
++
++#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
++
++#define FREE_SCREEN_ARGS_DECL int arg, int flags
++#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0
++
++#define VT_FUNC_ARGS_DECL int arg, int flags
++#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags)
++
++#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex)
++#else
++#define SCRN_ARG_TYPE ScrnInfoPtr
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
++
++#define SCREEN_ARG_TYPE ScreenPtr
++#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
++
++#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
++
++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer 
pReadmask
++#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
++
++#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
++#define CLOSE_SCREEN_ARGS pScreen
++
++#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
++#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
++
++#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
++#define FREE_SCREEN_ARGS(x) (x)
++
++#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
++#define VT_FUNC_ARGS(flags) pScrn
++
++#define XF86_ENABLEDISABLEFB_ARG(x) (x)
++
++#endif
++
++#endif
+diff --git a/src/omapfb-driver.c b/src/omapfb-driver.c
+index 07989f5..486ffa4 100644
+--- a/src/omapfb-driver.c
++++ b/src/omapfb-driver.c
+@@ -44,6 +44,8 @@
+ 
+ #include "exa.h"
+ 
++#include "compat-api.h"
++
+ #ifdef HAVE_XEXTPROTO_71
+ #include <X11/extensions/dpmsconst.h>
+ #else
+@@ -70,10 +72,10 @@
+ 
+ static Bool OMAPFBProbe(DriverPtr drv, int flags);
+ static Bool OMAPFBPreInit(ScrnInfoPtr pScrn, int flags);
+-static Bool OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char 
**argv);
+-static Bool OMAPFBEnterVT(int scrnIndex, int flags);
+-static void OMAPFBLeaveVT(int scrnIndex, int flags);
+-static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
++static Bool OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL);
++static Bool OMAPFBEnterVT(VT_FUNC_ARGS_DECL);
++static void OMAPFBLeaveVT(VT_FUNC_ARGS_DECL);
++static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL);
+ 
+ static Bool
+ OMAPFBEnsureRec(ScrnInfoPtr pScrn)
+@@ -481,7 +483,7 @@ OMAPFBXvScreenInit(ScreenPtr pScreen)
+ }
+ 
+ static Bool
+-OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen)
++OMAPFBCloseScreen(CLOSE_SCREEN_ARGS_DECL)
+ {
+       ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+       OMAPFBPtr ofb = OMAPFB(pScrn);
+@@ -490,11 +492,11 @@ OMAPFBCloseScreen(int scrnIndex, ScreenPtr pScreen)
+ 
+       pScreen->CloseScreen = ofb->CloseScreen;
+       
+-      return (*pScreen->CloseScreen)(scrnIndex, pScreen);
++      return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
+ }
+ 
+ static Bool
+-OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
++OMAPFBScreenInit(SCREEN_INIT_ARGS_DECL)
+ {
+       ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+       OMAPFBPtr ofb = OMAPFB(pScrn);
+@@ -516,7 +518,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+                       PROT_READ | PROT_WRITE, MAP_SHARED,
+                       ofb->fd, 0);
+       if (ofb->fb == MAP_FAILED) {
+-              xf86DrvMsg(scrnIndex, X_ERROR, "Mapping framebuffer memory 
failed, wanted %d bytes.\n", ofb->mem_info.size);
++              xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Mapping framebuffer 
memory failed, wanted %d bytes.\n", ofb->mem_info.size);
+               return FALSE;
+       }
+ 
+@@ -526,7 +528,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+       /* Only support TrueColor for now */
+       if (!miSetVisualTypes(pScrn->depth, TrueColorMask,
+               pScrn->rgbBits, pScrn->defaultVisual)) {
+-              xf86DrvMsg(scrnIndex, X_ERROR, "visual type setup failed"
++              xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "visual type setup failed"
+                          " for %d bits per pixel [1]\n",
+                          pScrn->bitsPerPixel);
+               return FALSE;
+@@ -534,7 +536,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+ 
+       /* Set up pixmap depth information */
+       if (!miSetPixmapDepths()) {
+-              xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n");
++              xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"pixmap depth setup 
failed\n");
+               return FALSE;
+       }
+ 
+@@ -546,7 +548,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+                         pScrn->virtualY, pScrn->xDpi,
+                         pScrn->yDpi, pScrn->displayWidth,
+                         pScrn->bitsPerPixel)) {
+-              xf86DrvMsg(scrnIndex, X_ERROR, "fbScreenInit failed\n");
++              xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbScreenInit failed\n");
+               return FALSE;
+       }
+ 
+@@ -567,7 +569,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+ 
+       /* Initialize XRender fallbacks */
+       if (!fbPictureInit(pScreen, NULL, 0)) {
+-              xf86DrvMsg(scrnIndex, X_ERROR, "fbPictureInit failed\n");
++              xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "fbPictureInit failed\n");
+               return FALSE;
+       }
+       
+@@ -579,7 +581,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+ 
+       /* Initialize default colormap */
+       if (!miCreateDefColormap(pScreen)) {
+-              xf86DrvMsg(scrnIndex, X_ERROR,
++              xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+                          "creating default colormap failed\n");
+               return FALSE;
+       }
+@@ -589,7 +591,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+               /* This is non-fatal since we might be running against older
+                * kernel driver in which case we only do basic 2D stuff...
+                */
+-              xf86DrvMsg(scrnIndex, X_ERROR, "Reading plane info failed\n");
++              xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Reading plane info 
failed\n");
+       } else if (!ofb->dss) {
+ 
+               ofb->plane_info.enabled = 1;
+@@ -602,7 +604,7 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+               }
+ 
+               if (ioctl (ofb->fd, OMAPFB_SETUP_PLANE, &ofb->plane_info)) {
+-                      xf86DrvMsg(scrnIndex, X_ERROR,
++                      xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+                                   "%s: Plane setup failed: %s\n",
+                                   __FUNCTION__, strerror(errno));
+                       return FALSE;
+@@ -645,9 +647,10 @@ OMAPFBScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+       return TRUE;
+ }
+ 
+-static Bool OMAPFBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
++static Bool OMAPFBSwitchMode(SWITCH_MODE_ARGS_DECL)
+ {
+-      return xf86SetSingleMode (xf86Screens[scrnIndex], mode, RR_Rotate_0);
++      SCRN_INFO_PTR(arg);
++      return xf86SetSingleMode (pScrn, mode, RR_Rotate_0);
+ }
+ 
+ void
+@@ -699,14 +702,14 @@ OMAPFBPrintCapabilities(ScrnInfoPtr pScrn,
+ /*** Unimplemented: */
+ 
+ static Bool
+-OMAPFBEnterVT(int scrnIndex, int flags)
++OMAPFBEnterVT(VT_FUNC_ARGS_DECL)
+ {
+       xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__);
+       return TRUE;
+ }
+ 
+ static void
+-OMAPFBLeaveVT(int scrnIndex, int flags)
++OMAPFBLeaveVT(VT_FUNC_ARGS_DECL)
+ {
+       xf86Msg(X_NOT_IMPLEMENTED, "%s\n", __FUNCTION__);
+ }
+-- 
+1.8.0
+

diff --git a/x11-drivers/xf86-video-omapfb/xf86-video-omapfb-0.1.1.1_p1.ebuild 
b/x11-drivers/xf86-video-omapfb/xf86-video-omapfb-0.1.1.1_p1.ebuild
new file mode 100644
index 0000000..adea2cc
--- /dev/null
+++ b/x11-drivers/xf86-video-omapfb/xf86-video-omapfb-0.1.1.1_p1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: 
/var/cvsroot/gentoo-x86/x11-drivers/xf86-video-omapfb/xf86-video-omapfb-0.1.1_p3.ebuild,v
 1.4 2013/01/14 23:29:30 creffett Exp $
+
+EAPI="3"
+
+XORG_EAUTORECONF="yes"
+
+inherit xorg-2
+
+MY_P="${P/_p*//}"
+
+MY_P_PATCH="${PN}_${PV/_p/-}"
+SRC_URI="mirror://debian/pool/main/x/${PN}/${PN}_${PV/_p*/}.orig.tar.gz
+       mirror://debian/pool/main/x/${PN}/${MY_P_PATCH}.diff.gz"
+HOMEPAGE="http://gitweb.pingu.fi/?p=xf86-video-omapfb.git;a=tree";
+
+DESCRIPTION="X.org driver for TI OMAP framebuffers"
+KEYWORDS="-* ~arm"
+IUSE=""
+RDEPEND=">=x11-base/xorg-server-1.0.99"
+DEPEND="${RDEPEND}
+       x11-proto/fontsproto
+       x11-proto/randrproto
+       x11-proto/renderproto
+       x11-proto/xproto"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+       epatch "${WORKDIR}/${MY_P_PATCH}.diff"
+       epatch "${FILESDIR}"/000*.patch
+       xorg-2_src_prepare
+}

Reply via email to