Messages in this thread | | | Date | Tue, 15 Apr 2008 02:47:43 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/5] Clocklib: add generic framework for managing clocks. |
| |
On Tue, 15 Apr 2008 13:34:51 +0400 Dmitry Baryshkov <dbaryshkov@gmail.com> 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@gmail.com> 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?
| |