Re: [PATCH V1] ASoC: fsl_ssi: refine ipg clock usage in this module

From: Nicolin Chen
Date: Tue Sep 09 2014 - 16:27:26 EST


On Tue, Sep 09, 2014 at 03:03:53PM -0500, Timur Tabi wrote:
> On 09/09/2014 02:59 PM, Nicolin Chen wrote:
> >+ /*
> >+ * Initially mark the clock to NULL for all platforms so that later
> >+ * clk_prepare_enable() will ignore and return 0 for non-clock cases.
> >+ */
> >+ ssi_private->clk = NULL;
>
> According to Mark, NULL is a valid clock, so this should be instead:
>
> ssi_private->clk = PTR_ERR(-EINVAL);
>
> although that doesn't sit well with me.

I guess Mark's comment is merely against the check for clk validation
because if talking about clk validation, we should check IS_ERR(clk)
rather than check !=NULL directly.

However, my approach doesn't need any check. The open() or pm_resume()
can just call clk_prepare_enable() directly. The __clk_enable() will
then handle the 'clk == NULL' case:

static int __clk_enable(struct clk *clk)
{
int ret = 0;

if (!clk)
return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/