From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 3/3] arm: kernel: implement cpuidle_ops with psci backend
Date: Tue, 14 Jul 2015 15:55:46 +0100 [thread overview]
Message-ID: <20150714145546.GA14556@red-moon> (raw)
In-Reply-To: <20150714122904.GV7557@n2100.arm.linux.org.uk>
On Tue, Jul 14, 2015 at 01:29:04PM +0100, Russell King - ARM Linux wrote:
> On Tue, Jul 14, 2015 at 12:03:02PM +0100, Lorenzo Pieralisi wrote:
> > On Tue, Jul 14, 2015 at 11:34:21AM +0100, Russell King - ARM Linux wrote:
> > > > +static struct cpuidle_ops psci_cpuidle_ops __initdata = {
> > > > + .suspend = cpu_psci_cpu_suspend,
> > > > + .init = cpu_psci_cpu_init_idle,
> > > > +};
> > > > +CPUIDLE_METHOD_OF_DECLARE(psci_cpuidle, "psci", &psci_cpuidle_ops);
> >
> > I take this as an ACK to M.Rutland's PSCI code move to drivers/firmware,
> > right ?
>
> No, that's not something I've particularly looked at. PSCI doesn't really
> interest me because I have no systems which (afaik) support it.
PSCI implementation is currently part of arch/arm which means it is
used on arch/arm (and related platforms) and you should be interested in it
for that specific reason.
It is not about what you are interested on, it is about the code you
maintain, so please have a look at it, thank you.
> > > We don't do this for other stuff - we don't have IRQ_CHIP_OF_DECLARE
> > > stuff in arch/arm but have the IRQ chip drivers in drivers/irqchip.
> > > We keep it all togehter in drivers/irqchip, even when the IRQ chip
> > > driver is only useful on ARM.
> >
> > CPUidle operations are ARM only, they are not used on ARM64, so
> > they belong in arch/arm (that's the same thing as SMP ops, on ARM64
> > SMP ops and CPUidle ops are unified through CPU operations).
>
> I don't agree with that. CPU idle isn't an "ARM thing" at all, it's
> generic kernel infrastructure. OF is generic kernel infrastructure too.
I said "CPUidle operations", not CPUidle, we know CPUidle is not an
ARM thing.
> Yet, we're stuffing _all_ the PSCI CPU idle code into
> drivers/firmware/psci.c, but then stuffing the PSCI OF data structures
> into arch/arm. This is utterly _insane_.
Ok, so we will copy the ARM64 PSCI idle related code to arch/arm
and we are done with this, or we will have to ifdef drivers/firmware
code, take your pick.
> There is nothing ARM specific about these CPU idle ops. They don't
> belong on arch/arm.
See above.
> NAK on this series (and the move of the PSCI code to drivers/firmware)
I do not accept that. You may NAK this series but you can't object to
moving PSCI firmware code to drivers/firmware for that reason, so
please have a look at Mark's patches again and ACK/NAK them for
a valid reason, it has been a while since he asked.
> until people start seeing sense with stuff like this. Having stuff split
> between arch/arm/ and drivers/ like this is totally crap. It makes code
> unnecessary complex for no reason what so ever.
That's rather vague and just your opinion. If you have a solution better
than this one you tell us about it otherwise you keep your comments for
yourself, thank you.
> Find a solution which doesn't involve leaving _just_ data structures to
> connect stuff to OF in arch/arm.
I will copy the PSCI CPUidle related functions from arm64 to arch/arm so that
it is not _just_ OF data structures and I hope we are done with this.
Lorenzo
next prev parent reply other threads:[~2015-07-14 14:55 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-09 8:31 [PATCH v3 0/3] arm: kernel: implement cpuidle_ops with psci backend Jisheng Zhang
2015-07-09 8:31 ` [PATCH v3 1/3] firmware: psci: move cpu_suspend handling to generic code Jisheng Zhang
2015-07-09 8:31 ` [PATCH v3 2/3] ARM: cpuidle: refine cpuidle_ops member's parameters Jisheng Zhang
2015-07-09 8:43 ` Jisheng Zhang
2015-07-09 9:28 ` Lorenzo Pieralisi
2015-07-10 15:07 ` Lina Iyer
2015-07-10 17:37 ` Lina Iyer
2015-07-09 8:31 ` [PATCH v3 3/3] arm: kernel: implement cpuidle_ops with psci backend Jisheng Zhang
2015-07-14 10:34 ` Russell King - ARM Linux
2015-07-14 11:03 ` Lorenzo Pieralisi
2015-07-14 12:29 ` Russell King - ARM Linux
2015-07-14 14:55 ` Lorenzo Pieralisi [this message]
2015-07-14 20:41 ` Russell King - ARM Linux
2015-07-15 13:46 ` Lorenzo Pieralisi
2015-07-15 14:45 ` Russell King - ARM Linux
2015-07-15 15:40 ` Lorenzo Pieralisi
2015-07-26 21:45 ` Russell King - ARM Linux
2015-07-27 9:16 ` Lorenzo Pieralisi
2015-07-27 9:45 ` Russell King - ARM Linux
2015-07-27 10:01 ` Lorenzo Pieralisi
2015-07-27 10:09 ` Russell King - ARM Linux
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=20150714145546.GA14556@red-moon \
--to=lorenzo.pieralisi@arm.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).