On Sun, Sep 2, 2012 at 3:12 PM, shiraz hashim <shiraz.linux.kernel@xxxxxxxxx> wrote: > Hi Linus, >> Yes that is why the allocation looks like this: >> >> + master = spi_alloc_master(dev, sizeof(struct pl022) + sizeof(int) * >> + platform_info->num_chipselect); >> > > The allocation is such because type of chipselects is int. > > The statement for allocation is correct, but > > pl022->chipselects = (int *) pl022 + sizeof(struct pl022); > > is not adding sizeof(struct pl022) bytes to pl022 base (which we want), > but infact 4 times the size of pl022 (because type of pl022 is now int *). > > Do you get my point ? This would go way beyond memory allocated > for chipselects. Yes of course ... how could I not see this. Sorry! Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html