[RFC] [PATCH] arm & sh: factorised duplicated clkdev.c

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Wed Sep 1 11:40:07 EDT 2010


On Wed, Sep 01, 2010 at 05:27:19PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 17:01 Wed 01 Sep     , Uwe Kleine-König wrote:
> > On Wed, Sep 01, 2010 at 01:18:46PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > > >  
> > > > > -struct clk_lookup *clkdev_alloc(struct clk *clk, const char *con_id,
> > > > > -	const char *dev_fmt, ...)
> > > > > +struct clk_lookup * __init_refok
> > > > Why do you need __init_refok?  __init_refok is defined as follows in
> > > > include/linux/init.h:
> > > > 
> > > > 	/* compatibility defines */
> > > > 	#define __init_refok     __ref
> > > > 
> > > > So if really needed better use __ref.  Couldn't this be __init?  
> > > ok for __ref but __init_refok is more clear IMHO
> > For me it was not, because before your mail I didn't know __init_refok
> > so I had to look it up.
> > 
> > > and yes we need it as for early device we may use bootmem as slab allocators
> > > may no be availlable in some case
> > Yes I got that, but it doesn't explain why you need to mark your
> > function as __ref or why you cannot use __init.
> Take a look in this commit 312b1485fb509c9bc32eda28ad29537896658cb8
> 
> it will be more clear
Assume I understand in which cases you need to use __ref.  Which of
these cases is valid for clkdev_alloc?

And further, which function calls (or which structure references)
clkdev_alloc that makes it impossible to mark it using __init?

Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list