From: b.zolnierkie@samsung.com (Bartlomiej Zolnierkiewicz)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/8] ARM: move cpuidle drivers to drivers/cpuidle/
Date: Wed, 26 Jun 2013 16:40:29 +0200 [thread overview]
Message-ID: <1673802.AM7kgUZk9G@amdc1032> (raw)
In-Reply-To: <51CAE713.5070700@linaro.org>
On Wednesday, June 26, 2013 03:05:23 PM Daniel Lezcano wrote:
> On 06/26/2013 02:22 PM, Bartlomiej Zolnierkiewicz wrote:
> >
> > Hi,
> >
> > On Wednesday, June 26, 2013 12:59:53 PM Daniel Lezcano wrote:
> >> On 06/26/2013 12:15 PM, Bartlomiej Zolnierkiewicz wrote:
> >>> Hi,
> >>>
> >>> This patchset moves ARM cpuidle drivers to drivers/cpuidle/ to make
> >>> code match new driver placement rules (per commit a8e39c3 "cpuidle: add
> >>> maintainer entry").
> >>
> >> I second this initiative but as stated in a previous email, a bit of
> >> code cleanup, consolidation and encapsulation should be done before.
> >>
> >> Again, from my POV, it is worth to do that but we have to split the pm
> >> code from the driver.
> >
> > OK, I'll look into separating the pm code from the drivers. However it
> > seems that patch #2 (for davinci) can be applied as it is.
>
> No it can't. It still has #include <mach/...>
>
> Please have a look at the thread:
>
> http://comments.gmane.org/gmane.linux.ports.arm.kernel/146651
OK, I see.
On davinci:
* <mach/cpuidle.h> contains only struct davinci_cpuidle_config
declaration (pointer to this structure instance is passed as
platform data to davinci cpuidle driver) so it seems that
moving it to <linux/platform_data/cpuidle-davinci.h> would be
sufficient?
* <mach/ddr2.h> contains only few definitions used by davinci
cpuidle driver and arch/arm/mach-davinci/sleep.S so wouldn't
it be OK to just move the header to <linux/davinci_ddr2.h>?
If agreed I'll prepare appropriate patches later.
> >> Please review some patches I sent recently to split this code and
> >> comment them. Otherwise, we will collide on this work.
> >>
> >> All the patches sent [1] was to unify the code to make the drivers as
> >> unified as possible to converge to the same code pattern and to
> >> facilitate the factoring out.
> >
> > I've looked at the patches ([1] and at91 ones) and they look fine to me.
> > I don't think that there is currently a risk of colliding on this work
> > (except at91 case) as your patches (except at91 ones) are already merged
> > in upstream or linux-next branch of linux-pm tree (which is included in
> > linux-next tree which I based my patches on). I'm subscribed to linux-pm
> > mailing list now but please cc: me on your future ARM cpuidle changes
> > (thanks!).
>
> We are working on cleaning up the different drivers to have a *common
> code pattern* in order to factor it out, split the code into pm code and
> driver code, move the drivers to the drivers/cpuidle directory and
> finally create a single arm driver [1][2][3].
Interesting, I wasn't aware of the single arm driver goal..
> You are sending patches to move the drivers directly to the
> drivers/cpuidle directory. I did that 1,5 years ago and I was told it is
> not the way to go [4].
>
> As you can see this is a WIP.
>
> So I am insisting: that would be better if you sync up with us and check
> what is the WIP and, if you are willing to, give us a hand instead of
> doing your way.
OK.
> May I suggest you fix up the exynos cpuidle driver first ? :)
Sure.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
> Thanks
> -- Daniel
>
> [1]
> https://blueprints.launchpad.net/linaro-power-kernel/+spec/cpuidle-consolidate-arm-drivers
>
> [2]
> http://summit.linuxplumbersconf.org/lpc-2012/meeting/31/lpc2012-ref-cpu-idle-cluster-management/
>
> [3] https://e.lca-13.zerista.com/event/member/72362
>
> [4] http://comments.gmane.org/gmane.linux.ports.arm.kernel/146651
>
>
> > Best regards,
> > --
> > Bartlomiej Zolnierkiewicz
> > Samsung R&D Institute Poland
> > Samsung Electronics
> >
> >> Thanks
> >> -- Daniel
> >>
> >> [1]
> >> https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git/log/?h=linux-next&qt=author&q=daniel.lezcano%40linaro.org
> >>
> >>> [ Please note that movement of Samsung EXYNOS cpuidle driver is handled
> >>> in separate patchset since it needs some other changes applied first. ]
> >>>
> >>> Patches are based on linux-next (next-20130624) and are compile tested
> >>> only. If agreed they all should probably go together through one tree
> >>> (linux-pm or arm-soc) since they all modify drivers/cpuidle/Makefile.
> >>>
> >>> PS It seems that majority of cpuidle drivers is not used by default
> >>> (CONFIG_CPU_IDLE is not turned on in corresponding defconfigs). The only
> >>> exceptions are shmobile (kota2_defconfig) and tegra (tegra_defconfig).
> >>> This is probably also something that needs updating.
> >>>
> >>> Best regards,
> >>> --
> >>> Bartlomiej Zolnierkiewicz
> >>> Samsung R&D Institute Poland
> >>> Samsung Electronics
> >>>
> >>>
> >>> Bartlomiej Zolnierkiewicz (8):
> >>> ARM: at91: move cpuidle driver to drivers/cpuidle/
> >>> ARM: davinci: move cpuidle driver to drivers/cpuidle/
> >>> ARM: imx: move cpuidle drivers to drivers/cpuidle/
> >>> ARM: OMAP: move cpuidle drivers to drivers/cpuidle/
> >>> ARM: S3C64XX: move cpuidle driver to drivers/cpuidle/
> >>> ARM: shmobile: move cpuidle driver to drivers/cpuidle/
> >>> ARM: tegra: move cpuidle drivers to drivers/cpuidle/
> >>> ARM: ux500: move cpuidle drivers to drivers/cpuidle/
> >>>
> >>> arch/arm/mach-at91/Makefile | 1 -
> >>> arch/arm/mach-at91/cpuidle.c | 68 -------
> >>> arch/arm/mach-davinci/Makefile | 1 -
> >>> arch/arm/mach-davinci/cpuidle.c | 105 ----------
> >>> arch/arm/mach-imx/Makefile | 5 -
> >>> arch/arm/mach-imx/cpuidle-imx5.c | 37 ----
> >>> arch/arm/mach-imx/cpuidle-imx6q.c | 75 -------
> >>> arch/arm/mach-omap2/Makefile | 5 -
> >>> arch/arm/mach-omap2/cpuidle34xx.c | 344 ---------------------------------
> >>> arch/arm/mach-omap2/cpuidle44xx.c | 217 ---------------------
> >>> arch/arm/mach-s3c64xx/Makefile | 1 -
> >>> arch/arm/mach-s3c64xx/cpuidle.c | 63 ------
> >>> arch/arm/mach-shmobile/Makefile | 1 -
> >>> arch/arm/mach-shmobile/cpuidle.c | 37 ----
> >>> arch/arm/mach-tegra/Makefile | 9 -
> >>> arch/arm/mach-tegra/cpuidle-tegra114.c | 35 ----
> >>> arch/arm/mach-tegra/cpuidle-tegra20.c | 217 ---------------------
> >>> arch/arm/mach-tegra/cpuidle-tegra30.c | 149 --------------
> >>> arch/arm/mach-ux500/Makefile | 1 -
> >>> arch/arm/mach-ux500/cpuidle.c | 128 ------------
> >>> drivers/cpuidle/Makefile | 42 ++++
> >>> drivers/cpuidle/cpuidle-at91.c | 68 +++++++
> >>> drivers/cpuidle/cpuidle-davinci.c | 104 ++++++++++
> >>> drivers/cpuidle/cpuidle-imx5.c | 37 ++++
> >>> drivers/cpuidle/cpuidle-imx6q.c | 74 +++++++
> >>> drivers/cpuidle/cpuidle-omap34xx.c | 342 ++++++++++++++++++++++++++++++++
> >>> drivers/cpuidle/cpuidle-omap44xx.c | 216 +++++++++++++++++++++
> >>> drivers/cpuidle/cpuidle-s3c64xx.c | 62 ++++++
> >>> drivers/cpuidle/cpuidle-shmobile.c | 37 ++++
> >>> drivers/cpuidle/cpuidle-tegra114.c | 35 ++++
> >>> drivers/cpuidle/cpuidle-tegra20.c | 217 +++++++++++++++++++++
> >>> drivers/cpuidle/cpuidle-tegra30.c | 149 ++++++++++++++
> >>> drivers/cpuidle/cpuidle-ux500.c | 128 ++++++++++++
> >>> 33 files changed, 1511 insertions(+), 1499 deletions(-)
> >>> delete mode 100644 arch/arm/mach-at91/cpuidle.c
> >>> delete mode 100644 arch/arm/mach-davinci/cpuidle.c
> >>> delete mode 100644 arch/arm/mach-imx/cpuidle-imx5.c
> >>> delete mode 100644 arch/arm/mach-imx/cpuidle-imx6q.c
> >>> delete mode 100644 arch/arm/mach-omap2/cpuidle34xx.c
> >>> delete mode 100644 arch/arm/mach-omap2/cpuidle44xx.c
> >>> delete mode 100644 arch/arm/mach-s3c64xx/cpuidle.c
> >>> delete mode 100644 arch/arm/mach-shmobile/cpuidle.c
> >>> delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra114.c
> >>> delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra20.c
> >>> delete mode 100644 arch/arm/mach-tegra/cpuidle-tegra30.c
> >>> delete mode 100644 arch/arm/mach-ux500/cpuidle.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-at91.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-davinci.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-imx5.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-imx6q.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-omap34xx.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-omap44xx.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-s3c64xx.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-shmobile.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-tegra114.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-tegra20.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-tegra30.c
> >>> create mode 100644 drivers/cpuidle/cpuidle-ux500.c
next prev parent reply other threads:[~2013-06-26 14:40 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-26 10:15 [PATCH 0/8] ARM: move cpuidle drivers to drivers/cpuidle/ Bartlomiej Zolnierkiewicz
2013-06-26 10:15 ` [PATCH 1/8] ARM: at91: move cpuidle driver " Bartlomiej Zolnierkiewicz
2013-06-26 10:15 ` [PATCH 2/8] ARM: davinci: " Bartlomiej Zolnierkiewicz
2013-06-26 10:15 ` [PATCH 3/8] ARM: imx: move cpuidle drivers " Bartlomiej Zolnierkiewicz
2013-06-26 10:15 ` [PATCH 4/8] ARM: OMAP: " Bartlomiej Zolnierkiewicz
2013-06-27 8:06 ` Tony Lindgren
2013-06-27 17:25 ` Kevin Hilman
2013-06-27 15:36 ` Santosh Shilimkar
2013-06-26 10:15 ` [PATCH 5/8] ARM: S3C64XX: move cpuidle driver " Bartlomiej Zolnierkiewicz
2013-07-22 3:33 ` Kukjin Kim
2013-06-26 10:15 ` [PATCH 6/8] ARM: shmobile: " Bartlomiej Zolnierkiewicz
2013-06-26 10:15 ` [PATCH 7/8] ARM: tegra: move cpuidle drivers " Bartlomiej Zolnierkiewicz
2013-06-26 18:24 ` Stephen Warren
2013-06-26 10:15 ` [PATCH 8/8] ARM: ux500: " Bartlomiej Zolnierkiewicz
2013-06-26 20:42 ` Linus Walleij
2013-06-26 21:28 ` Arnd Bergmann
2013-06-26 10:59 ` [PATCH 0/8] ARM: " Daniel Lezcano
2013-06-26 12:22 ` Bartlomiej Zolnierkiewicz
2013-06-26 13:05 ` Daniel Lezcano
2013-06-26 14:40 ` Bartlomiej Zolnierkiewicz [this message]
2013-06-26 16:57 ` Daniel Lezcano
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=1673802.AM7kgUZk9G@amdc1032 \
--to=b.zolnierkie@samsung.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