Hiya,

On 29/05/2008, Eduardo Valentin <[EMAIL PROTECTED]> wrote:
>  +static struct omap_mcbsp_platform_data omap1_mcbsp_pdata[] = {
>  +#ifdef CONFIG_ARCH_OMAP730
>  +       {
>  +               .virt_base      = io_p2v(OMAP730_MCBSP1_BASE),
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP1_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP1_TX,
>  +               .rx_irq         = INT_730_McBSP1RX,
>  +               .tx_irq         = INT_730_McBSP1TX,
>  +               .ops            = &omap1_mcbsp_ops,
>  +       },
>  +       {
>  +               .virt_base      = io_p2v(OMAP730_MCBSP2_BASE),
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP3_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP3_TX,
>  +               .rx_irq         = INT_730_McBSP2RX,
>  +               .tx_irq         = INT_730_McBSP2TX
>  +               .ops            = &omap1_mcbsp_ops,
>  +       },
>  +#endif
>  +#ifdef CONFIG_ARCH_OMAP15XX
>  +       {
>  +               .virt_base      = OMAP1510_MCBSP1_BASE,
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP1_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP1_TX,
>  +               .rx_irq         = INT_McBSP1RX,
>  +               .tx_irq         = INT_McBSP1TX,
>  +               .ops            = &omap1_mcbsp_ops,
>  +               .clk_name       = "mcbsp_clk",
>  +               },
>  +       {
>  +               .virt_base      = io_p2v(OMAP1510_MCBSP2_BASE),
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP2_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP2_TX,
>  +               .rx_irq         = INT_1510_SPI_RX,
>  +               .tx_irq         = INT_1510_SPI_TX,
>  +               .ops            = &omap1_mcbsp_ops,
>  +       },
>  +       {
>  +               .virt_base      = OMAP1510_MCBSP3_BASE,
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP3_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP3_TX,
>  +               .rx_irq         = INT_McBSP3RX,
>  +               .tx_irq         = INT_McBSP3TX,
>  +               .ops            = &omap1_mcbsp_ops,
>  +               .clk_name       = "mcbsp_clk",
>  +       },
>  +#endif
>  +#ifdef CONFIG_ARCH_OMAP16XX
>  +       {
>  +               .virt_base      = OMAP1610_MCBSP1_BASE,
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP1_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP1_TX,
>  +               .rx_irq         = INT_McBSP1RX,
>  +               .tx_irq         = INT_McBSP1TX,
>  +               .ops            = &omap1_mcbsp_ops,
>  +               .clk_name       = "mcbsp_clk",
>  +       },
>  +       {
>  +               .virt_base      = io_p2v(OMAP1610_MCBSP2_BASE),
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP2_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP2_TX,
>  +               .rx_irq         = INT_1610_McBSP2_RX,
>  +               .tx_irq         = INT_1610_McBSP2_TX,
>  +               .ops            = &omap1_mcbsp_ops,
>  +       },
>  +       {
>  +               .virt_base      = OMAP1610_MCBSP3_BASE,
>  +               .dma_rx_sync    = OMAP_DMA_MCBSP3_RX,
>  +               .dma_tx_sync    = OMAP_DMA_MCBSP3_TX,
>  +               .rx_irq         = INT_McBSP3RX,
>  +               .tx_irq         = INT_McBSP3TX,
>  +               .ops            = &omap1_mcbsp_ops,
>  +               .clk_name       = "mcbsp_clk",
>  +       },
>  +#endif
>  +};

I think you need a runtime omap model check here.  Otherwise if you
have all three models enabled in the config (I don't remember if that
is supported but that's not the point) you'll get eight
platform_devices.  That will not Oops because there's a sanity check
in omap_mcbsp_register_board_cfg() but only the first three will get
registered.

There is a runtime check in the original version.

Same applies to PATCH 5/5 for omap2.

Cheers,
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to