From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755215AbdBNRt5 (ORCPT ); Tue, 14 Feb 2017 12:49:57 -0500 Received: from mail-cys01nam02on0075.outbound.protection.outlook.com ([104.47.37.75]:26048 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752250AbdBNRtr (ORCPT ); Tue, 14 Feb 2017 12:49:47 -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 v3 0/6] genirq/gpio: Add driver for ThunderX and OCTEON-TX SoCs Date: Tue, 14 Feb 2017 09:49:30 -0800 Message-Id: <1487094576-229208-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: SN1PR0701CA0033.namprd07.prod.outlook.com (10.162.96.43) To SN1PR0701MB1982.namprd07.prod.outlook.com (10.163.131.21) X-MS-Office365-Filtering-Correlation-Id: d5d1203b-a483-48e5-017f-08d45501dc9f X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:SN1PR0701MB1982; X-Microsoft-Exchange-Diagnostics: 1;SN1PR0701MB1982;3:WqzBlHJ8uwfczwdUPISm6OstvZ4H2lwGJ43Y9/+Shuf8+WumR2oGytd72VlwJcjy/LfhQ4BsjetssqH3F4NeI77YV0XbSVeL0i4i7eXVrhwAKF0v9HsnuAInuTbTCtra4pzZYnUYNWFNJU5VNmJ8klWWuFVcSLim6u5n6pvdh+mBak2Yd5/6RkKHaKy6+edjOZL8I4NmjrIFxrmZT5NUSwqagayuwVlgKx2YiDcO/Tc2uB5QY7+dvraAXKtBKB5pzS9LG2ynvGImAWfuv1T2tA==;25:K/3f6p3iLfCl1eri/rQrFZUkSbU4nrPursfABBKxO9Omk2Ygk6Oy1WyHr2KrlqR1U29jA8AvFnc03P8zrRateNLCgq8AN8RPJgvwrZoMpHGFmSy39Bi31F8zXRFi7YrBdn0aKWgsEgj9gAd6ZsKQQG1Ve3knOS8MRHD9Ep8vb8lV9x4gWixAMxs23zrqHodOdfK60XavgEMh48qZJtPDxh10CRmbFjZrNBYdHrbzc63Mg/qTAE3g3hH3kkcvtjIzpYhKxIBaWsyB4JLKh8H5ryCddRIaWcqTm/5w9eLk+uck1oR0xTkmjbbMNpmahLlIX/6Iaq3baf2JVV9yMJ5tLPA6KG4M0TT1xCnx/trHWeDhVI+p3sGN4m2KG3RXuDQScuOpYIRXsYTIXM0Njrs0howJVvWwFXK1YcQSAvMZFx8P28zJ3TrdKZ4SogEOLZcwwPW1T4k0ApIbU7MaoNU/kQ== X-Microsoft-Exchange-Diagnostics: 1;SN1PR0701MB1982;31:mTAfVIEqpZoCX80NalkrTVlY+giQKgfk4zu7PMLMdUvJQTHL2/5lmqYx2SotfbdbccUEH/M/1ou6TLm4epBtsXrpO2/f9T+awFvFAyibF4y+USbTIJGkeDsVGkXPTSc9S8mEidJYE0lO6jP3hnyaBVTASH+v1wi6hWvRMn1Xi4SvJUbvZU57r+Tn+M1HoR9kCn8aNHiFn6y1cEPDZvIuGJlfaU3REVPbfPaS85jJav0=;20:drItHV+zz7J5MhvUYOhzWMkGK1KufdiT3ghQnUZYHH9hv8XQ+FmBJwMnIc35CjyIRE+yAcbQ+2ihrAZSPH+LTGOnGsUytedl/80UpCeuAtMZQs5a7mQ0I0BmN651bRH2A0Fy8Aa149YmQeCZUJRbJFjarCLhDgGuKHv2eRLcMtM3mEVxVbX41/JIVLTuWSy412dnFHZOAp/kN69C1VzZqFbH+ZB0IJOGRsZoPVAdVlUp7VnLFRNtkHjw9UGvtx/J9uMvDdBKmGDFqqBAcTMTQq0Lusaa4XR5y5U4rKvsf33mTsuqs6YRPt5BEMHah7Btcf7b5OdeJ/p7ME912zVPAP4oJ7BQ3f6KzQKhATOVeHTzpD7r8fHdTzqzK+R6zaW+AP4Jx7Qae1bOgBkZ5Dl3gJPoQIDpdNbt8rTnNLHidPSKEsP2E5WQGxf7UZ7Vaes6sHstUHoXY4vo64sayZCECc5WceVoxQwtW7nU2xK2TrPueegsOx/cjHSwc/PTjxuN X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123558025)(20161123555025)(20161123564025)(20161123562025)(6072148);SRVR:SN1PR0701MB1982;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0701MB1982; X-Microsoft-Exchange-Diagnostics: 1;SN1PR0701MB1982;4:xJVlllJeQkQaORGj3HxmEyTjrtVbhvgrMMQPmI4SF0Y4ZhspufXpt9Du1C92AFivGFMR/fyvDEGG8Ddrhh40al3VUnCf51JxNBqVSCSv65FILqYMmAYQE2vljGEJZ6ZPRQ72WRaCvsN0pSlWBNm2DG4eklRwY8hKPi3bPl8GH7rurkmklvtG8ZQJsCbXcHTXAbNT+pWtMyULxc1kpyUIIWRWWC5hv0SL3pXMWI/c/1w5KlMadrDHpJ8Lo0HMnNzCeWMOnTmxoWbUNwfeDoKClII38WWmyjl9TM3820brL8bW8kuJJ0Sw2UKFtrKP2Uj3JbjmzabyKK9R+tm1Gv6Y0XFlCWoBFH/T3wj7tw9pxdKBUf0EyiKUUUh5MO6w+dYdJRlnKddakoXsjr5eAtSIx9P7MwrHcvfOBOyZ4sVFDrUH44KjApT2ezK1/SYB75NYdOUMByzQOIptmGQSzg6PfJKLyuQzuNM+Wt8rfvdgvU1RqdMMBKbk0d2vss4TT9M7D22zzDxqKxeHd2qw4SjmnpTjTZ0tpxrjlECSUc86Mcu0Mu/GdfjnxhCjcE6tc9mGmjTFUCfHZ7ent9oIGxPS9dHskuSnU+3ruvdohWqY8OY= X-Forefront-PRVS: 0218A015FA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6029001)(6069001)(6009001)(7916002)(39450400003)(199003)(189002)(5003940100001)(36756003)(81003)(53416004)(53936002)(105586002)(305945005)(5660300001)(6116002)(47776003)(38730400002)(107886003)(66066001)(42186005)(7736002)(6512007)(3846002)(189998001)(4326007)(106356001)(76506005)(6666003)(50466002)(92566002)(6486002)(50986999)(25786008)(4720700003)(33646002)(81166006)(81156014)(101416001)(68736007)(97736004)(48376002)(8676002)(86362001)(50226002)(2906002)(6506006)(69596002);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR0701MB1982;H:localhost.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR0701MB1982;23:49u4tedRari8ptjR4kwfAnIKIC8Frbk1jrcVVNu?= =?us-ascii?Q?XrKYU3BG00iED9FfLp6pGIBBM/2CdDHEbuwwNuKOadzeXDGUT0CBimou9XO7?= =?us-ascii?Q?SNhq3sdWnoVScfWUFNqrZIEO8DHk0Tcnm7Vw97S/Q03DWFEdQlqUqBQwUchQ?= =?us-ascii?Q?EYg7v4+US/B14K2KYLI/g1kjUU+4Ufcwi6ZA3uGLYfQWNZgYgGq/xYfOuM1I?= =?us-ascii?Q?fuop0CGH1YmBxnj5hqf1f1MPKuw0rviuYspZkF3Tx1pjNUE7iwCDdBqDmRwP?= =?us-ascii?Q?2wmtgZLMrLMdowjYSFdIkIWorcD+ZAplf8UrjRwgx6tev1bRjDDtWD66sBl+?= =?us-ascii?Q?qz60YQFgX58+diuwL6Fsj8adb+lQtKybCVAJ0cZLHfid81DXyicr4iluXt0w?= =?us-ascii?Q?Wr71CAQ4AQEbWdObDR9EBx0S5jdl9hHTIlb09eKARPMJ+XRfwLYpb1N+laJI?= =?us-ascii?Q?99ryAEjzUpQlPFiwQ96KYOxk5N9731ccOz0G6xK+HRgl3IIoqOd+i1oR5wZV?= =?us-ascii?Q?kq7AeuPuJDgaVmodvo9iexpkVZjDJpjM6/ZTnOa+S8g3dBwT7S01c/q2jEks?= =?us-ascii?Q?C6eSOYoaVn2E9CbgBpxKHs1ph0KgHhOjFl9U7HUiOOJR4THkFo5BU7HImfQp?= =?us-ascii?Q?sOpX75QP8aPcMO6oVD9nPu9vhyJX4JRAbNLDKa074FSVb5g6Y0cX996iekl+?= =?us-ascii?Q?1yVFI0j3KeqEwA/zoLkYyfwtRA3b1Ca1evYi7M/OVG4vmO73tt3Sbnf+nquu?= =?us-ascii?Q?SjYZrT9NUED31ejuN6FssQ2tr10WtSfMeXIU1JiYzdVjNmSGirJvR8f+CBMr?= =?us-ascii?Q?3OAGCSw18Yqsbi58TBXLTg8wf/S7kTHm603lzjZYNyG/d4kMVC5wO/FvcizT?= =?us-ascii?Q?6NeHQLou/H/1w/T1Qas+Ela1h8PgYMvvoP4j0c+e7L1MRj++2WerEnziqtvD?= =?us-ascii?Q?Iqi0ScXXCaVrWGIdLMEqicoYT6IEb4jr8N9VPIeIYos1NeWMFQjUHHtWB2k3?= =?us-ascii?Q?jvlBCYb/Zyngw+yOtPrmiLiiFR5Pb3TXuoXqzd5WMSKXXzDpoEnqBCRJ4hjj?= =?us-ascii?Q?7sTRbQrrnqOV4P7+jqZkJhyM9a/8vyNtheAfWz9gbnhL0Ii3secM80Tmc9RN?= =?us-ascii?Q?hZ0JvAB2tiPQX0uHwBOFsbanY9ZnvIhrnaZ5uL83EiyGGJYon1HzybNYOHbA?= =?us-ascii?Q?AnoiHCtXxrZ9fFdE=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR0701MB1982;6:KJ4GYxiNeHD61PgF4uJaPu1os+yxRxtwsgNixqvD19Chge6+w4wKtpoGK2AMdGeMJjaGsMDC1S1Z5ODDXkL8zLb9V9t3981p25h8O+ydQHBiHAXXo+o7IxPH+PLHrx1NulR2ejCLyBFxvjhn7jnMqCCIZN0CQyxywpBmUN2tVMU+o2EFwkVX+QOoXaeiOmkr6vH5ekXe4nQ63X274B3rNCs6c65DoH9bcnCWJJH5AMxWaZptny2ZELbc9vPF1oJEhOqrVjOrHp18JGF2X8WAY6kL7mMcmNu4DNdQndG9NVL4Q62vc4DvrxJ4UNbhDvBBzVk/45wVs37xGJ13cD/2h/Cboa8UNgRhZbFddw8wTF3f9m31C0Y2d4yfwFUHZXmtbqLdrXpT46ZJ5+w7rjl3vg==;5:/pWJ6hwkQzt1iW0DAvtKmdTXk1POKfqiruRMgawAP1L8Lf8n1VREVs9Bdry16vWQ/uxLjJNRNTrvqB/S2YG44k7BHXverweZeWvyXVOhesUzofEpH8wC+Ntt3WvQAnhgxlIL9AW08EJBn+2yt8WckumTgQkQKb9b914fdPTrCFU=;24:0q2MlnjIJGJJplLAAEvdGOGcQTVn+lr8gOmfJlHLkuMeDgZu67lpDFZdxXRXOL74UIaJIaavId5vCSpQB7n0bKgJR+5W/mRSMGKJ6x8NuPw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR0701MB1982;7:DlA0FGmxfJCnNTuS8z9qidRqR5PLpipYOf2NuG7el2dTjGJ9at2HDJP6DqhanV53sfb3FVY6wyNTQESvhgwR9ohOetqnKFtGokPMeoU7rFkhhohjSF/AqBUZsBoYe1VIbVhmtUlyiV75f3veoTCH6T68MUSxBXvqsGWDwlFpINaZTvCg2SZqFT6pRcW0b9O6PrCidD/Hnewqs96K5hleoPrRwoNgnDlXhbbsZDq4l7fdGWUXW67m1miKbMJqhLweIdhRRq8LwVy+VKbQwBT9K7OkO0nNkngw9r44kNqhjXyqZCPKfam7wT0neyzlbHheaZC29JWE0QxsZzVyo1+jP81n8/3OdcV5aFZStWM8H/OVNbCzPXscU74RrWp/Oh4JVndSFmWaqUGUkdnalRKPpBIMB5TfOudqaMD6czO3UxIvviKPpBC9MpqDzTyPpj76yJD1oulSfRq6YoZl6VbmqXV/5yThvbSafv78xR4dYJ8p5s/xqaROkhRL/gtTtSJzzXTKL3Ok3wS44cQgUTtjBQ== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2017 17:49:44.5564 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0701MB1982 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Per the Subject: Add driver for ThunderX and OCTEON-TX SoCs This 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 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 | 7 + 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, 777 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-thunderx.txt create mode 100644 drivers/gpio/gpio-thunderx.c -- 1.8.3.1