From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753304AbdBPBBa (ORCPT ); Wed, 15 Feb 2017 20:01:30 -0500 Received: from mail-bl2nam02on0079.outbound.protection.outlook.com ([104.47.38.79]:40256 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752854AbdBPBB0 (ORCPT ); Wed, 15 Feb 2017 20:01:26 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=David.Daney@cavium.com; From: David Daney To: Linus Walleij , Alexandre Courbot , Rob Herring , Mark Rutland , Marc Zyngier , Thomas Gleixner , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org, David Daney Subject: [PATCH v4 0/6] genirq/gpio: Add driver for ThunderX and OCTEON-TX SoCs Date: Wed, 15 Feb 2017 17:01:00 -0800 Message-Id: <1487206866-4011-1-git-send-email-david.daney@cavium.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: BN1PR07CA0054.namprd07.prod.outlook.com (10.255.193.29) To CY1PR0701MB1979.namprd07.prod.outlook.com (10.163.141.21) X-MS-Office365-Filtering-Correlation-Id: 9c78603c-52b2-473a-802c-08d456075318 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY1PR0701MB1979; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1979;3:jVr5BYfFb5bGPGaPXZW2CPTItBsU/PGok7XA8RAbeVIYhmBPR3nW6/xozdfOO7ZitZXkqfbx3TdhpqhtTU6NLqjdaayrrXfNv8dlGxepwx6ZvK4i+ER8u+z6B/xFLB7BnjAWSQEc5f5aIfkj2uqL3fZo2PlEI1f0ous/+4XPt6W8chE3yboF0UsFX/ZICC6TSe44TTC93DE4BAGLACeqS1HX0dMfCHy6paa5WEBuhzj+PSdnIS9TmkfB5GRoOKXoNeGz+KfBJsN0DN2gplk7tQ==;25:DMs+4fti64ts1TPlMetwjhiTt/QZbLbBZiV6S05PiOaEyu6/lW2YH6AB8xGYXiEbYP37yoCV5SUL4UWf6AqEs8zYp9/sL79E2/TMhwqWBGkRupqOMoChBuLVVdrp+Sg+SDrzNeM2bFueipc3vDzaEvn2JVRNL11aiMgE8w1JeLbJW84j0cDC1xVL1kAUNrJMXJ0Yt32reK8nR/jbj7J6uI+GMswhsO1Hz72+xAkyVFowUo8A5pGRCOFt7dXu6AocxS0x/u4yFR0wUcPrMHDogc0zvdRizUBXjWc+xb3upxURDxSaTieS397B87Vx06cmeZv3jr3pAOHTM+JKKsyrdeRTcDQf4zrGQ2hrAi/mQIzgxneRrMhVmmEg8R5kkLFILaO8nmjluZc0g7IZ4XfkE22+dDT/tucu+TiuVv7bU32c6DHtkARYt7aor4VimPDd4PiRGhNKB5n734vNyWhMRg== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1979;31:z1SEkr7qfGBoITy0UcaXyXmR1VOn77f9+apmApYm2BWlDFPi6Xfj35WFlOjnTfvVC3oPJZM3rARYyG7IsRokM//ve2fGnECtYlkpRCDYyjaLiVg1zP836XayuXRO3x6A+NhXdsobbZbGor+95tc8lfBShdotADLwDNLDpVT8ZgYxJlGjhLiWMuXEsUXs/q20mo8UInImgkxvIt/UQUW6zNHR6kGl42hLQPBorIXNkDBT2CQza1D3sVPeengpDfjX;20:eJzFAEGH8SoL7LVa1mNjoMch9V+RjvUBpupB1SVd6YTAh2Gt8mkZgO6IjuPrLDUVMkx/QW6L9rB4uXUrMgrGH1JsrUQxAbhHuI3MdsSQHQoI1TTb6COeG0n2PgEQdQGsYM9moBcGuHOApQfs3uoKT5qwzIe40fwQ+bET8pQLGlNoW3YAVSGGFuhkx07ParTerqzkKoo8lHpWdicyD/U84wJX/jfyhmRSWvoS5UJ+yK4UjQS+27AD8dcweMwryPR0jtOUIU9WPHS5PQ+zqgynPofKsKi64CXJw4Ils1i3q00Nl29OtmVaYoD85sL8V8hKLvKxyZ2gwpBbmnmibtU+gE1Y3kiwbf17axL1ffgAJUz7eaLhAdtPDxm2cv7t2qEKw3U0G2n55R3dnYts98RKLPRDMVXAYTSubm3H6uoPFUrrB1yJkaTomqP4RL/YC+zuVPIO6rcjKYfqHPaK1iVrCif4DKP4mqLedAxoxn4Q5J6dzP+EpHQoChvQ211wOhN5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123558025)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(6072148);SRVR:CY1PR0701MB1979;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1979; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1979;4:dUDH9hoqmS39u7QazlUWnccHVDjaNjLuQOPFWubarptceZxjgnhpkBF/gIUMXIBhQnIW6HZXKMuqwzOT3G5vJ4ODYuJ/QvQD1nj5ZYa818q7F4oZhXF2IwUmVp4e9SVbRd2z8i9OwwXzJ/LzPF0LdwVl2JFAp8p6EEEx2qHBmqgNw/odg3cOaR7Qqd8Oq8VXlEDIps20vQvs2eKYYWKQx4gQTtVv4fxSeippKKv3F3IOh46hAenOGaQUIeva62usaytd80ICig+nttjx8jwvjYIU8SYlMp/fmLqlPzW1QyXMSmgAUGzWtaQ7PKO/cEJaHOx8CesejMsPfPZyWaMM5p0/Ueeu3rI4iZDDUnbRG7XBzZ+jfypGGdmm06/KXPEmhWRRyKVA8YqTwRQLKd8wIe0cJYvAQLxZN5i8+7ti2nLwaEsZ7EN4pzr7T4wyHdBAVoMXBmCprkYT9yqr5jNvXlRmpiHKcmXUxbNe+coEVEp1QZ0GbSD8RqO82R5H+e19PZbNPjadEk9FOr2dWzFCOvmW1CweB98qXSXJfWvibDAvPxh97MmtzVV9/YPLBspQvoqLrMfXqf/c4CjU696ku8v8HH/Ru2ICG8qomDj9vmk= X-Forefront-PRVS: 0220D4B98D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6029001)(6009001)(7916002)(39450400003)(189002)(199003)(5003940100001)(6116002)(4720700003)(7736002)(86362001)(6512007)(68736007)(3846002)(81166006)(8676002)(6666003)(81156014)(48376002)(50466002)(6486002)(66066001)(50226002)(38730400002)(389900002)(53936002)(69596002)(6506006)(97736004)(107886003)(47776003)(53416004)(106356001)(105586002)(25786008)(42186005)(189998001)(2906002)(33646002)(305945005)(76506005)(5660300001)(101416001)(36756003)(50986999)(92566002)(4326007);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0701MB1979;H:localhost.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0701MB1979;23:JUAaCSO0KkRfRG7tpltzVXZF/PhuYwD11ZECM2E?= =?us-ascii?Q?TZa5QxwdsdnwH5xSZ5yAOZbNg3KJ15+TYZlVyg/O9BccQEH8PpGWVOv4Eqyx?= =?us-ascii?Q?KfU43iMtKnaTq++DztoRNwPqSUWP6sJDAXS523HA/UX5SDsffZvzAu+fGjad?= =?us-ascii?Q?N9jLmpGugETITxrx1YUMGzrX0kK4spiMMDv9yQBTAne6iB4zCWBzIceY/lt/?= =?us-ascii?Q?8DJ+dy1m6K5BWXR9z++SEFvPxubNxIqu3SaR3/aTBZNkdb/TafTM5vsdLRG4?= =?us-ascii?Q?ah72njJDILWj2OT65eJ2C+OPock9ywfg5WqfAcw5qg3bwMkFr2DUNPWal/g9?= =?us-ascii?Q?egkbOx01A/oj4PMmeyqjiiXM8JdhCFo6NckRGpmURQwuz2yw5xqQQSQEz5zf?= =?us-ascii?Q?hNUduS6R4aogsg71k43nvWrlSVVONVgP8Y1iztPoax2NOSv7jGBzpi//bzwj?= =?us-ascii?Q?Wbltc8GqxFWBw8qgVVgS5Wiueq3oB/FWod7aC23LFb98j2SzR7fKR+x68TgZ?= =?us-ascii?Q?f51pehIyqq2AMTJVGqr7cPMiXbUHbor3neZJbfxIl2dE1oRLtI2/N47y8xJR?= =?us-ascii?Q?i3gxPOFfTM1ITuIRFjnt+vRU0Uj7vesAO8bsAUj+Qd8YkLVOtExKCRs2rJGt?= =?us-ascii?Q?ihn2dv08I403vw5dDE7Cz+l6/7Ywh4yh7JJos9v/oml2ZVNpSFIDhPdfvO4c?= =?us-ascii?Q?EEF1m2mZSIcaS4LgpMC4wrTXrCekrJ6rkAzZrgd/5QlYpkhA5leXn9DnpTwr?= =?us-ascii?Q?uh/ow2OVDxN6RKEIErEM4wPjnRfWU+ug4WJkBAuFKtTLue1DZU9g0jsCXm8E?= =?us-ascii?Q?/cf6Eb3SfjT0brCl1iP52i9DLXp2NBkArgDyEt6lpeWpmXsbsCloA7GXM3sp?= =?us-ascii?Q?tWEV//l8/SfxTAq7NigL1JmF3Da3n3iFnW8wDAmbYxanHRpuASVYyekUIkvN?= =?us-ascii?Q?CfjffaNztd+eWNldn2DFNw9L1OL8/VW3EfKoduVIldcScORPH7c2kC8D/Mck?= =?us-ascii?Q?MFpWtvOFauzZSbX1bG8XmPxViChg7Jk/mlv0rkuiy8xGXy607PIQH+lGDgBL?= =?us-ascii?Q?7e8pp9YoEMhu+xZmR2Q+0KDeH7AlQHSiBObmNZMuEpvNzI66TtkuI12a95hO?= =?us-ascii?Q?1q6RWcxILW1omij33dl7IisuHA4b3mnaR/5YhZgjXfdGgackLWYngViwUqj7?= =?us-ascii?Q?jNyo4dLPj3+2Tx+U=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1979;6:K4l15k5mRySqSU+xCDhLR/zgf3c26igTdFC2kT6Fq/7fJVjgWOFZfU/UjtgY/1FB0o2d7sb678Mhe642HdjCqfRl46Q99mSjfb04LAI/tg6Cyq+r3CIY38eQtR8+0xEpWJ0opeBgsYa8kCp/bKzeTDgw+FZo2QaYP0wW8DmbphNjpWasWSF9obEqlOEDfZPrrhGVUIw3S9t4vmI64+A5/k13GwFxeThsSwqrF1uRRWePp2v1LhM6YG60VAEFYaSKv09t1JYHDgJDduXNSh2/h+gaILjxpZ5zSKiIUoavbR91PWoPtMCN8N8X2rTLBn+Apc138C5gFxIPsNBG9LJycBzbL/v/0mjM/LDSY9IZGfj6Z8oiQqDoHcAkDNK+3eNMNEOLPhBFOAqQCPKhqQc/5Q==;5:sFBfiB8gdS4R0kSP0BSsRBao9/mYb87GHVKUMih1kjSaHdcOJfT+NQcvimzyF7h8CpJrJDwZVxrpBsEk2WMYPgAW6oNJ8lhn1Szbscq2HhkbzKupWpLJzliGk6O+C8RWfC46+hlGA/7OF6sVm0NE8A==;24:NBXPp9GCnOdjPE1cUpkscA+8yt0F/ZmGNRi+N/wsnWvHpXmwiv8sVl20NnAd/uVg2v4iexni1KPnUT5PHxdhdXYDKO60HFvpKJNgUp7MMM0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR0701MB1979;7:l643RgN32Yp9dRMVAJ3XvKNAS6XRfybgb8/CCMofZOlmxjiTdl8msELfncMqR9b8OxlffHPi5xBsBdDcFlTLfYjDUa4uXLMa3Wv6IEKVhHVe3DEo3m2kUodctPmcB6B6x2OCMP6HsE/1oB9hhUa5A3WCpJUDGEVWoVK9eVeUgfo7k3sYxR9Y+p792qH95Qdofo5cJIGU3oGCWWCxtTScKSsUC2Z4ZKb6/2tW/YXmtIjEbZ5S2++MCzRZc4eHO9YRttEBVTeREMLR4dWVg7vg4urFTEpK876pB5y3uGTi2dPhbmXO8j3Huxooiifbx66H64ECpX9cI66F/gri29HCVQ== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2017 01:01:21.0581 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1979 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The ThunderX/OCTEON-TX GPIO hardware looks like a PCIe device, with the interrupt signal from each GPIO line being routed to a dedicated MSI-X. This interrupt routing requires that we add some custom processing to the beginning of the MSI-X irqdomain hierarchy. Changes from v3: - Add some "depends on" to the driver Kconfig to avoid build errors in some architectures when doing COMPILE_TEST builds. Changes from v2: - in 4/6: Added Rob Harring's Acked-by - Added three patches to genirq/irqdomain to support interrupt code in the driver. - Rewrite irq code in driver to use irqdomain hierarchy. - Other naming and style changes as recommended by Linus Walleij. Changes from v1: - in 1/3: Addressed Rob Harring's comments. - in 2/3: Trivial cleanups found in internal review + add some comments. David Daney (6): genirq: Export more irq_chip_*_parent() functions. genirq: Add handle_fasteoi_{level,edge}_irq flow handlers. irqdomain: Add irq_domain_{push,pop}_irq() functions. dt-bindings: gpio: Add binding documentation for gpio-thunderx gpio: Add gpio driver support for ThunderX and OCTEON-TX MAINTAINERS: Add entry for THUNDERX GPIO Driver. .../devicetree/bindings/gpio/gpio-thunderx.txt | 27 ++ MAINTAINERS | 5 + drivers/gpio/Kconfig | 8 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-thunderx.c | 490 +++++++++++++++++++++ include/linux/irq.h | 2 + include/linux/irqdomain.h | 3 + kernel/irq/chip.c | 105 +++++ kernel/irq/irqdomain.c | 137 ++++++ 9 files changed, 778 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-thunderx.txt create mode 100644 drivers/gpio/gpio-thunderx.c -- 1.8.3.1