[PATCH 2/2] clk: Generic support for fixed-rate clocks
Sascha Hauer
s.hauer at pengutronix.de
Mon Dec 13 07:42:54 EST 2010
On Mon, Dec 13, 2010 at 08:35:37PM +0800, Jeremy Kerr wrote:
> Hi Sascha,
>
> > > +extern struct clk_ops clk_fixed_ops;
> > > +
> > > +#define INIT_CLK_FIXED(name, r) { \
> > > + .clk = INIT_CLK(name.clk, clk_fixed_ops), \
> > > + .rate = (r) \
> > > +}
> >
> > Is there any other valid usecase for this other than
> >
> > struct clk_fixed bla = INIT_CLK_FIXED(bla, rate);
> >
> > Otherwise I suggest to convert the macro to:
> >
> > #define INIT_CLK_FIXED(name, r) \
> > struct clk_fixed name = { \
> > .clk = INIT_CLK(name.clk, clk_fixed_ops), \
> > .rate = (r) \
> > }
> >
> > This way we do not have to specify the same name twice (and it has
> > to be exactly the same name, otherwise it won't compile).
>
> For the system-wide INIT_CLK* macros, I've intentionally made them initalisers
> rather than declarators, so that we can use them in other declarators (ie, the
> usage of INIT_CLK() above). This would be relevant if someone is using
> clk_fixed in their struct - probably not likely, but good to be consistent.
>
> But yes, it would be good to avoid having to specify the name twice - how
> about adding a:
>
> #define DEFINE_CLK_FIXED(name, r) \
> struct clk_fixed name = INIT_CLK_FIXED(name, r)
>
> - just like DEFINE_MUTEX and MUTEX_INITIALIZER.
Jup, sounds good.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the linux-arm-kernel
mailing list