Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933545AbbDPIDs (ORCPT ); Thu, 16 Apr 2015 04:03:48 -0400 Received: from mail-bn1on0116.outbound.protection.outlook.com ([157.56.110.116]:43232 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751647AbbDPIDm (ORCPT ); Thu, 16 Apr 2015 04:03:42 -0400 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; samsung.com; dkim=none (message not signed) header.d=none; Date: Thu, 16 Apr 2015 16:01:08 +0800 From: Peter Chen To: Chanwoo Choi CC: "Ivan T. Ivanov" , "Balbi, Felipe" , "ABRAHAM, KISHON VIJAY" , Roger Quadros , Robert Baldyga , , , , , Subject: Re: [PATCH v3 2/4] extcon: usb-gpio: add support for VBUS detection Message-ID: <20150416080107.GC1709@shlinux2> References: <552CEC97.1050205@samsung.com> <552CEE42.1050907@ti.com> <552CFA1E.5070400@samsung.com> <20150415032734.GA29095@shlinux2> <552E1862.6090709@ti.com> <552E2EBF.5090906@samsung.com> <20150416015922.GB22269@shlinux2> <552F5E17.5020902@samsung.com> <1429168424.26621.1.camel@mm-sol.com> <552F6BE3.5080604@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <552F6BE3.5080604@samsung.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;BMV:1;SFV:NSPM;SFS:(10019020)(6009001)(339900001)(377424004)(479174004)(189002)(24454002)(199003)(377454003)(51704005)(47776003)(33656002)(6806004)(83506001)(46406003)(85426001)(50466002)(46102003)(97756001)(87936001)(4001350100001)(76176999)(50986999)(54356999)(86362001)(62966003)(77156002)(93886004)(33716001)(106466001)(105606002)(77096005)(2950100001)(110136001)(104016003)(92566002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN3PR0301MB1203;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1203; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(5002010);SRVR:BN3PR0301MB1203;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1203; X-Forefront-PRVS: 0548586081 X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2015 08:03:40.0759 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB1203 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2514 Lines: 64 On Thu, Apr 16, 2015 at 04:59:31PM +0900, Chanwoo Choi wrote: > On 04/16/2015 04:13 PM, Ivan T. Ivanov wrote: > > Hi, > > > > On Thu, 2015-04-16 at 16:00 +0900, Chanwoo Choi wrote: > >> Hi Peter, > >> > >> On 04/16/2015 10:59 AM, Peter Chen wrote: > >>> > > > >>> Ok, from USB point, external id/vbus value can't decide > >>> which role the controller will be, the controller driver > >>> will decide role according to many things, eg, user configurations, > >>> id/vbus value, OTG HNP, etc. > >>> > >>> So, from USB controller/phy driver, it doesn't care which cable is > >>> inserted, it cares about id/vbus value. Eg, it can get id/vbus value > >>> and it will be notified when the id/vbus value has changed. > >> > >> OK, I change the notifier name and add notifier events as following: > >> > >> - extcon_{register|unregister}_usb_notifier(struct extcon_dev *edev, struct notifier_block *nb); > >> - list of notifier events > >> #define EXTCON_USB_ID_L_VBUS_L0 /* ID low and VBUS low */ > >> #define EXTCON_USB_ID_L_VBUS_H1 /* ID low and VBUS high */ > >> #define EXTCON_USB_ID_H_VBUS_L2 /* ID high and VBUS low */ > >> #define EXTCON_USB_ID_H_VBUS_H3 /* ID high and VBUS high */ > > > > I am still confused, why we mix ID and VBUS events into one? > > Those are two lines and they are not necessarily handled by > > the same extcon_dev. > > IMO, if some usb driver check both id and vbus pin at the same time, > the usb driver can know the both id and vbus pin state through only one notifier event. > > Also, > If some usb driver want to know the state of id pin except of vbus state, > when receiving following events, id pin is low. > #define EXTCON_USB_ID_L_VBUS_L0 > #define EXTCON_USB_ID_L_VBUS_H1 > when receiving following events, id pin is high. > #define EXTCON_USB_ID_H_VBUS_L2 > #define EXTCON_USB_ID_H_VBUS_H3 > Also, some usb driver would catch the vbus pin state with same method. > > But, it is just my opinion. We may use following notifier events for each pin. > We need to discuss it. > #define EXTCON_USB_ID_LOW > #define EXTCON_USB_ID_HIGH > #define EXTCON_USB_VBUS_LOW > #define EXTCON_USB_VBUS_HIGH > I agree with above definition. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/