summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteev Klimaszewski <steev@gentoo.org>2013-08-06 11:07:00 -0500
committerSteev Klimaszewski <steev@gentoo.org>2013-08-06 11:07:00 -0500
commit02e3d806270278cc36d9e94950f21b1e353366ab (patch)
tree71b207fd6499ed00bad2d589dffcb5795d81ba72
parentmali-drivers-bin: Chromebook EGL/GLES drivers (diff)
downloadarm-02e3d806270278cc36d9e94950f21b1e353366ab.tar.gz
arm-02e3d806270278cc36d9e94950f21b1e353366ab.tar.bz2
arm-02e3d806270278cc36d9e94950f21b1e353366ab.zip
xf86-video-armsoc: ARM Chromebook Xorg driver
-rw-r--r--x11-drivers/xf86-video-armsoc/Manifest3
-rw-r--r--x11-drivers/xf86-video-armsoc/files/0001-Import-patch-from-Marcin.patch395
-rw-r--r--x11-drivers/xf86-video-armsoc/files/remove-mibstore-header-include.patch26
-rw-r--r--x11-drivers/xf86-video-armsoc/xf86-video-armsoc-9999.ebuild28
4 files changed, 452 insertions, 0 deletions
diff --git a/x11-drivers/xf86-video-armsoc/Manifest b/x11-drivers/xf86-video-armsoc/Manifest
new file mode 100644
index 0000000..6ae27fa
--- /dev/null
+++ b/x11-drivers/xf86-video-armsoc/Manifest
@@ -0,0 +1,3 @@
+AUX 0001-Import-patch-from-Marcin.patch 13238 SHA256 58b4d31abd7c3bf79e9d8ce8d13d089fbf40d41c75bbf917df32d9a85029e147 SHA512 86f1396ab74b26ee93a1090ab06be0d2eb012805c2dcbf1a7ecd671dbb0d5be5b1d1bb5d0f3e1c59bd686aaac0e38a49da98c1c9c3dc4ad6bb7ca7a581d6ceb6 WHIRLPOOL 6b486ae6b24036403291a3b095fc28897dd28f2508182986e28aa0a1a9f5761413e57c03c71dfbd6840959e8cf1bb35c2dfaa9221bf455a3cc4e11e811593a13
+AUX remove-mibstore-header-include.patch 638 SHA256 bb52aed4eca3cc7b358c77302ada1452845fba3364fbe064d9fe114c5708ed77 SHA512 8bad45bb731c1d1cc7d6ccf3b62a40bdbb4683f7097f5c780a665f82559d6716b3b9475b412f5042654625ccdfa4d164b6fa3bd9d26b7bea5dd18b9f483cf664 WHIRLPOOL 04ad57ee42362190921e807d4ce25096a980edac1c3bf0fdbbcd40c9a1b6fa67f3de87928d0e8f12a419c63122111b9e944cddc43637e2f7e49a1f8764f90f2a
+EBUILD xf86-video-armsoc-9999.ebuild 762 SHA256 77d1efddf2d07a3313f311666cc5d8230dee193804a02a04bf62beb6e4c26369 SHA512 023c9eb498b28a7d109f4160a892d06ca8273321786c23eda1ef1bff26954e4c2aba97e60c019a6422801be951539aecb4b87f291c74d66f55ca4304ca1fde52 WHIRLPOOL 6f38714f48d0502f43ff674cbf2cb1948fb67ddd5e8645636cdc6e220f3b661c5056af44ac73cd5f1fb8959524f8b69352e66e20a20e1dece3ec6bf817bd3d79
diff --git a/x11-drivers/xf86-video-armsoc/files/0001-Import-patch-from-Marcin.patch b/x11-drivers/xf86-video-armsoc/files/0001-Import-patch-from-Marcin.patch
new file mode 100644
index 0000000..f32228e
--- /dev/null
+++ b/x11-drivers/xf86-video-armsoc/files/0001-Import-patch-from-Marcin.patch
@@ -0,0 +1,395 @@
+From 085eef562ac36a0ec298220023b60ad12059285c Mon Sep 17 00:00:00 2001
+From: Steev Klimaszewski <steev@gentoo.org>
+Date: Mon, 5 Aug 2013 22:13:07 -0500
+Subject: [PATCH] Import patch from Marcin
+
+---
+ src/compat-api.h | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/drmmode_display.c | 4 +--
+ src/omap_driver.c | 67 ++++++++++++++++------------------
+ src/omap_driver.h | 3 +-
+ src/omap_exa.h | 6 ++--
+ src/omap_exa_null.c | 4 +--
+ 6 files changed, 139 insertions(+), 44 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..ad15fa3
+--- /dev/null
++++ b/src/compat-api.h
+@@ -0,0 +1,99 @@
++/*
++ * 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 <airlied@redhat.com>
++ */
++
++/* 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
++// old ones just because
++//#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
++//#define CLOSE_SCREEN_ARGS scrnIndex, 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/drmmode_display.c b/src/drmmode_display.c
+index 46425d7..57533ee 100644
+--- a/src/drmmode_display.c
++++ b/src/drmmode_display.c
+@@ -1540,8 +1540,6 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp)
+
+ TRACE_ENTER();
+
+- pScrn->canDoBGNoneRoot = TRUE;
+-
+ drmmode = calloc(1, sizeof *drmmode);
+ drmmode->fd = fd;
+
+@@ -1580,7 +1578,7 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp)
+ }
+
+ void
+-drmmode_adjust_frame(ScrnInfoPtr pScrn, int x, int y, int flags)
++drmmode_adjust_frame(ScrnInfoPtr pScrn, int x, int y)
+ {
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
+ xf86OutputPtr output = config->output[config->compat_output];
+diff --git a/src/omap_driver.c b/src/omap_driver.c
+index 8d52f9a..4463d6d 100644
+--- a/src/omap_driver.c
++++ b/src/omap_driver.c
+@@ -47,19 +47,17 @@ static const OptionInfoRec *OMAPAvailableOptions(int chipid, int busid);
+ static void OMAPIdentify(int flags);
+ static Bool OMAPProbe(DriverPtr drv, int flags);
+ static Bool OMAPPreInit(ScrnInfoPtr pScrn, int flags);
+-static Bool OMAPScreenInit(int scrnIndex, ScreenPtr pScreen, int argc,
+- char **argv);
++static Bool OMAPScreenInit(SCREEN_INIT_ARGS_DECL);
+ static void OMAPLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
+ LOCO * colors, VisualPtr pVisual);
+-static Bool OMAPCloseScreen(int scrnIndex, ScreenPtr pScreen);
++static Bool OMAPCloseScreen(CLOSE_SCREEN_ARGS_DECL);
+ static Bool OMAPCreateScreenResources(ScreenPtr pScreen);
+-static void OMAPBlockHandler(int i, pointer blockData, pointer pTimeout,
+- pointer pReadmask);
+-static Bool OMAPSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
+-static void OMAPAdjustFrame(int scrnIndex, int x, int y, int flags);
+-static Bool OMAPEnterVT(int scrnIndex, int flags);
+-static void OMAPLeaveVT(int scrnIndex, int flags);
+-static void OMAPFreeScreen(int scrnIndex, int flags);
++static void OMAPBlockHandler(BLOCKHANDLER_ARGS_DECL);
++static Bool OMAPSwitchMode(SWITCH_MODE_ARGS_DECL);
++static void OMAPAdjustFrame(ADJUST_FRAME_ARGS_DECL);
++static Bool OMAPEnterVT(VT_FUNC_ARGS_DECL);
++static void OMAPLeaveVT(VT_FUNC_ARGS_DECL);
++static void OMAPFreeScreen(FREE_SCREEN_ARGS_DECL);
+
+
+
+@@ -668,7 +666,7 @@ OMAPAccelInit(ScreenPtr pScreen)
+ * save state, initialize the mode, etc.
+ */
+ static Bool
+-OMAPScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
++OMAPScreenInit(SCREEN_INIT_ARGS_DECL)
+ {
+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ OMAPPtr pOMAP = OMAPPTR(pScrn);
+@@ -786,10 +784,7 @@ OMAPScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ /* Take over the virtual terminal from the console, set the desired mode,
+ * etc.:
+ */
+- if (!OMAPEnterVT(scrnIndex, 0)) {
+- ERROR_MSG("OMAPEnterVT() failed!");
+- goto fail;
+- }
++ OMAPEnterVT(VT_FUNC_ARGS(0));
+
+ /* Do some XRandR initialization: */
+ if (!xf86CrtcScreenInit(pScreen)) {
+@@ -856,9 +851,9 @@ OMAPLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
+ * held by pScrn).
+ */
+ static Bool
+-OMAPCloseScreen(int scrnIndex, ScreenPtr pScreen)
++OMAPCloseScreen(CLOSE_SCREEN_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ OMAPPtr pOMAP = OMAPPTR(pScrn);
+ Bool ret;
+
+@@ -867,18 +862,18 @@ OMAPCloseScreen(int scrnIndex, ScreenPtr pScreen)
+ drmmode_screen_fini(pScrn);
+
+ if (pScrn->vtSema == TRUE) {
+- OMAPLeaveVT(scrnIndex, 0);
++ OMAPLeaveVT(VT_FUNC_ARGS(0));
+ }
+
+ unwrap(pOMAP, pScreen, CloseScreen);
+ unwrap(pOMAP, pScreen, BlockHandler);
+ unwrap(pOMAP, pScreen, CreateScreenResources);
+
+- ret = (*pScreen->CloseScreen)(scrnIndex, pScreen);
++ ret = (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
+
+ if (pOMAP->pOMAPEXA) {
+ if (pOMAP->pOMAPEXA->CloseScreen) {
+- pOMAP->pOMAPEXA->CloseScreen(scrnIndex, pScreen);
++ pOMAP->pOMAPEXA->CloseScreen(CLOSE_SCREEN_ARGS);
+ }
+ }
+
+@@ -923,14 +918,14 @@ OMAPCreateScreenResources(ScreenPtr pScreen)
+
+
+ static void
+-OMAPBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
++OMAPBlockHandler(BLOCKHANDLER_ARGS_DECL)
+ {
+- ScreenPtr pScreen = screenInfo.screens[i];
+- ScrnInfoPtr pScrn = xf86Screens[i];
++ SCREEN_PTR(arg);
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ OMAPPtr pOMAP = OMAPPTR(pScrn);
+
+ swap(pOMAP, pScreen, BlockHandler);
+- (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
++ (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS);
+ swap(pOMAP, pScreen, BlockHandler);
+
+ /* TODO OMAPVideoBlockHandler(), etc.. */
+@@ -943,9 +938,9 @@ OMAPBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask)
+ * Screen.
+ */
+ static Bool
+-OMAPSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
++OMAPSwitchMode(SWITCH_MODE_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+ return xf86SetSingleMode(pScrn, mode, RR_Rotate_0);
+ }
+
+@@ -957,10 +952,10 @@ OMAPSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+ * buffer within the "viewport" of the monitor.
+ */
+ static void
+-OMAPAdjustFrame(int scrnIndex, int x, int y, int flags)
++OMAPAdjustFrame(ADJUST_FRAME_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+- drmmode_adjust_frame(pScrn, x, y, flags);
++ SCRN_INFO_PTR(arg);
++ drmmode_adjust_frame(pScrn, x, y);
+ }
+
+
+@@ -972,9 +967,9 @@ OMAPAdjustFrame(int scrnIndex, int x, int y, int flags)
+ * HW state as needed by the X server.
+ */
+ static Bool
+-OMAPEnterVT(int scrnIndex, int flags)
++OMAPEnterVT(VT_FUNC_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+ OMAPPtr pOMAP = OMAPPTR(pScrn);
+ int ret;
+
+@@ -1003,9 +998,9 @@ OMAPEnterVT(int scrnIndex, int flags)
+ * need to restore the console's HW state.
+ */
+ static void
+-OMAPLeaveVT(int scrnIndex, int flags)
++OMAPLeaveVT(VT_FUNC_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+ OMAPPtr pOMAP = OMAPPTR(pScrn);
+ int ret;
+
+@@ -1027,9 +1022,9 @@ OMAPLeaveVT(int scrnIndex, int flags)
+ * up-to-and-including an unsuccessful ScreenInit() call.
+ */
+ static void
+-OMAPFreeScreen(int scrnIndex, int flags)
++OMAPFreeScreen(FREE_SCREEN_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+ OMAPPtr pOMAP = OMAPPTR(pScrn);
+
+ TRACE_ENTER();
+@@ -1041,7 +1036,7 @@ OMAPFreeScreen(int scrnIndex, int flags)
+
+ if (pOMAP->pOMAPEXA) {
+ if (pOMAP->pOMAPEXA->FreeScreen) {
+- pOMAP->pOMAPEXA->FreeScreen(scrnIndex, flags);
++ pOMAP->pOMAPEXA->FreeScreen(FREE_SCREEN_ARGS(pScrn));
+ }
+ free(pOMAP->pOMAPEXA);
+ }
+diff --git a/src/omap_driver.h b/src/omap_driver.h
+index e07fcc2..8d49cf6 100644
+--- a/src/omap_driver.h
++++ b/src/omap_driver.h
+@@ -61,6 +61,7 @@
+
+ #include <errno.h>
+
++#include "compat-api.h"
+ #include "omap_exa.h"
+
+
+@@ -240,7 +241,7 @@ static inline Bool has_dmm(OMAPPtr pOMAP)
+ Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp);
+ void drmmode_screen_init(ScrnInfoPtr pScrn);
+ void drmmode_screen_fini(ScrnInfoPtr pScrn);
+-void drmmode_adjust_frame(ScrnInfoPtr pScrn, int x, int y, int flags);
++void drmmode_adjust_frame(ScrnInfoPtr pScrn, int x, int y);
+ int drmmode_page_flip(DrawablePtr draw, uint32_t fb_id, void *priv,
+ int* num_flipped);
+ void drmmode_wait_for_event(ScrnInfoPtr pScrn);
+diff --git a/src/omap_exa.h b/src/omap_exa.h
+index 9980858..2c76807 100644
+--- a/src/omap_exa.h
++++ b/src/omap_exa.h
+@@ -37,6 +37,8 @@
+ #include "omap_util.h"
+ #include "exa.h"
+
++#include "compat-api.h"
++
+ /**
+ * A per-Screen structure used to communicate and coordinate between the OMAP X
+ * driver and an external EXA sub-module (if loaded).
+@@ -50,14 +52,14 @@ typedef struct _OMAPEXARec
+ * generation to free per-Screen data structures (except those held by
+ * pScrn).
+ */
+- Bool (*CloseScreen)(int scrnIndex, ScreenPtr pScreen);
++ Bool (*CloseScreen)(CLOSE_SCREEN_ARGS_DECL);
+
+ /**
+ * Called by X driver's FreeScreen() function at the end of each server
+ * lifetime to free per-ScrnInfoRec data structures, to close any external
+ * connections (e.g. with PVR2D, DRM), etc.
+ */
+- void (*FreeScreen)(int scrnIndex, int flags);
++ void (*FreeScreen)(FREE_SCREEN_ARGS_DECL);
+
+ /** get formats supported by PutTextureImage() (for dri2 video..) */
+ #define MAX_FORMATS 16
+diff --git a/src/omap_exa_null.c b/src/omap_exa_null.c
+index 7d1f295..3c1e683 100644
+--- a/src/omap_exa_null.c
++++ b/src/omap_exa_null.c
+@@ -77,7 +77,7 @@ PrepareCompositeFail(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
+ }
+
+ static Bool
+-CloseScreen(int scrnIndex, ScreenPtr pScreen)
++CloseScreen(CLOSE_SCREEN_ARGS_DECL)
+ {
+ #if 0 // TODO need to change CloseScreen/FreeScreen ..
+ exaDriverFini(pScreen);
+@@ -87,7 +87,7 @@ CloseScreen(int scrnIndex, ScreenPtr pScreen)
+ }
+
+ static void
+-FreeScreen(int scrnIndex, int flags)
++FreeScreen(FREE_SCREEN_ARGS_DECL)
+ {
+ }
+
+--
+1.8.1.5
+
diff --git a/x11-drivers/xf86-video-armsoc/files/remove-mibstore-header-include.patch b/x11-drivers/xf86-video-armsoc/files/remove-mibstore-header-include.patch
new file mode 100644
index 0000000..f3b0177
--- /dev/null
+++ b/x11-drivers/xf86-video-armsoc/files/remove-mibstore-header-include.patch
@@ -0,0 +1,26 @@
+diff --git src/drmmode_display.c src/drmmode_display.c
+index 57533ee..51aee29 100644
+--- src/drmmode_display.c
++++ src/drmmode_display.c
+@@ -59,7 +59,7 @@
+ #include "mipointer.h"
+
+ /* All drivers implementing backing store need this */
+-#include "mibstore.h"
++//#include "mibstore.h"
+
+ #include "micmap.h"
+
+diff --git src/omap_driver.h src/omap_driver.h
+index 8d49cf6..cfb5a57 100644
+--- src/omap_driver.h
++++ src/omap_driver.h
+@@ -40,7 +40,7 @@
+ * XXX - figure out what can be removed..
+ */
+ #include "mipointer.h"
+-#include "mibstore.h"
++//#include "mibstore.h"
+ #include "micmap.h"
+ #include "colormapst.h"
+ #include "xf86cmap.h"
diff --git a/x11-drivers/xf86-video-armsoc/xf86-video-armsoc-9999.ebuild b/x11-drivers/xf86-video-armsoc/xf86-video-armsoc-9999.ebuild
new file mode 100644
index 0000000..a25c0ae
--- /dev/null
+++ b/x11-drivers/xf86-video-armsoc/xf86-video-armsoc-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU Public License v2
+
+EAPI="5"
+#CROS_WORKON_PROJECT="chromiumos/third_party/xf86-video-armsoc"
+#CROS_WORKON_LOCALNAME="xf86-video-armsoc"
+
+#EGIT_REPO_URI="git://git.linaro.org/arm/xorg/driver/${PN}.git"
+EGIT_REPO_URI="https://git.chromium.org/git/chromiumos/third_party/${PN}.git"
+
+XORG_DRI="always"
+XORG_EAUTORECONF="yes"
+
+inherit xorg-2 git-2 eutils
+
+DESCRIPTION="X.Org driver for ARM devices"
+
+KEYWORDS="-* ~arm"
+
+RDEPEND=">=x11-base/xorg-server-1.9
+ !x11-drivers/mali-drivers"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/0001-Import-patch-from-Marcin.patch
+ epatch "${FILESDIR}"/remove-mibstore-header-include.patch
+ xorg-2_src_prepare
+}