if (pdata.flags & CI_HDRC_SUPPORTS_RUNTIME_PM)
data->supports_runtime_pm = true;
- if (data->usbmisc_data->index > 1 && (imx_has_hsic_con(data))) {
+ if (data->usbmisc_data && data->usbmisc_data->index > 1
+ && (imx_has_hsic_con(data))) {
pdata.flags |= CI_HDRC_IMX_IS_HSIC;
data->hsic_pad_regulator = devm_regulator_get(&pdev->dev,
"pad");
}
}
- if (of_find_property(np, "fsl,anatop", NULL)) {
+ if (of_find_property(np, "fsl,anatop", NULL) && data->usbmisc_data) {
data->anatop = syscon_regmap_lookup_by_phandle(np,
"fsl,anatop");
if (IS_ERR(data->anatop)) {
ret = PTR_ERR(data->anatop);
goto disable_hsic_regulator;
}
- if (data->usbmisc_data)
- data->usbmisc_data->anatop = data->anatop;
+ data->usbmisc_data->anatop = data->anatop;
}
- if (of_find_property(np, "imx-usb-charger-detection", NULL)) {
+ if (of_find_property(np, "imx-usb-charger-detection", NULL) &&
+ data->usbmisc_data) {
data->imx_usb_charger_detection = true;
data->charger.dev = &pdev->dev;
data->usbmisc_data->charger = &data->charger;
}
/* usbmisc needs to know dr mode to choose wakeup setting */
- data->usbmisc_data->available_role =
+ if (data->usbmisc_data)
+ data->usbmisc_data->available_role =
ci_hdrc_query_available_role(data->ci_pdev);
if (data->supports_runtime_pm) {