Messages in this thread | | | Subject | Re: [PATCH 1/2] klist: implement KLIST_INIT() and DEFINE_KLIST() | From | Peter Zijlstra <> | Date | Tue, 22 Apr 2008 14:57:29 +0200 |
| |
On Tue, 2008-04-22 at 18:57 +0900, Tejun Heo wrote: > klist is missing static initializers and definition helper. Add them. > > Signed-off-by: Tejun Heo <htejun@gmail.com> > --- > I can't tell who's in charge of this code, so I'm including last two > people who made changes and Andrew :-) This will be used by later USB > mode switch support, so I'm cc'ing USB people too. > > Thanks. > > include/linux/klist.h | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/include/linux/klist.h b/include/linux/klist.h > index 7407125..c6b697c 100644 > --- a/include/linux/klist.h > +++ b/include/linux/klist.h > @@ -25,6 +25,14 @@ struct klist { > void (*put)(struct klist_node *); > }; > > +#define KLIST_INIT(_name, _get, _put) \ > + { .k_lock = __SPIN_LOCK_UNLOCKED(klist.k_lock), \
May I ask you make that: __SPIN_LOCK_UNLOCKED(_name.k_lock)
Otherwise we'll end up with multiple classes that have the same name.
> + .k_list = LIST_HEAD_INIT(_name.k_list), \ > + .get = _get, \ > + .put = _put, } > + > +#define DEFINE_KLIST(_name, _get, _put) \ > + struct klist _name = KLIST_INIT(_name, _get, _put) > > extern void klist_init(struct klist * k, void (*get)(struct klist_node *), > void (*put)(struct klist_node *));
| |