platform->aux.dev = dev;
        platform->aux.transfer = anx7625_aux_transfer;
        drm_dp_aux_init(&platform->aux);
-       devm_of_dp_aux_populate_ep_devices(&platform->aux);
-
-       ret = anx7625_parse_dt(dev, pdata);
-       if (ret) {
-               if (ret != -EPROBE_DEFER)
-                       DRM_DEV_ERROR(dev, "fail to parse DT : %d\n", ret);
-               goto free_wq;
-       }
 
        if (anx7625_register_i2c_dummy_clients(platform, client) != 0) {
                ret = -ENOMEM;
        if (ret)
                goto free_wq;
 
+       devm_of_dp_aux_populate_ep_devices(&platform->aux);
+
+       ret = anx7625_parse_dt(dev, pdata);
+       if (ret) {
+               if (ret != -EPROBE_DEFER)
+                       DRM_DEV_ERROR(dev, "fail to parse DT : %d\n", ret);
+               goto free_wq;
+       }
+
        if (!platform->pdata.low_power_mode) {
                anx7625_disable_pd_protocol(platform);
                pm_runtime_get_sync(dev);