On 3/9/2016 10:40 AM, Mark Brown wrote:
On Tue, Mar 08, 2016 at 07:58:53PM +0800, John Hsu wrote:
In the patch, we add FLL clock source selection. The source can be from
MCLK, BCLK or FS.
Besides, driver extend higher frequency for better performance in FLL
calculation,
and has different register apply if fraction or not. Just separate it.
Right?
I think that's what I was asking for, yes.
I'll split these solution into two patches later and resubmit.
That comment sounds *very* suspicous, if we are using MCLK we should
manage it via the clock API. If the platform doesn't have good clock
support we should fix the platform.
In initiation, we get mclk object from platform as the following code.
If the mclk is not found, we don't need to prepare it in the driver.
nau8825->mclk = devm_clk_get(dev, "mclk");
...
} else if (PTR_ERR(nau8825->mclk) == -ENOENT) {
/* The MCLK is managed externally or not used at all */
nau8825->mclk = NULL;
dev_info(dev, "No 'mclk' clock found, assume MCLK is managed
externally");
This really isn't a good way to be handling things, you should be
ensuring that platforms that have an MCLK provide one via the clock API.
If the clock is missing that should indicate that it's the second case
where it's not used at all.
Do you mean I should use devm_clk_get to check mclk exist instead of
nau8825->mclk in nau8825_mclk_prepare function? And return a warn-
ing message if mclk is missing?
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel