Jesper Juhl <jesper.juhl@xxxxxxxxx> wrote: > On 30/08/2007, Daniel Drake <dsd@xxxxxxxxxx> wrote: >> Jesper Juhl wrote: >> > Since kmalloc() returns a void pointer there is no reason to cast >> > its return value. >> > This patch also removes a pointless initialization of a variable. >> >> NAK: adds a sparse warning >> zd_chip.c:116:15: warning: implicit cast to nocast type >> > Ok, I must admit I didn't check with sparse since it seemed pointless > - we usually never cast void pointers to other pointer types, > specifically because the C language nicely guarantees that the right > thing will happen without the cast. Sometimes we have to cast them to > integer types, su sure we need the cast there. But what on earth > makes a "zd_addr_t *" so special that we have to explicitly cast a > "void *" to that type? > > I see it's defined as > typedef u32 __nocast zd_addr_t; > in drivers/net/wireless/zd1211rw/zd_types.h , but why the __nocast ? Nevermind the __nocast, this looks like a bug in sparse. Just because a base type is __nocast, sparse shouldn't infer that a pointer to it should also be __nocast. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html