From patchwork Wed Dec 9 19:24:32 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Suravee Suthikulpanit X-Patchwork-Id: 7811551 Return-Path: X-Original-To: patchwork-linux-acpi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 627309F349 for ; Wed, 9 Dec 2015 19:25:51 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 892AB204FB for ; Wed, 9 Dec 2015 19:25:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 940DB204E2 for ; Wed, 9 Dec 2015 19:25:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753957AbbLITZF (ORCPT ); Wed, 9 Dec 2015 14:25:05 -0500 Received: from mail-bn1on0070.outbound.protection.outlook.com ([157.56.110.70]:45504 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753769AbbLITY6 (ORCPT ); Wed, 9 Dec 2015 14:24:58 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Received: from ssuthiku-fedora-lt.amd.com (165.204.77.1) by BLUPR12MB0433.namprd12.prod.outlook.com (10.162.92.139) with Microsoft SMTP Server (TLS) id 15.1.355.16; Wed, 9 Dec 2015 19:24:52 +0000 From: Suravee Suthikulpanit To: , , , CC: Lorenzo Pieralisi , Will Deacon , Catalin Marinas , , , , , , , , Suravee Suthikulpanit Subject: [PATCH v6 2/4] irqdomain: introduce is_fwnode_irqchip helper Date: Wed, 9 Dec 2015 11:24:32 -0800 Message-ID: <1449689074-30609-3-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1449689074-30609-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1449689074-30609-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CY1PR20CA0108.namprd20.prod.outlook.com (25.164.213.162) To BLUPR12MB0433.namprd12.prod.outlook.com (25.162.92.139) X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0433; 2:0I5d77oiEQs4j0Eij2/Owm6Zz2sc3sczFhR9yJUhVwdsBvPd7GawcVVyxIm8V42soc5t/xNJYLDKqpUV9eaYdrq0/tafhU1vl+lRvDJcqjP6RYqHVr6KCXwECDTDLKe6QZV5uACANLFo8LJPSpioUg==; 3:xzM5AJ97qZ+hCnWz+kSQkvq062juFsgnskiaTO4K8Ji6euQWvJ1ZWZLdGkzrzc4iNFI69LXBL4i1iTRyNXAfSEvo88RH8lrOwA1xzfM9Te7jGbdjYMKR7++DoomwQJxy; 25:UK//fnq8td8SVKFbxV8mW0sizSQux/T529BUnBNvHlbX2HdJycJhOLct0uE3dR/GXEqzg/7Hx1SNJ0/wNVVFWP5nSqaceuFp6phosVSMBk2tPWw9QzwcTi5+/dchfGIIdWku9R2R0wLo+0xmZbDPC6VjURt6quOLcV4TPfhPPr2fWPMjcOU5NDDH1k/oExKCSjZt1d6+L80h7Pm7Kyp705vwiaHox+NbHmRozizYarwfMWTHXryJ/KOwHJnZuizL/ZpQEfe0phWFZl4uUON/Ow== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0433; X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0433; 20:1JjZwmJGF/Z2Y58PQ2v5Hg8zUrt+wyAjjPJa+FboNi+Izkeowj1ba1/FWc5/dYISNEQSMZrHO8wOc5iZSqTH4NdM15wfYrOnUEl19UaNBQ76MlPzJetD1sgb0hj+O4MIeSzjyVKYNG8j3ihkMOxkeaapZOvA0zS7vMa4F74uom9ZMFHa8T0aWwMjZwA3Id8q8hSZODgvVE1TFesq3wIgxikTw3/dfaCcDH8syOJt5x1moaImiCljmfS/k4aPBCl7DhfOkjVcbpLRY8RuRelE/Mzevmmd5JmchTFK5WZCq/PyI4BTcRLlfIQHiQIx5FR3+P22N7Vmx7l7q8gPKCRZooXpeQzDg2Lw/Wgq2Bh1PQa2CETJA/6UXS/x61j5U3k2NGEOVRqH+fxLfEBX8QtNUIWBtUmC+mfMvO8lyXW5azlRNOGbQ/Wn3eqW66Sn1eWW+6GIrSaX+Lb9JIwBUoKqZFXNTAdG4aZyNXq71W39T4tgobsoOjhBriLhQ3Wva1mq X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(10201501046); SRVR:BLUPR12MB0433; BCL:0; PCL:0; RULEID:; SRVR:BLUPR12MB0433; X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0433; 4:LQ6QDJL3mJ9gXzla15qjoREfNCCdzUJm7BY9TvacERhHrz2sMjJqmMxzan77PuhMVXZkw+VSjqdtmM+Zen+4f+SO5odwlKMWjlE+22DwmRnCsou7e/Br27d8sTsz/9VOxf2tmRkPAFCBkRHUPONdHHsbndniHxkuuGdHgygR0aMj8QzFQAK582hGWDsWQdmeWLIsS7+ouyY9G8OHY4/cLlW6zPXnHTRbzkwWduOwCwCxxyLXd2DkIrPDeEkOjNfPYuRgtsNNMVOgNAL4to6a3YVklgNRaFT7uYtXBOsjtS+RUPK6c1CWJaRtpG+vOQ8HBxXRpAj+q6Bq3T1l2OQE+LYbEpAtQceWsOey8J9Yn5urR9FoaHu6WoGnMr3CFbiomYTPuac4LsOJLhTilywHlUMqqDpN/7+W6p7/GROIGGlqLGSShcKa74NiAb+q9kfaWGQHDBGuHCLQKC000je/nQ== X-Forefront-PRVS: 0785459C39 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(199003)(189002)(5001770100001)(50226001)(122386002)(229853001)(36756003)(42186005)(106356001)(105586002)(5004730100002)(86362001)(5003940100001)(2201001)(66066001)(47776003)(53416004)(92566002)(76176999)(97736004)(586003)(189998001)(101416001)(5008740100001)(1096002)(50986999)(50466002)(40100003)(3846002)(2950100001)(77096005)(6116002)(48376002)(87976001)(19580395003)(19580405001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR12MB0433; H:ssuthiku-fedora-lt.amd.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR12MB0433; 23:89AUGIRbN6l8sTOck2BCRCoWi85GlQT9w5DTfEtBG?= =?us-ascii?Q?Pix8KNCrsDVQKczvovLTtsLuUNTyZ4+Y0+GotmvbabnVeuRrKCxr4aBNPX90?= =?us-ascii?Q?HimSHkg4R2sXvGhuA/wFazN1eLWR9BfFvB2GQixawuTzhg98M9tDz57w2Kh8?= =?us-ascii?Q?ESq6oOBo1/3jCb779Sr2ODkHCL670OVv+g4lHoiJPKFS9FCKNpJCUgp+bm4l?= =?us-ascii?Q?zkLbdPqC3mgY8w0OsBQ+PxUFf7MNWxByqj/cKHlUe53Y8doCubrNcLmCDsKI?= =?us-ascii?Q?/3RfdEz7/8KCHCFDct14nsTQQcGOksL/by5P2AKwXUEmgzbNF1HMtbr1rEbU?= =?us-ascii?Q?Q8iupOHkuPC9uoqDrZPtUW0z1Iq0Xg+ClZhu2f2rbk8VfKT48nkzyE8YFogO?= =?us-ascii?Q?fysBWe02EGVENG1VZdaC9yU62Tealw/9HT1yOy8SEaY2Moi9LAHBcOJLJ3/F?= =?us-ascii?Q?iMdUUMn8YYgiD60fgOL5do+cl+fM2lPX5DcM629WvGeVmoA+FcrfU8CzGm/4?= =?us-ascii?Q?k2PMiNt3snmyWZuWJ0ELkM96SqdXVDVTzZSfUd7aUnYDc49HvUaG4RRhnPg5?= =?us-ascii?Q?Xv9ICRrMtsBt9WXFJROiWaNm6xJ6fg++DkI5PQqEs5UdyWgD8ehJAK/yqCBx?= =?us-ascii?Q?xHyoIxDpxk/gtJZChaYVtcI0p7xUkj62BNdbr2xde7QKxBoLqOPUvdvlD50+?= =?us-ascii?Q?GY4eLafF+pya6KVDSk074/FBigpJgcUL+2BfLlkPWNWxNwjeE0Drk/MCll3g?= =?us-ascii?Q?tF95RosrZMqkaWXj1LV8vQ9KHxZWtP2o5FtjOZGlV5KDN03/ZjpuXisnC3Wl?= =?us-ascii?Q?Vd13Y7CnOJx4BlZGOcJuBeOL9wIwxPZY2srhKf6n5iprrrLntn4rVnntnE4S?= =?us-ascii?Q?ahfUyh8Rv0mnEmzvB7NqUxBV3bkZQ6l4wLZuByNg7+S9cdJe9lYMFVXQtwme?= =?us-ascii?Q?LeYnEPOvOpFS3ATs81CjiFcYzhH4rHY3a/WaLqpUicZZnCfluhGk65t0+Emi?= =?us-ascii?Q?bA=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0433; 5:Twk6IWQw1OM5jRDI2yGxzRAym5WDHu9lm7TVQP19XHEPat2wBfhWdxwinU2Wx6U727hc5AWaatTrUoCbyB7EDlrqpRb0CKRLjBEpGZx9N0Hj28rhAOrTVS6vmJzWEhUvEaxNJWfmLe08ki3TlAuKcg==; 24:33F5P6BMnPLBD12aM3ZPPx4GEizD9rdkInRQJYGc9YgkB6WJ84Al0CU1hPn2s32ClthvFQjnvHvRxyYEOjxqMxyDKWWwa3cStfMg5G7C4z8=; 20:4TO5AXI0tSYJ1GoCd5PYiXJpA7QU+XjaUsd/SNQFuqZVIu3+lmKCThba/LIT98NSi2HPuuKTYo2XeaUHN0jrEVtGTJVBUpRTTjS4tZeIlXv0wTcEtuhEo+H2sCC9T325pR/mb6d0MJqYWLnuqedDSHjCebbogqZSL8ewzd+v1oKqq+kXaJ3k1mrs6Qm3pdFSi/DG8gFKi1QqduuRiRKxmt8CJwy6gEkYJ7PmEotiX+KBk/UcsdUBrQiGhhWdQIKv X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2015 19:24:52.3130 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR12MB0433 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Since there will be several places checking if fwnode.type is equal FWNODE_IRQCHIP, this patch adds a convenient function for this purpose. Acked-by: Marc Zyngier Signed-off-by: Suravee Suthikulpanit --- drivers/irqchip/irq-gic.c | 2 +- include/linux/irqdomain.h | 5 +++++ kernel/irq/irqdomain.c | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index abf2ffa..fcd327f 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -972,7 +972,7 @@ static int gic_irq_domain_translate(struct irq_domain *d, return 0; } - if (fwspec->fwnode->type == FWNODE_IRQCHIP) { + if (is_fwnode_irqchip(fwspec->fwnode)) { if(fwspec->param_count != 2) return -EINVAL; diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index a06feda..d72fabc 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -211,6 +211,11 @@ static inline struct fwnode_handle *of_node_to_fwnode(struct device_node *node) return node ? &node->fwnode : NULL; } +static inline bool is_fwnode_irqchip(struct fwnode_handle *fwnode) +{ + return fwnode && fwnode->type == FWNODE_IRQCHIP; +} + static inline struct irq_domain *irq_find_matching_host(struct device_node *node, enum irq_domain_bus_token bus_token) { diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 22aa961..7f34d98 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -70,7 +70,7 @@ void irq_domain_free_fwnode(struct fwnode_handle *fwnode) { struct irqchip_fwid *fwid; - if (WARN_ON(fwnode->type != FWNODE_IRQCHIP)) + if (WARN_ON(!is_fwnode_irqchip(fwnode))) return; fwid = container_of(fwnode, struct irqchip_fwid, fwnode);