linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Jon Smirl" <jonsmirl@gmail.com>
To: "Timur Tabi" <timur@freescale.com>,
	"Grant Likely" <grant.likely@secretlab.ca>,
	linuxppc-dev@ozlabs.org, alsa-devel@alsa-project.org,
	liam.girdwood@wolfsonmicro.com
Subject: Re: [alsa-devel] [PATCH v2 1/3] ALSA SoC: Add OpenFirmware helper for matching bus and codec drivers
Date: Tue, 15 Jul 2008 09:08:28 -0400	[thread overview]
Message-ID: <9e4733910807150608o41f932c7r7a2321c56b410913@mail.gmail.com> (raw)
In-Reply-To: <20080715101307.GL25448@sirena.org.uk>

On 7/15/08, Mark Brown <broonie@opensource.wolfsonmicro.com> wrote:
> On Mon, Jul 14, 2008 at 07:45:46PM -0400, Jon Smirl wrote:
>  > On 7/14/08, Timur Tabi <timur@freescale.com> wrote:
>  > > Mark Brown wrote:
>
>
> > >  > chassis - on Linux drivers can be automatically loaded based on these
>  > >  > strings.  See drivers/misc/thinkpad_acpi.c for an example of a driver
>  > >  > that does this.
>
>
> > Allowing multiple binds at the root causes the problem of something
>  > like compatible="lite5200b,mpc5200-simple". Both platforms would bind
>  > and that's not what you want.
>
> Binding isn't the issue here - it's loading the driver in the first
>  place.  Once the drivers are loaded they can (hopefully) figure out if
>  they are running on appropriate hardware.

In this case we would end up with two core PowerPC machine drivers
bound, not ALSA ones. We have machine drivers in the PowerPC core,
that's one reason why it is confusing to call the ALSA drivers machine
drivers too.

If we allow multiple bindings both lite5200b and mpc5200-simple would
bind. The compatible list is a priority list from most specific to
most general. First you check for the specific driver lite5200b, if
it's not found then load the generic one mpc5200-simple.

>  > Another scheme would be to add kernel code to always create virtual OF
>  > devices like "lite5200b-fabric" that are derived off from the machine
>  > name that achieved a bind.
>
>
> This is what I'm suggesting, modulo the fact that I'm suggesting *not*
>  creating virtual devices but rather providing a mechanism for drivers to
>  load without binding to anything.  It strikes me that you're going to

If you have drivers for four different hardware releases compiled into
your kernel, the only kernel mechanism I know of  to trigger only one
of these to initialize is to create a device and then let the probe
mechanism sort it out. This is even more true when the drivers are on
initrd and need to be dynamically loaded. The module load code will
search through the alias lists in the module .ko files.

It has been pointed out that a lite5200b-fabric device isn't really a
virtual devices. It's a device that represents the traces on the PCB
wiring the generic chip drivers together.

>  run into similar situations with other hardware at some point - either
>  for undocumented extras that you happen to know exist on the system
>  (like much of the DMI usage on x86) or for other things where you've got
>  on-board hardware structured like sound hardware tends to be.

This makes sense, it is possible that other areas we aren't familiar
with will need fabric drivers too. The problem is easily exposed in
audio hardware since we use external clock and amp chips.

-- 
Jon Smirl
jonsmirl@gmail.com

  reply	other threads:[~2008-07-15 13:08 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-12  8:39 [PATCH v2 1/3] ALSA SoC: Add OpenFirmware helper for matching bus and codec drivers Grant Likely
2008-07-12  8:39 ` [PATCH v2 2/3] ALSA SoC: Add mpc5200-psc I2S driver Grant Likely
2008-07-14 12:10   ` [alsa-devel] " Mark Brown
2008-07-12  8:39 ` [PATCH v2 3/3] ALSA SoC: Add Texas Instruments TLV320AIC26 codec driver Grant Likely
2008-07-12 18:10   ` [alsa-devel] " Mark Brown
2008-07-12 18:14     ` Grant Likely
2008-07-14 11:45   ` Mark Brown
2008-07-18  6:29     ` Grant Likely
2008-07-18 10:39       ` Mark Brown
2008-07-15  7:57   ` dinesh
2008-07-15 10:33     ` Mark Brown
2008-07-15 12:38       ` dinesh
2008-07-15 12:46         ` Mark Brown
2008-07-16  9:05   ` WRITING AN SOC DRIVER WITHOUT DMA dinesh
2008-07-16 10:07     ` [alsa-devel] " Nobin Mathew
2008-07-16 10:13       ` dinesh
2008-07-17  6:03         ` dinesh
2008-07-17 10:56           ` Mark Brown
2008-07-17 11:26             ` Nobin Mathew
2008-07-17 12:05               ` Jon Smirl
2008-07-17 16:02   ` [PATCH v2 3/3] ALSA SoC: Add Texas Instruments TLV320AIC26 codec driver Timur Tabi
2008-07-14 13:49 ` [alsa-devel] [PATCH v2 1/3] ALSA SoC: Add OpenFirmware helper for matching bus and codec drivers Mark Brown
2008-07-14 14:13   ` Jon Smirl
2008-07-14 15:05     ` Mark Brown
2008-07-14 16:14       ` Timur Tabi
2008-07-14 16:27         ` Grant Likely
2008-07-14 16:53         ` Mark Brown
2008-07-14 17:21           ` Grant Likely
2008-07-14 18:36             ` Mark Brown
2008-07-14 18:40               ` Timur Tabi
2008-07-14 18:49                 ` Mark Brown
2008-07-14 18:53                   ` Timur Tabi
2008-07-14 22:28                 ` Grant Likely
2008-07-14 23:45                 ` Jon Smirl
2008-07-15 10:13                   ` Mark Brown
2008-07-15 13:08                     ` Jon Smirl [this message]
2008-07-15 14:04                       ` Mark Brown
2008-07-14 15:51     ` Timur Tabi
2008-07-14 17:06   ` Grant Likely
2008-07-14 17:16     ` Mark Brown
2008-07-14 17:22       ` Grant Likely
2008-07-18  7:17       ` Grant Likely
2008-07-18 10:00         ` Mark Brown
2008-07-18 14:59         ` Timur Tabi
2008-07-14 14:16 ` Anton Vorontsov
2008-07-14 17:11   ` Grant Likely

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=9e4733910807150608o41f932c7r7a2321c56b410913@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=grant.likely@secretlab.ca \
    --cc=liam.girdwood@wolfsonmicro.com \
    --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).