Re: [PATCH v3 1/5] usb: dwc3: gadget: set gadgets parent to the right controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Greg KH <greg@xxxxxxxxx> writes:
> On Mon, Jun 28, 2021 at 05:53:07PM +0200, Michael Grzeschik wrote:
>> In case of dwc3 it is possible that the sysdev is the parent of the
>> controller. To ensure the right dev is set to the gadget's dev parent we
>> will hand over sysdev instead of dev, which will always point to the
>> controller.
>> 
>> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
>> 
>> ---
>>    -> v2: first version of patch
>>    -> v3: -
>> ---
>>  drivers/usb/dwc3/gadget.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>> index af6d7f157989d..8a1b1daff2e97 100644
>> --- a/drivers/usb/dwc3/gadget.c
>> +++ b/drivers/usb/dwc3/gadget.c
>> @@ -3990,7 +3990,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
>>  	}
>>  
>>  
>> -	usb_initialize_gadget(dwc->dev, dwc->gadget, dwc_gadget_release);
>> +	usb_initialize_gadget(dwc->sysdev, dwc->gadget, dwc_gadget_release);
>
> Does this change how the device shows up in sysfs?

it might, but not in all instances of dwc3

> Why does the parent not always work properly here?

This is a really old commit by Arnd from back in 2016 (d64ff406e51e)
where it was noticed that dwc3's dma ops weren't properly setup. Arnd
decided to pass a property to tell dwc3 core to use the parent device
for dma operations.

This is not required in all instances of dwc3, though.

-- 
balbi

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux