Hi Ravi,

On 08.04.2013 14:48, B, Ravi wrote:
>> On 08.04.2013 12:42, B, Ravi wrote:
>>>> Subject: [PATCH v2 07/11] usb: musb: add Kconfig options for 
>>>> HOST,
>> GAGDET
>>>> or DUAL_ROLE modes
>>>> 
>>>> This makes building the actual object files optional to the 
>>>> selected mode, which saves users who know which kind of USB 
>>>> mode support they need some binary size.
>>>> 
>>>> Unimplemented functions are stubbed out with static inline 
>>>> functions.
>>>> 
>>>> Signed-off-by: Daniel Mack <zon...@gmail.com> --- 
>>>> drivers/usb/musb/Kconfig       | 29 
>>>> +++++++++++++++++++++++++++++ drivers/usb/musb/Makefile      |
>>>>  10 ++++++++-- drivers/usb/musb/musb_gadget.h | 21 
>>>> +++++++++++++++++++++ drivers/usb/musb/musb_host.h   | 29 
>>>> +++++++++++++++++++++++++++-- 4 files changed, 85 
>>>> insertions(+), 4 deletions(-)
>>>> 
>>>> diff --git a/drivers/usb/musb/Kconfig 
>>>> b/drivers/usb/musb/Kconfig index 47442d3..aab1568 100644 --- 
>>>> a/drivers/usb/musb/Kconfig +++ b/drivers/usb/musb/Kconfig @@ 
>>>> -28,6 +28,35 @@ config USB_MUSB_HDRC if USB_MUSB_HDRC
>>>> 
>>>> choice +   bool "MUSB Mode Selection" +    default 
>>>> USB_MUSB_DUAL_ROLE if (USB && USB_GADGET) +        default 
>>>> USB_MUSB_HOST if (USB && !USB_GADGET) +    default USB_MUSB_GADGET
>>>> if (!USB && USB_GADGET) + +config USB_MUSB_HOST +  bool "Host
>>>> only mode" +       depends on USB +        help +    Select this when you
>>>> want to use MUSB in host mode only, +        thereby the gadget
>>>> feature will be regressed. + +config USB_MUSB_GADGET + bool
>>>> "Gadget only mode" +       depends on USB_GADGET + help + Select this
>>>> when you want to use MUSB in gadget mode only, + thereby the
>>>> host feature will be regressed. + +config USB_MUSB_DUAL_ROLE +
>>>> bool "Dual Role mode" +    depends on (USB && USB_GADGET) +        help +
>>>> This is the default mode of working of MUSB controller where +
>>>> both host and gadget features are enabled. + +endchoice
>>> 
>>> How do you cater for multi-instance support? Where one controller
>>> to
>> force as host and other as device (similar to am33x beagle 
>> configuration).
>>> In general for all combination possible like <host, host> <host,
>>>  device>
>> <device, host> <dual, dual> etc.
>> 
>> The actual mode chosen for an instance is passed in via pdata/DT. 
>> The Kconfig options only exist in order to stub out code that 
>> certainly isn't needed for a particular platform. IOW, to reduce 
>> the binary size.
>> 
>> So the beagleboard will have to select the DUAL_ROLE config 
>> parameters, where other board (like mine) can go for the HOST only
>>  option.
>> 
>> If a user selects a mode as runtime parameter that is stubbed out 
>> by the chosen config, it will simply don't do anything. Just as 
>> with a driver that is referenced from DT but not compiled in. I 
>> don't think we should be over-smart here and mess with the 
>> configured platform data. If the platform data is wrong, it has to
>>  be fixed anyway. Felipe, do you agree?
>> 
>> 
> 
> I understand, this is for binary code reduction. But in multi 
> instance case force host/device config option shall be selected only
>  when both controller need to configured as host only or device only.
>  like <host, host> or <device, device>. In any other case dual-role 
> need to be chosen.

Yes, agreed.

> You can explain in help section of this Kconfig option.

Ok, I'll wait for more comments on this series and then add this to a
respin.


Thanks,
Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to