RE: [PATCH 1/3] usb: common: Add usb_get_dr_mode_from_string and usb_dr_mode_to_string.

From: Pawel Laszczak
Date: Tue Jul 09 2019 - 02:38:40 EST




>-----Original Message-----
>From: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>
>Sent: Tuesday, July 9, 2019 8:30 AM
>To: Pawel Laszczak <pawell@xxxxxxxxxxx>
>Cc: gregkh@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; rogerq@xxxxxx; linux-kernel@xxxxxxxxxxxxxxx; jbergsagel@xxxxxx;
>nsekhar@xxxxxx; nm@xxxxxx; Suresh Punnoose <sureshp@xxxxxxxxxxx>; Jayshri Dajiram Pawar <jpawar@xxxxxxxxxxx>; Rahul Kumar
><kurahul@xxxxxxxxxxx>; Anil Joy Varughese <aniljoy@xxxxxxxxxxx>
>Subject: RE: [PATCH 1/3] usb: common: Add usb_get_dr_mode_from_string and usb_dr_mode_to_string.
>
>EXTERNAL MAIL
>
>
>
>Hi,
>
>Pawel Laszczak <pawell@xxxxxxxxxxx> writes:
>>>> diff --git a/include/linux/usb/otg.h b/include/linux/usb/otg.h
>>>> index 69f1b6328532..c156817672c4 100644
>>>> --- a/include/linux/usb/otg.h
>>>> +++ b/include/linux/usb/otg.h
>>>> @@ -129,4 +129,20 @@ enum usb_dr_mode {
>>>> */
>>>> extern enum usb_dr_mode usb_get_dr_mode(struct device *dev);
>>>>
>>>> +/**
>>>> + * usb_get_dr_mode_from_string - Convert string to dual role mode.
>>>> + * @str: Pointer to the given string
>>>> + *
>>>> + * The function gets string and returns the correspondig enum usb_dr_mode.
>>>> + */
>>>> +extern enum usb_dr_mode usb_get_dr_mode_from_string(const char *str);
>>>> +
>>>> +/**
>>>> + * usb_dr_mode_to_string - Convert dual role mode to string.
>>>> + * @dr_mode: Pointer to the given dual role mode
>>>> + *
>>>> + * The function gets enum usb_dr_mode, and returns the correspondig string.
>>>> + */
>>>> +extern const char *usb_dr_mode_to_string(const enum usb_dr_mode dr_mode);
>>>> +
>>>> #endif /* __LINUX_USB_OTG_H */
>>>
>>>Still missing the stubs I mentioned. Did you try compiling with and
>>>without common enabled?
>>>
>> Sorry, I thought that I send answer yesterday but it's look like I prepared the answer but
>> I forgot to send.
>>
>> In /drivers/usb/Kconfig we have:
>>
>> config USB
>> tristate "Support for Host-side USB"
>> depends on USB_ARCH_HAS_HCD
>> select USB_COMMON
>>
>> and in /drivers/usb/gadget/Kconfig we have:
>>
>> menuconfig USB_GADGET
>> tristate "USB Gadget Support"
>> select USB_COMMON
>>
>> I think that it should cover all cases.
>>
>> Am I right ?
>
>Run a few tens of randconfig builds and see if you ever catch any
>problem. I think randconfig can produce a defconfig where USB=n
>USB_GADGET=n and USB_COMMON=y.

Ok, I will test it, but I think that it should work.
The same situation we have for example with: usb_otg_state_string or usb_ep_type_string.

>
>--
>balbi