Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
sh: Convert INTC2 to IRQ table registration.
sh: Updates for irq-flow-type naming changes.
sh: Add some missing board headers.
sh: Fix exception_handling_table alignment.
sh: Cleanup board header directories.
sh: Remove board-specific ide.h headers.
sh: Proper show_stack/show_trace() implementation.

Changed files
+289 -409
arch
sh
boards
hp6xx
renesas
hs7751rvoip
r7780rp
rts7751r2d
shmin
cchips
voyagergx
drivers
kernel
drivers
input
touchscreen
video
include
sound
+1 -1
arch/sh/boards/hp6xx/hp6xx_apm.c
··· 14 14 #include <asm/io.h> 15 15 #include <asm/apm.h> 16 16 #include <asm/adc.h> 17 - #include <asm/hp6xx/hp6xx.h> 17 + #include <asm/hp6xx.h> 18 18 19 19 #define SH7709_PGDR 0xa400012c 20 20
+1 -1
arch/sh/boards/hp6xx/pm.c
··· 12 12 #include <linux/time.h> 13 13 #include <asm/io.h> 14 14 #include <asm/hd64461.h> 15 - #include <asm/hp6xx/hp6xx.h> 15 + #include <asm/hp6xx.h> 16 16 #include <asm/cpu/dac.h> 17 17 #include <asm/pm.h> 18 18
+1 -1
arch/sh/boards/hp6xx/setup.c
··· 13 13 #include <asm/hd64461.h> 14 14 #include <asm/io.h> 15 15 #include <asm/irq.h> 16 - #include <asm/hp6xx/hp6xx.h> 16 + #include <asm/hp6xx.h> 17 17 #include <asm/cpu/dac.h> 18 18 19 19 #define SCPCR 0xa4000116
+1 -1
arch/sh/boards/renesas/hs7751rvoip/io.c
··· 15 15 #include <linux/module.h> 16 16 #include <linux/pci.h> 17 17 #include <asm/io.h> 18 - #include <asm/hs7751rvoip/hs7751rvoip.h> 18 + #include <asm/hs7751rvoip.h> 19 19 #include <asm/addrspace.h> 20 20 21 21 extern void *area6_io8_base; /* Area 6 8bit I/O Base address */
+1 -1
arch/sh/boards/renesas/hs7751rvoip/irq.c
··· 14 14 #include <linux/irq.h> 15 15 #include <asm/io.h> 16 16 #include <asm/irq.h> 17 - #include <asm/hs7751rvoip/hs7751rvoip.h> 17 + #include <asm/hs7751rvoip.h> 18 18 19 19 static int mask_pos[] = {8, 9, 10, 11, 12, 13, 0, 1, 2, 3, 4, 5, 6, 7}; 20 20
+1 -6
arch/sh/boards/renesas/hs7751rvoip/setup.c
··· 10 10 #include <linux/init.h> 11 11 #include <linux/irq.h> 12 12 #include <linux/mm.h> 13 - #include <linux/vmalloc.h> 14 - #include <linux/hdreg.h> 15 - #include <linux/ide.h> 16 13 #include <linux/pm.h> 14 + #include <asm/hs7751rvoip.h> 17 15 #include <asm/io.h> 18 - #include <asm/hs7751rvoip/hs7751rvoip.h> 19 16 #include <asm/machvec.h> 20 - #include <asm/rtc.h> 21 - #include <asm/irq.h> 22 17 23 18 static void __init hs7751rvoip_init_irq(void) 24 19 {
+1 -1
arch/sh/boards/renesas/r7780rp/io.c
··· 11 11 #include <linux/pci.h> 12 12 #include <linux/kernel.h> 13 13 #include <linux/types.h> 14 - #include <asm/r7780rp/r7780rp.h> 14 + #include <asm/r7780rp.h> 15 15 #include <asm/addrspace.h> 16 16 #include <asm/io.h> 17 17
+5 -4
arch/sh/boards/renesas/r7780rp/irq.c
··· 10 10 */ 11 11 #include <linux/init.h> 12 12 #include <linux/irq.h> 13 - #include <asm/io.h> 13 + #include <linux/io.h> 14 + #include <asm/r7780rp.h> 14 15 15 16 #ifdef CONFIG_SH_R7780MP 16 17 static int mask_pos[] = {12, 11, 9, 14, 15, 8, 13, 6, 5, 4, 3, 2, 0, 0, 1, 0}; ··· 33 32 } 34 33 35 34 static struct irq_chip r7780rp_irq_chip __read_mostly = { 36 - .name = "r7780rp", 35 + .name = "R7780RP", 37 36 .mask = disable_r7780rp_irq, 38 37 .unmask = enable_r7780rp_irq, 39 38 .mask_ack = disable_r7780rp_irq, ··· 48 47 49 48 for (i = 0; i < 15; i++) { 50 49 disable_irq_nosync(i); 51 - set_irq_chip_and_handler(i, &r7780rp_irq_chip, 52 - handle_level_irq); 50 + set_irq_chip_and_handler_name(i, &r7780rp_irq_chip, 51 + handle_level_irq, "level"); 53 52 enable_r7780rp_irq(i); 54 53 } 55 54 }
+1 -1
arch/sh/boards/renesas/r7780rp/setup.c
··· 13 13 #include <linux/init.h> 14 14 #include <linux/platform_device.h> 15 15 #include <asm/machvec.h> 16 - #include <asm/r7780rp/r7780rp.h> 16 + #include <asm/r7780rp.h> 17 17 #include <asm/clock.h> 18 18 #include <asm/io.h> 19 19
+2 -2
arch/sh/boards/renesas/rts7751r2d/io.c
··· 11 11 #include <linux/kernel.h> 12 12 #include <linux/types.h> 13 13 #include <linux/pci.h> 14 - #include <asm/rts7751r2d/rts7751r2d.h> 15 - #include <asm/io.h> 14 + #include <linux/io.h> 15 + #include <asm/rts7751r2d.h> 16 16 #include <asm/addrspace.h> 17 17 18 18 /*
+2 -4
arch/sh/boards/renesas/rts7751r2d/irq.c
··· 8 8 * Modified for RTS7751R2D by 9 9 * Atom Create Engineering Co., Ltd. 2002. 10 10 */ 11 - 12 11 #include <linux/init.h> 13 12 #include <linux/irq.h> 14 - #include <asm/io.h> 15 - #include <asm/irq.h> 16 - #include <asm/rts7751r2d/rts7751r2d.h> 13 + #include <linux/io.h> 14 + #include <asm/rts7751r2d.h> 17 15 18 16 #if defined(CONFIG_RTS7751R2D_REV11) 19 17 static int mask_pos[] = {11, 9, 8, 12, 10, 6, 5, 4, 7, 14, 13, 0, 0, 0, 0};
+2 -13
arch/sh/boards/renesas/rts7751r2d/led.c
··· 8 8 * 9 9 * This file contains Renesas Technology Sales RTS7751R2D specific LED code. 10 10 */ 11 - 12 - #include <asm/io.h> 13 - #include <asm/rts7751r2d/rts7751r2d.h> 14 - 15 - #ifdef CONFIG_HEARTBEAT 16 - 11 + #include <linux/io.h> 17 12 #include <linux/sched.h> 13 + #include <asm/rts7751r2d.h> 18 14 19 15 /* Cycle the LED's in the clasic Knightriger/Sun pattern */ 20 16 void heartbeat_rts7751r2d(void) ··· 42 46 else 43 47 bit--; 44 48 } 45 - #endif /* CONFIG_HEARTBEAT */ 46 - 47 - void rts7751r2d_led(unsigned short value) 48 - { 49 - ctrl_outw(value, PA_OUTPORT); 50 - } 51 -
+1 -1
arch/sh/boards/renesas/rts7751r2d/setup.c
··· 12 12 #include <linux/platform_device.h> 13 13 #include <linux/serial_8250.h> 14 14 #include <linux/pm.h> 15 - #include <asm/io.h> 16 15 #include <asm/machvec.h> 17 16 #include <asm/mach/rts7751r2d.h> 17 + #include <asm/io.h> 18 18 #include <asm/voyagergx.h> 19 19 20 20 extern void heartbeat_rts7751r2d(void);
+1 -1
arch/sh/boards/shmin/setup.c
··· 7 7 */ 8 8 #include <linux/init.h> 9 9 #include <asm/machvec.h> 10 - #include <asm/shmin/shmin.h> 10 + #include <asm/shmin.h> 11 11 #include <asm/clock.h> 12 12 #include <asm/irq.h> 13 13 #include <asm/io.h>
+5 -17
arch/sh/cchips/voyagergx/irq.c
··· 17 17 18 18 Copyright 2003 (c) Lineo uSolutions,Inc. 19 19 */ 20 - /* -------------------------------------------------------------------- */ 21 - 22 - #undef DEBUG 23 - 24 - #include <linux/sched.h> 25 - #include <linux/module.h> 26 - #include <linux/kernel.h> 27 - #include <linux/param.h> 28 - #include <linux/ioport.h> 29 20 #include <linux/interrupt.h> 30 21 #include <linux/init.h> 31 - #include <linux/irq.h> 32 - 33 - #include <asm/io.h> 34 - #include <asm/irq.h> 22 + #include <linux/io.h> 35 23 #include <asm/voyagergx.h> 24 + #include <asm/rts7751r2d.h> 36 25 37 26 static void disable_voyagergx_irq(unsigned int irq) 38 27 { 39 28 unsigned long val; 40 29 unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); 41 30 42 - pr_debug("disable_voyagergx_irq(%d): mask=%x\n", irq, mask); 31 + pr_debug("disable_voyagergx_irq(%d): mask=%lx\n", irq, mask); 43 32 val = inl(VOYAGER_INT_MASK); 44 33 val &= ~mask; 45 34 outl(val, VOYAGER_INT_MASK); ··· 39 50 unsigned long val; 40 51 unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); 41 52 42 - pr_debug("disable_voyagergx_irq(%d): mask=%x\n", irq, mask); 53 + pr_debug("disable_voyagergx_irq(%d): mask=%lx\n", irq, mask); 43 54 val = inl(VOYAGER_INT_MASK); 44 55 val |= mask; 45 56 outl(val, VOYAGER_INT_MASK); ··· 126 137 } else { 127 138 printk("Unexpected IRQ irq = %d status = 0x%08lx\n", irq, val); 128 139 } 129 - pr_debug("voyagergx_irq_demux %d \n", i); 140 + pr_debug("voyagergx_irq_demux %ld\n", i); 130 141 #else 131 142 for (bit = 1, i = 0 ; i < VOYAGER_IRQ_NUM ; bit <<= 1, i++) 132 143 if (val & bit) ··· 174 185 175 186 setup_irq(IRQ_VOYAGER, &irq0); 176 187 } 177 -
+1 -1
arch/sh/drivers/pci/ops-r7780rp.c
··· 13 13 #include <linux/init.h> 14 14 #include <linux/delay.h> 15 15 #include <linux/pci.h> 16 - #include <asm/r7780rp/r7780rp.h> 16 + #include <asm/r7780rp.h> 17 17 #include <asm/io.h> 18 18 #include "pci-sh4.h" 19 19
+10 -14
arch/sh/drivers/pci/ops-rts7751r2d.c
··· 10 10 * 11 11 * PCI initialization for the Renesas SH7751R RTS7751R2D board 12 12 */ 13 - 14 13 #include <linux/kernel.h> 15 14 #include <linux/types.h> 16 15 #include <linux/init.h> 17 - #include <linux/delay.h> 18 16 #include <linux/pci.h> 19 - #include <linux/module.h> 20 - #include <asm/rts7751r2d/rts7751r2d.h> 21 - #include <asm/io.h> 17 + #include <linux/io.h> 18 + #include <asm/rts7751r2d.h> 22 19 #include "pci-sh4.h" 20 + 21 + static u8 rts7751r2d_irq_tab[] __initdata = { 22 + IRQ_PCISLOT1, 23 + IRQ_PCISLOT2, 24 + IRQ_PCMCIA, 25 + IRQ_PCIETH, 26 + }; 23 27 24 28 int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin) 25 29 { 26 - switch (slot) { 27 - case 0: return IRQ_PCISLOT1; /* PCI Extend slot #1 */ 28 - case 1: return IRQ_PCISLOT2; /* PCI Extend slot #2 */ 29 - case 2: return IRQ_PCMCIA; /* PCI Cardbus Bridge */ 30 - case 3: return IRQ_PCIETH; /* Realtek Ethernet controller */ 31 - default: 32 - printk("PCI: Bad IRQ mapping request for slot %d\n", slot); 33 - return -1; 34 - } 30 + return rts7751r2d_irq_tab[slot]; 35 31 } 36 32 37 33 static struct resource sh7751_io_resource = {
+30 -145
arch/sh/kernel/cpu/irq/intc2.c
··· 11 11 * Hitachi 7751, the STM ST40 STB1, SH7760, and SH7780. 12 12 */ 13 13 #include <linux/kernel.h> 14 - #include <linux/init.h> 15 14 #include <linux/irq.h> 15 + #include <linux/io.h> 16 16 #include <asm/system.h> 17 - #include <asm/io.h> 18 17 19 18 static void disable_intc2_irq(unsigned int irq) 20 19 { ··· 30 31 } 31 32 32 33 static struct irq_chip intc2_irq_chip = { 33 - .typename = "intc2", 34 + .name = "INTC2", 34 35 .mask = disable_intc2_irq, 35 36 .unmask = enable_intc2_irq, 36 37 .mask_ack = disable_intc2_irq, ··· 44 45 * PIO1 which is INTPRI00[19,16] and INTMSK00[13] 45 46 * would be: ^ ^ ^ ^ 46 47 * | | | | 47 - * make_intc2_irq(84, 0, 16, 0, 13); 48 + * { 84, 0, 16, 0, 13 }, 49 + * 50 + * in the intc2_data table. 48 51 */ 49 - void make_intc2_irq(struct intc2_data *p) 50 - { 51 - unsigned int flags; 52 - unsigned long ipr; 53 - 54 - disable_irq_nosync(p->irq); 55 - 56 - /* Set the priority level */ 57 - local_irq_save(flags); 58 - 59 - ipr = ctrl_inl(INTC2_BASE + INTC2_INTPRI_OFFSET + p->ipr_offset); 60 - ipr &= ~(0xf << p->ipr_shift); 61 - ipr |= p->priority << p->ipr_shift; 62 - ctrl_outl(ipr, INTC2_BASE + INTC2_INTPRI_OFFSET + p->ipr_offset); 63 - 64 - local_irq_restore(flags); 65 - 66 - set_irq_chip_and_handler(p->irq, &intc2_irq_chip, handle_level_irq); 67 - set_irq_chip_data(p->irq, p); 68 - 69 - enable_intc2_irq(p->irq); 70 - } 71 - 72 - static struct intc2_data intc2_irq_table[] = { 73 - #if defined(CONFIG_CPU_SUBTYPE_ST40) 74 - {64, 0, 0, 0, 0, 13}, /* PCI serr */ 75 - {65, 0, 4, 0, 1, 13}, /* PCI err */ 76 - {66, 0, 4, 0, 2, 13}, /* PCI ad */ 77 - {67, 0, 4, 0, 3, 13}, /* PCI pwd down */ 78 - {72, 0, 8, 0, 5, 13}, /* DMAC INT0 */ 79 - {73, 0, 8, 0, 6, 13}, /* DMAC INT1 */ 80 - {74, 0, 8, 0, 7, 13}, /* DMAC INT2 */ 81 - {75, 0, 8, 0, 8, 13}, /* DMAC INT3 */ 82 - {76, 0, 8, 0, 9, 13}, /* DMAC INT4 */ 83 - {78, 0, 8, 0, 11, 13}, /* DMAC ERR */ 84 - {80, 0, 12, 0, 12, 13}, /* PIO0 */ 85 - {84, 0, 16, 0, 13, 13}, /* PIO1 */ 86 - {88, 0, 20, 0, 14, 13}, /* PIO2 */ 87 - {112, 4, 0, 4, 0, 13}, /* Mailbox */ 88 - #ifdef CONFIG_CPU_SUBTYPE_ST40GX1 89 - {116, 4, 4, 4, 4, 13}, /* SSC0 */ 90 - {120, 4, 8, 4, 8, 13}, /* IR Blaster */ 91 - {124, 4, 12, 4, 12, 13}, /* USB host */ 92 - {128, 4, 16, 4, 16, 13}, /* Video processor BLITTER */ 93 - {132, 4, 20, 4, 20, 13}, /* UART0 */ 94 - {134, 4, 20, 4, 22, 13}, /* UART2 */ 95 - {136, 4, 24, 4, 24, 13}, /* IO_PIO0 */ 96 - {140, 4, 28, 4, 28, 13}, /* EMPI */ 97 - {144, 8, 0, 8, 0, 13}, /* MAFE */ 98 - {148, 8, 4, 8, 4, 13}, /* PWM */ 99 - {152, 8, 8, 8, 8, 13}, /* SSC1 */ 100 - {156, 8, 12, 8, 12, 13}, /* IO_PIO1 */ 101 - {160, 8, 16, 8, 16, 13}, /* USB target */ 102 - {164, 8, 20, 8, 20, 13}, /* UART1 */ 103 - {168, 8, 24, 8, 24, 13}, /* Teletext */ 104 - {172, 8, 28, 8, 28, 13}, /* VideoSync VTG */ 105 - {173, 8, 28, 8, 29, 13}, /* VideoSync DVP0 */ 106 - {174, 8, 28, 8, 30, 13}, /* VideoSync DVP1 */ 107 - #endif 108 - #elif defined(CONFIG_CPU_SUBTYPE_SH7760) 109 - /* 110 - * SH7760 INTC2-Style interrupts, vectors IRQ48-111 INTEVT 0x800-0xFE0 111 - */ 112 - /* INTPRIO0 | INTMSK0 */ 113 - {48, 0, 28, 0, 31, 3}, /* IRQ 4 */ 114 - {49, 0, 24, 0, 30, 3}, /* IRQ 3 */ 115 - {50, 0, 20, 0, 29, 3}, /* IRQ 2 */ 116 - {51, 0, 16, 0, 28, 3}, /* IRQ 1 */ 117 - /* 52-55 (INTEVT 0x880-0x8E0) unused/reserved */ 118 - /* INTPRIO4 | INTMSK0 */ 119 - {56, 4, 28, 0, 25, 3}, /* HCAN2_CHAN0 */ 120 - {57, 4, 24, 0, 24, 3}, /* HCAN2_CHAN1 */ 121 - {58, 4, 20, 0, 23, 3}, /* I2S_CHAN0 */ 122 - {59, 4, 16, 0, 22, 3}, /* I2S_CHAN1 */ 123 - {60, 4, 12, 0, 21, 3}, /* AC97_CHAN0 */ 124 - {61, 4, 8, 0, 20, 3}, /* AC97_CHAN1 */ 125 - {62, 4, 4, 0, 19, 3}, /* I2C_CHAN0 */ 126 - {63, 4, 0, 0, 18, 3}, /* I2C_CHAN1 */ 127 - /* INTPRIO8 | INTMSK0 */ 128 - {52, 8, 16, 0, 11, 3}, /* SCIF0_ERI_IRQ */ 129 - {53, 8, 16, 0, 10, 3}, /* SCIF0_RXI_IRQ */ 130 - {54, 8, 16, 0, 9, 3}, /* SCIF0_BRI_IRQ */ 131 - {55, 8, 16, 0, 8, 3}, /* SCIF0_TXI_IRQ */ 132 - {64, 8, 28, 0, 17, 3}, /* USBHI_IRQ */ 133 - {65, 8, 24, 0, 16, 3}, /* LCDC */ 134 - /* 66, 67 unused */ 135 - {68, 8, 20, 0, 14, 13}, /* DMABRGI0_IRQ */ 136 - {69, 8, 20, 0, 13, 13}, /* DMABRGI1_IRQ */ 137 - {70, 8, 20, 0, 12, 13}, /* DMABRGI2_IRQ */ 138 - /* 71 unused */ 139 - {72, 8, 12, 0, 7, 3}, /* SCIF1_ERI_IRQ */ 140 - {73, 8, 12, 0, 6, 3}, /* SCIF1_RXI_IRQ */ 141 - {74, 8, 12, 0, 5, 3}, /* SCIF1_BRI_IRQ */ 142 - {75, 8, 12, 0, 4, 3}, /* SCIF1_TXI_IRQ */ 143 - {76, 8, 8, 0, 3, 3}, /* SCIF2_ERI_IRQ */ 144 - {77, 8, 8, 0, 2, 3}, /* SCIF2_RXI_IRQ */ 145 - {78, 8, 8, 0, 1, 3}, /* SCIF2_BRI_IRQ */ 146 - {79, 8, 8, 0, 0, 3}, /* SCIF2_TXI_IRQ */ 147 - /* | INTMSK4 */ 148 - {80, 8, 4, 4, 23, 3}, /* SIM_ERI */ 149 - {81, 8, 4, 4, 22, 3}, /* SIM_RXI */ 150 - {82, 8, 4, 4, 21, 3}, /* SIM_TXI */ 151 - {83, 8, 4, 4, 20, 3}, /* SIM_TEI */ 152 - {84, 8, 0, 4, 19, 3}, /* HSPII */ 153 - /* INTPRIOC | INTMSK4 */ 154 - /* 85-87 unused/reserved */ 155 - {88, 12, 20, 4, 18, 3}, /* MMCI0 */ 156 - {89, 12, 20, 4, 17, 3}, /* MMCI1 */ 157 - {90, 12, 20, 4, 16, 3}, /* MMCI2 */ 158 - {91, 12, 20, 4, 15, 3}, /* MMCI3 */ 159 - {92, 12, 12, 4, 6, 3}, /* MFI (unsure, bug? in my 7760 manual*/ 160 - /* 93-107 reserved/undocumented */ 161 - {108,12, 4, 4, 1, 3}, /* ADC */ 162 - {109,12, 0, 4, 0, 3}, /* CMTI */ 163 - /* 110-111 reserved/unused */ 164 - #elif defined(CONFIG_CPU_SUBTYPE_SH7780) 165 - { TIMER_IRQ, 0, 24, 0, INTC_TMU0_MSK, 2}, 166 - { 21, 1, 0, 0, INTC_RTC_MSK, TIMER_PRIORITY }, 167 - { 22, 1, 1, 0, INTC_RTC_MSK, TIMER_PRIORITY }, 168 - { 23, 1, 2, 0, INTC_RTC_MSK, TIMER_PRIORITY }, 169 - { SCIF0_ERI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 170 - { SCIF0_RXI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 171 - { SCIF0_BRI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 172 - { SCIF0_TXI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 173 - 174 - { SCIF1_ERI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 175 - { SCIF1_RXI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 176 - { SCIF1_BRI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 177 - { SCIF1_TXI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 178 - 179 - { PCIC0_IRQ, 0x10, 8, 0, INTC_PCIC0_MSK, PCIC0_PRIORITY }, 180 - { PCIC1_IRQ, 0x10, 0, 0, INTC_PCIC1_MSK, PCIC1_PRIORITY }, 181 - { PCIC2_IRQ, 0x14, 24, 0, INTC_PCIC2_MSK, PCIC2_PRIORITY }, 182 - { PCIC3_IRQ, 0x14, 16, 0, INTC_PCIC3_MSK, PCIC3_PRIORITY }, 183 - { PCIC4_IRQ, 0x14, 8, 0, INTC_PCIC4_MSK, PCIC4_PRIORITY }, 184 - #endif 185 - }; 186 - 187 - void __init init_IRQ_intc2(void) 52 + void make_intc2_irq(struct intc2_data *table, unsigned int nr_irqs) 188 53 { 189 54 int i; 190 55 191 - for (i = 0; i < ARRAY_SIZE(intc2_irq_table); i++) 192 - make_intc2_irq(intc2_irq_table + i); 56 + for (i = 0; i < nr_irqs; i++) { 57 + unsigned long ipr, flags; 58 + struct intc2_data *p = table + i; 59 + 60 + disable_irq_nosync(p->irq); 61 + 62 + /* Set the priority level */ 63 + local_irq_save(flags); 64 + 65 + ipr = ctrl_inl(INTC2_BASE + INTC2_INTPRI_OFFSET + 66 + p->ipr_offset); 67 + ipr &= ~(0xf << p->ipr_shift); 68 + ipr |= p->priority << p->ipr_shift; 69 + ctrl_outl(ipr, INTC2_BASE + INTC2_INTPRI_OFFSET + 70 + p->ipr_offset); 71 + 72 + local_irq_restore(flags); 73 + 74 + set_irq_chip_and_handler_name(p->irq, &intc2_irq_chip, 75 + handle_level_irq, "level"); 76 + set_irq_chip_data(p->irq, p); 77 + 78 + enable_intc2_irq(p->irq); 79 + } 193 80 }
+3 -2
arch/sh/kernel/cpu/irq/ipr.c
··· 44 44 } 45 45 46 46 static struct irq_chip ipr_irq_chip = { 47 - .name = "ipr", 47 + .name = "IPR", 48 48 .mask = disable_ipr_irq, 49 49 .unmask = enable_ipr_irq, 50 50 .mask_ack = disable_ipr_irq, ··· 60 60 ipr_data.shift = pos*4; /* POSition (0-3) x 4 means shift */ 61 61 ipr_data.priority = priority; 62 62 63 - set_irq_chip_and_handler(irq, &ipr_irq_chip, handle_level_irq); 63 + set_irq_chip_and_handler_name(irq, &ipr_irq_chip, 64 + handle_level_irq, "level"); 64 65 set_irq_chip_data(irq, &ipr_data); 65 66 66 67 enable_ipr_irq(irq);
+8 -1
arch/sh/kernel/cpu/sh3/ex.S
··· 4 4 * The SH-3 exception vector table. 5 5 6 6 * Copyright (C) 1999, 2000, 2002 Niibe Yutaka 7 - * Copyright (C) 2003 Paul Mundt 7 + * Copyright (C) 2003 - 2006 Paul Mundt 8 8 * 9 9 * This file is subject to the terms and conditions of the GNU General Public 10 10 * License. See the file "COPYING" in the main directory of this archive ··· 49 49 #endif 50 50 ENTRY(user_break_point_trap) 51 51 .long break_point_trap /* 1E0 */ 52 + 53 + /* 54 + * Pad the remainder of the table out, exceptions residing in far 55 + * away offsets can be manually inserted in to their appropriate 56 + * location via set_exception_table_{evt,vec}(). 57 + */ 58 + .balign 4096,0,4096
+8 -1
arch/sh/kernel/cpu/sh4/ex.S
··· 4 4 * The SH-4 exception vector table. 5 5 6 6 * Copyright (C) 1999, 2000, 2002 Niibe Yutaka 7 - * Copyright (C) 2003 Paul Mundt 7 + * Copyright (C) 2003 - 2006 Paul Mundt 8 8 * 9 9 * This file is subject to the terms and conditions of the GNU General Public 10 10 * License. See the file "COPYING" in the main directory of this archive ··· 53 53 #endif 54 54 ENTRY(user_break_point_trap) 55 55 .long break_point_trap /* 1E0 */ 56 + 57 + /* 58 + * Pad the remainder of the table out, exceptions residing in far 59 + * away offsets can be manually inserted in to their appropriate 60 + * location via set_exception_table_{evt,vec}(). 61 + */ 62 + .balign 4096,0,4096
+63
arch/sh/kernel/cpu/sh4/setup-sh7760.c
··· 51 51 ARRAY_SIZE(sh7760_devices)); 52 52 } 53 53 __initcall(sh7760_devices_setup); 54 + 55 + /* 56 + * SH7760 INTC2-Style interrupts, vectors IRQ48-111 INTEVT 0x800-0xFE0 57 + */ 58 + static struct intc2_data intc2_irq_table[] = { 59 + /* INTPRIO0 | INTMSK0 */ 60 + {48, 0, 28, 0, 31, 3}, /* IRQ 4 */ 61 + {49, 0, 24, 0, 30, 3}, /* IRQ 3 */ 62 + {50, 0, 20, 0, 29, 3}, /* IRQ 2 */ 63 + {51, 0, 16, 0, 28, 3}, /* IRQ 1 */ 64 + /* 52-55 (INTEVT 0x880-0x8E0) unused/reserved */ 65 + /* INTPRIO4 | INTMSK0 */ 66 + {56, 4, 28, 0, 25, 3}, /* HCAN2_CHAN0 */ 67 + {57, 4, 24, 0, 24, 3}, /* HCAN2_CHAN1 */ 68 + {58, 4, 20, 0, 23, 3}, /* I2S_CHAN0 */ 69 + {59, 4, 16, 0, 22, 3}, /* I2S_CHAN1 */ 70 + {60, 4, 12, 0, 21, 3}, /* AC97_CHAN0 */ 71 + {61, 4, 8, 0, 20, 3}, /* AC97_CHAN1 */ 72 + {62, 4, 4, 0, 19, 3}, /* I2C_CHAN0 */ 73 + {63, 4, 0, 0, 18, 3}, /* I2C_CHAN1 */ 74 + /* INTPRIO8 | INTMSK0 */ 75 + {52, 8, 16, 0, 11, 3}, /* SCIF0_ERI_IRQ */ 76 + {53, 8, 16, 0, 10, 3}, /* SCIF0_RXI_IRQ */ 77 + {54, 8, 16, 0, 9, 3}, /* SCIF0_BRI_IRQ */ 78 + {55, 8, 16, 0, 8, 3}, /* SCIF0_TXI_IRQ */ 79 + {64, 8, 28, 0, 17, 3}, /* USBHI_IRQ */ 80 + {65, 8, 24, 0, 16, 3}, /* LCDC */ 81 + /* 66, 67 unused */ 82 + {68, 8, 20, 0, 14, 13}, /* DMABRGI0_IRQ */ 83 + {69, 8, 20, 0, 13, 13}, /* DMABRGI1_IRQ */ 84 + {70, 8, 20, 0, 12, 13}, /* DMABRGI2_IRQ */ 85 + /* 71 unused */ 86 + {72, 8, 12, 0, 7, 3}, /* SCIF1_ERI_IRQ */ 87 + {73, 8, 12, 0, 6, 3}, /* SCIF1_RXI_IRQ */ 88 + {74, 8, 12, 0, 5, 3}, /* SCIF1_BRI_IRQ */ 89 + {75, 8, 12, 0, 4, 3}, /* SCIF1_TXI_IRQ */ 90 + {76, 8, 8, 0, 3, 3}, /* SCIF2_ERI_IRQ */ 91 + {77, 8, 8, 0, 2, 3}, /* SCIF2_RXI_IRQ */ 92 + {78, 8, 8, 0, 1, 3}, /* SCIF2_BRI_IRQ */ 93 + {79, 8, 8, 0, 0, 3}, /* SCIF2_TXI_IRQ */ 94 + /* | INTMSK4 */ 95 + {80, 8, 4, 4, 23, 3}, /* SIM_ERI */ 96 + {81, 8, 4, 4, 22, 3}, /* SIM_RXI */ 97 + {82, 8, 4, 4, 21, 3}, /* SIM_TXI */ 98 + {83, 8, 4, 4, 20, 3}, /* SIM_TEI */ 99 + {84, 8, 0, 4, 19, 3}, /* HSPII */ 100 + /* INTPRIOC | INTMSK4 */ 101 + /* 85-87 unused/reserved */ 102 + {88, 12, 20, 4, 18, 3}, /* MMCI0 */ 103 + {89, 12, 20, 4, 17, 3}, /* MMCI1 */ 104 + {90, 12, 20, 4, 16, 3}, /* MMCI2 */ 105 + {91, 12, 20, 4, 15, 3}, /* MMCI3 */ 106 + {92, 12, 12, 4, 6, 3}, /* MFI (unsure, bug? in my 7760 manual*/ 107 + /* 93-107 reserved/undocumented */ 108 + {108,12, 4, 4, 1, 3}, /* ADC */ 109 + {109,12, 0, 4, 0, 3}, /* CMTI */ 110 + /* 110-111 reserved/unused */ 111 + }; 112 + 113 + void __init init_IRQ_intc2(void) 114 + { 115 + make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table)); 116 + }
+27
arch/sh/kernel/cpu/sh4/setup-sh7780.c
··· 77 77 ARRAY_SIZE(sh7780_devices)); 78 78 } 79 79 __initcall(sh7780_devices_setup); 80 + 81 + static struct intc2_data intc2_irq_table[] = { 82 + { TIMER_IRQ, 0, 24, 0, INTC_TMU0_MSK, 2 }, 83 + { 21, 1, 0, 0, INTC_RTC_MSK, TIMER_PRIORITY }, 84 + { 22, 1, 1, 0, INTC_RTC_MSK, TIMER_PRIORITY }, 85 + { 23, 1, 2, 0, INTC_RTC_MSK, TIMER_PRIORITY }, 86 + { SCIF0_ERI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 87 + { SCIF0_RXI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 88 + { SCIF0_BRI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 89 + { SCIF0_TXI_IRQ, 8, 24, 0, INTC_SCIF0_MSK, SCIF0_PRIORITY }, 90 + 91 + { SCIF1_ERI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 92 + { SCIF1_RXI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 93 + { SCIF1_BRI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 94 + { SCIF1_TXI_IRQ, 8, 16, 0, INTC_SCIF1_MSK, SCIF1_PRIORITY }, 95 + 96 + { PCIC0_IRQ, 0x10, 8, 0, INTC_PCIC0_MSK, PCIC0_PRIORITY }, 97 + { PCIC1_IRQ, 0x10, 0, 0, INTC_PCIC1_MSK, PCIC1_PRIORITY }, 98 + { PCIC2_IRQ, 0x14, 24, 0, INTC_PCIC2_MSK, PCIC2_PRIORITY }, 99 + { PCIC3_IRQ, 0x14, 16, 0, INTC_PCIC3_MSK, PCIC3_PRIORITY }, 100 + { PCIC4_IRQ, 0x14, 8, 0, INTC_PCIC4_MSK, PCIC4_PRIORITY }, 101 + }; 102 + 103 + void __init init_IRQ_intc2(void) 104 + { 105 + make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table)); 106 + }
+1 -1
arch/sh/kernel/irq.c
··· 54 54 for_each_online_cpu(j) 55 55 seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); 56 56 seq_printf(p, " %14s", irq_desc[i].chip->name); 57 - seq_printf(p, "-%s", handle_irq_name(irq_desc[i].handle_irq)); 57 + seq_printf(p, "-%-8s", irq_desc[i].name); 58 58 seq_printf(p, " %s", action->name); 59 59 60 60 for (action=action->next; action; action = action->next)
+2 -10
arch/sh/kernel/process.c
··· 105 105 { 106 106 printk("\n"); 107 107 printk("Pid : %d, Comm: %20s\n", current->pid, current->comm); 108 - print_symbol("PC is at %s\n", regs->pc); 108 + print_symbol("PC is at %s\n", instruction_pointer(regs)); 109 109 printk("PC : %08lx SP : %08lx SR : %08lx ", 110 110 regs->pc, regs->regs[15], regs->sr); 111 111 #ifdef CONFIG_MMU ··· 130 130 printk("MACH: %08lx MACL: %08lx GBR : %08lx PR : %08lx\n", 131 131 regs->mach, regs->macl, regs->gbr, regs->pr); 132 132 133 - /* 134 - * If we're in kernel mode, dump the stack too.. 135 - */ 136 - if (!user_mode(regs)) { 137 - extern void show_task(unsigned long *sp); 138 - unsigned long sp = regs->regs[15]; 139 - 140 - show_task((unsigned long *)sp); 141 - } 133 + show_trace(NULL, (unsigned long *)regs->regs[15], regs); 142 134 } 143 135 144 136 /*
+98 -77
arch/sh/kernel/traps.c
··· 1 - /* $Id: traps.c,v 1.17 2004/05/02 01:46:30 sugioka Exp $ 2 - * 3 - * linux/arch/sh/traps.c 1 + /* 2 + * 'traps.c' handles hardware traps and faults after we have saved some 3 + * state in 'entry.S'. 4 4 * 5 5 * SuperH version: Copyright (C) 1999 Niibe Yutaka 6 6 * Copyright (C) 2000 Philipp Rumpf 7 7 * Copyright (C) 2000 David Howells 8 - * Copyright (C) 2002, 2003 Paul Mundt 8 + * Copyright (C) 2002 - 2006 Paul Mundt 9 + * 10 + * This file is subject to the terms and conditions of the GNU General Public 11 + * License. See the file "COPYING" in the main directory of this archive 12 + * for more details. 9 13 */ 10 - 11 - /* 12 - * 'Traps.c' handles hardware traps and faults after we have saved some 13 - * state in 'entry.S'. 14 - */ 15 - #include <linux/sched.h> 16 14 #include <linux/kernel.h> 17 - #include <linux/string.h> 18 - #include <linux/errno.h> 19 15 #include <linux/ptrace.h> 20 - #include <linux/timer.h> 21 - #include <linux/mm.h> 22 - #include <linux/smp.h> 23 - #include <linux/smp_lock.h> 24 16 #include <linux/init.h> 25 - #include <linux/delay.h> 26 17 #include <linux/spinlock.h> 27 18 #include <linux/module.h> 28 19 #include <linux/kallsyms.h> 29 - 20 + #include <linux/io.h> 30 21 #include <asm/system.h> 31 22 #include <asm/uaccess.h> 32 - #include <asm/io.h> 33 - #include <asm/atomic.h> 34 - #include <asm/processor.h> 35 - #include <asm/sections.h> 36 23 37 24 #ifdef CONFIG_SH_KGDB 38 25 #include <asm/kgdb.h> ··· 40 53 #define TRAP_ILLEGAL_SLOT_INST 13 41 54 #endif 42 55 43 - /* 44 - * These constants are for searching for possible module text 45 - * segments. VMALLOC_OFFSET comes from mm/vmalloc.c; MODULE_RANGE is 46 - * a guess of how much space is likely to be vmalloced. 47 - */ 48 - #define VMALLOC_OFFSET (8*1024*1024) 49 - #define MODULE_RANGE (8*1024*1024) 56 + static void dump_mem(const char *str, unsigned long bottom, unsigned long top) 57 + { 58 + unsigned long p; 59 + int i; 60 + 61 + printk("%s(0x%08lx to 0x%08lx)\n", str, bottom, top); 62 + 63 + for (p = bottom & ~31; p < top; ) { 64 + printk("%04lx: ", p & 0xffff); 65 + 66 + for (i = 0; i < 8; i++, p += 4) { 67 + unsigned int val; 68 + 69 + if (p < bottom || p >= top) 70 + printk(" "); 71 + else { 72 + if (__get_user(val, (unsigned int __user *)p)) { 73 + printk("\n"); 74 + return; 75 + } 76 + printk("%08x ", val); 77 + } 78 + } 79 + printk("\n"); 80 + } 81 + } 50 82 51 83 DEFINE_SPINLOCK(die_lock); 52 84 ··· 75 69 76 70 console_verbose(); 77 71 spin_lock_irq(&die_lock); 72 + bust_spinlocks(1); 73 + 78 74 printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); 75 + 79 76 CHK_REMOTE_DEBUG(regs); 77 + print_modules(); 80 78 show_regs(regs); 79 + 80 + printk("Process: %s (pid: %d, stack limit = %p)\n", 81 + current->comm, current->pid, task_stack_page(current) + 1); 82 + 83 + if (!user_mode(regs) || in_interrupt()) 84 + dump_mem("Stack: ", regs->regs[15], THREAD_SIZE + 85 + (unsigned long)task_stack_page(current)); 86 + 87 + bust_spinlocks(0); 81 88 spin_unlock_irq(&die_lock); 82 89 do_exit(SIGSEGV); 83 90 } 84 91 85 - static inline void die_if_kernel(const char * str, struct pt_regs * regs, long err) 92 + static inline void die_if_kernel(const char *str, struct pt_regs *regs, 93 + long err) 86 94 { 87 95 if (!user_mode(regs)) 88 96 die(str, regs, err); ··· 113 93 */ 114 94 static int die_if_no_fixup(const char * str, struct pt_regs * regs, long err) 115 95 { 116 - if (!user_mode(regs)) 117 - { 96 + if (!user_mode(regs)) { 118 97 const struct exception_table_entry *fixup; 119 98 fixup = search_exception_tables(regs->pc); 120 99 if (fixup) { ··· 569 550 #define is_dsp_inst(regs) (0) 570 551 #endif /* CONFIG_SH_DSP */ 571 552 572 - extern int do_fpu_inst(unsigned short, struct pt_regs*); 553 + /* arch/sh/kernel/cpu/sh4/fpu.c */ 554 + extern int do_fpu_inst(unsigned short, struct pt_regs *); 555 + extern asmlinkage void do_fpu_state_restore(unsigned long r4, unsigned long r5, 556 + unsigned long r6, unsigned long r7, struct pt_regs regs); 573 557 574 558 asmlinkage void do_reserved_inst(unsigned long r4, unsigned long r5, 575 559 unsigned long r6, unsigned long r7, ··· 731 709 : "memory"); 732 710 } 733 711 734 - void __init trap_init(void) 712 + void *set_exception_table_vec(unsigned int vec, void *handler) 735 713 { 736 714 extern void *exception_handling_table[]; 715 + void *old_handler; 716 + 717 + old_handler = exception_handling_table[vec]; 718 + exception_handling_table[vec] = handler; 719 + return old_handler; 720 + } 737 721 738 - exception_handling_table[TRAP_RESERVED_INST] 739 - = (void *)do_reserved_inst; 740 - exception_handling_table[TRAP_ILLEGAL_SLOT_INST] 741 - = (void *)do_illegal_slot_inst; 722 + void __init trap_init(void) 723 + { 724 + set_exception_table_vec(TRAP_RESERVED_INST, do_reserved_inst); 725 + set_exception_table_vec(TRAP_ILLEGAL_SLOT_INST, do_illegal_slot_inst); 742 726 743 727 #if defined(CONFIG_CPU_SH4) && !defined(CONFIG_SH_FPU) || \ 744 728 defined(CONFIG_SH_FPU_EMU) ··· 753 725 * reserved. They'll be handled in the math-emu case, or faulted on 754 726 * otherwise. 755 727 */ 756 - /* entry 64 corresponds to EXPEVT=0x800 */ 757 - exception_handling_table[64] = (void *)do_reserved_inst; 758 - exception_handling_table[65] = (void *)do_illegal_slot_inst; 728 + set_exception_table_evt(0x800, do_reserved_inst); 729 + set_exception_table_evt(0x820, do_illegal_slot_inst); 730 + #elif defined(CONFIG_SH_FPU) 731 + set_exception_table_evt(0x800, do_fpu_state_restore); 732 + set_exception_table_evt(0x820, do_fpu_state_restore); 759 733 #endif 760 734 761 735 /* Setup VBR for boot cpu */ 762 736 per_cpu_trap_init(); 763 737 } 764 738 739 + void show_trace(struct task_struct *tsk, unsigned long *sp, 740 + struct pt_regs *regs) 741 + { 742 + unsigned long addr; 743 + 744 + if (regs && user_mode(regs)) 745 + return; 746 + 747 + printk("\nCall trace: "); 748 + #ifdef CONFIG_KALLSYMS 749 + printk("\n"); 750 + #endif 751 + 752 + while (!kstack_end(sp)) { 753 + addr = *sp++; 754 + if (kernel_text_address(addr)) 755 + print_ip_sym(addr); 756 + } 757 + 758 + printk("\n"); 759 + } 760 + 765 761 void show_stack(struct task_struct *tsk, unsigned long *sp) 766 762 { 767 - unsigned long *stack, addr; 768 - unsigned long module_start = VMALLOC_START; 769 - unsigned long module_end = VMALLOC_END; 770 - int i = 1; 763 + unsigned long stack; 771 764 772 765 if (!tsk) 773 766 tsk = current; ··· 797 748 else 798 749 sp = (unsigned long *)tsk->thread.sp; 799 750 800 - stack = sp; 801 - 802 - printk("\nCall trace: "); 803 - #ifdef CONFIG_KALLSYMS 804 - printk("\n"); 805 - #endif 806 - 807 - while (!kstack_end(stack)) { 808 - addr = *stack++; 809 - if (((addr >= (unsigned long)_text) && 810 - (addr <= (unsigned long)_etext)) || 811 - ((addr >= module_start) && (addr <= module_end))) { 812 - /* 813 - * For 80-columns display, 6 entry is maximum. 814 - * NOTE: '[<8c00abcd>] ' consumes 13 columns . 815 - */ 816 - #ifndef CONFIG_KALLSYMS 817 - if (i && ((i % 6) == 0)) 818 - printk("\n "); 819 - #endif 820 - printk("[<%08lx>] ", addr); 821 - print_symbol("%s\n", addr); 822 - i++; 823 - } 824 - } 825 - 826 - printk("\n"); 827 - } 828 - 829 - void show_task(unsigned long *sp) 830 - { 831 - show_stack(NULL, sp); 751 + stack = (unsigned long)sp; 752 + dump_mem("Stack: ", stack, THREAD_SIZE + 753 + (unsigned long)task_stack_page(tsk)); 754 + show_trace(tsk, sp, NULL); 832 755 } 833 756 834 757 void dump_stack(void)
+1 -1
drivers/input/touchscreen/hp680_ts_input.c
··· 6 6 #include <asm/io.h> 7 7 #include <asm/delay.h> 8 8 #include <asm/adc.h> 9 - #include <asm/hp6xx/hp6xx.h> 9 + #include <asm/hp6xx.h> 10 10 11 11 #define MODNAME "hp680_ts_input" 12 12
-1
drivers/video/hitfb.c
··· 29 29 #include <asm/io.h> 30 30 #include <asm/hd64461.h> 31 31 #include <asm/cpu/dac.h> 32 - #include <asm/hp6xx/hp6xx.h> 33 32 34 33 #define WIDTH 640 35 34
include/asm-sh/edosk7705/io.h include/asm-sh/edosk7705.h
include/asm-sh/hp6xx/hp6xx.h include/asm-sh/hp6xx.h
-8
include/asm-sh/hp6xx/ide.h
··· 1 - #ifndef __ASM_SH_HP6XX_IDE_H 2 - #define __ASM_SH_HP6XX_IDE_H 3 - 4 - #define IRQ_CFCARD 93 5 - #define IRQ_PCMCIA 94 6 - 7 - #endif /* __ASM_SH_HP6XX_IDE_H */ 8 -
-10
include/asm-sh/hp6xx/io.h
··· 1 - #ifndef __ASM_SH_HP6XX_IO_H 2 - #define __ASM_SH_HP6XX_IO_H 3 - 4 - /* 5 - * Nothing special here.. just use the generic cchip io routines. 6 - */ 7 - #include <asm/hd64461.h> 8 - 9 - #endif /* __ASM_SH_HP6XX_IO_H */ 10 -
include/asm-sh/hs7751rvoip/hs7751rvoip.h include/asm-sh/hs7751rvoip.h
-8
include/asm-sh/hs7751rvoip/ide.h
··· 1 - #ifndef __ASM_SH_HS7751RVOIP_IDE_H 2 - #define __ASM_SH_HS7751RVOIP_IDE_H 3 - 4 - /* Nothing to see here.. */ 5 - #include <asm/hs7751rvoip/hs7751rvoip.h> 6 - 7 - #endif /* __ASM_SH_HS7751RVOIP_IDE_H */ 8 -
-10
include/asm-sh/irq-sh7780.h
··· 6 6 * 7 7 * Copyright (C) 2004 Takashi SHUDO <shudo@hitachi-ul.co.jp> 8 8 */ 9 - 10 - #ifdef CONFIG_IDE 11 - # ifndef IRQ_CFCARD 12 - # define IRQ_CFCARD 14 13 - # endif 14 - # ifndef IRQ_PCMCIA 15 - # define IRQ_PCMCIA 15 16 - # endif 17 - #endif 18 - 19 9 #define INTC_BASE 0xffd00000 20 10 #define INTC_ICR0 (INTC_BASE+0x0) 21 11 #define INTC_ICR1 (INTC_BASE+0x1c)
+1 -20
include/asm-sh/irq.h
··· 14 14 #include <asm/machvec.h> 15 15 #include <asm/ptrace.h> /* for pt_regs */ 16 16 17 - #if defined(CONFIG_SH_HP6XX) || \ 18 - defined(CONFIG_SH_RTS7751R2D) || \ 19 - defined(CONFIG_SH_HS7751RVOIP) || \ 20 - defined(CONFIG_SH_HS7751RVOIP) || \ 21 - defined(CONFIG_SH_SH03) || \ 22 - defined(CONFIG_SH_R7780RP) || \ 23 - defined(CONFIG_SH_LANDISK) 24 - #include <asm/mach/ide.h> 25 - #endif 26 - 27 17 #ifndef CONFIG_CPU_SUBTYPE_SH7780 28 18 29 19 #define INTC_DMAC0_MSK 0 ··· 26 36 #define INTC_IPRB 0xffd00008UL 27 37 #define INTC_IPRC 0xffd0000cUL 28 38 #define INTC_IPRD 0xffd00010UL 29 - #endif 30 - 31 - #ifdef CONFIG_IDE 32 - # ifndef IRQ_CFCARD 33 - # define IRQ_CFCARD 14 34 - # endif 35 - # ifndef IRQ_PCMCIA 36 - # define IRQ_PCMCIA 15 37 - # endif 38 39 #endif 39 40 40 41 #define TIMER_IRQ 16 ··· 685 704 unsigned char priority; 686 705 }; 687 706 688 - void make_intc2_irq(struct intc2_data *); 707 + void make_intc2_irq(struct intc2_data *, unsigned int nr_irqs); 689 708 void init_IRQ_intc2(void); 690 709 #endif 691 710
-14
include/asm-sh/landisk/ide.h
··· 1 - /* 2 - * modifed by kogiidena 3 - * 2005.03.03 4 - */ 5 - 6 - #ifndef __ASM_SH_LANDISK_IDE_H 7 - #define __ASM_SH_LANDISK_IDE_H 8 - 9 - /* Nothing to see here.. */ 10 - #include <asm/landisk/iodata_landisk.h> 11 - #define IRQ_CFCARD IRQ_FATA /* CF Card IRQ */ 12 - #define IRQ_PCMCIA IRQ_ATA /* PCMCIA IRQ */ 13 - 14 - #endif /* __ASM_SH_LANDISK_IDE_H */
+2
include/asm-sh/processor.h
··· 255 255 */ 256 256 #define thread_saved_pc(tsk) (tsk->thread.pc) 257 257 258 + void show_trace(struct task_struct *tsk, unsigned long *sp, 259 + struct pt_regs *regs); 258 260 extern unsigned long get_wchan(struct task_struct *p); 259 261 260 262 #define KSTK_EIP(tsk) ((tsk)->thread.pc)
-8
include/asm-sh/r7780rp/ide.h
··· 1 - #ifndef __ASM_SH_R7780RP_IDE_H 2 - #define __ASM_SH_R7780RP_IDE_H 3 - 4 - /* Nothing to see here.. */ 5 - #include <asm/mach/r7780rp.h> 6 - 7 - #endif /* __ASM_SH_R7780RP_IDE_H */ 8 -
-6
include/asm-sh/r7780rp/r7780rp.h include/asm-sh/r7780rp.h
··· 72 72 73 73 #define PA_AX88796L 0xa4100400 /* AX88796L Area */ 74 74 #define PA_SC1602BSLB 0xa6000000 /* SC1602BSLB Area */ 75 - #define PA_AREA5_IO 0xb4000000 /* Area 5 IO Memory */ 76 - #define PA_AREA6_IO 0xb8000000 /* Area 6 IO Memory */ 77 75 #define PA_IDE_OFFSET 0x1f0 /* CF IDE Offset */ 78 76 #define AX88796L_IO_BASE 0x1000 /* AX88796L IO Base Address */ 79 77 ··· 81 83 #define IRQ_PCISLOT2 66 /* PCI Slot #2 IRQ */ 82 84 #define IRQ_PCISLOT3 67 /* PCI Slot #3 IRQ */ 83 85 #define IRQ_PCISLOT4 68 /* PCI Slot #4 IRQ */ 84 - #define IRQ_CFCARD 1 /* CF Card IRQ */ 85 86 // #define IRQ_CFINST 0 /* CF Card Insert IRQ */ 86 87 #define IRQ_TP 2 /* Touch Panel IRQ */ 87 88 #define IRQ_SCI1 3 /* SCI1 IRQ */ ··· 143 146 144 147 #define PA_AX88796L 0xa5800400 /* AX88796L Area */ 145 148 #define PA_SC1602BSLB 0xa6000000 /* SC1602BSLB Area */ 146 - #define PA_AREA5_IO 0xb4000000 /* Area 5 IO Memory */ 147 - #define PA_AREA6_IO 0xb8000000 /* Area 6 IO Memory */ 148 149 #define PA_IDE_OFFSET 0x1f0 /* CF IDE Offset */ 149 150 #define AX88796L_IO_BASE 0x1000 /* AX88796L IO Base Address */ 150 151 ··· 152 157 #define IRQ_PCISLOT2 1 /* PCI Slot #2 IRQ */ 153 158 #define IRQ_PCISLOT3 2 /* PCI Slot #3 IRQ */ 154 159 #define IRQ_PCISLOT4 3 /* PCI Slot #4 IRQ */ 155 - #define IRQ_CFCARD 4 /* CF Card IRQ */ 156 160 #define IRQ_CFINST 5 /* CF Card Insert IRQ */ 157 161 #define IRQ_M66596 6 /* M66596 IRQ */ 158 162 #define IRQ_SDCARD 7 /* SD Card IRQ */
-8
include/asm-sh/rts7751r2d/ide.h
··· 1 - #ifndef __ASM_SH_RTS7751R2D_IDE_H 2 - #define __ASM_SH_RTS7751R2D_IDE_H 3 - 4 - /* Nothing to see here.. */ 5 - #include <asm/rts7751r2d/rts7751r2d.h> 6 - 7 - #endif /* __ASM_SH_RTS7751R2D_IDE_H */ 8 -
include/asm-sh/rts7751r2d/rts7751r2d.h include/asm-sh/rts7751r2d.h
-7
include/asm-sh/sh03/ide.h
··· 1 - #ifndef __ASM_SH_SH03_IDE_H 2 - #define __ASM_SH_SH03_IDE_H 3 - 4 - #define IRQ_CFCARD 8 5 - #define IRQ_PCMCIA 8 6 - 7 - #endif /* __ASM_SH_SH03_IDE_H */
include/asm-sh/shmin/shmin.h include/asm-sh/shmin.h
+7
include/asm-sh/system.h
··· 353 353 (unsigned long)_n_, sizeof(*(ptr))); \ 354 354 }) 355 355 356 + extern void *set_exception_table_vec(unsigned int vec, void *handler); 357 + 358 + static inline void *set_exception_table_evt(unsigned int evt, void *handler) 359 + { 360 + return set_exception_table_vec(evt >> 5, handler); 361 + } 362 + 356 363 /* XXX 357 364 * disable hlt during certain critical i/o operations 358 365 */
+1 -1
sound/oss/sh_dac_audio.c
··· 26 26 #include <asm/cpu/dac.h> 27 27 #include <asm/cpu/timer.h> 28 28 #include <asm/machvec.h> 29 - #include <asm/hp6xx/hp6xx.h> 29 + #include <asm/hp6xx.h> 30 30 #include <asm/hd64461.h> 31 31 32 32 #define MODNAME "sh_dac_audio"