devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] Linux common clock framework: device with many clocks
@ 2014-04-30 20:39 Jim Quinlan
       [not found] ` <CANCKTBuOK41=ZxHcDRthc0uc81-nDr_66veeQvUDNjsKq85OSw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Jim Quinlan @ 2014-04-30 20:39 UTC (permalink / raw)
  To: devicetree-u79uwXL29TY76Z2rM5mHXA

In most examples of .dtsi files I have perused, a device is associated with
typically one clock, maybe two.  In the SoC I'm working on, some devices
need to turn off multiple clocks for PM, as many as 13.   The driver gets
the clocks from the device tree, and when the driver wants to turn off
clocks to the device, it loops through all 13 clocks.

I'm wondering if is possible to abstract a group of many clocks into one
"software clock". Invoking clk_disable() on said software clock would
effect the iteration of clk_disable() on all 13 of the clocks it governs.
 Enabling would effect clk_enable() on all 13.  This would make the driver
writer's life a little simpler.

I've looked at the Linux Common Clock Framework, and it doesn't really
accommodate multiple active parents as it's somewhat contrary to its
design.  Also, playing with the innards of clk.c is ill-advised.  Should I
just stick to putting iteration over the clocks in all my drivers, or is
there a better way?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-05-16 19:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-30 20:39 [RFC] Linux common clock framework: device with many clocks Jim Quinlan
     [not found] ` <CANCKTBuOK41=ZxHcDRthc0uc81-nDr_66veeQvUDNjsKq85OSw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-30 23:13   ` Mark Rutland
     [not found]     ` <20140430231307.GA10250-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2014-05-16 19:23       ` Mike Turquette

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).