• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/arch/powerpc/sysdev/

Lines Matching refs:ipic

2  * arch/powerpc/sysdev/ipic.c
28 #include <asm/ipic.h>
30 #include "ipic.h"
32 static struct ipic * primary_ipic;
379 static inline struct ipic * ipic_from_irq(unsigned int virq)
388 struct ipic *ipic = ipic_from_irq(virq);
395 temp = ipic_read(ipic->regs, ipic_info[src].mask);
397 ipic_write(ipic->regs, ipic_info[src].mask, temp);
404 struct ipic *ipic = ipic_from_irq(virq);
411 temp = ipic_read(ipic->regs, ipic_info[src].mask);
413 ipic_write(ipic->regs, ipic_info[src].mask, temp);
420 struct ipic *ipic = ipic_from_irq(virq);
427 temp = ipic_read(ipic->regs, ipic_info[src].pend);
429 ipic_write(ipic->regs, ipic_info[src].pend, temp);
436 struct ipic *ipic = ipic_from_irq(virq);
443 temp = ipic_read(ipic->regs, ipic_info[src].mask);
445 ipic_write(ipic->regs, ipic_info[src].mask, temp);
447 temp = ipic_read(ipic->regs, ipic_info[src].pend);
449 ipic_write(ipic->regs, ipic_info[src].pend, temp);
456 struct ipic *ipic = ipic_from_irq(virq);
464 /* ipic supports only low assertion and high-to-low change senses
467 printk(KERN_ERR "ipic: sense type 0x%x not supported\n",
481 /* only EXT IRQ senses are programmable on ipic
492 vold = ipic_read(ipic->regs, IPIC_SECNR);
499 ipic_write(ipic->regs, IPIC_SECNR, vnew);
514 struct ipic *ipic = h->host_data;
516 /* Exact match, unless ipic node is NULL */
517 return ipic->of_node == NULL || ipic->of_node == node;
523 struct ipic *ipic = h->host_data;
527 chip = &ipic->hc_irq;
529 set_irq_chip_data(virq, ipic);
560 struct ipic * __init ipic_init(struct device_node *node, unsigned int flags)
562 struct ipic *ipic;
566 ipic = alloc_bootmem(sizeof(struct ipic));
567 if (ipic == NULL)
570 memset(ipic, 0, sizeof(struct ipic));
571 ipic->of_node = of_node_get(node);
573 ipic->irqhost = irq_alloc_host(IRQ_HOST_MAP_LINEAR,
576 if (ipic->irqhost == NULL) {
587 ipic->regs = ioremap(res.start, res.end - res.start + 1);
589 ipic->irqhost->host_data = ipic;
590 ipic->hc_irq = ipic_irq_chip;
593 ipic_write(ipic->regs, IPIC_SICNR, 0x0);
606 ipic_write(ipic->regs, IPIC_SICNR, temp);
612 ipic_write(ipic->regs, IPIC_SERCR, temp);
615 temp = ipic_read(ipic->regs, IPIC_SEMSR);
622 ipic_write(ipic->regs, IPIC_SEMSR, temp);
624 primary_ipic = ipic;
630 return ipic;
635 struct ipic *ipic = ipic_from_irq(virq);
646 temp = ipic_read(ipic->regs, ipic_info[src].prio);
656 ipic_write(ipic->regs, ipic_info[src].prio, temp);
663 struct ipic *ipic = ipic_from_irq(virq);
667 temp = ipic_read(ipic->regs, IPIC_SICFR);
673 ipic_write(ipic->regs, IPIC_SICFR, temp);
686 struct ipic *ipic = primary_ipic;
689 temp = ipic_read(ipic->regs, IPIC_SERMR);
691 ipic_write(ipic->regs, IPIC_SERMR, temp);
696 struct ipic *ipic = primary_ipic;
699 temp = ipic_read(ipic->regs, IPIC_SERMR);
701 ipic_write(ipic->regs, IPIC_SERMR, temp);
731 set_kset_name("ipic"),
745 printk(KERN_DEBUG "Registering ipic with sysfs...\n");
749 printk(KERN_ERR "Failed registering ipic sys class\n");
754 printk(KERN_ERR "Failed registering ipic sys device\n");