lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWCGQwLVb1K5jRxWToe-de8T_A5n08FsjEiv8z1B9Q4oA@mail.gmail.com>
Date:	Wed, 3 Dec 2014 10:30:06 +0100
From:	Geert Uytterhoeven <geert@...ux-m68k.org>
To:	Kevin Hilman <khilman@...nel.org>, Arnd Bergmann <arnd@...db.de>
Cc:	Geert Uytterhoeven <geert+renesas@...der.be>,
	Laurent Pinchart <laurent.pinchart@...asonboard.com>,
	Ulrich Hecht <ulrich.hecht+renesas@...il.com>,
	Simon Horman <horms@...ge.net.au>,
	Magnus Damm <magnus.damm@...il.com>,
	"Rafael J. Wysocki" <rjw@...ysocki.net>,
	Ulf Hansson <ulf.hansson@...aro.org>,
	Grant Likely <grant.likely@...aro.org>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Linux PM list <linux-pm@...r.kernel.org>,
	"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
	Linux-sh list <linux-sh@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH RFC 0/3] Add "Simple" / Renesas Bus State Controller Driver

Hi Kevin, Arnd,

I've been giving this some more thoughts...

On Wed, Nov 26, 2014 at 9:11 PM, Kevin Hilman <khilman@...nel.org> wrote:
> Geert Uytterhoeven <geert@...ux-m68k.org> writes:
>> On Mon, Nov 24, 2014 at 9:15 PM, Arnd Bergmann <arnd@...db.de> wrote:
>>> On Monday 24 November 2014 21:10:05 Geert Uytterhoeven wrote:
>>>> As this minimal BSC driver isn't hardware-specific at all, I'm wondering
>>>> if there's a simpler way to do this?
>>>>   - Should the driver be renamed to "simple-bus", and match "simple-bus"?
>>>>   - Should this be moved to core code, without an explicit driver for
>>>>     "simple-bus"? I.e. should the driver core just enable runtime PM for
>>>>     all devices not bound to a driver, as they may represent buses with
>>>>     child devices that do rely on runtime PM?
>>>>
>>>> Thanks for your comments and suggestions!
>>>
>>> My understanding of simple-bus is that it's something that does
>>> not have any power-management capabilities, and I'd rather not
>>> add clocks or interrupts to it.

Should I not add the interrupt to the device node, even though I do
know the hardware block has an interrupt?
Of course, to make use of the interrupt, you do need a hardware-specific
driver that binds to the specific compatible name. But for now such a
driver is overkill, as I do not need to use the interrupt.

Power domains (and clocks used for power management) are different,
as they are platform features: they may appear in any device node, even if
the bindings for the device node don't mention them.
Else I cannot add them to a node that's compatible with e.g. "arm,cortex-a15"
or "arm,pl310-cache", without adding (or completely replacing them with)
compatible names like "renesas,r8a73a4-cortex-a15" resp.
"renesas,sh73a0-pl310-cache"?
Hence I think they should be allowed in "simple-bus" nodes, too.

>>> What I think makes more sense is to have a bus driver for it
>>> in drivers/bus, remove the "simple-bus" compatibility value
>>> and have the driver take care of registering the power domain
>>> and probing the child devices using of_platform_populate on
>>> itself.
>>
>> Registering power domains is already handled by the core code.
>>
>> So compared to my RFC code, I only have to
>>   1. Drop "simple-bus" from the compatible property in the .dtsi,
>>   2. Call of_platform_populate() from renesas_bsc_probe(), to
>>      register the child devices, now the core code no longer does that.
>>
>> I find it a bit strange having to add _more_ code, as the core code handles
>> registering child devices fine. Doing it from my bus driver only protects
>> against people trying to run a kernel without my bus driver included
>> (which currently works fine, as long as no PM domain or clock is involved,
>>  e.g. if the clock is forgotten in the SoC's .dtsi :-).
>
> I actually rather like the simple bus driver in it's current form, where
> the device and pm-domain registration is taken care of by the
> core. Since it's really not HW specific at all, maybe just rename it
> simple-pm-bus or something like that?

That means writing bindings for a new bus type "simple-pm-bus"?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ