usb: dwc2: simplify optional reset handling
As of commit bb475230b8
("reset: make optional functions really
optional"), the reset framework API calls use NULL pointers to describe
optional, non-present reset controls.
This allows to return errors from devm_reset_control_get_optional and to
call reset_control_(de)assert unconditionally.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
20839dbb7d
commit
8ec32c38ef
|
@ -214,20 +214,11 @@ static int dwc2_lowlevel_hw_init(struct dwc2_hsotg *hsotg)
|
|||
hsotg->reset = devm_reset_control_get_optional(hsotg->dev, "dwc2");
|
||||
if (IS_ERR(hsotg->reset)) {
|
||||
ret = PTR_ERR(hsotg->reset);
|
||||
switch (ret) {
|
||||
case -ENOENT:
|
||||
case -ENOTSUPP:
|
||||
hsotg->reset = NULL;
|
||||
break;
|
||||
default:
|
||||
dev_err(hsotg->dev, "error getting reset control %d\n",
|
||||
ret);
|
||||
return ret;
|
||||
}
|
||||
dev_err(hsotg->dev, "error getting reset control %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (hsotg->reset)
|
||||
reset_control_deassert(hsotg->reset);
|
||||
reset_control_deassert(hsotg->reset);
|
||||
|
||||
/* Set default UTMI width */
|
||||
hsotg->phyif = GUSBCFG_PHYIF16;
|
||||
|
@ -326,8 +317,7 @@ static int dwc2_driver_remove(struct platform_device *dev)
|
|||
if (hsotg->ll_hw_enabled)
|
||||
dwc2_lowlevel_hw_disable(hsotg);
|
||||
|
||||
if (hsotg->reset)
|
||||
reset_control_assert(hsotg->reset);
|
||||
reset_control_assert(hsotg->reset);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue