CONFIG_PM depends on CONFIG_MACH_AU1X00?
I was looking at the TOY (time of year stuff) in arch/mips/au1000/common/time.c and noticed that it depends on CONFIG_PM, but I couldn't select the CONFIG_PM with xconfig. It seems that PM depends on MACH_AU1X00. It seems that MACH_AU1X00 was replaced with SOC_AU1X00 but not updated for the PM line in Kconfig. Here is a patch:
RCS file: /home/cvs/linux/arch/mips/Kconfig,v
retrieving revision 1.126
Kconfig 21 Jan 2005 17:47:09 -0000 renamed from Kconfig 27 Dec 2004 18:23:53 -0000 1.126 +1 -1
@@ -1575,7 +1575,7 @@ config PM bool "Power Management support (EXPERIMENTAL)" - depends on EXPERIMENTAL && MACH_AU1X00 + depends on EXPERIMENTAL && SOC_AU1X00 endmenu
--Clem
Quoted 3 lines · Clem Taylor
I was looking at the TOY (time of year stuff) in
arch/mips/au1000/common/time.cand noticed that it depends onCONFIG_PM,
Well .... not exactly :-)
When you use the power management of the Au1xxx to enter lower power modes, the CP0 counter stops as well. We use the TOY clock to keep track of system time and kernel timer interrupts if this configuration option is selected.
The kernel timer code assumes it has access to the TOY when CONFIG_PM is enabled. If you intend to use TOY for something else, make sure you don't cause trouble for the kernel timer functions.
Thanks.
-- Dan
I guess I should recompile after making a change to a Kconfig file. It turns out that the arch/mips/au1000/common/irq.c code doesn't compile for the Au1550 with CONFIG_PM defined.
arch/mips/au1000/common/irq.c: In function `startup_match20_interrupt':arch/mips/au1000/common/irq.c:302: error: `AU1000_TOY_MATCH2_INT' undeclared (first use in this function) arch/mips/au1000/common/irq.c:302: error: (Each undeclared identifier is reported only oncearch/mips/au1000/common/irq.c:302: error: for each function it appears in.) arch/mips/au1000/common/irq.c: In function `intc0_req1_irqdispatch':arch/mips/au1000/common/irq.c:525: error: `AU1000_TOY_MATCH2_INT' undeclared (first use in this function)
I fixe this with the following patch:
RCS file: /home/cvs/linux/include/asm-mips/mach-au1x00/au1000.h,v retrieving revision 1.12
diff -U1 -r1.12 au1000.h
--- ./include/asm-mips/mach-au1x00/au1000.h 4 Dec 2004 18:16:09
-0000 1.12
+++ ./include/asm-mips/mach-au1x00/au1000.h 21 Jan 2005 19:13:36 -0000
@@ -513,3 +513,3 @@
#define AU1550_PSC3_INT 13
-#define AU1550_TOY_INT 14
+#define AU1550_TOY_INT 14
#define AU1550_TOY_MATCH0_INT 15
@@ -517,2 +517,6 @@
#define AU1550_TOY_MATCH2_INT 17 +#define AU1000_TOY_INT AU1550_TOY_INT +#define AU1000_TOY_MATCH0_INT AU1550_TOY_MATCH0_INT +#define AU1000_TOY_MATCH1_INT AU1550_TOY_MATCH1_INT +#define AU1000_TOY_MATCH2_INT AU1550_TOY_MATCH2_INT #define AU1550_RTC_INT 18
But I then hit some additional errors in arch/mips/au1000/common/time.c:arch/mips/au1000/common/time.c: In function `counter0_irq':arch/mips/au1000/common/time.c:126: error: `kstat' undeclared (first use in this function)arch/mips/au1000/common/time.c:126: error: (Each undeclared identifier is reported only oncearch/mips/au1000/common/time.c:126: error: for each function it appears in.)
kstat is only used in common/time.c in the arch/mips/au1000 code. I don't enough exposure to the codebase to know the right way to fix this.
--Clem
Quoted 3 lines · Clem Taylor
I guess I should recompile after making a change to a
Kconfigfile. It turns out that thearch/mips/au1000/common/irq.ccode doesn't compile for the Au1550 withCONFIG_PMdefined.
Ooops. I guess I haven't done this for 2.6. I'll add it to my list of things to look into.
Thanks.
-- Dan
Quoted 9 lines · Dan Malek
Quoted 3 lines · Clem Taylor
I guess I should recompile after making a change to a
Kconfigfile. It turns out that thearch/mips/au1000/common/irq.ccode doesn't compile for the Au1550 withCONFIG_PMdefined.Ooops. I guess I haven't done this for 2.6. I'll add it to my list of things to look into.
Hi, I sent a couple of days ago a patch to the list that fixes this (and the fb driver) for 2.6. I'm going to do some more work on 2.6.x on au1xxx, so drop me a line if there is some other problems around that I could work on.
Signature · 1 line
Christian <[email protected]>