On Thu, Apr 2, 2015 at 10:23 PM, Jonathan Richardson <jonathar@xxxxxxxxxxxx> wrote: > The Broadcom MSPI controller is used on various chips. The driver only > supported BCM53xx chips with BCMA (an AMBA bus variant). The driver is > refactored to make BCMA optional and provides a new config for non BCMA > systems. > struct bcm_mspi { > + #ifdef CONFIG_SPI_BCMA_MSPI > struct bcma_device *core; > - struct spi_master *master; > + #endif > > + void __iomem *base; > + struct spi_master *master; > size_t read_offset; > + void (*mspi_write)(struct bcm_mspi *mspi, u16 offset, u32 value); > + u32 (*mspi_read)(struct bcm_mspi *mspi, u16 offset); > +}; To avoid ugly ifdefs I think better to split driver to core part and the actual driver part, at the end you will have something like mspi-core.c mspi-53xx.c mspi-whatever.c. Check for example spi-dw*.c -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html