Re-reading this, I realized I'd been unclear. When I said that the omap_hwmod_lookup caused the whole thing to exit without registering the devices, that is NEW behavior that only happens after changing to code to try and register the devices the old way.
Previously, the platform_device_register calls were happening and did not appear to fail, so it seemed to be registering the CPSW.