On Tue, Aug 23, 2011 at 12:31:55PM -0400, Chris Ball wrote: > Hi, > > [Adding linux-sparse@ to CC] > > On Tue, Aug 23 2011, Venkatraman S wrote: > > Fix the sparse warning output > > "warning: Using plain integer as NULL pointer" > > > > Signed-off-by: Venkatraman S <svenkatr@xxxxxx> > > --- > > drivers/mmc/card/block.c | 4 ++-- > > drivers/mmc/core/core.c | 2 +- > > drivers/mmc/core/mmc_ops.c | 4 ++-- > > drivers/mmc/core/sdio_ops.c | 2 +- > > 4 files changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c > > index 1ff5486..e702c61 100644 > > --- a/drivers/mmc/card/block.c > > +++ b/drivers/mmc/card/block.c > > @@ -291,7 +291,7 @@ static int mmc_blk_ioctl_cmd(struct block_device *bdev, > > struct mmc_card *card; > > struct mmc_command cmd = {0}; > > struct mmc_data data = {0}; > > - struct mmc_request mrq = {0}; > > + struct mmc_request mrq = {NULL}; > > struct scatterlist sg; > > int err; > > [...] > > The sparse warning is mistaken. Or I'm mistaken. But I suspect it's > the sparse warning. > > The {0} syntax is covered by: > > [6.7.8.21] If there are fewer initializers in a brace-enclosed list > than there are elements or members of an aggregate, or fewer > characters in a string literal used to initialize an array of known > size than there are elements in the array, the remainder of the > aggregate shall be initialized implicitly the same as objects that > have static storage duration. > > So we're not assigning 0 to a pointer, or whatever sparse thinks we're > doing -- we're initializing every member of the struct with 0, which is > a good and safe way to initialize it. > > Sparse folks, any comment? Notice that it says "the remainder of the aggregate". The first field still gets initialized with the 0 you supplied, and the first field of struct mmc_request has a pointer type. - Josh Triplett -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html