From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/10] ARM: clps711x: Add CLPS711X cpuidle driver
Date: Sun, 21 Jul 2013 10:32:31 +0200 [thread overview]
Message-ID: <51EB9C9F.5040405@linaro.org> (raw)
In-Reply-To: <20130721081138.75cf5437bc30f42284f12e47@mail.ru>
On 07/21/2013 06:11 AM, Alexander Shiyan wrote:
> On Sat, 20 Jul 2013 23:42:11 +0200
> Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>
>> On 07/18/2013 08:34 PM, Alexander Shiyan wrote:
>>> This adds the cpuidle driver for Cirrus Logic CLPS711X series SoCs.
>>> Designed primarily for migration CLPS711X subarch for multiplatform & DT.
>>>
>>> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
>>> ---
>>> drivers/cpuidle/Kconfig | 6 +++
>>> drivers/cpuidle/Makefile | 1 +
>>> drivers/cpuidle/cpuidle-clps711x.c | 80 ++++++++++++++++++++++++++++++++++++++
>>> 3 files changed, 87 insertions(+)
>>> create mode 100644 drivers/cpuidle/cpuidle-clps711x.c
> [...]
>>> +static int clps711x_cpuidle_halt(struct cpuidle_device *dev,
>>> + struct cpuidle_driver *drv, int index)
>>> +{
>>> + writel(1, clps711x_halt);
>>
>> In what the 'clps711x_halt' differs from the usual WFI (cpu_do_idle) ?
>
> AFAIK, ARM720T does not implement the WFI instruction.
> "HALT" register in CLPS711X do the same:
> "A write to this location will put the system into the Idle State by
> halting the clock to the processor until an interrupt is generated."
I am wondering if you are not using more states, may be you can consider
to add a clps711x idle function for the 'arm_pm_idle' callback instead
of creating a new driver.
>>> + asm volatile ("mov r0, r0");
>>> + asm volatile ("mov r0, r0");
>>
>> Why are needed these two volatile ?
>
> Two NOP instructions necessary following the enable or disable of the MMU.
> Documentation not say anything about using this for "HALT", maybe it's the
> remnants of the old code. I will remove it.
Ok.
> [...]
>>> +static int clps711x_cpuidle_remove(struct platform_device *pdev)
>>> +{
>>> + cpuidle_unregister(&clps711x_idle_driver);
>>> +
>>> + return 0;
>>> +}
>>
>> The driver is not compiled as module, will this function be called ?
>
> You're right. I will remove it.
>
>>> +static const struct of_device_id clps711x_cpuidle_dt_ids[] = {
>>> + { .compatible = "cirrus,clps711x-cpuidle", },
>>> + { }
>>> +};
>>> +MODULE_DEVICE_TABLE(of, clps711x_cpuidle_dt_ids);
>>> +
>>> +static struct platform_driver clps711x_cpuidle_driver = {
>>> + .driver = {
>>> + .name = "clps711x-cpuidle",
>>> + .owner = THIS_MODULE,
>>> + .of_match_table = clps711x_cpuidle_dt_ids,
>>> + },
>>> + .remove = clps711x_cpuidle_remove,
>>> +};
>>> +module_platform_driver_probe(clps711x_cpuidle_driver, clps711x_cpuidle_probe);
>>
>> +1
>
> ??? What here?
I like the approach :)
Thanks
-- Daniel
--
<http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
next prev parent reply other threads:[~2013-07-21 8:32 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-18 18:34 [PATCH 00/10] ARM: clps711x: Initial DT support / Fixes Alexander Shiyan
2013-07-18 18:34 ` [PATCH 01/10] ARM: clps711x: Remove the special name for the syscon driver Alexander Shiyan
2013-08-14 6:29 ` Olof Johansson
2013-08-14 6:29 ` Olof Johansson
2013-07-18 18:34 ` [PATCH 02/10] ARM: clps711x: Drop fortunet board support Alexander Shiyan
2013-08-14 6:29 ` Olof Johansson
2013-07-18 18:34 ` [PATCH 03/10] ARM: clps711x: autcpu12: Remove incorrect config checking Alexander Shiyan
2013-08-14 6:30 ` Olof Johansson
2013-07-18 18:34 ` [PATCH 04/10] ARM: clps711x: edb7211: Remove extra iotable_init() call Alexander Shiyan
2013-08-14 6:30 ` Olof Johansson
2013-07-18 18:34 ` [PATCH 05/10] ARM: clps711x: Add CLPS711X clk driver Alexander Shiyan
2013-08-02 10:25 ` Mark Rutland
2013-07-18 18:34 ` [PATCH 06/10] ARM: clps711x: Add CLPS711X clocksource driver Alexander Shiyan
2013-07-19 14:38 ` Daniel Lezcano
2013-07-20 3:44 ` Alexander Shiyan
2013-07-20 21:48 ` Daniel Lezcano
2013-07-21 4:30 ` Alexander Shiyan
2013-08-02 10:46 ` Mark Rutland
2013-08-04 12:31 ` Alexander Shiyan
2013-08-05 17:02 ` Mark Rutland
2013-07-18 18:34 ` [PATCH 07/10] ARM: clps711x: Add CLPS711X irqchip driver Alexander Shiyan
2013-08-02 10:57 ` Mark Rutland
2013-08-02 15:55 ` Alexander Shiyan
2013-08-03 19:45 ` Arnd Bergmann
2013-08-04 4:50 ` Alexander Shiyan
2013-08-04 20:46 ` Arnd Bergmann
2013-08-04 20:57 ` Arnd Bergmann
2013-08-05 18:16 ` Alexander Shiyan
2013-08-05 19:26 ` Arnd Bergmann
2013-08-05 20:42 ` Alexander Shiyan
2013-08-05 21:00 ` Arnd Bergmann
2013-08-06 15:25 ` Alexander Shiyan
2013-08-05 16:36 ` H Hartley Sweeten
2013-07-18 18:34 ` [PATCH 08/10] ARM: clps711x: Add CLPS711X cpuidle driver Alexander Shiyan
2013-07-20 21:42 ` Daniel Lezcano
2013-07-21 4:11 ` Alexander Shiyan
2013-07-21 8:32 ` Daniel Lezcano [this message]
2013-07-21 10:04 ` Alexander Shiyan
2013-07-22 11:40 ` Russell King - ARM Linux
2013-08-02 11:10 ` Mark Rutland
2013-07-18 18:35 ` [PATCH 09/10] ARM: clps711x: Migrate CLPS711X subarch to the new basic drivers Alexander Shiyan
2013-07-18 18:35 ` [PATCH 10/10] ARM: clps711x: Add initial DT support Alexander Shiyan
2013-08-02 11:15 ` Mark Rutland
2013-08-03 3:54 ` [PATCH 00/10] ARM: clps711x: Initial DT support / Fixes Alexander Shiyan
2013-08-14 6:29 ` Olof Johansson
2013-08-17 4:32 ` Alexander Shiyan
2013-08-22 5:00 ` Olof Johansson
2013-08-14 6:31 ` Olof Johansson
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=51EB9C9F.5040405@linaro.org \
--to=daniel.lezcano@linaro.org \
--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).