[PATCH v2 6/8] usb: phy: omap: get rid of omap_get_control_dev()
Roger Quadros
rogerq at ti.com
Fri Aug 16 05:00:27 EDT 2013
On 08/15/2013 07:51 PM, Sebastian Andrzej Siewior wrote:
> * Roger Quadros | 2013-08-15 16:15:10 [+0300]:
>
>> diff --git a/drivers/usb/phy/phy-omap-control.c b/drivers/usb/phy/phy-omap-control.c
>> index 078c46f..d144c14 100644
>> --- a/drivers/usb/phy/phy-omap-control.c
>> +++ b/drivers/usb/phy/phy-omap-control.c
>> @@ -187,11 +167,19 @@ void omap_control_usb_set_mode(struct device *dev,
>> {
>> struct omap_control_usb *ctrl_usb;
>>
>> - if (IS_ERR(dev) || control_usb->type != OMAP_CTRL_TYPE_OMAP)
>> + if (IS_ERR(dev) || !dev)
>> return;
>>
>> ctrl_usb = dev_get_drvdata(dev);
>>
>> + if (!ctrl_usb) {
>> + dev_err(dev, "Invalid control usb device\n");
>> + return;
>> + }
>> +
>> + if (ctrl_usb->type != OMAP_CTRL_TYPE_OMAP)
>> + return;
>> +
>
> I don't like that part where you can call this function even before the
> driver probed the device. This shouldn't happen since you have hard module
> dependency and the proper compatible string in your device. But this
> kind of thing won't happen in the am335x reset driver.
I don't like that part either, but omap_control_usb_set_mode is being called
from outside this driver (e.g. musb) and we are not making any changes to that behaviour
in this patch.
I think the issue you mentioned is being fixed by Kishon's extcon migration series.
cheers,
-roger
More information about the linux-arm-kernel
mailing list