On Fri, Jun 18, 2010 at 10:33:15AM -0700, Greg Kroah-Hartman wrote: > On Fri, Jun 18, 2010 at 10:25:28AM -0700, Greg KH wrote: > > On Fri, Jun 18, 2010 at 10:21:03AM -0700, Greg KH wrote: > > > On Sat, Jun 05, 2010 at 03:13:46PM -0700, Charles Clément wrote: > > > > Remove the following typedef from ttype.h and replace with the actual type: > > > > PBYTE -> unsigned char * > > > > PWORD -> unsigned short * > > > > PDWORD -> unsigned long * > > > > > > After applying all of your typedef cleanup patches, I'm getting a bunch > > > of compiler warnings on x86-64 like: > > > drivers/staging/vt6655/iwctl.c: In function ‘iwctl_get_wireless_stats’: > > > drivers/staging/vt6655/iwctl.c:119:36: warning: cast from pointer to integer of different size > > > > > > I'll go see what went wrong... > > > > Ah, found it: > > Staging: vt6655: remove U32 custom macro > > was wrong. > > > > The line: > > -typedef unsigned long U32; /* 32-bit unsigned integer */ > > > > was fine, but you then went and made "U32" a "u32" all through the > > driver, which you would think would be correct based on the code. But > > it's not, you need to make it a real "unsigned long" instead. > > > > I'll go see if I can revert this one by hand or just fix it up... > > It's simpler just to fix the few places that this really wanted to be an > unsigned long. Here's the fixup patch I just applied that gets rid of > the build warnings, and hopefully makes the code work properly again: Thank you, did any warning appeared on x86-64 with that commit: 659770d4033373340bc24fc125d1f3ba215e4669 ? I basically did the same modification except for vt6655 instead of vt6656. Or probably the vt6656 didn't actually needed unsigned long at all. > > thanks, > > greg k-h > > > commit afb97d9a265f6001411df43d3ea523338c73c83f > Author: Greg Kroah-Hartman <gregkh@xxxxxxx> > Date: Fri Jun 18 10:30:21 2010 -0700 > > Staging: vt6655: fix up U32 conversion > > Commit 902d2411298a6e0b8a473a0163aa4bf6d5c8a073 converted U32 to u32 > which you would think would be just fine. Unfortunatly, it seems that > VIA only builds their code on a 32bit processor (which makes sense if > you think about it), but this doesn't work on x86-64. So fix up the few > places where this really wanted to be an unsigned long width. > > Cc: Charles Clément <caratorn@xxxxxxxxx> > Cc: Forest Bond <forest@xxxxxxxxxxxxxxxxxxx>, > Cc: Andres More <more.andres@xxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> > > diff --git a/drivers/staging/vt6655/device.h b/drivers/staging/vt6655/device.h > index 9e236f7..bad3256 100644 > --- a/drivers/staging/vt6655/device.h > +++ b/drivers/staging/vt6655/device.h > @@ -423,7 +423,7 @@ typedef struct __device_info { > > CHIP_TYPE chip_id; > > - u32 PortOffset; > + unsigned long PortOffset; > DWORD dwIsr; > u32 memaddr; > u32 ioaddr; > diff --git a/drivers/staging/vt6655/iwctl.c b/drivers/staging/vt6655/iwctl.c > index a2b2bc5..f354507 100644 > --- a/drivers/staging/vt6655/iwctl.c > +++ b/drivers/staging/vt6655/iwctl.c > @@ -116,7 +116,7 @@ struct iw_statistics *iwctl_get_wireless_stats(struct net_device *dev) > pDevice->wstats.discard.nwid = 0; > pDevice->wstats.discard.code = 0; > pDevice->wstats.discard.fragment = 0; > - pDevice->wstats.discard.retries = (u32)pDevice->scStatistic.dwTsrErr; > + pDevice->wstats.discard.retries = (unsigned long)pDevice->scStatistic.dwTsrErr; > pDevice->wstats.discard.misc = 0; > pDevice->wstats.miss.beacon = 0; > -- Charles Clément _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel