Thread (22 messages) read the whole thread 22 messages, 6 authors, 2011-09-10

[PATCH v2] ASoC: omap: convert per-board modules to platform drivers

From: Russell King - ARM Linux <hidden>
Date: 2011-09-08 22:37:55
Also in: alsa-devel, linux-omap, lkml

On Thu, Sep 08, 2011 at 03:29:11PM -0700, Mark Brown wrote:
On Thu, 2011-09-08 at 22:28 +0200, Arnd Bergmann wrote:
quoted
On Thursday 08 September 2011 20:05:48 Mans Rullgard wrote:
quoted
quoted
I had the same thought, but I couldn't find a suitable string anywhere.
Are you suggesting an if(machine_is_foo()) cascade in omap_init_audio()?
quoted
quoted
I'll be the first to agree this patch is not particularly pretty.
quoted
My general feeling is that practically every time someone writes
machine_is_*(), they are doing it wrong. There are of course exceptions,
but I would strongly recommend to have the initialization calling up
from the board file into more general functions instead of having all
boards calling the same function which then goes to board specific
code again.
I have to agree, that seems tasteless. I'd expect something like
triggering registration of devices based off walking down a table of
machine IDs or something. One other issue to consider here is that we
don't want to discourage people from sharing machine drivers while we
can so it can't be completely automatic, it 
This problem has been solved (before DT) for _ages_ through the use
of platform devices in the platform support files, registered by the
.init_machine callback.

Where it went wrong is when ASOC and PCMCIA became rather complicated
that you could no longer just pass a platform data structure, but
instead needed some complex platform specific code - which started the
demand to have mini platform specific chunks of code in drivers/pcmcia/
and sound/.

With DT of course, all devices get instantiated from the device tree,
so there should not be any more platform specific chunks of code in
these locations (ha, it couldn't be solved with platform data so I
suspect it will continue to persist, forever unsolved.)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help