Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-block.git] / arch / arm / mach-omap2 / omap_hwmod_7xx_data.c
index f4698d662eb1f08e67663f35dea4e9b6a232554d..4c2a05b1bd1955430d0b419c4647a6311ffc265d 100644 (file)
@@ -4014,6 +4014,10 @@ static struct omap_hwmod_ocp_if *dra76x_hwmod_ocp_ifs[] __initdata = {
        NULL,
 };
 
+static struct omap_hwmod_ocp_if *acd_76x_hwmod_ocp_ifs[] __initdata = {
+       NULL,
+};
+
 static struct omap_hwmod_ocp_if *dra74x_hwmod_ocp_ifs[] __initdata = {
        &dra7xx_l4_per3__usb_otg_ss4,
        NULL,
@@ -4023,7 +4027,7 @@ static struct omap_hwmod_ocp_if *dra72x_hwmod_ocp_ifs[] __initdata = {
        NULL,
 };
 
-static struct omap_hwmod_ocp_if *dra74x_dra72x_hwmod_ocp_ifs[] __initdata = {
+static struct omap_hwmod_ocp_if *rtc_hwmod_ocp_ifs[] __initdata = {
        &dra7xx_l4_per3__rtcss,
        NULL,
 };
@@ -4035,19 +4039,26 @@ int __init dra7xx_hwmod_init(void)
        omap_hwmod_init();
        ret = omap_hwmod_register_links(dra7xx_hwmod_ocp_ifs);
 
-       if (!ret && soc_is_dra74x())
+       if (!ret && soc_is_dra74x()) {
                ret = omap_hwmod_register_links(dra74x_hwmod_ocp_ifs);
-       else if (!ret && soc_is_dra72x())
+               if (!ret)
+                       ret = omap_hwmod_register_links(rtc_hwmod_ocp_ifs);
+       } else if (!ret && soc_is_dra72x()) {
                ret = omap_hwmod_register_links(dra72x_hwmod_ocp_ifs);
-       else if (!ret && soc_is_dra76x())
+               if (!ret && !of_machine_is_compatible("ti,dra718"))
+                       ret = omap_hwmod_register_links(rtc_hwmod_ocp_ifs);
+       } else if (!ret && soc_is_dra76x()) {
                ret = omap_hwmod_register_links(dra76x_hwmod_ocp_ifs);
 
+               if (!ret && soc_is_dra76x_acd()) {
+                       ret = omap_hwmod_register_links(acd_76x_hwmod_ocp_ifs);
+               } else if (!ret && soc_is_dra76x_abz()) {
+                       ret = omap_hwmod_register_links(rtc_hwmod_ocp_ifs);
+               }
+       }
+
        if (!ret && omap_type() == OMAP2_DEVICE_TYPE_GP)
                ret = omap_hwmod_register_links(dra7xx_gp_hwmod_ocp_ifs);
 
-       /* now for the IPs available only in dra74 and dra72 */
-       if (!ret && !of_machine_is_compatible("ti,dra718") && !soc_is_dra76x())
-               ret = omap_hwmod_register_links(dra74x_dra72x_hwmod_ocp_ifs);
-
        return ret;
 }