[alsa-devel] [PATCH] ASoC: nau8825: extend FLL function

John Hsu KCHSU0 at nuvoton.com
Thu Mar 10 05:31:54 CET 2016


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?



More information about the Alsa-devel mailing list