Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Fri, 7 Mar 2008 08:10:12 -0800 | From | Greg KH <> | Subject | Re: [UPDATED v3][PATCH 4/7] regulator: framework core |
| |
On Thu, Mar 06, 2008 at 06:11:54PM +0000, Liam Girdwood wrote: > This patch provides the regulator framework core. The core also provides a > sysfs interface for userspace information. > > Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> > --- > drivers/regulator/reg-core.c | 1311 ++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 1311 insertions(+), 0 deletions(-) > create mode 100644 drivers/regulator/reg-core.c > > diff --git a/drivers/regulator/reg-core.c b/drivers/regulator/reg-core.c > new file mode 100644 > index 0000000..56367ab > --- /dev/null > +++ b/drivers/regulator/reg-core.c > @@ -0,0 +1,1311 @@ > +/* > + * regulator.c -- Voltage/Current Regulator framework. > + * > + * Copyright 2007, 2008 Wolfson Microelectronics PLC. > + * > + * Author: Liam Girdwood <liam.girdwood@wolfsonmicro.com> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2 of the License, or (at your > + * option) any later version. > + * > + */ > + > +#include <linux/kernel.h> > +#include <linux/init.h> > +#include <linux/device.h> > +#include <linux/err.h> > +#include <linux/mutex.h> > +#include <linux/regulator/regulator.h> > +#include <linux/regulator/regulator-drv.h> > +#include <linux/regulator/regulator-platform.h> > + > +#define REGULATOR_VERSION "0.4" > + > +static DEFINE_MUTEX(regulator_list_mutex); > +static LIST_HEAD(regulator_list); > + > +/** > + * struct regulator_cdev > + * > + * Voltage / Current regulator class device. One for each regulator. > + */ > +struct regulator_cdev { > + struct regulator_desc *desc; > + int use_count; > + > + struct list_head list; > + struct list_head consumer_list; > + struct blocking_notifier_head notifier; > + struct mutex mutex; /* consumer lock */ > + struct module *owner; > + struct class_device cdev; Can you change this to use a "struct device" instead? We are trying to get rid of class_device, and there are only 3 users of it in the kernel today (memorystick, infiniband, and scsi), and I have patches pending to fix all of these. For 2.6.26 I would like to be rid of it finally.
If you want, I would be glad to fix this up for you, it should be a pretty simple replacement.
> + struct regulation_constraints *constraints; > + struct regulator_cdev *parent; /* for tree */
And if when you convert, you can get rid of this pointer, it would not be needed.
> + void *reg_data; /* regulator_cdev data */
Nor would this one. Actually I don't think you need this one today anyway...
thanks,
greg k-h
| ![\](/images/icornerr.gif) |