On Tue, Feb 24, 2015 at 07:47:09AM +0100, Mark Kettenis wrote: > > On Mon, Feb 23, 2015 at 4:28 AM, Thomas Klausner <[email protected]> wrote: > > > Fixes > > > passing argument 2 of 'pci_device_cfg_read_u32' from incompatible > > > pointer type > > > pciaccess.h:153:5: note: expected '__uint32_t *' but argument is of type > > > 'CARD32 *' > > > > > > Signed-off-by: Thomas Klausner <[email protected]> > > > --- > > > src/mga_dac3026.c | 6 +++++- > > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > > > diff --git a/src/mga_dac3026.c b/src/mga_dac3026.c > > > index 97c2c7a..e825702 100644 > > > --- a/src/mga_dac3026.c > > > +++ b/src/mga_dac3026.c > > > @@ -852,8 +852,12 @@ MGA3026Save(ScrnInfoPtr pScrn, vgaRegPtr vgaReg, > > > MGARegPtr mgaReg, > > > mgaReg->DacRegs[i] = inTi3026(MGADACregs[i]); > > > > > > #ifdef XSERVER_LIBPCIACCESS > > > - pci_device_cfg_read_u32(pMga->PciInfo, & mgaReg->Option, > > > + { > > > + uint32_t Option; > > > + pci_device_cfg_read_u32(pMga->PciInfo, & Option, > > > PCI_OPTION_REG); > > > + mgaReg->Option = Option; > > > > I don't understand why the previous code generated that warning (isn't > > __uint32_t* implicitly castable to CARD32*?) > > On 32-bit systems, CARD32 is "unsigned long", whereas uint32_t is usually > "unsigned int". And since "int" and "long" might differ in size on other > systems, the compiler (rightfully) complains. > > > but even so, why isn't a cast the appropriate solution? > > Because casts almost never are the appropriate solution if they can be > avoided?
Anything I can do to make progress with this patch? Thomas _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
