From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 1/4] ARM: tegra: Move SoC drivers to drivers/soc/tegra
Date: Sat, 28 Jun 2014 22:40:26 +0200 [thread overview]
Message-ID: <20140628204025.GA16415@ulmo> (raw)
In-Reply-To: <53AEF81D.3080408@ti.com>
On Sat, Jun 28, 2014 at 01:15:09PM -0400, Santosh Shilimkar wrote:
> On Friday 27 June 2014 07:27 PM, Thierry Reding wrote:
[...]
> > drivers/power seems to be exclusively battery charger drivers. The pm.c,
> > pm-*.c and sleep-*.S set up suspend/resume. That doesn't seem to belong
> > in drivers/base/power either.
> >
> It does have AVS PM code as well and also home for power controller
> code. Similar efforts are happening on OMAP [1] to move the PM code
> under drivers/power/*
Quite frankly that doesn't sound any better than putting that code into
drivers/soc. If there is no common framework for a set of drivers, then
I don't see what improvement we get by putting all of them together. If
anything it makes things more chaotic because we sprinkle random driver
bits across the whole tree rather than keeping them together.
That sounds a lot like a dumping ground to me.
According to the MAINTAINERS file, drivers/power is:
POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
and that's just not what the Tegra PM code is. That said, it may have
been a little premature to move this code out of arch/arm/mach-tegra,
and I think I'll revisit at a later point.
> > pmc.c implements various routines to access the power management
> > controller, some of which is needed by suspend/resume, some of it is
> > needed by SMP. powergate.c implements a subset of the PMC that needs to
> > be exported to drivers to enable power partitions on the SoC. I'm not
> > aware of subsystems that deal with this kind of driver.
> >
> Please see above.
Like I said, I don't see what business suspend/resume related code has
in drivers/power. What we're talking about here really is functionality
very specific to Tegra. Also some of that code needs to be run at very
early points in the boot process, so we can't reasonably turn it into a
proper driver anyway.
Also, the real win we get from moving code out into drivers/ is if we
can provide a common framework for them. I don't see how we can possibly
do that for this code since there simply isn't enough commonality
between SoCs. At the same time we now have a situation where both 32-bit
and 64-bit variants of some SoCs share some of the same hardware at the
very low level and since we don't have mach-* directories for 64-bit ARM
and shouldn't be duplicating code either, we need to find a new home for
this type of code. drivers/soc seemed to fit perfectly well.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140628/8cdfdb3a/attachment.sig>
next prev parent reply other threads:[~2014-06-28 20:40 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-27 16:58 [RFC 1/4] ARM: tegra: Move SoC drivers to drivers/soc/tegra Thierry Reding
2014-06-27 16:58 ` [RFC 2/4] ARM: tegra: Add legacy interrupt controller nodes Thierry Reding
2014-06-27 20:58 ` Stephen Warren
2014-06-27 23:44 ` Thierry Reding
2014-06-27 16:58 ` [RFC 3/4] soc/tegra: Initialize interrupt controller from DT Thierry Reding
2014-06-27 21:03 ` Stephen Warren
2014-06-28 1:12 ` Thierry Reding
2014-06-30 11:30 ` Peter De Schrijver
2014-06-30 19:51 ` Thierry Reding
2014-06-27 16:58 ` [RFC 4/4] soc/tegra: Remove unused defines Thierry Reding
2014-06-27 21:03 ` Stephen Warren
2014-06-28 1:12 ` Thierry Reding
2014-06-27 17:30 ` [RFC 1/4] ARM: tegra: Move SoC drivers to drivers/soc/tegra Santosh Shilimkar
2014-06-27 23:27 ` Thierry Reding
2014-06-28 17:15 ` Santosh Shilimkar
2014-06-28 20:40 ` Thierry Reding [this message]
2014-06-30 7:20 ` Arnd Bergmann
2014-06-30 9:01 ` Thierry Reding
2014-06-30 10:36 ` Catalin Marinas
2014-06-30 10:48 ` Thierry Reding
2014-06-30 13:16 ` Lorenzo Pieralisi
2014-06-30 19:36 ` Thierry Reding
2014-07-01 10:50 ` Catalin Marinas
2014-07-01 15:05 ` Stephen Warren
2014-07-01 17:00 ` Catalin Marinas
2014-06-30 19:21 ` Thierry Reding
2014-07-01 7:51 ` Peter De Schrijver
2014-07-16 19:31 ` Olof Johansson
2014-07-16 19:47 ` Thierry Reding
2014-07-17 9:31 ` Catalin Marinas
2014-07-17 16:21 ` Olof Johansson
2014-06-30 7:23 ` Arnd Bergmann
2014-06-30 9:44 ` Catalin Marinas
2014-06-30 18:45 ` Stephen Warren
2014-06-30 10:25 ` Catalin Marinas
2014-06-30 10:49 ` Thierry Reding
2014-06-30 11:46 ` Peter De Schrijver
2014-06-30 14:13 ` Catalin Marinas
2014-06-30 14:42 ` Peter De Schrijver
2014-06-30 14:50 ` Peter De Schrijver
2014-06-30 16:08 ` Catalin Marinas
2014-06-27 21:10 ` Stephen Warren
2014-06-28 1:24 ` Thierry Reding
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=20140628204025.GA16415@ulmo \
--to=thierry.reding@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).