Re: [PATCH 1/5] Clocklib: add generic framework for managingclocks.

From: Andrew Morton
Date: Tue Apr 15 2008 - 05:48:44 EST


On Tue, 15 Apr 2008 13:34:51 +0400 Dmitry Baryshkov <dbaryshkov@xxxxxxxxx> wrote:

> On Mon, Apr 14, 2008 at 11:13:30PM -0700, Andrew Morton wrote:
> > On Sun, 13 Apr 2008 18:43:12 +0400 Dmitry Baryshkov <dbaryshkov@xxxxxxxxx> wrote:
> >
> > > +#define FUNC_TO_CLK(func) &(&(struct clk_function) func)->clk
> >
> > scratched my head for a while, was unable to work out what this does.
> > It is unused, so I think it can be zapped?
>
> It take clk_function and returns pointer to the contained struct clk.

Then why does it cast a clk_function to a clk_function?

The innermost `&' hurts my brain.

> I used it to be able to write things like:
>
> static struct clk *clks[] = {
> [TC6387XB_CLK_MMC] = FUNC_TO_CLK(MFD_CLK_FUNC(NULL, "MMCCLK",
> &tc6387xb_cells[TC6387XB_CELL_MMC])),
> };
>

erm, if you say so. Is this as simple and clear as we can possibly make it?
--
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/