[PATCH xf86-video-chips] Build fixes for ABI_VIDEODRV_VERSION 12

Mark Kettenis mark.kettenis at xs4all.nl
Sat Sep 24 05:28:25 PDT 2011


> From: Jeremy Huddleston <jeremyhu at apple.com>
> Date: Sat, 24 Sep 2011 04:13:14 -0700
> 
> On Sep 24, 2011, at 03:11, Mark Kettenis wrote:
> 
> >> From: Jeremy Huddleston <jeremyhu at apple.com>
> >> Date: Sat, 24 Sep 2011 00:03:45 -0700
> >> 
> >> 1) Include <pciaccess.h> for IOADDRESS
> > 
> > How does this help you? Nothing in libpciaccess defines IOADDRESS,
> > and adding that typedef to <pciaccess.h> seems wrong to me.  See my
> > previous mail for an easier solution.
> 
> Weird, for some reason I thought IOADDRESS came from pciaccess.  You're right.  That is wrong.
> 
> > 
> >> 2) Use CARD32 instead of PCITAG
> > 
> > See comment inline below.
> 
> 
> > 
> >> src/ct_driver.h |    5 +++++
> >> 1 files changed, 5 insertions(+), 0 deletions(-)
> >> 
> >> diff --git a/src/ct_driver.h b/src/ct_driver.h
> >> index 10a24d4..06c8aa8 100644
> >> --- a/src/ct_driver.h
> >> +++ b/src/ct_driver.h
> >> @@ -271,7 +272,11 @@ typedef struct {
> >> 
> >> typedef struct _CHIPSRec {
> >>     pciVideoPtr		PciInfo;
> >> +#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
> >>     PCITAG		PciTag;
> >> +#else
> >> +    CARD32		PciTag;
> >> +#endif
> > 
> > The PciTag member is only used in the !XSERVER_LIBPCIACCESS case, so a
> > better slution would be:
> > 
> > typedef struct _CHIPSRec {
> >     pciVideoPtr		PciInfo;
> > +#ifndef XSERVER_LIBPCIACCESS
> >     PCITAG		PciTag;
> > +#endif
> >     int			Chipset;
> >     EntityInfoPtr       pEnt;
> >     IOADDRESS		PIOBase;
> > 
> 
> 
> That doesn't help us.  PCITAG is gone, and CARD32 is being used
> instead.  XSERVER_LIBPCIACCESS is still defined.  Perhaps *both*
> changes are necessary.

Look again please.  It's #ifndef XSERVER_LIBPCIACCESS, so PCITAG will
only be needed if you're compiling against an ancient pre-libpciaccess
xserver that doesn't define XSERVER_LIBPCIACCESS.



More information about the xorg-devel mailing list