Messages in this thread | | | Date | Sat, 11 Oct 2008 16:18:20 +0200 | From | Samuel Ortiz <> | Subject | Re: [PATCH 14/14] mfd: Add WM8350 subdevice registration helper |
| |
On Fri, Oct 10, 2008 at 03:58:16PM +0100, Mark Brown wrote: > Most of the subdevices for the WM8350 code are registered in the same > fashion so factor out the code to do the initial registration. Out of curiosity (and also because I would like to start working on improving mfd-core), why didnt you consider using the mfd-core API ?
Cheers, Samuel.
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> > --- > drivers/mfd/wm8350-core.c | 26 ++++++++++++++++++++++++++ > 1 files changed, 26 insertions(+), 0 deletions(-) > > diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c > index 9a1a0b2..cd1f76e 100644 > --- a/drivers/mfd/wm8350-core.c > +++ b/drivers/mfd/wm8350-core.c > @@ -1130,6 +1130,32 @@ out: > } > EXPORT_SYMBOL_GPL(wm8350_create_cache); > > +/* > + * Register a client device. This is non-fatal since there is no need to > + * fail the entire device init due to a single platform device failing. > + */ > +static void wm8350_client_dev_register(struct wm8350 *wm8350, > + const char *name, > + struct platform_device **pdev) > +{ > + int ret; > + > + *pdev = platform_device_alloc(name, -1); > + if (pdev == NULL) { > + dev_err(wm8350->dev, "Failed to allocate %s\n", name); > + return; > + } > + > + (*pdev)->dev.parent = wm8350->dev; > + platform_set_drvdata(*pdev, wm8350); > + ret = platform_device_add(*pdev); > + if (ret != 0) { > + dev_err(wm8350->dev, "Failed to register %s: %d\n", name, ret); > + platform_device_put(*pdev); > + *pdev = NULL; > + } > +} > + > int wm8350_device_init(struct wm8350 *wm8350, int irq, > struct wm8350_platform_data *pdata) > { > -- > 1.5.6.5 >
-- Intel Open Source Technology Centre http://oss.intel.com/
| |