Re: [PATCH v3 14/16] phy: Add notify_speed callback

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

 



Hi,

On Friday 29 December 2017 09:54 AM, Manu Gautam wrote:
> Hi,
> 
> 
> On 12/28/2017 4:34 PM, Kishon Vijay Abraham I wrote:
>> Hi,
>>
> [snip]
>>
>>>> I'd prefer adding modes in enum phy_mode according to speed and using phy_set_mode.
>>> yeah, that also seems good idea. How about something like this:
>>>
>>> --- a/include/linux/phy/phy.h
>>> +++ b/include/linux/phy/phy.h
>>> @@ -23,12 +23,16 @@
>>>  struct phy;
>>>  
>>>  enum phy_mode {
>>> -	PHY_MODE_INVALID,
>>> -	PHY_MODE_USB_HOST,
>>> -	PHY_MODE_USB_DEVICE,
>>> -	PHY_MODE_USB_OTG,
>>> -	PHY_MODE_SGMII,
>>> -	PHY_MODE_10GKR,
>>> +	PHY_MODE_INVALID	= 0,
>>> +	PHY_MODE_USB_HOST	= BIT(0),
>>> +	PHY_MODE_USB_DEVICE	= BIT(1),
>>> +	PHY_MODE_USB_OTG,	= BIT(2),
>>> +	PHY_MODE_SGMII		= BIT(3),
>>> +	PHY_MODE_10GKR		= BIT(4),
>>> +	PHY_MODE_USB_LS		= BIT(5),
>>> +	PHY_MODE_USB_FS		= BIT(6),
>>> +	PHY_MODE_USB_HS		= BIT(7),
>>> +	PHY_MODE_USB_SS		= BIT(8),
>>>  };
>>>
>>>
>>> This way I don't need to duplicate USB speed enums for host/device or otg modes.
>> no.. let's keep enum. It's lot more cleaner IMO.
> 
> In that case all PHY drivers would need to consider these speed enums. E.g.
> 
> if (mode == HOST) check in PHY driver would need to be changed to:
> if (mode == HOST || mode == HOST_LS || mode == HOST_FS || mode == HOST_HS ||
>     mode == HOST_SS

suggest using switch in such case.. and not all PHY drivers do specific
configurations for specific speeds.
> 
> This looks clumsy.
> Where as if bits to used then there is no need for such changes.

really? using bits should only make it more clumsy.

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



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

  Powered by Linux