[PATCH v6 1/3] spi/pl022: Add chip select handling via GPIO

Linus Walleij linus.walleij at linaro.org
Mon Sep 3 19:10:28 EST 2012


On Sun, Sep 2, 2012 at 3:12 PM, shiraz hashim
<shiraz.linux.kernel at gmail.com> 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


More information about the devicetree-discuss mailing list