lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170126220504.4796-2-andrew.smirnov@gmail.com>
Date:   Thu, 26 Jan 2017 14:05:02 -0800
From:   Andrey Smirnov <andrew.smirnov@...il.com>
To:     linux-kernel@...r.kernel.org
Cc:     Andrey Smirnov <andrew.smirnov@...il.com>, yurovsky@...il.com,
        Shawn Guo <shawnguo@...nel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        Jason Cooper <jason@...edaemon.net>,
        Marc Zyngier <marc.zyngier@....com>
Subject: [PATCH 2/4] irqchip: Add IRQCHIP_DECLARE_DRIVER macro


Add IRQCHIP_DECLARE_DRIVER macro to allow having driver code that both
registers irqchip and a platform driver. Based on analogous code of
CLK_OF_DECLARE_DRIVER.

Cc: yurovsky@...il.com
Cc: Shawn Guo <shawnguo@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Jason Cooper <jason@...edaemon.net>
Cc: Marc Zyngier <marc.zyngier@....com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@...il.com>
---
 include/linux/irqchip.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/include/linux/irqchip.h b/include/linux/irqchip.h
index 89c34b2..611e8cc 100644
--- a/include/linux/irqchip.h
+++ b/include/linux/irqchip.h
@@ -27,6 +27,22 @@
 #define IRQCHIP_DECLARE(name, compat, fn) OF_DECLARE_2(irqchip, name, compat, fn)
 
 /*
+ * Use this macro when you have a driver that requires two
+ * initialization routines, one at IRQCHIP_DECLARE, and one at
+ * platform device probe
+ */
+#define IRQCHIP_DECLARE_DRIVER(name, compat, fn)			\
+	static int __init						\
+	name##_of_irqchip_init_driver(struct device_node *np,		\
+				      struct device_node *parent)	\
+	{								\
+		of_node_clear_flag(np, OF_POPULATED);			\
+		return fn(np, parent);					\
+	}								\
+	OF_DECLARE_2(irqchip, name, compat, name##_of_irqchip_init_driver)
+
+
+/*
  * This macro must be used by the different irqchip drivers to declare
  * the association between their version and their initialization function.
  *
-- 
2.9.3

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ