linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* omap_device: query on "fck" clk alias created
@ 2012-08-01 12:20 Vaibhav Hiremath
  2012-08-01 13:42 ` Benoit Cousson
  2012-08-01 14:14 ` Russell King - ARM Linux
  0 siblings, 2 replies; 8+ messages in thread
From: Vaibhav Hiremath @ 2012-08-01 12:20 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

In OMAP world, we have omap_device layer, which exports api's like
omap_device_build() to create and register platform_device to the
kernel. This layer understands hwmod infrastructure and parses all the
platform specific information from it.
Now with DT migration, the same thing is achieved using a notifier,
which in turn omap_device_build_from_dt(), which in turn does same thing.

One of the thing which is happening in both execution path is, creating
alias for functional clock (hwmod_data->main_clk) for each device
getting created with the con_id = "fck".

Now the problem with this is,

The clk_get() api will not work, unless we pass both the arguments (dev,
con_id) properly. Now expecting driver to always label con_id with "fck"
is undesirable, as the same driver can be reused on multiple platforms,
which can be non-omap and/or non-ti platforms.
Also we have multiple examples where driver simply calls (which is right)

clk = clk_get(&pdev->dev, NULL);

This would fail on OMAP platforms, unless you modify clockxxx_data.c
file with,

CLK("<device>",  NULL,           &xxx_fck,    CK_34XX),


Devices specially with only one clock source always prefer not to
specify con_id.
And it seems wrong thing, as across platforms IP integration can be very
different and you can not expect to change the clock-tree table always.

So the option here we have is,

1. Instead of creating alias with "fck", create an alias only with dev
pointer, that means con_id = NULL.
I have already tested this and it works on AM33xx platform.

2. Add a new flag inside hwmod or omap_device, so that it can be read at
omap_device layer and based on that we can decide whether to add con_id
or not while invoking clkdev_alloc().
This may be required to support legacy drivers which are not migrated to
runtime_pm and still calls clk_get() for both "fck" and "ick", so here
we need "fck" clk alias.


Any comments or opinion on this? Based on the feedback I can create the
changes and submit it to the list.

Thanks,
Vaibhav

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

end of thread, other threads:[~2012-08-03  6:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-01 12:20 omap_device: query on "fck" clk alias created Vaibhav Hiremath
2012-08-01 13:42 ` Benoit Cousson
2012-08-02 12:55   ` Hiremath, Vaibhav
2012-08-02 13:09     ` Russell King - ARM Linux
2012-08-01 14:14 ` Russell King - ARM Linux
2012-08-02 13:04   ` Hiremath, Vaibhav
2012-08-02 13:12     ` Russell King - ARM Linux
2012-08-03  6:26       ` Hiremath, Vaibhav

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