Interrupt ID number on mpc8347

yamazaki seiji yamazaki.seiji at kk.jp.panasonic.com
Fri Apr 3 18:51:30 EST 2009


Hi all,

I am running the Linux kernel 2.6.28.7 on my PPC8347 BRD.
I have another problem.

I use many external Interrupts.

one of them ,I setup 
	localbus at f0000000 {	//WDT,SW etc.k
		reg = <0xf0000000 0x20>;
		pci_inta at 2{
			interrupt-parent = <&ipic>;
			interrupts = <17 0x8>;
		};
	};
on dts file.

And I programmed
	struct device_node *np;
	struct resource irq_res;
	int ret;
	
	char *irqs[]={
		"pci_inta",
		 NULL};
	for(i=0;;i++){
		if(irqs[i]==NULL){
			break;
		}
		np = of_find_node_by_name(NULL, irqs[i]);
		if (np == NULL) {
			printk("No %s in DTB. Has it been eaten by wild dogs?\n",irqs[i]);
			return -ENODEV;
		}
		if (!of_device_is_available(np)){
			printk("No %s in DTB. of_device_is_availables?\n",irqs[i]);
			return -ENODEV;
		}
		ret = of_irq_to_resource(np, 0, &irq_res);
		if (ret == NO_IRQ)
			irq_res.start = irq_res.end = 0;
		else
			irq_res.flags = 0;
		printk("********************************* %s irq_res.start=%d,irq_res.end=%d\n",irqs[i],irq_res.start,irq_res.end);
	}

printk result is

********************************* pci_inta irq_res.start=19,irq_res.end=19


I set the Interrupt ID number 17.
But kernel gives the Interrupt ID number 19.

I wont to know the reasen.
Please tell me.

-Seiji Yamazaki

-- 
yamazaki seiji <yamazaki.seiji at kk.jp.panasonic.com>




More information about the Linuxppc-dev mailing list