All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Stephen Boyd <sboyd@codeaurora.org>,
	David Brown <davidb@codeaurora.org>,
	Daniel Walker <dwalker@fifo99.com>,
	Bryan Huntsman <bryanh@codeaurora.org>,
	Florian Tobias Schandinat <FlorianSchandinat@gmx.de>,
	linux-arm-msm@vger.kernel.org, Joerg Roedel <joro@8bytes.org>,
	linux-kernel@vger.kernel.org,
	Rohit Vaswani <rvaswani@codeaurora.org>,
	Stepan Moskovchenko <stepanm@codeaurora.org>
Subject: Re: [PATCH 00/11] MSM DT based multi-platform support
Date: Wed, 19 Jun 2013 17:42:26 +0200	[thread overview]
Message-ID: <201306191742.26491.arnd@arndb.de> (raw)
In-Reply-To: <1371600281-6118-1-git-send-email-sboyd@codeaurora.org>

On Wednesday 19 June 2013, Stephen Boyd wrote:
> This patchset allows me to compile and run the DT based MSM
> platforms in the multi-platform ARM kernel. This is built on
> top of a couple patches I've sent out already (specifically
> the debug_ll patch series and the clocksource_of conversion)
> as well a patch from Rohit that didn't seem to make it into 
> MSM's for-next branch.

Very nice!

> There is one problem though, the last two patches cause compile
> failures if you turn on MSM's sdcc or USB_OTG driver. It seems
> that the sdcc driver depends on the clk_reset() API and the custom
> DMA interface provided by mach layers. And the USB_OTG driver depends
> on clk_reset.
> 
> The simplest solution is to make these two drivers depend on the
> non-dt based MSM support so that they can't be compiled in the
> multi-platform config. Otherwise, we'll need to replace the clk_reset()
> calls with the new reset controller API, but doing that would
> require us to convert all MSM platforms over to devicetree or
> we'll need to add support to the reset controller API for non-DT based
> controllers. Even with that, the sdcc driver uses custom DMA things
> so we may need to put that all behind some #ifdef.

The msm_serial_hs driver also seems to require the custom DMA
interface.

I think for the DMA stuff, the solution is clearly to move that
driver to use the dmaengine API, wich I assume you are already
planning to do anyway. Do you have a time line for that?

For the clk_reset interface, maybe you can move those calls int
platform_data callbacks for the non-DT machines to get them out
of the way?

You could have something like

	if (pdata && pdata->reset)
		pdata->reset(dev, clk);
	else
		reset_device(dev);

That wouldn't be too ugly. For the time being, disabling the
drivers on multiplatform sounds reasonable. I don't think you
actually have to have the drivers conflict with DT support:
you should be able to allow the DT based boards with non-multiplatform
to enable the two or three drivers anyway.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/11] MSM DT based multi-platform support
Date: Wed, 19 Jun 2013 17:42:26 +0200	[thread overview]
Message-ID: <201306191742.26491.arnd@arndb.de> (raw)
In-Reply-To: <1371600281-6118-1-git-send-email-sboyd@codeaurora.org>

On Wednesday 19 June 2013, Stephen Boyd wrote:
> This patchset allows me to compile and run the DT based MSM
> platforms in the multi-platform ARM kernel. This is built on
> top of a couple patches I've sent out already (specifically
> the debug_ll patch series and the clocksource_of conversion)
> as well a patch from Rohit that didn't seem to make it into 
> MSM's for-next branch.

Very nice!

> There is one problem though, the last two patches cause compile
> failures if you turn on MSM's sdcc or USB_OTG driver. It seems
> that the sdcc driver depends on the clk_reset() API and the custom
> DMA interface provided by mach layers. And the USB_OTG driver depends
> on clk_reset.
> 
> The simplest solution is to make these two drivers depend on the
> non-dt based MSM support so that they can't be compiled in the
> multi-platform config. Otherwise, we'll need to replace the clk_reset()
> calls with the new reset controller API, but doing that would
> require us to convert all MSM platforms over to devicetree or
> we'll need to add support to the reset controller API for non-DT based
> controllers. Even with that, the sdcc driver uses custom DMA things
> so we may need to put that all behind some #ifdef.

The msm_serial_hs driver also seems to require the custom DMA
interface.

I think for the DMA stuff, the solution is clearly to move that
driver to use the dmaengine API, wich I assume you are already
planning to do anyway. Do you have a time line for that?

For the clk_reset interface, maybe you can move those calls int
platform_data callbacks for the non-DT machines to get them out
of the way?

You could have something like

	if (pdata && pdata->reset)
		pdata->reset(dev, clk);
	else
		reset_device(dev);

That wouldn't be too ugly. For the time being, disabling the
drivers on multiplatform sounds reasonable. I don't think you
actually have to have the drivers conflict with DT support:
you should be able to allow the DT based boards with non-multiplatform
to enable the two or three drivers anyway.

	Arnd

  parent reply	other threads:[~2013-06-19 15:42 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-19  0:04 [PATCH 00/11] MSM DT based multi-platform support Stephen Boyd
2013-06-19  0:04 ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 01/11] ARM: msm: Remove unused and unmapped MSM_TLMM_BASE for 8x60 Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 02/11] ARM: msm: Don't compile __msm_ioremap_caller() unless used Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 03/11] ARM: msm: Move debug-macro.S to include/debug Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 04/11] ARM: msm: Remove TMR and TMR0 static mappings Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 05/11] ARM: msm: Migrate msm_timer to CLOCKSOURCE_OF_DECLARE Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 06/11] ARM: msm: Move mach/board.h contents to common.h Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 07/11] ARM: msm: Remove devices-iommu.c Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [PATCH 08/11] iommu/msm: Move mach includes to iommu directory Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-20 10:00   ` Joerg Roedel
2013-06-20 10:00     ` Joerg Roedel
2013-06-19  0:04 ` [PATCH 09/11] ARM: msm: Only compile io.c on platforms that use it Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [RFC/PATCH 10/11] ARM: msm: Only build clock.c on proc_comm based platforms Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19  0:04 ` [RFC/PATCH 11/11] ARM: msm: Move MSM's DT based hardware to multi-platform support Stephen Boyd
2013-06-19  0:04   ` Stephen Boyd
2013-06-19 15:30   ` Arnd Bergmann
2013-06-19 15:30     ` Arnd Bergmann
2013-06-26 15:29   ` Ivan T. Ivanov
2013-06-26 15:29     ` Ivan T. Ivanov
2013-06-26 20:28     ` Stephen Boyd
2013-06-26 20:28       ` Stephen Boyd
2013-06-19 15:42 ` Arnd Bergmann [this message]
2013-06-19 15:42   ` [PATCH 00/11] MSM DT based " Arnd Bergmann
2013-06-21  1:37 ` Stephen Boyd
2013-06-21  1:37   ` Stephen Boyd

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=201306191742.26491.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=FlorianSchandinat@gmx.de \
    --cc=bryanh@codeaurora.org \
    --cc=davidb@codeaurora.org \
    --cc=dwalker@fifo99.com \
    --cc=joro@8bytes.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rvaswani@codeaurora.org \
    --cc=sboyd@codeaurora.org \
    --cc=stepanm@codeaurora.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 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.