2006-10-19 12:28:12

by Olaf Hering

[permalink] [raw]
Subject: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527


I get irq warnings with current Linus tree on Pegasos.
The EDID handling for radeonfb appears to be broken as well,
but thats a different story:


Using CHRP machine description
Total memory = 256MB; using 512kB for hash table (at cff80000)
Linux version 2.6.19-rc2-git3-default (olaf@pomegranate) (gcc version 4.1.0 (SUSE Linux)) #1 Thu Oct 19 14:19:35 CEST 2006
Found legacy serial port 0 for /pci@80000000/isa@C/serial@i2F8
port=2f8, taddr=fe0002f8, irq=0, clk=1843200, speed=0
Entering add_active_range(0, 0, 65536) 0 entries of 256 used
chrp type = 6 [Genesi Pegasos]
Pegasos l2cr : L2 cache was not active, activating
PCI bus 0 controlled by /pci@80000000 at 80000000
PCI bus 0 controlled by /pci@C0000000 at c0000000
Top of RAM: 0x10000000, Total RAM: 0x10000000
Memory hole size: 0MB
Zone PFN ranges:
DMA 0 -> 65536
Normal 65536 -> 65536
HighMem 65536 -> 65536
early_node_map[1] active PFN ranges
0: 0 -> 65536
On node 0 totalpages: 65536
DMA zone: 512 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 65024 pages, LIFO batch:15
Normal zone: 0 pages used for memmap
HighMem zone: 0 pages used for memmap
Built 1 zonelists. Total pages: 65024
Kernel command line: root=/dev/hda7 quiet console=ttyS0,115200
i8259 legacy interrupt controller initialized
PID hash table entries: 1024 (order: 10, 4096 bytes)
time_init: decrementer frequency = 33.333333 MHz
time_init: processor frequency = 999.999990 MHz
Console: colour dummy device 80x25
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
High memory: 0k
Memory: 254012k/262144k available (3768k kernel code, 7780k reserved, 540k data, 439k bss, 204k init)
Calibrating delay loop... 66.56 BogoMIPS (lpj=133120)
Security Framework v1.0.0 initialized
Mount-cache hash table entries: 512
device-tree: Duplicate name in /pci@80000000/usb@C,2/device@1, renamed to "data@1#1"
device-tree: Duplicate name in /pci@80000000/usb@C,2/device@1, renamed to "data@1#2"
NET: Registered protocol family 16
PCI: Probing PCI hardware
Boot video device is 0001:01:08.0
irq_create_mapping called for NULL host, hwirq=0
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=e
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=0
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
irq_create_mapping called for NULL host, hwirq=9
Badness in irq_create_mapping at /home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/arch/powerpc/kernel/irq.c:527
Call Trace:
[C06EDDF0] [C0008728] show_stack+0x50/0x184 (unreliable)
[C06EDE10] [C001126C] program_check_exception+0x194/0x54c
[C06EDE60] [C0012C10] ret_from_except_full+0x0/0x4c
--- Exception: 700 at irq_create_mapping+0x38/0x11c
LR = irq_create_mapping+0x38/0x11c
[C06EDF40] [C0015AFC] pci_read_irq_line+0x78/0xdc
[C06EDF70] [C038F828] chrp_pcibios_fixup+0x1c/0x48
[C06EDF80] [C03883A0] pcibios_init+0x100/0x224
[C06EDFA0] [C0003DB0] init+0x9c/0x268
[C06EDFF0] [C0013604] kernel_thread+0x44/0x60
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 8192 bind 4096)
TCP reno registered
Thermal assist unit not available
audit: initializing netlink socket (disabled)
audit(1161260512.148:1): initialized
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
__ioremap(): phys addr 000c0000 is RAM lr c016d7bc
radeonfb (0001:01:08.0): ROM failed to map
radeonfb: No ATY,RefCLK property !
xtal calculation failed: 22967
radeonfb: Used default PLL infos
radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=166.00 Mhz, System=166.00 MHz
radeonfb: PLL min 12000 max 35000
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-1: unable to read EDID block.
i2c_adapter i2c-3: unable to read EDID block.
i2c_adapter i2c-3: unable to read EDID block.
i2c_adapter i2c-3: unable to read EDID block.
i2c_adapter i2c-2: unable to read EDID block.
i2c_adapter i2c-2: unable to read EDID block.
i2c_adapter i2c-2: unable to read EDID block.
i2c_adapter i2c-3: unable to read EDID block.
i2c_adapter i2c-3: unable to read EDID block.
i2c_adapter i2c-3: unable to read EDID block.
radeonfb: Monitor 1 type CRT found
radeonfb: Monitor 2 type no found
Console: switching to colour frame buffer device 80x30
radeonfb (0001:01:08.0): ATI Radeon Yd
can't get 2 addresses for control
Generic RTC Driver v1.07
Macintosh non-volatile memory driver v1.1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at I/O 0x2f8 (irq = 0) is a 16550A
pmac_zilog: 0.6 (Benjamin Herrenschmidt <[email protected]>)
parport_pc: VIA 686A/8231 detected
parport_pc: probing current configuration
parport_pc: Current parallel port base: 0x3BC
parport0: PC-style at 0x3bc, irq 7 [PCSPP]
parport_pc: VIA parallel port: io=0x3BC, irq=7
RAMDISK driver initialized: 16 RAM disks of 123456K size 1024 blocksize
loop: loaded (max 8 devices)
MV-643xx 10/100/1000 Ethernet Driver
eth0: port 1 with MAC address 00:2b:2f:de:ad:01
eth0: Scatter Gather Enabled
eth0: TX TCP/IP Checksumming Supported
eth0: RX TCP/UDP Checksum Offload ON
eth0: RX NAPI Enabled
eth0: Using SRAM
input: Macintosh mouse button emulation as /class/input/input0
apm_emu: Requires a machine with a PMU.
Warning: no ADB interface detected
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 0000:00:0c.1
VP_IDE: chipset revision 6
VP_IDE: VIA vt8231 (rev 10) IDE UDMA100 controller on pci0000:00:0c.1
VP_IDE: 100% native mode on irq 14
ide0: BM-DMA at 0x1020-0x1027, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x1028-0x102f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: ST340014A, ATA DISK drive
ide0 at 0x1000-0x1007,0x100e on irq 14
Probing IDE interface ide1...
hdc: SAMSUNG CDRW/DVD SM-352N, ATAPI CD/DVD-ROM drive
ide1 at 0x1010-0x1017,0x101e on irq 15
hda: max request size: 512KiB
hda: 78165360 sectors (40020 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(100)
hda: cache flushes supported
hda: RDSK (512) hda1 (DOS^A)(res 2 spb 1) hda2 (DOS^E)(res 2 spb 2) hda3 (DOS^E)(res 2 spb 2) hda4 (LNX^@)(res 2 spb 1) hda5 (LNX^@)(res 2 spb 1) hda6 (SWP^@)(res 2 spb 1) hda7 (LNX^@)(res 2 spb 1) hda8 (LNX^@)(res 2 spb 1)
hdc: ATAPI 52X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
/home/olaf/kernel/olh/pegasos/linux-2.6.19-rc2/drivers/usb/input/hid-core.c: v2.6:USB HID core driver
usbcore: registered new interface driver appletouch
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
atkbd.c: keyboard reset failed on isa0060/serio0
atkbd.c: keyboard reset failed on isa0060/serio1
NET: Registered protocol family 1
NET: Registered protocol family 17
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 204k init
warning: process `showconsole' used the removed sysctl system call
warning: process `showconsole' used the removed sysctl system call
EXT3 FS on hda7, internal journal
warning: process `ls' used the removed sysctl system call
warning: process `ls' used the removed sysctl system call
warning: process `showconsole' used the removed sysctl system call
Adding 976744k swap on /dev/hda6. Priority:-1 extents:1 across:976744k
audit(1161260543.595:2): audit_pid=2357 old=0 by auid=4294967295


2006-10-19 13:36:18

by Nicolas DET

[permalink] [raw]
Subject: Re: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527

Olaf Hering wrote:
> I get irq warnings with current Linus tree on Pegasos.
> The EDID handling for radeonfb appears to be broken as well,
> but thats a different story:
>

This patch enables chrp_pcibios_fixup() for bPlan's machine. however,
this function should NOT be called as thoses platforms.

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=26c5032eaa64090b2a01973b0c6ea9e7f6a80fa7

An upcomming patch will "ppc_md.pcibios_fixup = NULL;" for every bPlan's
platforms.

Regards,


Attachments:
nd.vcf (249.00 B)

2006-10-19 23:33:45

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527

On Thu, 2006-10-19 at 15:34 +0200, Nicolas DET wrote:
> Olaf Hering wrote:
> > I get irq warnings with current Linus tree on Pegasos.
> > The EDID handling for radeonfb appears to be broken as well,
> > but thats a different story:
> >
>
> This patch enables chrp_pcibios_fixup() for bPlan's machine. however,
> this function should NOT be called as thoses platforms.
>
> http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=26c5032eaa64090b2a01973b0c6ea9e7f6a80fa7
>
> An upcomming patch will "ppc_md.pcibios_fixup = NULL;" for every bPlan's
> platforms.

Ugh ?

I'm not sure what the patch you pointed to has to do with fixups :)

Anyway, the irq code should work with Pegasos. I think the problem is
that it's missing a call to irq_set_default_host() on the i8259 when no
MPIC is present. It's strange, I though I had it... BriQ needs it too.

Ben.


2006-10-20 01:37:20

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527

On CHRP with only a 8259, make sure it's set as the default host.

Signed-off-by: Benjamin Herrenschmidt <[email protected]>
---

Can you test this patch ?

Index: linux-cell/arch/powerpc/platforms/chrp/setup.c
===================================================================
--- linux-cell.orig/arch/powerpc/platforms/chrp/setup.c 2006-10-09 12:03:33.000000000 +1000
+++ linux-cell/arch/powerpc/platforms/chrp/setup.c 2006-10-20 11:31:05.000000000 +1000
@@ -477,8 +477,10 @@ static void __init chrp_find_8259(void)
" address, polling\n");

i8259_init(pic, chrp_int_ack);
- if (ppc_md.get_irq == NULL)
+ if (ppc_md.get_irq == NULL) {
ppc_md.get_irq = i8259_irq;
+ irq_set_default_host(i8259_get_host());
+ }
if (chrp_mpic != NULL) {
cascade_irq = irq_of_parse_and_map(pic, 0);
if (cascade_irq == NO_IRQ)
Index: linux-cell/arch/powerpc/sysdev/i8259.c
===================================================================
--- linux-cell.orig/arch/powerpc/sysdev/i8259.c 2006-10-09 12:03:33.000000000 +1000
+++ linux-cell/arch/powerpc/sysdev/i8259.c 2006-10-20 11:32:07.000000000 +1000
@@ -13,6 +13,7 @@
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/delay.h>
+#include <linux/module.h>
#include <asm/io.h>
#include <asm/i8259.h>
#include <asm/prom.h>
@@ -224,6 +225,12 @@ static struct irq_host_ops i8259_host_op
.xlate = i8259_host_xlate,
};

+struct irq_host *i8259_get_host(void)
+{
+ return i8259_host;
+}
+EXPORT_SYMBOL(i8259_get_host);
+
/**
* i8259_init - Initialize the legacy controller
* @node: device node of the legacy PIC (can be NULL, but then, it will match
Index: linux-cell/include/asm-powerpc/i8259.h
===================================================================
--- linux-cell.orig/include/asm-powerpc/i8259.h 2006-10-09 12:03:34.000000000 +1000
+++ linux-cell/include/asm-powerpc/i8259.h 2006-10-20 11:30:19.000000000 +1000
@@ -7,6 +7,7 @@
#ifdef CONFIG_PPC_MERGE
extern void i8259_init(struct device_node *node, unsigned long intack_addr);
extern unsigned int i8259_irq(void);
+extern struct irq_host *i8259_get_host(void);
#else
extern void i8259_init(unsigned long intack_addr, int offset);
extern int i8259_irq(void);


2006-10-20 01:48:09

by Stephen Rothwell

[permalink] [raw]
Subject: Re: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527

Hi Ben,

On Fri, 20 Oct 2006 11:37:01 +1000 Benjamin Herrenschmidt <[email protected]> wrote:
>
> Index: linux-cell/arch/powerpc/sysdev/i8259.c
> ===================================================================
> --- linux-cell.orig/arch/powerpc/sysdev/i8259.c 2006-10-09 12:03:33.000000000 +1000
> +++ linux-cell/arch/powerpc/sysdev/i8259.c 2006-10-20 11:32:07.000000000 +1000
> @@ -13,6 +13,7 @@
> #include <linux/interrupt.h>
> #include <linux/kernel.h>
> #include <linux/delay.h>
> +#include <linux/module.h>
> #include <asm/io.h>
> #include <asm/i8259.h>
> #include <asm/prom.h>
> @@ -224,6 +225,12 @@ static struct irq_host_ops i8259_host_op
> .xlate = i8259_host_xlate,
> };
>
> +struct irq_host *i8259_get_host(void)
> +{
> + return i8259_host;
> +}
> +EXPORT_SYMBOL(i8259_get_host);

Surely it doesn't need exporting is its only caller is in
arch/powerpc/platforms/chrp/setup.c?

--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (0.99 kB)
(No filename) (189.00 B)
Download all attachments

2006-10-20 03:25:56

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527


> Surely it doesn't need exporting is its only caller is in
> arch/powerpc/platforms/chrp/setup.c?

Today... I can see reasons why platform drivers might want to get at
it, but I can remove the export for now.

Ben.


2006-10-20 05:06:18

by Sven Luther

[permalink] [raw]
Subject: Re: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527

On Fri, Oct 20, 2006 at 11:37:01AM +1000, Benjamin Herrenschmidt wrote:
> On CHRP with only a 8259, make sure it's set as the default host.

Hi Ben,

Where you able to investigate the interupt tree or at least look over the
lsprop output we sent you ?

Friendly,

Sven Luther

2006-10-20 06:19:43

by Olaf Hering

[permalink] [raw]
Subject: Re: Badness in irq_create_mapping at arch/powerpc/kernel/irq.c:527

On Fri, Oct 20, Benjamin Herrenschmidt wrote:

> On CHRP with only a 8259, make sure it's set as the default host.

No errors with this patch.