From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1422648AbcFMI3O (ORCPT ); Mon, 13 Jun 2016 04:29:14 -0400 Received: from mail-db3on0069.outbound.protection.outlook.com ([157.55.234.69]:40992 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1161024AbcFMI3M convert rfc822-to-8bit (ORCPT ); Mon, 13 Jun 2016 04:29:12 -0400 From: Jun Li To: Roger Quadros , "peter.chen@freescale.com" CC: "balbi@kernel.org" , "tony@atomide.com" , "gregkh@linuxfoundation.org" , "dan.j.williams@intel.com" , "mathias.nyman@linux.intel.com" , "Joao.Pinto@synopsys.com" , "sergei.shtylyov@cogentembedded.com" , "jun.li@freescale.com" , "grygorii.strashko@ti.com" , "yoshihiro.shimoda.uh@renesas.com" , "robh@kernel.org" , "nsekhar@ti.com" , "b-liu@ti.com" , "joe@perches.com" , "linux-usb@vger.kernel.org" , "linux-omap@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" Subject: RE: [PATCH v10 09/14] usb: of: add an API to get OTG device from USB controller node Thread-Topic: [PATCH v10 09/14] usb: of: add an API to get OTG device from USB controller node Thread-Index: AQHRwxktxXixnYjCmEafSwhI2sj1Tp/nC3ng Date: Mon, 13 Jun 2016 08:13:59 +0000 Message-ID: References: <1465564043-27163-1-git-send-email-rogerq@ti.com> <1465564043-27163-10-git-send-email-rogerq@ti.com> In-Reply-To: <1465564043-27163-10-git-send-email-rogerq@ti.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=jun.li@nxp.com; x-originating-ip: [199.59.230.102] x-ms-office365-filtering-correlation-id: a5d47d45-8be2-4a91-c51a-08d39362ac36 x-microsoft-exchange-diagnostics: 1;AM4PR04MB2130;6:Rout9FVHzVjdO5Gmb0BQJQZWLrnVTvkQtCKOuRJxW+icIhrntytxRIxBFrDpoeMZmLAM50XVcPOCtZbIVBjNk1GW4tmgzVLyg1MQxDrINzsFWxoFo1Y0KvdCqhyWl3jjk1aCZV9TWvl04IGKKg53nhkznY7fx2Znz+RdcfpJ+I8mjGpoOYBbQnz4tqJBGsT8kfl7oswatxw11uDTu90CFqGPedEhPrPe9k+6GTwz7Y+wP2rVH6Ni8vudkmnJqhQ07hPVTobj4wwvWnzel9HPNWZAZdJ91mBWuRECcgvSnK7XKcal/BQ4MW58mgD7iBTD;5:IlcTcFeyRaTENDxtCS/sZkCHmoyIRuQ9bqfCOY0O8E3w4oPxqfW64OprNwZP+fWobsLt/wO5U6dBgqV2ojHPStxEkstibnwTLcxONsnMGM3IwueGUlceOTHG1U9ErGm0qhod99taNZMR7fTBHDeyFg==;24:QTXtVmu58K0rENScvBck5RDUvpnuG5cjHdkqoJjzLXm7+832XQ6MSZCWzc00P51fDSbAop1Ui4K7vRtja6epaRSdqfTTCSCNpNQT+CLGIew=;7:W+1dPgErKhoCY8B/+o3LhvHX5ZS9hNpQrWxeU16wB3uWcPL0aJpBPF5RLHxkMsBsl6ourD1oDTKGSPATFp7jTpfNggXaX5kWkt1J8XugSZfHi7KpVi9FveBotINaUWHDHzIXx0I8Ies/YqQ2wqkcbpKOqhc4h+Godj0NntGlpU+MTLxthN/cvfnH7x5aZTYsBDKZjoWbqcB4mOmc8QJ0eg== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM4PR04MB2130; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:AM4PR04MB2130;BCL:0;PCL:0;RULEID:;SRVR:AM4PR04MB2130; x-forefront-prvs: 0972DEC1D9 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(7916002)(199003)(189002)(81156014)(5003600100002)(33656002)(81166006)(8676002)(106356001)(2501003)(8936002)(68736007)(76176999)(8666004)(106116001)(50986999)(5002640100001)(54356999)(66066001)(3280700002)(105586002)(9686002)(4326007)(2950100001)(11100500001)(92566002)(189998001)(3660700001)(2906002)(2900100001)(101416001)(5004730100002)(122556002)(97736004)(87936001)(74316001)(77096005)(86362001)(586003)(6116002)(102836003)(3846002)(5001770100001)(10400500002)(76576001)(5008740100001)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:AM4PR04MB2130;H:AM4PR04MB2130.eurprd04.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;CAT:NONE;LANG:en;CAT:NONE; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2016 08:13:59.2220 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR04MB2130 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi > diff --git a/drivers/usb/common/common.c b/drivers/usb/common/common.c > index e3d0161..d7ec471 100644 > --- a/drivers/usb/common/common.c > +++ b/drivers/usb/common/common.c > @@ -238,6 +238,33 @@ int of_usb_update_otg_caps(struct device_node *np, } > EXPORT_SYMBOL_GPL(of_usb_update_otg_caps); > > +#ifdef CONFIG_USB_OTG > +/** > + * of_usb_get_otg - get the OTG controller linked to the USB controller > + * @np: Pointer to the device_node of the USB controller > + * @otg_caps: Pointer to the target usb_otg_caps to be set Remove otg_caps. Li Jun > + * > + * Returns the OTG controller device or NULL on error. > + */ > +struct device *of_usb_get_otg(struct device_node *np) { > + struct device_node *otg_np; > + struct platform_device *pdev; > + > + otg_np = of_parse_phandle(np, "otg-controller", 0); > + if (!otg_np) > + return NULL; > + > + pdev = of_find_device_by_node(otg_np); > + of_node_put(otg_np); > + if (!pdev) > + return NULL; > + > + return &pdev->dev; > +} > +EXPORT_SYMBOL_GPL(of_usb_get_otg); > +#endif > + > #endif > > MODULE_LICENSE("GPL"); > diff --git a/include/linux/usb/of.h b/include/linux/usb/of.h index > de3237f..499a4e8 100644 > --- a/include/linux/usb/of.h > +++ b/include/linux/usb/of.h > @@ -40,6 +40,15 @@ static inline struct device_node > *usb_of_get_child_node } #endif > > +#if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_OTG) struct device > +*of_usb_get_otg(struct device_node *np); #else static inline struct > +device *of_usb_get_otg(struct device_node *np) { > + return NULL; > +} > +#endif > + > #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_USB_SUPPORT) enum > usb_phy_interface of_usb_get_phy_mode(struct device_node *np); #else > -- > 2.7.4