[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <602bee84-ed3c-4b39-176d-4e6a2f3fbf62@ti.com>
Date: Fri, 29 Dec 2017 11:58:22 +0530
From: Kishon Vijay Abraham I <kishon@...com>
To: Manu Gautam <mgautam@...eaurora.org>
CC: <linux-arm-msm@...r.kernel.org>, <linux-usb@...r.kernel.org>,
"open list:GENERIC PHY FRAMEWORK" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 14/16] phy: Add notify_speed callback
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
Powered by blists - more mailing lists