On 2/14/17 1:04 PM, Stephen Boyd wrote:
On 02/12, Pierre-Louis Bossart wrote:
Due to timing requirements, TI and Conexant manage the audio
reference clock from their ASoC codec drivers using the "mclk"
string. This patch adds a default alias to "pmc_plt_clk_3" to
avoid Intel-specific tests in those codec drivers and use code
as-is.
"pmc_plt_clk_3" is used exclusively for audio on all known
Baytrail/CherryTrail designs and is e.g. routed on the MCLK
(pin 26) of the MinnowBoardMAX Turbot LSE connector.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
---
Notes:
This patch only applies on top of linux-next or clk-next, the
previous clk-related patches are not yet merged in the audio
trees
drivers/clk/x86/clk-pmc-atom.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/clk/x86/clk-pmc-atom.c b/drivers/clk/x86/clk-pmc-atom.c
index 2b60577..ba00d27 100644
--- a/drivers/clk/x86/clk-pmc-atom.c
+++ b/drivers/clk/x86/clk-pmc-atom.c
@@ -340,6 +340,8 @@ static int plt_clk_probe(struct platform_device *pdev)
plt_clk_free_parent_names_loop(parent_names, data->nparents);
+ clk_add_alias("mclk", dev_name(&pdev->dev), "pmc_plt_clk_3", NULL);
+
This leaks an alias when the driver is removed. Honestly,
clk_add_alias() doesn't work well because of that problem. Can
you just add another lookup with the pointer you already have
instead of passing a NULL device to do a global lookup?
This is a builtin driver that cannot be configured as a module, is the
leaked alias problematic?
I don't mind trying something different but I am not familiar enough
with the framework to understand what you are hinting at. Are you
suggesting a change on the last parameter such as:
clk_add_alias("mclk", dev_name(&pdev->dev), "pmc_plt_clk_3", &pdev->dev)
Thanks!
-Pierre