Hi Geert, On Thu, Feb 20, 2014 at 11:49 PM, Geert Uytterhoeven <ge...@linux-m68k.org> wrote: > From: Geert Uytterhoeven <geert+rene...@linux-m68k.org> > > Add MSIOF resources, platform data, platform device, pinctrl, and SPI > child device. > > - Platform device numbering is 1-based for compatibility with the BSP, > as QSPI uses zero. > - Only MSIOF1 is in use, and thus registered. Its bus contains a single > device (a Renesas R2A11302FT PMIC). > > Signed-off-by: Geert Uytterhoeven <geert+rene...@linux-m68k.org> > --- > arch/arm/mach-shmobile/board-lager.c | 64 > ++++++++++++++++++++++++++++++---- > 1 file changed, 58 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/mach-shmobile/board-lager.c > b/arch/arm/mach-shmobile/board-lager.c > index f0104bfe544e..6062bcbda366 100644 > --- a/arch/arm/mach-shmobile/board-lager.c > +++ b/arch/arm/mach-shmobile/board-lager.c > @@ -55,6 +55,7 @@ > #include <linux/mtd/mtd.h> > #include <linux/spi/flash.h> > #include <linux/spi/rspi.h> > +#include <linux/spi/sh_msiof.h> > #include <linux/spi/spi.h> > #include <sound/rcar_snd.h> > #include <sound/simple_card.h> > @@ -287,6 +288,40 @@ static const struct platform_device_info ether_info > __initconst = { > .dma_mask = DMA_BIT_MASK(32), > }; > > +/* 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))
Hi Geert, 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. =) Thanks, / magnus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/