On Fri, 15 May 2009 20:05:58 +0100, Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > > OTOH, I want to keep arch code as is. There are some TXx9 SoC > > variations and they can have different baseaddr/irq/dma. I want to > > leave these details in arch code and make ASoC drivers generic as > > possible. > > This is the common situation for SoC CPUs - most silicon vendors reuse > the same IPs in diffierent combinations on different CPUs. The normal > approach is to have the generic code for each SoC set up the resources > for the devices that are present on that particular SoC. This avoids > the need for each board using the SoC to have to replicate the > information. Yes, and I tried to do so in "TXx9: Add ACLC support" patch. > arch/mips/include/asm/txx9/generic.h | 5 ++++ > arch/mips/include/asm/txx9/tx4927.h | 2 + > arch/mips/include/asm/txx9/tx4938.h | 1 + > arch/mips/include/asm/txx9/tx4939.h | 1 + > arch/mips/txx9/Kconfig | 3 ++ > arch/mips/txx9/generic/setup.c | 36 +++++++++++++++++++++++++++ > arch/mips/txx9/generic/setup_tx4927.c | 43 +++++++++++++++++++++++++++++++++ > arch/mips/txx9/generic/setup_tx4938.c | 11 ++++++++ > arch/mips/txx9/generic/setup_tx4939.c | 9 +++++++ These are "the generic code for each SoC set up the resources for the devices that are present on that particular SoC". > arch/mips/txx9/rbtx4927/setup.c | 7 ++++- > arch/mips/txx9/rbtx4938/setup.c | 1 + > arch/mips/txx9/rbtx4939/setup.c | 1 + And these are setup codes for each boards. Is this acceptable? I'm not sure whether you are saying Ack or Nack for this approach. --- Atsushi Nemoto