Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754377AbbG0TbR (ORCPT ); Mon, 27 Jul 2015 15:31:17 -0400 Received: from mail-by2on0113.outbound.protection.outlook.com ([207.46.100.113]:33427 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751587AbbG0Taj (ORCPT ); Mon, 27 Jul 2015 15:30:39 -0400 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 v7 0/2] IMX GPCv2 drivers for wakeup source and suspend Date: Mon, 27 Jul 2015 14:29:58 -0500 Message-ID: <1438025400-5919-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;BL2FFO11FD011;1:Ud0j9t5Kh1Tnd0G6Ut3yWADh0P00EJemMBhY59yVvo2f/EpAajBIOeJTLloEDQUF7OCDDsKdcr5FHyXAyNCKuCuSscCrHPF5TjGwLlumALNcHi9fjuzUW2KZuPtHv454NysZKk/1OI5741v9YaXsCyY6jwrXW1Iswmbg6Owx0iiGj9Z7N2JVVwBjVvYpZjx/0tzxZk2f906yOLYoAm1qbu9UUDZWVFPdnuvtWxChGuh3565yMJjZvstDtVIzz1dAOW+1LtaUPmryFf0ElwGye9Huj/DfbZAcYAZc7/FtQOGmuK/GdihqdB6uuDMlre4VvCzBdLJPNj88o4kQrjvl/A== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(199003)(189002)(106466001)(50986999)(6806004)(85426001)(229853001)(87936001)(46102003)(5001960100002)(33646002)(107886002)(5001770100001)(86362001)(105606002)(92566002)(50466002)(77096005)(62966003)(47776003)(2201001)(77156002)(189998001)(104016003)(50226001)(48376002)(36756003)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN3PR03MB1368;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;BN3PR03MB1368;2:QVmBPabIvH9Z9YiQgmBJDj6XNVQ+Abu2vF3sCq2pAE0D2h13Lb8IkyPrVNDXTShEdpGdis2uLo3tucyF0bvN6n6sfdze3ptMfNiWOO2JnwFji/bj929xPw8lngN9U9+fbym3FYscsqwwIfEzApLT3ld8UDorclpBbTLTo/CHUbA=;3:M0iQHaxp7GxH0axw1Ts/UJ0Ac/PPXPj/jXQykFR9J5rivPBpVj1t+iQ1c6qGg8iUl1PzhM4+fbOEcUERtUDL7g5MoVVWSydakULeUaQ2KHzkzMytqw7LFLwdNTd23LHjC0YFqv//Fv9Dg9yO3mV0v5MGRpaat2FHj2hqQJd/tCembRyM5rCuEvmWz7Y5sBEuq152pWyJ3cPvAIyArNx2+1m2a6ZTOIsvHEsw+02NNe0=;25:+6o2jX+Fvc9ydddkCG3Dsgu9c13shtLD+47sI/+9Eu46laYzE+8alt5Tuo9zj1uiwr/4y9FnFNDlPTbLkcM5jzu3OA4PmadMFawFZlPe3RUc/2pqh17AvAuieyChhiNXdo/ySAPd5M+sLbDSOQTE/thUB753hRXel0H3PV206ndfZ+az4XZfPkGPPJU3QQd+2m4vVg8DT408StkcQXmPfzicQ0zE8KsqGSPDvJ9ds+ySRVHAuZQ+pl0K/GAoBBKAWBoeZubTfQHHMsLl4BnJwQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1368; X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1368;20:lIrLeD/y5oPRsvFGP20NchVfAps0L9wLQlXEkMknZJfb9cm7fLLFDG9z7qUSUZTfPwHCF27kpieBx84OWiksOF+ww+TlE5o7sPP29e7EsaLelB6SN0wUPKCF4CbZF+y5HxhUGmH7a2ApcxiyWKy0FgDZG3QMyky1kygoQWrDtrrvgu7Uq2pmzREetNb7FFiJPAouShTlZBk/GGn1v01fPRkd2azXf2dSGxppQ4L+4QvwpCIlu9m4Lat5EJc9NL+elSqpvafPPwHgU4HDhCE7OnRFjR8jBZ7vYKq/QClKli52cvonoZCMuHJBFTceCYXDljSIgbWmRRhLfObaIymozkAoIju9/nn6JctEX6ZH6hs=;4:9r7lCftzNPZSg1kHAb/77qDPP35AtM6zFrVg/e84iRalK/uE3Vbp4kW6Ttw1/jMaKV0hgiLepM19ZkmX/VOa53+ZKWAixcHS3bz4UXAHePbvKpR7Hwyha3cf0T6nUen/9/UvNTXaAKkeF2ZvMDx2syiKitlYEOpiRTsh9GppdP+CxUlbMBCNghXDGXIgneCoSQL+kIVTWABCNrSbxxiuakVSGAl8iLvRgnOP1WTZ1r0ACbTfK3bDCBzYm/8noCrN7qsQP6kaHPtLuNUROxWWZ/rTPF53V43fqt1oMkhQZsc= BN3PR03MB1368: 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:BN3PR03MB1368;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1368; X-Forefront-PRVS: 0650714AAA X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1368;23:xWxbLlZgRv2s75OlEuDfVMH9O+IYSsmepl/4+QOD9Cp/m7/p6yucYBybxvp+13o0Z2IDkdNdGoL+O/rPLkWJPpJ4zKU50gvWmVclV7uAvx/Qpo9eRDI6+VHzskNcQ12dY1KMAbgQmWa/9pirsimXcyFS0cF+KWo27o7V2DOttBt2XO5Vc0ML5UMPF0KePA6Ox/dSGlzrbSL/bTyb2Pwq7ZXTKCLs1yqzZiLY/vNECec0aLVsEWm/LElgmVlKSZ56Th0JmBYS5LnNoIbl9OpvxfuRHqSOcdWX29vT5sSaS5D3s+rw9JSjp4vdSb5RTeHMk2AeSioiMDlEKzMrUH8BqmhCjk7Z2NIYLz94iZT0dquR/lhpBFVkGUIEFaz4n+rF17mzryMhwUluH76SRjlDDdK0Sr0BEf0g6v+3bRZp+urZITGeEGq/msJwt4MeNseS69cSCOZZuo1sZyZH+hv8oz6EUZB39QiHkdjxJKEv/h5CqpiZdt7EJTFuEIIeiimfogiAszaolq1ghGnI6cZLYKYay30jmneQAgkoeNZodsRD32r2sgmjWxNLgeI93zR1gkxeb3B79ZVDmBLGre10xlFWmq/3TX9t4UtW3yq2Do298zutK3Ninlm9fLJYU83DK7oetSyUct4+04QiEXdP3d3qgKyhmYftNUIr0L/iqXM7S57ik21gCWTYH7P0oYtUvB+ShzCaigsEzjgwq5Q8KmNxyLf5zPm2Ze4zZ/tIdPzVghNZzfAkwED10xdMDthdvkb6tJmtdEm5SQc7Hj3EYHZOVTjy3Qeov+qGH/+I5BK8VGbvNOoFX2qsmTRLcEJ8L8XM8PtrsXFHwVnbQfl/mg== X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1368;5:NgZSRWnKhlKTQk1fic1Q1bWkTrknX1d2lBqhxu0yvL1ZohN+f5q5jeKt1Snep5T2axiqYSVl5rLdAVpQzTnCSySnlKfp4MeX3CSzFFAZbZ5lAsiJFovYV5EdK8Kizbc/6O/jwp5+7C8N7ZJ0e1QxfQ==;24:+v0uW4vvsSIzEd5uoZ35v2XhOPHEtXvvJycnRrkcX2LhvAw0Do8dER2uGu++4lCSigpVLqtY6kNzuHMvLVfby6hCESOhpvWrwwfmcKoWBLE=;20:Z+iBZZZOjOn9HedyvejOCKObOgcGHR0TBAAI/33pgXlw1k+ff0yCl0DBaWTfOjBejJSJIZTTbVFdvbaYzvccqw== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2015 19:30:36.4093 (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: BN3PR03MB1368 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2306 Lines: 68 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 v7: Move most of the macros and definitions into relating source files Replace the spinlock_t with the struct raw_spinlock in imx_gpcv2_irq Code clean up 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 | 901 +++++++++++++++++++++++++++++++++++++++ arch/arm/mach-imx/suspend-imx7.S | 529 +++++++++++++++++++++++ drivers/irqchip/Kconfig | 7 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-imx-gpcv2.c | 254 +++++++++++ include/soc/imx/gpcv2.h | 25 ++ 8 files changed, 1720 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/