lkml.org 
[lkml]   [2013]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 01/11] usb: dwc3-omap: use device_for_each_child to handle child removal
    Date
    Used device_for_each_child() to handle child device (dwc3 core) removal
    during devexit of dwc3 omap. This is in preparation for creating the child
    devices from subnode of dwc3 omap glue using of_platform_populate.

    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    ---
    drivers/usb/dwc3/dwc3-omap.c | 12 +++++++++++-
    1 file changed, 11 insertions(+), 1 deletion(-)

    diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
    index f31867f..1d03a8a 100644
    --- a/drivers/usb/dwc3/dwc3-omap.c
    +++ b/drivers/usb/dwc3/dwc3-omap.c
    @@ -262,6 +262,15 @@ static irqreturn_t dwc3_omap_interrupt(int irq, void *_omap)
    return IRQ_HANDLED;
    }

    +static int dwc3_omap_remove_core(struct device *dev, void *c)
    +{
    + struct platform_device *pdev = to_platform_device(dev);
    +
    + platform_device_unregister(pdev);
    +
    + return 0;
    +}
    +
    static int dwc3_omap_probe(struct platform_device *pdev)
    {
    struct dwc3_omap_data *pdata = pdev->dev.platform_data;
    @@ -425,9 +434,10 @@ static int dwc3_omap_remove(struct platform_device *pdev)
    {
    struct dwc3_omap *omap = platform_get_drvdata(pdev);

    - platform_device_unregister(omap->dwc3);
    platform_device_unregister(omap->usb2_phy);
    platform_device_unregister(omap->usb3_phy);
    + device_for_each_child(&pdev->dev, NULL, dwc3_omap_remove_core);
    +
    return 0;
    }

    --
    1.7.9.5


    \
     
     \ /
      Last update: 2013-01-25 04:41    [W:2.696 / U:0.448 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site