lkml.org 
[lkml]   [2015]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/5] iTCO_wdt: Expose watchdog properties using platform data
    On Tue, 28 Jul 2015, Aaron Sierra wrote:

    > > > > > @@ -933,7 +956,7 @@ gpe0_done:
    > > > > > lpc_chipset_info[priv->chipset].use_gpio = ret;
    > > > > > lpc_ich_enable_gpio_space(dev);
    > > > > >
    > > > > > - lpc_ich_finalize_cell(dev, &lpc_ich_cells[LPC_GPIO]);
    > > > > > + lpc_ich_finalize_gpio_cell(dev);
    > > > > > ret = mfd_add_devices(&dev->dev, PLATFORM_DEVID_AUTO,
    > > > > > &lpc_ich_cells[LPC_GPIO], 1, NULL, 0, NULL);
    > > > > >
    > > > > > @@ -1007,7 +1030,10 @@ static int lpc_ich_init_wdt(struct pci_dev *dev)
    > > > > > res->end = base_addr + ACPIBASE_PMC_END;
    > > > > > }
    > > > > >
    > > > > > - lpc_ich_finalize_cell(dev, &lpc_ich_cells[LPC_WDT]);
    > > > > > + ret = lpc_ich_finalize_wdt_cell(dev);
    > > > > > + if (ret)
    > > > > > + goto wdt_done;
    > > > > > +
    > > > > > ret = mfd_add_devices(&dev->dev, PLATFORM_DEVID_AUTO,
    > > > > > &lpc_ich_cells[LPC_WDT], 1, NULL, 0, NULL);
    > > > >
    > > > > Why do you have an mfd_add_devices() call for each device?
    > > >
    > > > Good question. This call has been present since March 2012 when support
    > > > was first added for iTCO_wdt in commit 887c8ec7219f ("watchdog: Convert
    > > > iTCO_wdt driver to mfd model").
    > > >
    > > > There's no good reason that I can see. Aaron?
    >
    > I chose to call mfd_add_devices() in each device init function
    > because I thought it was the easiest way to avoid registering an
    > incomplete/invalid MFD cell should an error occur during init.
    >
    > That way device registration wouldn't be an all-or-nothing affair.
    >
    > Doesn't mfd_add_devices() bail out after the first unsuccessful
    > mfd to platform device translation?

    Right, as it should.

    Under what circumstance would an error occur and you'd wish to carry
    on registering devices?

    --
    Lee Jones
    Linaro STMicroelectronics Landing Team Lead
    Linaro.org │ Open source software for ARM SoCs
    Follow Linaro: Facebook | Twitter | Blog


    \
     
     \ /
      Last update: 2015-07-29 21:10    [W:4.201 / U:0.172 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site