All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timur Tabi <timur@freescale.com>
To: Jon Smirl <jonsmirl@gmail.com>
Cc: ALSA-devel <alsa-devel@alsa-project.org>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>
Subject: Re: Thoughts on ASOC v2 driver architecture
Date: Tue, 17 Jun 2008 09:55:05 -0500	[thread overview]
Message-ID: <4857D049.8010109@freescale.com> (raw)
In-Reply-To: <9e4733910806161758l55429b08o645c0a040dd2fdad@mail.gmail.com>

Jon Smirl wrote:

> The architecture still doesn't appear right to me. fsl-dma.c is
> another driver that is self-creating its own device. 

Well, giving it its own device makes it easier to create sysfs entries.

> We can certainly
> add code to arch/powerpc/platforms/86xx/mpc8610_hpcd.c to create a
> "fsl-elo" device, but it's another fake device. 

I don't understand your penchant for putting code in the wrong drivers.  First
it's fabric code in the SSI driver.  And now you want DMA code in the platform
driver.

> Plus there's already a
> driver for the real "fsl,eloplus-dma" hardware in the system.

The DMA nodes that the DMA driver is supposed to use are marked with a different
compatible property (I haven't figured out exactly what).  This prevents the
standard DMA driver from touching them.

> Needing
> to create fake devices is a sign that the design is not correct. 

That sounds like an overgeneralization to me.

> dma
> support should probably be a library that is linked into the ssi
> driver and not be a standalone device driver.

Each SSI needs two specific DMA channels.  I suppose we could augment ASoC to
figure out which channels map to which SSI, but that's a lot of extra work.  I
don't know if it's possible to support all architectures with a model like that.

> If you do it in
> the fabric driver, then the fabric driver can never be optional.

I don't have any problem with that at all.

-- 
Timur Tabi
Linux kernel developer at Freescale

  reply	other threads:[~2008-06-17 14:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-15 18:10 Thoughts on ASOC v2 driver architecture Jon Smirl
2008-06-16 10:39 ` Liam Girdwood
2008-06-16 13:26   ` Jon Smirl
2008-06-16 14:23     ` Timur Tabi
2008-06-16 14:32       ` Jon Smirl
2008-06-16 15:03         ` Mark Brown
2008-06-16 15:36           ` Timur Tabi
2008-06-16 15:45             ` Mark Brown
2008-06-16 15:49               ` Timur Tabi
2008-06-16 17:03                 ` Mark Brown
2008-06-16 17:10                   ` Timur Tabi
2008-06-16 15:53           ` Jon Smirl
2008-06-16 16:01             ` Timur Tabi
2008-06-16 16:23               ` Jon Smirl
2008-06-16 16:24                 ` Timur Tabi
2008-06-17  0:58                   ` Jon Smirl
2008-06-17 14:55                     ` Timur Tabi [this message]
2008-06-16 16:11             ` Jon Smirl
2008-06-16 16:58               ` Mark Brown
2008-06-16 17:00                 ` Timur Tabi
2008-06-16 16:24             ` Mark Brown
2008-06-16 15:34         ` Timur Tabi
2008-06-16 13:47   ` Jon Smirl

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=4857D049.8010109@freescale.com \
    --to=timur@freescale.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=jonsmirl@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.