Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752820AbdL2G22 (ORCPT ); Fri, 29 Dec 2017 01:28:28 -0500 Received: from lelnx194.ext.ti.com ([198.47.27.80]:61791 "EHLO lelnx194.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751276AbdL2G20 (ORCPT ); Fri, 29 Dec 2017 01:28:26 -0500 Subject: Re: [PATCH v3 14/16] phy: Add notify_speed callback To: Manu Gautam References: <1511256206-1587-1-git-send-email-mgautam@codeaurora.org> <1511256206-1587-15-git-send-email-mgautam@codeaurora.org> <082d2ca8-21dc-878f-c668-a76872a7ea92@ti.com> <5b67c348-4ec9-58ca-05ed-8b93bed77efb@codeaurora.org> CC: , , "open list:GENERIC PHY FRAMEWORK" From: Kishon Vijay Abraham I Message-ID: <602bee84-ed3c-4b39-176d-4e6a2f3fbf62@ti.com> Date: Fri, 29 Dec 2017 11:58:22 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1588 Lines: 57 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