xf86-video-cirrus: fix build

This commit is contained in:
q66 2021-02-22 21:18:18 +01:00
parent 9db50baf74
commit 5cfe236e84
2 changed files with 116 additions and 1 deletions

View file

@ -0,0 +1,114 @@
From d80ff575021b9ae5991435f07a7ce0a948bf4054 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Mon, 22 Feb 2021 21:16:35 +0100
Subject: [PATCH] only attempt to use VBE on x86
---
src/alp_driver.c | 8 ++++++++
src/cir_driver.c | 4 ++++
src/lg_driver.c | 4 ++++
3 files changed, 16 insertions(+)
diff --git src/alp_driver.c src/alp_driver.c
index bd5e52f..f478eb5 100644
--- src/alp_driver.c
+++ src/alp_driver.c
@@ -61,7 +61,9 @@
#include "xf86DDC.h"
+#if defined(__i386__) || defined(__x86_64__)
#include "xf86int10.h"
+#endif
#include "cir.h"
#define _ALP_PRIVATE_
@@ -469,7 +471,11 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
int depth_flags;
ClockRangePtr clockRanges;
char *s;
+#if defined(__i386__) || defined(__x86_64__)
xf86Int10InfoPtr pInt = NULL;
+#else
+ void *pInt = NULL;
+#endif
if (flags & PROBE_DETECT) {
cirProbeDDC( pScrn, xf86GetEntityInfo(pScrn->entityList[0])->index );
@@ -528,6 +534,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
if (!xf86IsPc98())
#endif
+#if defined(__i386__) || defined(__x86_64__)
if (xf86LoadSubModule(pScrn, "int10"))
{
xf86DrvMsg(pScrn->scrnIndex,X_INFO,"initializing int10\n");
@@ -541,6 +548,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 0, REGION_MEM), 0x10);
PCI_WRITE_LONG(pCir->PciInfo, PCI_REGION_BASE(pCir->PciInfo, 1, REGION_MEM), 0x14);
}
+#endif
/* Set pScrn->monitor */
pScrn->monitor = pScrn->confScreen->monitor;
diff --git src/cir_driver.c src/cir_driver.c
index 2df4a2e..d9c2f0c 100644
--- src/cir_driver.c
+++ src/cir_driver.c
@@ -31,7 +31,9 @@
#include "alp.h"
#include "lg.h"
+#if defined(__i386__) || defined(__x86_64__)
#include "vbe.h"
+#endif
/*
* Forward definitions for the functions that make up the driver.
@@ -428,6 +430,7 @@ CirUnmapMem(CirPtr pCir, int scrnIndex)
_X_EXPORT void
cirProbeDDC(ScrnInfoPtr pScrn, int index)
{
+#if defined(__i386__) || defined(__x86_64__)
vbeInfoPtr pVbe;
if (xf86LoadSubModule(pScrn, "vbe")) {
@@ -435,4 +438,5 @@ cirProbeDDC(ScrnInfoPtr pScrn, int index)
ConfiguredMonitor = vbeDoEDID(pVbe, NULL);
vbeFree(pVbe);
}
+#endif
}
diff --git src/lg_driver.c src/lg_driver.c
index 589d14e..6bc3154 100644
--- src/lg_driver.c
+++ src/lg_driver.c
@@ -51,7 +51,9 @@
/* Needed by the Shadow Framebuffer */
#include "shadowfb.h"
+#if defined(__i386__) || defined(__x86_64__)
#include "xf86int10.h"
+#endif
#include "fb.h"
@@ -388,6 +390,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags)
PCI_DEV_FUNC(pCir->PciInfo));
#endif
+#if defined(__i386__) || defined(__x86_64__)
if (xf86LoadSubModule(pScrn, "int10")) {
xf86Int10InfoPtr int10InfoPtr;
@@ -396,6 +399,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags)
if (int10InfoPtr)
xf86FreeInt10(int10InfoPtr);
}
+#endif
/* Set pScrn->monitor */
pScrn->monitor = pScrn->confScreen->monitor;
--
2.30.1

View file

@ -1,7 +1,7 @@
# Template build file for 'xf86-video-cirrus'.
pkgname=xf86-video-cirrus
version=1.5.3
revision=6
revision=7
lib32disabled=yes
build_style=gnu-configure
hostmakedepends="pkg-config"
@ -15,6 +15,7 @@ distfiles="${XORG_SITE}/driver/${pkgname}-${version}.tar.bz2"
checksum=edc87b20a55259126b5239b5c1ef913419eab7ded0ed12ae9ae989460d7351ab
LDFLAGS="-Wl,-z,lazy"
CFLAGS="-Wno-pointer-arith -Wno-discarded-qualifiers -Wno-unused-label"
post_install() {
vlicense COPYING