public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: viresh kumar <viresh.kumar@linaro.org>
Cc: Vinod Koul <vinod.koul@linux.intel.com>,
	linux-kernel@vger.kernel.org,
	spear-devel <spear-devel@list.st.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Subject: Re: [PATCHv3 5/7] dmaengine: dw_dmac: add PCI part of the driver
Date: Mon, 08 Oct 2012 13:17:08 +0300	[thread overview]
Message-ID: <1349691428.10584.95.camel@smile> (raw)
In-Reply-To: <CAOh2x=ntwp22Z3sHf9QehVwab--ZayF-kmTpZsjbkyQYVxrzpw@mail.gmail.com>

On Thu, 2012-09-27 at 15:41 +0530, viresh kumar wrote: 
> On Thu, Sep 27, 2012 at 3:31 PM, Vinod Koul <vinod.koul@linux.intel.com> wrote:
> > Let me try again.
> >
> > what does it take to do platform and PCI driver for this:
> > 1. make dma h/w access (read/write) platform independent. which you have
> > already done
> > 2. Device registration: Create two probes, or use common probe.
> > You smartly chose the second one BUT by creating another device.
> > If you look closely at the probe then I would say it would be easy to
> > create library for probe which can be used across both pci and platform
> > driver probes. The probe library which initializes driver and registers
> > with dmaengine needs device struct and resources can be provided by each
> > probe.
> 
> Or in other words... create three files
> - dw_dmac.c
> - dw_dmac-pltfm.c
> - dw_dmac-pci.c...
> 
> Don't do anything specific to platform or pci in dw_dmac.c...
> Keep pltfm and pci files to smallest possible size, and keep as much of
> common part in dmac.c...
> 
> Similar is done in drivers/mmc/host/sdhci*...

This approach has the significant differences to proposed before.

First of all it will export IP-block relevant functions to the kernel
namespace. I think it is not a good idea to pollute kernel more.
Moreover the API dependencies disallow transparent build and usage of
the drivers. For example, you can't built-in platform driver and leave
core part as a module. And there is at least one device, Intel Medfield,
where DMA controller is exposed as PCI device on fake PCI bus. In that
case the initialization sequence matters and the easier way is to
provide independent drivers for platform device. 


-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

  parent reply	other threads:[~2012-10-08 10:17 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-27  7:31 [PATCHv3 0/7] dw_dmac: split the driver and introduce PCI part Andy Shevchenko
2012-09-27  7:31 ` [PATCHv3 1/7] dmaengine: dw_dmac: use helper macro module_platform_driver() Andy Shevchenko
2012-09-27  7:40   ` Felipe Balbi
2012-09-27  8:16     ` viresh kumar
2012-09-27  8:16       ` Felipe Balbi
2012-10-01 10:47     ` Andy Shevchenko
2012-10-01 13:05       ` Felipe Balbi
2012-09-27  7:31 ` [PATCHv3 2/7] dmaengine: dw_dmac: add module alias Andy Shevchenko
2012-09-27  8:16   ` viresh kumar
2012-09-27  8:16     ` Felipe Balbi
2012-09-27  7:31 ` [PATCHv3 3/7] dmaengine: dw_dmac: remove CLK dependency Andy Shevchenko
2012-09-27  7:42   ` Felipe Balbi
2012-09-27  8:04     ` Andy Shevchenko
2012-09-27  8:02       ` Felipe Balbi
2012-09-27  8:17     ` viresh kumar
2012-09-27  8:17       ` Felipe Balbi
2012-09-27  7:31 ` [PATCHv3 4/7] dmaengine: dw_dmac: amend description and indentation Andy Shevchenko
2012-09-27  7:45   ` Felipe Balbi
2012-09-27  8:19     ` viresh kumar
2012-09-27  8:36       ` Andy Shevchenko
2012-09-27  7:31 ` [PATCHv3 5/7] dmaengine: dw_dmac: add PCI part of the driver Andy Shevchenko
2012-09-27  7:49   ` Felipe Balbi
2012-09-27  8:08     ` Andy Shevchenko
2012-09-27  8:09       ` Felipe Balbi
2012-09-27  8:44   ` Vinod Koul
2012-09-27  9:43     ` Andy Shevchenko
2012-09-27 10:01       ` Vinod Koul
2012-09-27 10:11         ` viresh kumar
2012-09-27 10:32           ` Vinod Koul
2012-10-03 13:40             ` Andy Shevchenko
2012-10-08 10:17           ` Andy Shevchenko [this message]
2012-10-08 10:49             ` Viresh Kumar
2012-10-08 12:46               ` Andy Shevchenko
2012-10-08 13:27                 ` Viresh Kumar
2012-10-24 11:13                   ` Vinod Koul
2012-10-30 15:05                   ` Andy Shevchenko
2012-10-30 15:19                     ` Viresh Kumar
2012-10-30 15:39                       ` Andy Shevchenko
2012-09-27  7:32 ` [PATCHv3 6/7] dma: move dw_dmac driver to an own directory Andy Shevchenko
2012-09-27  7:50   ` Felipe Balbi
2012-09-27  8:22   ` viresh kumar
2012-09-27  8:39     ` Felipe Balbi
2012-09-27  7:32 ` [PATCHv3 7/7] MAINTAINERS: add recently created files to dw_dmac section Andy Shevchenko
2012-09-27  7:51   ` Felipe Balbi
2012-09-27  8:12     ` viresh kumar
2012-09-27  8:24     ` Andy Shevchenko

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=1349691428.10584.95.camel@smile \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=spear-devel@list.st.com \
    --cc=vinod.koul@linux.intel.com \
    --cc=viresh.kumar@linaro.org \
    /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