Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752094AbbLXLVw (ORCPT ); Thu, 24 Dec 2015 06:21:52 -0500 Received: from mail-by2on0112.outbound.protection.outlook.com ([207.46.100.112]:27771 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751036AbbLXLVt (ORCPT ); Thu, 24 Dec 2015 06:21:49 -0500 X-Greylist: delayed 887 seconds by postgrey-1.27 at vger.kernel.org; Thu, 24 Dec 2015 06:21:49 EST Authentication-Results: spf=permerror (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none;freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; From: Ramneek Mehresh To: CC: , , , , Ramneek Mehresh Subject: [PATCH 4/7][v4][RESEND]usb:fsl:otg: Signal host drv when host is otg Date: Thu, 24 Dec 2015 16:54:13 +0530 Message-ID: <1450956256-19094-5-git-send-email-ramneek.mehresh@freescale.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1450956256-19094-1-git-send-email-ramneek.mehresh@freescale.com> References: <1450956256-19094-1-git-send-email-ramneek.mehresh@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD037;1:Q8rvh8XRXs3os+h1qS8XSE3nlUrHu97Aj/0h8Ni9Y3zbJy8rJbCm1rgtVAftjKCXWgyRTYj/pLCrr05Ri4RItxR7VB9jJ3wxgeXiUZ1yKKwHpH+MXTrNH4TpYZAJiWHVkmaG5qCsffm0mPBhnJd+S+2eRN38N/bnBsp5tvG/kvMcDko+PU4HZaqUrgJpZruclvrDvpGTNzg78fng6LDQ7TskpfTODwSNb40iPU9I0XZH1ZQadP+l5CGCB3cApd0U636b5jl+jpecBes+ReqsiYY7JqOPH1z15DhDvtuQv1E1F7z0Ao8gu4JdsRE5bdLPdsiD4vMoFbRR2QEdbW+ZAhnZddR26b8ZAuRR4f7YzCoVWs5fYe+CU2S82zykcay3k0Wrpjf8Sw7ymy7pILx2TWYRhDtHZhbNu89NrjJBSP50YIxCq0PnBwwD1orrsFMU X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(448002)(3190300001)(189002)(199003)(2351001)(33646002)(97736004)(86362001)(76506005)(106466001)(50986999)(81156007)(77096005)(2950100001)(76176999)(1220700001)(229853001)(50226001)(36756003)(69596002)(19580395003)(47776003)(87936001)(85326001)(5008740100001)(19580405001)(104016004)(92566002)(1096002)(4001430100002)(6806005)(110136002)(107886002)(50466002)(5001960100002)(586003)(48376002)(189998001)(11100500001)(5003940100001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1577;H:az84smr01.freescale.net;FPR:;SPF:PermError;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1577;2:JMhypMBBcMHMwQyyhwiZdfrJSHTyNCD6FTTPNBBw0+JzBzUTjMKJZssZamHmKTwyLF5HPdUbV5xXRTZbjExC6/ewwHgB7RKEwhV1fqQQWFP1HPuO+w+1KGCC77jsFT9f1HnhSXIg+X1Quv9rTUSa2g==;3:q2JbLn9LOfx+g7lko1EcITLyqUK2Gcf11ggTHBFfdWtot2obikvHoj3wMNnlJcEyMUc1veaaGPL0UFAIfWo+uHTB8IUWwwlReecic/qt7zvdq8+B9gGXueDsgP+b2jVlPBg52TW/v+tAcQOh1pAgFvP65jJnvjroKuTltMCBddNcC4D6CkzGeSZfcHwgnR++QoikuNmZUH+7MrCP7V4ThtVjmCA5tSjzZwQKFQ8HlNs=;25:7AQ8oc6bzOgnEY7sZ4zxbG3OhHFrnXiyjTTpjUazzhF2z7/nvbPkqaD6P+p0fbTo0MjsbuiZnVlWCxwTNIxFSs3JuiyTWXjhafCzIM+USUfWPK/yy+6z2Zn9uDDaNdeApKy63E/VL2Q1UhY1IOEWNIFdmLTCNQwAJhNIbiuV72BtLVxtZt/QYfpiQ6J5qev6zsFV3hKLou4clhS7s7YvQUQwV3ZrsscttELe5F6hqwLaNvOBpOOYzR3q9fYBU1GG X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1577; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1577;20:bhvBfibrAPAp+wL40b+whWP6Cg9j9sgF4Lb1zK8rlGYQwb6BGuITtowKE6qoJEtCd3R0DxRIt1LZFWgMUBnhKuJgNa8SayKNTx5nmeVfBRcKpjuZmlrDF7byercUzI3JCeq6zV3SqHYbsDun5EwogI00dbV3xd+8ock2ExU09T4/NC6muFdRGHYtZo9TwBGLTCk8MuTvNhb6Vn41NdCfrhHPW4hVfO1DNbkZtTyNDbO189LraqWykLGCsEija0kzkgaZdgGwqrJ7Q/4bvbGWlvARTsCm2SYf4pu2rRmzky+pLI8R+xH6AlKSCEkATKQokTevCcEGL96lRFipbel72nm/PJzUHKY1GxHzBb1oSfk=;4:aabDH76gCDcQ7hS2uKGJMFgHkvuyXoW+4DVW4MB1M0BaQq7hlz4YbYrH0qyd44sijgK7OoF4PZMMmr/1N05eWc7QT3H0Mqb/KyDykrxLOjp88jdLL/p4TVpbvACJRto5+pHcjAOttsy2dl8iTUjEd6umQWULB/TlcyrO7V5gASwsMd03PEwnoGidsBO5+833cce4w4GYyLKuJx/XyKDWfyUGaRgI6gy4etXUbR4cY4JHd19GQfmNCvqluuVYf/C38IBWpfMx3OXOWj0ykg82ZThYOo+mMLlNx0muw913zqf328V7KFY2H+muM0d/OJxMa03ZErYwIv+6wxlUoa0SS7GSl4NSIi3+ftGYnSoBAJUKWVsH3PQuouzVZc610wJiIHpOR68nFpgNM1QKhDUzXIJpUnIYChm79ZRa8nda6Q8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001);SRVR:CY1PR0301MB1577;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1577; X-Forefront-PRVS: 0800C0C167 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB1577;23:/q2H5dAXwAaHBvxfC88KB/l/Pjx3GAO5s07lmjL?= =?us-ascii?Q?w9a6ehvjNPChkCs4PQmhjYgG29AVEukyWXYlyw0S1i7GY13mVqY8NlHO9fE8?= =?us-ascii?Q?4sBJ+tQEK16aYZGH6PyHFt+Q2ir5WVls2Z64YAkGKzwc7OD+FSJr2wOK6lbv?= =?us-ascii?Q?HQyJccD//6C0rqMMOR7xveJ9AqN4vY+pQiGfxWfP/ET42dYs5jLtgbesgnNL?= =?us-ascii?Q?+hx23T9l/wk4k/Vxrn6eEQw9TuUFaSYGaAyoa2RLQBTVZZ0V5BIhbMp+wyB6?= =?us-ascii?Q?wbsqy8RlFjSzEd1HAgIRMRR+9HaIhIaMHPyfxuSd9yXkcqKxTJSBg3Vkw/qY?= =?us-ascii?Q?+E2lt8hAvBzF2EFb9xHHe5Nu6vNzwEwUApWma3iaVtUBQXuIibDSuIWe9Abp?= =?us-ascii?Q?xcOvCytsm24zDzKs3/GD4PgH8hS9aQQPNQWwjH9SKRDUa8DqNqZJeu+r5W71?= =?us-ascii?Q?aEfCKJKivSq8NaOiQ55Mq+acfInyiPXRme2EGdvq0cghYG2+lQe3IuWLe1P3?= =?us-ascii?Q?xA+2LN/TV1IRq0MgKCWA7NWySz/4kdboAG5zfl+m51G9ZBhGG4yr+LgY8HnC?= =?us-ascii?Q?6giR0NwelLzXZ7+nbcQcJ9MA8f4iUKi4FE2yN0DmrYBVMiHgXTHY7gwk4art?= =?us-ascii?Q?A/93W2RlEpcOjNt3cD9xMr04IkCW18npxEUeMGHYIGdXP1UmaoRpzArbwFlX?= =?us-ascii?Q?//H+sUkuk0sa8KZPbgnh/5wu3eOoZfm1H+qH36aO3cg0n2tq9/MSh308JRYG?= =?us-ascii?Q?niNfdT6SfHxyjUd8o25Igy/TrHEBsYQtTxsfMxmFcqTvIo9AEr0yiyyM7s7u?= =?us-ascii?Q?Mup3c/TtzzMmhUjB/EAdBsonMMWKKLrim5Knzb5blf70hbYwsDtyDm5yDTb4?= =?us-ascii?Q?O2T9rmQS2cvLUvl6RqAPTbEu5936BdkTzdTMaCLuWJ6/rsAoXkKhVWKt7zhP?= =?us-ascii?Q?z75f9UuZJ4pvX/jG64L11iSfaeOmpvAV0GXaYS4N7+E9dtZHxwDIMcSL9+2o?= =?us-ascii?Q?yZ0bFxk6GGwFF2dOtXpk0RGoMYZZMYhcRPhLNaezlhy8HxikYannL328FkIm?= =?us-ascii?Q?NDIIOjGnlbNsYMrJTsvTkomy1D1NPW48K2u0+Z17KqPfQZujzHqVFJses/4v?= =?us-ascii?Q?qmibgmsgPS5M=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1577;5:GqOVbckQPDsgDWBVf/SEnvprXru/c5K/Dit2KIPW6rusGH+fXegYkHICY9ERaQeRZsM0pLCwWKe1Ywdcp4r/TzbubS/0eVc6gOR913Vh7HepfqCazsrxl6ElLxmTG23o/fLNGLsokar3yttCsXBrjw==;24:qdMN3DwZzGmXBt8U7bqo6v2e0JzMcpVmDVa9Zd01XwcQRMRDXdfPN7FVJYnTJbr3boCdZk2kz2zCYbOUnpDi3LBP4KAoYTwOJm4KtuM8c6E= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2015 11:07:12.1606 (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: CY1PR0301MB1577 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2192 Lines: 62 Set is_otg boolean flag to signal host driver when host is running in context of otg host suspend/resume. Signed-off-by: Ramneek Mehresh --- drivers/usb/phy/phy-fsl-usb.c | 7 ++++++- include/linux/usb.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c index 4e58aee..815c22c 100644 --- a/drivers/usb/phy/phy-fsl-usb.c +++ b/drivers/usb/phy/phy-fsl-usb.c @@ -463,6 +463,7 @@ void otg_reset_controller(void) int fsl_otg_start_host(struct otg_fsm *fsm, int on) { struct usb_otg *otg = fsm->otg; + struct usb_bus *host = otg->host; struct device *dev; struct fsl_otg *otg_dev = container_of(otg->usb_phy, struct fsl_otg, phy); @@ -485,6 +486,7 @@ int fsl_otg_start_host(struct otg_fsm *fsm, int on) else { otg_reset_controller(); VDBG("host on......\n"); + host->is_otg = 1; if (dev->driver->pm && dev->driver->pm->resume) { retval = dev->driver->pm->resume(dev); if (fsm->id) { @@ -510,8 +512,11 @@ int fsl_otg_start_host(struct otg_fsm *fsm, int on) else { VDBG("host off......\n"); if (dev && dev->driver) { - if (dev->driver->pm && dev->driver->pm->suspend) + if (dev->driver->pm && + dev->driver->pm->suspend) { + host->is_otg = 1; retval = dev->driver->pm->suspend(dev); + } if (fsm->id) /* default-b */ fsl_otg_drv_vbus(fsm, 0); diff --git a/include/linux/usb.h b/include/linux/usb.h index 89533ba..b7eb033 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -359,6 +359,7 @@ struct usb_bus { * for control transfers? */ u8 otg_port; /* 0, or number of OTG/HNP port */ + unsigned is_otg:1; /* true when host is also otg */ unsigned is_b_host:1; /* true during some HNP roleswitches */ unsigned b_hnp_enable:1; /* OTG: did A-Host enable HNP? */ unsigned no_stop_on_short:1; /* -- 1.8.3.1 -- 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/