Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757193AbbGVRIM (ORCPT ); Wed, 22 Jul 2015 13:08:12 -0400 Received: from mail-by2on0142.outbound.protection.outlook.com ([207.46.100.142]:59080 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756674AbbGVRIL (ORCPT ); Wed, 22 Jul 2015 13:08:11 -0400 X-Greylist: delayed 79911 seconds by postgrey-1.27 at vger.kernel.org; Wed, 22 Jul 2015 13:08:11 EDT Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; From: Shenwei Wang To: , , CC: , , Subject: [PATCH v6 0/2] IMX GPCv2 drivers for wakeup source and suspend Date: Wed, 22 Jul 2015 12:07:37 -0500 Message-ID: <1437584859-64203-1-git-send-email-shenwei.wang@freescale.com> X-Mailer: git-send-email 2.5.0.rc2 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC003;1:BFZRrNJ3gmpC6DrI/lFmwiYP8kp64ww2kjwRIS4EZfPtSweJmEuhenP8U1A/L6NzqN3YIvqTgki4wy7ZXEvS2g3H53uhBJiS8tlF+8WHyp6DWLqQQ5u4i87TxXu+kdZOirVI1hS85vub4MvPdPM5shsrrBk1Aglspl2qghNSisQeoYR5OoMJDiCZry4zjhgaP4E2VXiBIub3bHZmS7lHGPAKHfal9hcUbsAXomj5ecA+55b33DsHPyAkR7tKFGUIuty9flVfDEiuJF34lOWFTUayXQOh3KlaTOa0Fwx40JfxUDXXV7FkiJBLdynMAKyBvKzk6DmM7uxIJdqzhC04Xw== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(199003)(189002)(105606002)(77156002)(86362001)(33646002)(47776003)(87936001)(92566002)(229853001)(77096005)(104016003)(2201001)(107886002)(50226001)(50986999)(62966003)(85426001)(5001770100001)(189998001)(48376002)(6806004)(5001960100002)(5003940100001)(46102003)(36756003)(106466001)(50466002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR03MB1375;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1375;2:QaFVrs2GW6strs34RjpX8ZYIwb90WMy+OKxkWKa9oEkRmfwODHyZKaJ6Obpb5NsTTJBzQ3r7h35iz8s8klgfv6JhcxLasIO/SfCznWUs+lpAZcGw9a0A74UjVQosCtEblZsEUMtKou1dW10XiyqIDur1bufsX2afNNONWnnxXT4=;3:WNHaOMPSB1xHWK/4o4l4CSgFEej5mds8cTkCybOwvP4XFxOj91f03yYTlESv9+2QUPBlvRVfcRj4cZ05wR/2K+XMfiTZYldInvFccXFNMYxjnjueWmSuDSf/AApAb12pXs/fFbCNZpfh6cHJGVdcA0d/3VYAOqCugiEwEpvo9aDT0mKnDPwYuOTchCUBNv7Yp0PJXAf7wnU7MzxLih+n0FhY1Wz+0QfE9WWw2A+8Kz4=;25:F1uMi7p+tIubolnnxh/HgpFh77C4KcFqUhhB+kW6UqA5CAMtMymrTRuCrp1S5N7mXZHQRMtXAETHS8RD08x1H0YrAvqZbLGq9lzpkzgj9ddsx4iiET1qD2syQAUA+f4q97T1jFA8QfTG9FJRMh0UHcwKHMlTn0xnMFdmOgkcoFkW4ZnRYH/l2L1LVwK/pJ7dzTpyuV45lWtL61coFeIVlf0I5kspw5VQUGXfNmUsXYF8mAyVvdegcCEag2EpaHiq0HGhYFEXl3n1+/VLdvUsOw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1375;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1423; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1375;20:iy9xs2w23Et6krsnRNGiNNLeE2vVKbq9HTWpqtR/fEOUO4KHRbJQwkusHRTEkHPe4l4b6WWxahJUrof1kqq4bn8jA3ec8vq0hJLC4M4WUJUaQdo3RsyfEP0qwD372zXRm6BU8mfc2isUxjcNMoo4vg0CX6dPeyBJ3RLCYXI0R5esScTwppwobhLp+tzab7i+cXRofn09cLRjllI2tzuLTxsdjDJ8rxZt3lyaW2tA+Uym98NB7Gygd1Evgur5/XfrbW1DL8M0gNoud/BLqVEyptX6oKD7bAyw/ixi9XSuwEqoMCQDN8RbwAie7LM5Smu82Ocsae8LZ+adnr3VqBwJAOHvb+hBV76DQbVu6U+HPdo=;4:91qacB7+50fdSY3q+KtCjjteFIdlsCO2ZegP0iMpNtyKloaPQpDSq8QTk3j+YI+qT6KCNL3/CfhcjRLdtyqLReQi+8EyAAQbiG9ODHPwsjbgnoiD4cS/1em+3XdB4eT3sIDC7jf+XO1a9vVdR/CFuKxUHXIcxsQLIMXAwuzPneUzLlSMAJ/E0dDkSQYWzZhlu/wslBDPiBSfFBWyoXKpNd+1+rZtRCQhcI9rNP9TyKQL61wppm2tMapzDa/LYfOhoIwrI9qeafblBQGg49kkNkKHawdFWR42GO0dMpcHY9g= CY1PR03MB1375: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CY1PR03MB1375;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1375; X-Forefront-PRVS: 0645BEB7AA X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1375;23:YXPIqaqXWbejfJqVuklvKKgWWP/M33lsOuWwrjHsoZDRjxlCbez8SQd7n3pqunaAHWfAprZ4yn6gxqcGRfE4p4HFXdh+a9eF89yr4vxf+OM9bqecpJrnYNcmz6oRiJgkYrVwhQMNBywjKi6Wrr9XhvZtlenNXOwez+og1ao5UfNYv7MuvTMbIh/b1RPz61UPDL8TCR5xz5qcMWHBGhfRPn/D/LqgjG8HNcQbUmNl83UchW/WkBhCuAdgOWaqYpnT1AxuEqVI93vLYhcjWEgoLpcIerT4E6SQZ23j7cQeqKWjebxBUJuyF+Wn2Kp3ES3GTfjULJv1X9WSgvo65muxisKZ7XtQP6IATpAcK29/ml0H5proSS3F9bFfs20C4g3TH2BvGbH6sOQvlTaPgdjcDG4togMxtbyEGHlrWaMmAl05tZtQrISS/1cqN4pSh+TIcMl1k5ZI1W7sCY//7JGYsguSoDnytar3oY/ru+pIT915D5C55z+BGdVA2MtgNsL9mlT+KwuDIdAxL1zCM7+j/ULGo93npPH6MeU/NYiIkzs4y5l9OdazTIkx2Vt38FLf9D9cemDgHyWsy60UrUm/5aDbIQekVtqfZ4grlUBrPIEKUAI3zTIZ2YJ3Swj4yoPPRTnwWuz8AKFRXCAX/uS2W1PdBydyj/kWBHMxiCmQWhuRAhWQekXh82eQa2uvaSNQH6QH3yZryyrE2uDu3ndUqpNM1IWk/OE6wKsw1jc7U8ssBsr7P6ycV4LC1d/NLb1FPVGMTmGuO0gB1x8XTMIvCvGEigqp1aM+BAd/0ylgdP9QPqRrIKED5jNcn0KN2yyJoTVwHh1G9SHTjY0aK19PJjWPwueiOWrisy+0GsixLoMBD3k1TbCHVhXCWOcg0ish X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1375;5:Kj2axSIzUjFYr+VybR9T2leFLWuz/QaqspCS9aj825rOxIffQ62LlVmQs2Qo5xD8bSFj737O+UM+4Q6xFjK67nbJMLo7Xber9sq8Omq4o9h2LkmWd/ZXjkzuEuTJJc4YU0zIDGEsFzxygvJWFy7Okg==;24:2UQpZ6xIpLys6NPXBGjSlksLCA8xtAuOSwsN2ZLfhE7OeX1PmW1YLvQynHhCWfF+sufPQJHEgbmynKZm0KVVf5sK7ClCIFnSpkiHH9gAgO0=;20:lCPkYh9aTDuwtuVvRnUJhtT5ig2Dcdchg60MSdMa1+mZTFTNRtEtxzENjdrDUcNgzVbkfR7IajQcYpyAh601iQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2015 17:08:08.2558 (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.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1375 X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1423;2:TqBiJxtPpOhplIUJIMTNJBHvMN94TAE/zGF61Zv4GQQjzBTbEYXwSS4i8U8r8AQ9;3:8jDEWgVDaYsq5M1fGvHhyKloo+lBUTXSXi2cFrH81li5h5UolZDyqXy9Eu4N6uk6+cdC+b5P73xSjRgSkGyFnLZ+Rv1VIhpktI2d1yP8s0XUBIvc9p770wcBzOEfVF1+d/O7N7bIFZJanVG6O/tw5n0DoAxwTguMybXpYLQcQmRklCRgEUKMNhMXkqLnl5qC096HbBtgHQrxBUEr7yOuywop0nMAvdTQUwyBLa1Nl8o=;25:zimdpIIJNDx3+WJqcl0Jr3itEcAYDBRbJdDQsCbdAQUPA1QhbStoTmNQPzoDcTZ1lNS+wv9QScbeg6+12PiFXaZ7A42L2WXyHp6pd+K4HiKXWhUeg+fOLsbP4kuOz+MrBm4uBq/GvaaTHf0YXBIezEYmRkk9iWBtsu902qt6j5+qrkxSo7DvUO1gV4uziHBsnkvxEA5HM5sKWrrTYs0Mmq/ucpfPzQFqwf468YSoZJ6Cc3VsxZt4bduTnctkw73n8WTch4zHCRmiC/0vR4z8Mg==;23:sOW1tJne4VglKHadvjwa2PQlPSVSHjX2T/sexLW5sQnBqp4JnFUXyoD6Jjzps3dpvW5GKtL3HnFOHxubBFk2dkG2Ru6J4Q5x0T4SPy4KMxu54emRLVmtVsIJdN8ZCQ5uJuXIDHjpXK95D497JQ033KEdUyp1Y8chbdv1yYXkOqGhbAbu/nE+r2Xxl1EdR0wwBzd9+TGTQeuqifMSmWY0d6ixTycf2YOx+5fowSmXeAF5idPXLDM/VUYPo2vr1j+n X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2156 Lines: 63 IMX7D contains a new version of GPC IP block (GPCv2). It has two major functions: power management and wakeup source management. Two drivers were developed to support these functions: One irqchip driver (irq-imx-gpcv2.c) is to manage the interrupt wakeup source. One suspend driver (pm-imx7.c) is used to manage the system power states. Patch V6: Clean up the codes (irq-imx-gpcv2.c) according to the review feedback of Thomas Glx Use raw_spin_lock in the irq_mask and irq_unmask callbacks Split the struct definition into two: irqchip and suspend Unified coding style Patch V5: Splitted it into two patches per Thomas Gleixner suggestion. -- one for irqchip -- one for suspend Patch V4: Splitted the driver into two function drivers: one irqchip driver for wakeup source management, and one suspend driver for power state management. Patch V3: Added the assemble codes (suspend-imx7.S) for SUSPEND_MEM state. Supported the SUSPEND_MEM power mode. Patch V2: Added the basic driver APIs for power management. Supported the STANDBY power mode. Patch V1: Implemented the driver for IRQ wakeup sources. Shenwei Wang (2): irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup sources ARM: imx: Add suspend codes for imx7D arch/arm/mach-imx/Kconfig | 1 + arch/arm/mach-imx/Makefile | 2 + arch/arm/mach-imx/pm-imx7.c | 765 +++++++++++++++++++++++++++++++++++++++ arch/arm/mach-imx/suspend-imx7.S | 529 +++++++++++++++++++++++++++ drivers/irqchip/Kconfig | 7 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-imx-gpcv2.c | 263 ++++++++++++++ include/soc/imx/gpcv2.h | 163 +++++++++ 8 files changed, 1731 insertions(+) create mode 100644 arch/arm/mach-imx/pm-imx7.c create mode 100644 arch/arm/mach-imx/suspend-imx7.S create mode 100644 drivers/irqchip/irq-imx-gpcv2.c create mode 100644 include/soc/imx/gpcv2.h -- 2.5.0.rc2 -- 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/