Skip to contentSkip to conversation

CONFIG_PM depends on CONFIG_MACH_AU1X00?

PATCH Clem Taylor 3 participants 5 messages Jan 21, 2005 – Jan 24, 2005 MIPS

lore
Share & tools
lore
#0 lore raw

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
diff -U3 -r1.126 Kconfig
@@ -1575,7 +1575,7 @@
 
 config PM
        bool "Power Management support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && MACH_AU1X00
+       depends on EXPERIMENTAL && SOC_AU1X00
 
 endmenu
 
                                          --Clem
#1 lore raw
Quoted 3 lines · Clem Taylor

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,

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
#2 lore raw
In reply to Clem Taylor

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 once
arch/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 once
arch/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
#3 lore raw
Quoted 3 lines · Clem Taylor

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.

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
#4 lore raw
Quoted 9 lines · Dan Malek
Quoted 3 lines · Clem Taylor

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.

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]>