OMAP: omap_device: ensure hwmod tracks attached omap_device pointer
authorKevin Hilman <khilman@deeprootsystems.com>
Mon, 26 Jul 2010 22:34:30 +0000 (16:34 -0600)
committerPaul Walmsley <paul@pwsan.com>
Mon, 26 Jul 2010 22:34:30 +0000 (16:34 -0600)
The omap_hwmod struct has a field to track the omap_device that is
attached to it, but it was not being assigned.  Fix by assigning omap_device
pointer when omap_device is built.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[paul@pwsan.com: use an array index rather than pointer arithmetic]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/plat-omap/omap_device.c

index f899603..f9dec0d 100644 (file)
@@ -359,7 +359,7 @@ struct omap_device *omap_device_build_ss(const char *pdev_name, int pdev_id,
        struct omap_device *od;
        char *pdev_name2;
        struct resource *res = NULL;
-       int res_count;
+       int i, res_count;
        struct omap_hwmod **hwmods;
 
        if (!ohs || oh_cnt == 0 || !pdev_name)
@@ -416,6 +416,9 @@ struct omap_device *omap_device_build_ss(const char *pdev_name, int pdev_id,
        else
                ret = omap_device_register(od);
 
+       for (i = 0; i < oh_cnt; i++)
+               hwmods[i]->od = od;
+
        if (ret)
                goto odbs_exit4;