[PATCH 04/11] ARM: shmobile: lager legacy: Add MSIOF support

Geert Uytterhoeven geert at linux-m68k.org
Thu Feb 20 11:18:43 EST 2014


Hi Magnus,

On Thu, Feb 20, 2014 at 4:48 PM, Magnus Damm <magnus.damm at gmail.com> wrote:
>> +/* MSIOF */
>> +static const struct resource sh_msiof0_resources[] __initconst = {
>> +       DEFINE_RES_MEM(0xe6e20000, 0x0064),
>> +       DEFINE_RES_IRQ(gic_spi(156)),
>> +};
>> +
>> +static const struct resource sh_msiof1_resources[] __initconst = {
>> +       DEFINE_RES_MEM(0xe6e10000, 0x0064),
>> +       DEFINE_RES_IRQ(gic_spi(157)),
>> +};
>> +
>> +static const struct resource sh_msiof2_resources[] __initconst = {
>> +       DEFINE_RES_MEM(0xe6e00000, 0x0064),
>> +       DEFINE_RES_IRQ(gic_spi(158)),
>> +};
>> +
>> +static const struct resource sh_msiof3_resources[] __initconst = {
>> +       DEFINE_RES_MEM(0xe6c90000, 0x0064),
>> +       DEFINE_RES_IRQ(gic_spi(159)),
>> +};
>> +
>> +static const struct sh_msiof_spi_info sh_msiof_info __initconst = {
>> +       .rx_fifo_override       = 256,
>> +       .num_chipselect         = 1,
>> +};
>> +
>> +#define r8a7790_register_msiof(idx)                                    \
>> +       platform_device_register_resndata(&platform_bus,                \
>> +                               "spi_r8a7790_msiof",                    \
>> +                               (idx+1), sh_msiof##idx##_resources,     \
>> +                               ARRAY_SIZE(sh_msiof##idx##_resources),  \
>> +                               &sh_msiof_info,                         \
>> +                               sizeof(struct sh_msiof_spi_info))
>
> That for your efforts - it's good to see the MSIOF being integrated as
> well! I have one comment on this legacy board integration code.
>
> Since only MSIOF1 is used on Lager (correct me if i'm wrong), isn't it
> best to omit the unused resources from above? In case of DT I think it
> makes sense to define all channels in the SoC.dtsi and let the
> SoC-board.dts just enable the channels that are used. But in this case
> with legacy code  I think we should keep thing simple and small and
> just enable the bits that are used on the particular board.
>
> The same obviously applies to the Koelsch legacy code as well. =)

Note that while all resources are present, only MSIOF1 is registered on
Lager (MSIOF0 on Koelsch). This is similar to i2c on Koelsch, which also
has all resources, but only registers active devices.

It's your preference, though, so I can adapt if you want.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-arm-kernel mailing list