Thread (18 messages) 18 messages, 4 authors, 2015-07-28

[PATCH v6 1/2] irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup sources

From: Shenwei Wang <hidden>
Date: 2015-07-27 14:50:21
Also in: lkml

-----Original Message-----
From: Shawn Guo [mailto:shawnguo at kernel.org]
Sent: 2015?7?27? 9:35
To: Wang Shenwei-B38339
Cc: jason at lakedaemon.net; Huang Yongcai-B20788;
linux-kernel at vger.kernel.org; tglx at linutronix.de; shawn.guo at linaro.org;
linux-arm-kernel at lists.infradead.org
Subject: Re: [PATCH v6 1/2] irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup
sources
quoted
quoted
On Wed, Jul 22, 2015 at 12:07:38PM -0500, Shenwei Wang wrote:
quoted
diff --git a/include/soc/imx/gpcv2.h b/include/soc/imx/gpcv2.h new
file mode 100644 index 0000000..73d6e75
--- /dev/null
+++ b/include/soc/imx/gpcv2.h
I do not like this header, which couples imx7d irqchip and pm driver
so much.  Can you please elaborate why we have to have this header?
PM driver does depend on the irqchip driver. It needs some input like
enabled irqs and wakeup irqs to decide which module to be powered off
in low power states. I am also considering if the header file could be
removed or not. So far it seems a common place to define a structure which is
used in both drivers is still required.

Please be more specific.  Trimming the header down to the macros and
structures/fields that are necessary to be in the header might be a good idea.
And then we can go through them one by one to see if there is a way to avoid
them being in the header.
The following structure is currently used in both drivers. The members "gpc_base/
wakeup_sources/enabled_irqs" are now shared to PM driver. And the macro IMR_NUM
will be referred by both drivers too.
 
struct imx_gpcv2_irq {
	spinlock_t lock;
	void __iomem *gpc_base;
	u32 wakeup_sources[IMR_NUM];
	u32 enabled_irqs[IMR_NUM];
	u32 cpu2wakeup;
};

Thanks,
Shenwei
Shawn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help