From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752788AbbLIBtO (ORCPT ); Tue, 8 Dec 2015 20:49:14 -0500 Received: from mail-by2on0093.outbound.protection.outlook.com ([207.46.100.93]:36016 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752594AbbLIBs2 (ORCPT ); Tue, 8 Dec 2015 20:48:28 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: , , , CC: Lorenzo Pieralisi , Will Deacon , Catalin Marinas , , , , , , , , Suravee Suthikulpanit Subject: [PATCH v5 2/5] irqdomain: introduce is_fwnode_irqchip helper Date: Tue, 8 Dec 2015 17:48:03 -0800 Message-ID: <1449625686-5594-3-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1449625686-5594-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1449625686-5594-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BLUPR05CA0068.namprd05.prod.outlook.com (10.141.20.38) To BY1PR12MB0437.namprd12.prod.outlook.com (25.162.147.139) X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;2:6v5mo6DchcNpug1+HqUT3hAgg6bdpWO385u1lFl9UepYHq6oLMguFTues8qZQ8ISH2gLUM4NNRgmZfuWFOAQ0CuNZuYy2z5k5nKzBYp2krpZl4psgbY5zuVV32Bgka6/4YDkLadkQFXrMYmWeU03Wg==;3:RD+c9Dp7XJmT4AEXGxZYcVLgG9AM11xNGZkL4JkbHMkOlhroD4BE80bJulbWhMvmLIEbmkP5ywGFvi2sxDsP9SWWUHxoAV3/QNYZUurw0x8JBXPXTcsZh0KSvv1Jv6TB;25:S1mqLJP1pW0RCrRdiktisX/0C3Gylxuci0HeK8dRX8UeQhmjjAYOU+j9zO21PCrUqEiFaKgCagE+m6szdWDnK3lOM5mOFdCstuv4ka5grWdYtI1dMDhTmClHHr/uqKdR9cJJb0MO/dFM/4ff88RekX86e2MGtD1yGZ+lLkse7XQVIu06CZgVct6E0ol7jONM1tMcckWMpYgtxB4EpFRZb0nmNOX/E2EXAXQCh09iPwZNjSCNgKNpSlItTvX+f1hxpPYRu08llkj5uI6H1vZJVQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0437; X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;20:9lhlS8Q+EEvFFezdJG8Nif+jL/dJlIyGYH9SWnfJEoroZCcFpQhGJGV97eCjuyttZHPJiUM8HH6vOaoKnRu9TuLKxX3jwdUX258EYFibZuqcuBO5KRvMHNNdQZ8PT4cUAkiMlkYmFDPx3orxFGaZHoLFE+MR/hhfTF72BhVLv2t8NphMFPCaLlckT1XLKlcuJUTCjz1jQ8HElK8m0lzH9wngmr1heG08GnBcGbaN+m5roL1eBOje7+ojS56CclfGuoY8uIJFLmE1iaDNt+kJAi0zb47cPpqtMjXo75U1zVuWXffA0ENQVpOi6L5e1SduIx5Sumyy8tO1vGfziNj2yLc3unaRgjix1YxnBX40LqsFTp72DibWhlmuz3RR3ciXlL9snRw0FAfB9x9c0PstP55pXuFxaVkvBGwCayXc3sJW7SVEpagpX5ObbqeE2du01NpNl5fwiVRDM4Ui6HGtYbHoWD17kyDaUVmhtK/EubQfr276OTnds7LgPK+gr1Y5;4:qnSZBq6tTBfg0ndTgfdx3MJaXJi4cpbw74Tk30SOPFA9v4/lT8Rddvj/y9VoBomsFrMCcNjBA2M2K4XjnAP7WIigwl8VPi/rm6REt2UsCtNDSV5+9fWV7zB2jtuGPvB3QuW1AaCd6cN5kxij9JClRUn/rXN53WvlUkWbgRCN1P+RZgpOLJvF2sF+j/qvaLZlRbmWr3jBk1rTdXDJeyRl/Ey3WDQU6pCTH0moDIIKMMRrfqSBzStKT2tgNRBnhNkrVhopMi31vS0u6eQdPTg/MbQIQ2yFMMZAPOXPuYr4UqVTlb1ZEFk8G3Pg7J9xwawFVUJ/SqhIWrxDTemKmOXbo0dlG0e5QF9ngGbXn7zpnivllTCR2Eir6vC3YG1j8qNBIx1R2hGN9t/QCitNszxAjWiHP3MWicBktDH7LReSO4s= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:BY1PR12MB0437;BCL:0;PCL:0;RULEID:;SRVR:BY1PR12MB0437; X-Forefront-PRVS: 0785459C39 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(189002)(199003)(36756003)(77096005)(2950100001)(86362001)(229853001)(92566002)(101416001)(53416004)(122386002)(97736004)(2201001)(42186005)(87976001)(5001770100001)(19580405001)(5004730100002)(50226001)(48376002)(19580395003)(1096002)(47776003)(189998001)(50986999)(66066001)(5003940100001)(106356001)(5008740100001)(6116002)(50466002)(3846002)(586003)(76176999)(105586002)(40100003);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR12MB0437;H:ssuthiku-fedora-lt.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY1PR12MB0437;23:2HLKp2NVBmjxUWFwzWWK0XKZWdY5yWFwLNA0e/Qcu?= =?us-ascii?Q?E0BNGg/VH9HnpE7/sB6vEvc/6wwY7uqIcKn4oU8VLnXC0rGxI0GQarMDMlcc?= =?us-ascii?Q?RByDqWhcIryGD8AW9P7FxFKYAPm2/sNuYyiIeuhELVxS0nSaDvlWVLeWFBXF?= =?us-ascii?Q?PDluA33DLhWPpu+0V5FDMwj9MPGBuvvktV733sARkozuqGm7lBHGgx792dM4?= =?us-ascii?Q?+I0B+QuDb3zcB20F6SJolr98ldbOceyn+1pER4lAfQiy7FcMmMd5uVpiNPVf?= =?us-ascii?Q?5sHov//CchR6AD+bFRg9qj6v++eIIg94pfoWuuVJm2fQxwbSL1pp2rCIXuUT?= =?us-ascii?Q?52HMaKK4SkHYyWcpVQ5vZmRWOaDEFPsf6SKa8nGs6Oudg0kMSF7a7Hcj7YH6?= =?us-ascii?Q?/NnDIK8g7woosBM2UwTCScIfBKY3BCQeY8aBIkp0v+mcNIHinirvulzW8L+k?= =?us-ascii?Q?N8GzptDanNWY3Wo1vwgK/KFmXZXj8akgPWDkdXwSp+1Tfu6/IJUeTgiNzEQ7?= =?us-ascii?Q?FhqJOFgNIfR4zRsmnpbxEvbuKPNYlhBHXsDf4Rq7JjSpcED1369xUP6Nv5QS?= =?us-ascii?Q?rH9yS7IBw0bX7EdKBRF32sz8vHh9PsZM5ChaUg/nB6LvzhGZqtMEvC5+tVr4?= =?us-ascii?Q?4CGLMnCm4oyJ5P5Ec8fuZMzQPjXg0BNKnA99YBwGRg5xgTglOhngJQ2nVbJa?= =?us-ascii?Q?Kdn+G9WiRFzhxGPwvgCpnKyrvv91pYxBYx9mu6r+gTjVKEmuoRTRb+/+qDUQ?= =?us-ascii?Q?vKBlifxaR0x/yv39+wIf4TEdmjETqb7/JYz7VR3PbRQj7hyTt9ySu7k9FqNl?= =?us-ascii?Q?dWyLo5+nDAgqbZXV1QVLk6R3lnBjGCKfBAhsOw6KAo/bUtBLyak4QiZH5tYf?= =?us-ascii?Q?Dsm6Yeexft3b69/tBh5JQS0deHcFgkTunW/SoVPhBJfYP7Qzr6h44rmZeauD?= =?us-ascii?Q?VBpkIYhV/ztAg+WrrTBG0SgtHz7/yIhVU9NvRHL91FdwhbKgBWvnyF3NyP4K?= =?us-ascii?Q?3M=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR12MB0437;5:ZTUpN4CJzTr4s9nue8D/uus/NnmMKx5j18Fkbeec736Mj4xCcqw3L/vvsZkCmOiNIUs+PuHtgr2dyGLX8NFjnwmaF61OkLjkScCoFZz+TIpu5J1ydhK/0pZyGhmEMKU3nevrql3+vFhHHCFoD0yjwg==;24:NjYBgmYskvhJCkOusokVlGIoQi9uAQivy8AiSmiZUsK4K/OpmeEtiVBsGBKwnEGE3LYxN/6S5cM2dfs5MiGQtK/Os7kyI2EXdVqEftFcTFc=;20:fXsEiJqiqm4a9nycb9Bx/MWHBUrDnAcHQnPPI15YXuQwpe1krFzx/koETqwuCUkBPtYPDZTrYZ97RpEyuoCHfBADZ3/7QsJBGqGBwO4qca7I8+2svICRv+SPZ2+zNlS5ee/noY5sxfrezJcXQc6gSKbWRixzIt39JNcvGa2vKl0zbsrMVtq8aAhxcl76ZXhrEUb5VdpVrbNOpUeFAsYu+h7HJDlgUdCJ6MswbtBVXfLiAgUEQAPoCBARBbdEfgqK X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2015 01:48:24.4285 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR12MB0437 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since there will be several places checking if fwnode.type is equal FWNODE_IRQCHIP, this patch adds a convenient function for this purpose. 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); -- 2.1.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulpanit Subject: [PATCH v5 2/5] irqdomain: introduce is_fwnode_irqchip helper Date: Tue, 8 Dec 2015 17:48:03 -0800 Message-ID: <1449625686-5594-3-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1449625686-5594-1-git-send-email-Suravee.Suthikulpanit@amd.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from mail-by2on0093.outbound.protection.outlook.com ([207.46.100.93]:36016 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752594AbbLIBs2 (ORCPT ); Tue, 8 Dec 2015 20:48:28 -0500 In-Reply-To: <1449625686-5594-1-git-send-email-Suravee.Suthikulpanit@amd.com> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net, rjw@rjwysocki.net Cc: Lorenzo Pieralisi , Will Deacon , Catalin Marinas , hanjun.guo@linaro.org, tomasz.nowicki@linaro.org, graeme.gregory@linaro.org, dhdang@apm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, Suravee Suthikulpanit Since there will be several places checking if fwnode.type is equal FWNODE_IRQCHIP, this patch adds a convenient function for this purpose. 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); -- 2.1.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee.Suthikulpanit@amd.com (Suravee Suthikulpanit) Date: Tue, 8 Dec 2015 17:48:03 -0800 Subject: [PATCH v5 2/5] irqdomain: introduce is_fwnode_irqchip helper In-Reply-To: <1449625686-5594-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1449625686-5594-1-git-send-email-Suravee.Suthikulpanit@amd.com> Message-ID: <1449625686-5594-3-git-send-email-Suravee.Suthikulpanit@amd.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Since there will be several places checking if fwnode.type is equal FWNODE_IRQCHIP, this patch adds a convenient function for this purpose. 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); -- 2.1.0