From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Timur Tabi" <timur@freescale.com>
Cc: linuxppc-dev@ozlabs.org, alsa-devel@alsa-project.org
Subject: Re: [PATCH] ASoC drivers for the Freescale MPC8610 SoC
Date: Wed, 2 Jan 2008 10:56:47 -0500 [thread overview]
Message-ID: <9e4733910801020756p18e12ce8o618b8eae5e7c5a53@mail.gmail.com> (raw)
In-Reply-To: <477BADF5.9060003@freescale.com>
On 1/2/08, Timur Tabi <timur@freescale.com> wrote:
> Are you saying that you want to use the same kernel on four different
> systems? If so, then you need to find a way to compile all fabric
> drivers together, and at boot time each fabric driver will decide
> whether it will do anything.
Yes, I have four different but similar systems. They only differer in
the codec chips used. I want to make a single kernel image and then
use the device tree to dynamically load the correct codec driver from
initrd. That will let me ship a single kernel image that services all
four machines. The codecs implement different sound systems from low
end to high end.
The correct solution for this is to use kernel modules and trigger
their loading based on the device tree. This is the same mechanism
used by USB and PCI.
For this model to work you need to split your driver. fsl-ssi and
mpc8610_hpcd need to be in two separate drivers. fsl-ssi is easy
enough to load since it has a device tree entry.
mpc8610_hpcd is the harder one to load since it doesn't have a device
tree entry. What you want to do it match on the compatible field of
the root node.
static struct of_device_id fabric_of_match[] = {
{
.compatible = "fsl,MPC8610HPCD",
},
{},
};
But this doesn't work since the root is the device tree isn't passed
down into the device probe code. (Could this be fixed?)
Instead we could make the separated mpc8610_hpcd fabric driver attach
to fsl,ssi.
static struct of_device_id fabric_of_match[] = {
{
.compatible = "fsl,ssi",
},
{},
};
Then in it's probe code check for the right platform.
unsigned long node = of_get_flat_dt_root();
if (!of_flat_dt_is_compatible(node, "fsl,MPC8610HPCD"))
return 0;
.. activate the code ...
You also need a static flag to make sure you don't active the driver
more than once.
This isn't the best solution since my four fabric drivers will still
load and check what platform they are on before exiting but at least
it works.
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2008-01-02 15:56 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-20 0:03 [PATCH] ASoC drivers for the Freescale MPC8610 SoC Timur Tabi
2007-12-20 4:06 ` Olof Johansson
2007-12-20 14:24 ` Timur Tabi
2007-12-20 13:54 ` [alsa-devel] " Takashi Iwai
2007-12-20 17:04 ` Timur Tabi
2007-12-21 5:28 ` Lee Revell
2007-12-23 3:23 ` Timur Tabi
2007-12-20 22:39 ` Olof Johansson
2007-12-20 22:37 ` Timur Tabi
2007-12-20 22:43 ` Scott Wood
2007-12-23 2:58 ` Timur Tabi
2008-01-02 18:08 ` Scott Wood
2007-12-20 14:47 ` Jon Loeliger
2007-12-20 22:29 ` Jon Smirl
2007-12-20 22:32 ` Timur Tabi
2007-12-20 22:38 ` Jon Smirl
2007-12-20 22:40 ` Timur Tabi
2007-12-20 22:44 ` Scott Wood
2007-12-20 23:13 ` Jon Smirl
2007-12-21 0:00 ` David Gibson
2008-01-01 17:25 ` Jon Smirl
2008-01-01 17:42 ` Jon Smirl
2008-01-02 15:19 ` Timur Tabi
2008-01-02 15:34 ` Jon Smirl
2008-01-03 17:54 ` Timur Tabi
2008-01-03 18:13 ` Grant Likely
2008-01-03 18:20 ` Timur Tabi
2008-01-03 18:32 ` Grant Likely
2008-01-03 23:51 ` David Gibson
2008-01-05 2:39 ` [alsa-devel] " Timur Tabi
2008-01-06 0:46 ` David Gibson
2008-01-07 14:24 ` Mark Brown
2008-01-07 15:52 ` Timur Tabi
2008-01-07 18:28 ` Mark Brown
2008-01-10 3:49 ` David Gibson
2008-01-10 5:41 ` Jon Smirl
2008-01-10 10:30 ` Liam Girdwood
2008-01-10 15:39 ` Timur Tabi
2008-01-10 16:01 ` Grant Likely
2008-01-10 16:03 ` Timur Tabi
2008-01-10 20:10 ` Jon Smirl
2008-01-10 20:13 ` Timur Tabi
2008-01-10 20:24 ` Grant Likely
2008-01-10 20:35 ` Timur Tabi
2008-01-10 20:39 ` Jon Smirl
2008-01-10 20:44 ` Timur Tabi
2008-01-07 18:44 ` Liam Girdwood
2008-01-07 18:45 ` Timur Tabi
2008-01-02 16:12 ` Grant Likely
2008-01-03 18:08 ` Timur Tabi
2008-01-03 18:17 ` Grant Likely
2008-01-03 18:54 ` Scott Wood
2008-01-03 19:13 ` Grant Likely
2008-01-03 19:18 ` Scott Wood
2008-01-03 23:13 ` [alsa-devel] " Mark Brown
2008-01-05 2:35 ` Timur Tabi
2008-01-05 3:28 ` Grant Likely
2008-01-02 0:26 ` David Gibson
2008-01-02 15:10 ` Timur Tabi
2008-01-02 17:23 ` [alsa-devel] " Mark Brown
2008-01-03 18:23 ` Timur Tabi
2008-01-03 23:00 ` Mark Brown
2008-01-05 2:43 ` Timur Tabi
2008-01-07 13:37 ` Mark Brown
2008-01-02 4:27 ` Jon Smirl
2008-01-02 15:29 ` Timur Tabi
2008-01-02 15:56 ` Jon Smirl [this message]
2008-01-02 16:32 ` Grant Likely
2008-01-02 17:12 ` Jon Smirl
2008-01-02 17:22 ` Grant Likely
2008-01-02 18:43 ` Jon Smirl
2008-01-02 18:50 ` Grant Likely
2008-01-02 18:56 ` Jon Smirl
2008-01-03 4:46 ` David Gibson
2008-01-03 14:33 ` Jon Smirl
2008-01-03 17:57 ` Timur Tabi
2008-01-02 16:28 ` Grant Likely
2008-01-02 18:49 ` [alsa-devel] " Mark Brown
2008-01-03 18:16 ` Timur Tabi
2008-01-03 23:47 ` David Gibson
2008-01-04 13:39 ` Mark Brown
2008-01-03 18:14 ` Timur Tabi
2008-01-03 18:25 ` Grant Likely
2008-01-03 18:28 ` Timur Tabi
2008-01-03 18:38 ` Grant Likely
2008-01-03 4:44 ` David Gibson
2008-01-03 14:54 ` Jon Smirl
2008-01-04 5:01 ` David Gibson
2008-01-03 18:16 ` Timur Tabi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e4733910801020756p18e12ce8o618b8eae5e7c5a53@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=timur@freescale.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).