diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-16 14:31:29 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-16 14:31:29 -0400 |
| commit | 15a063f78eba39e1b040b2c4cab422980b58219a (patch) | |
| tree | 1f1578dbc642ccf706ac5fb151fa66c07c546729 | |
| parent | 1dd8372d350583b0acc8d7cfd7a1dee05e1942dc (diff) | |
| parent | fa75ce649ee2600b117631f8794e0e7dbedb1d68 (diff) | |
Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh
Pull SuperH fixes from Paul Mundt.
* tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
sh: intc: Handle domain association for sparseirq pre-allocated vectors.
sh: sh7269: Fix LCD pinmux
sh: dma: fix request_irq usage
| -rw-r--r-- | arch/sh/drivers/dma/dma-sh.c | 2 | ||||
| -rw-r--r-- | arch/sh/include/cpu-sh2a/cpu/sh7269.h | 36 | ||||
| -rw-r--r-- | arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c | 195 | ||||
| -rw-r--r-- | drivers/sh/intc/core.c | 27 |
4 files changed, 165 insertions, 95 deletions
diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c index 4c171f13b0e8..b22565623142 100644 --- a/arch/sh/drivers/dma/dma-sh.c +++ b/arch/sh/drivers/dma/dma-sh.c | |||
| @@ -335,7 +335,7 @@ static int dmae_irq_init(void) | |||
| 335 | 335 | ||
| 336 | for (n = 0; n < NR_DMAE; n++) { | 336 | for (n = 0; n < NR_DMAE; n++) { |
| 337 | int i = request_irq(get_dma_error_irq(n), dma_err, | 337 | int i = request_irq(get_dma_error_irq(n), dma_err, |
| 338 | IRQF_SHARED, dmae_name[n], NULL); | 338 | IRQF_SHARED, dmae_name[n], (void *)dmae_name[n]); |
| 339 | if (unlikely(i < 0)) { | 339 | if (unlikely(i < 0)) { |
| 340 | printk(KERN_ERR "%s request_irq fail\n", dmae_name[n]); | 340 | printk(KERN_ERR "%s request_irq fail\n", dmae_name[n]); |
| 341 | return i; | 341 | return i; |
diff --git a/arch/sh/include/cpu-sh2a/cpu/sh7269.h b/arch/sh/include/cpu-sh2a/cpu/sh7269.h index 48d14498e774..2a0ca8780f0d 100644 --- a/arch/sh/include/cpu-sh2a/cpu/sh7269.h +++ b/arch/sh/include/cpu-sh2a/cpu/sh7269.h | |||
| @@ -183,18 +183,30 @@ enum { | |||
| 183 | GPIO_FN_DV_DATA1, GPIO_FN_DV_DATA0, | 183 | GPIO_FN_DV_DATA1, GPIO_FN_DV_DATA0, |
| 184 | GPIO_FN_LCD_CLK, GPIO_FN_LCD_EXTCLK, | 184 | GPIO_FN_LCD_CLK, GPIO_FN_LCD_EXTCLK, |
| 185 | GPIO_FN_LCD_VSYNC, GPIO_FN_LCD_HSYNC, GPIO_FN_LCD_DE, | 185 | GPIO_FN_LCD_VSYNC, GPIO_FN_LCD_HSYNC, GPIO_FN_LCD_DE, |
| 186 | GPIO_FN_LCD_DATA23, GPIO_FN_LCD_DATA22, | 186 | GPIO_FN_LCD_DATA23_PG23, GPIO_FN_LCD_DATA22_PG22, |
| 187 | GPIO_FN_LCD_DATA21, GPIO_FN_LCD_DATA20, | 187 | GPIO_FN_LCD_DATA21_PG21, GPIO_FN_LCD_DATA20_PG20, |
| 188 | GPIO_FN_LCD_DATA19, GPIO_FN_LCD_DATA18, | 188 | GPIO_FN_LCD_DATA19_PG19, GPIO_FN_LCD_DATA18_PG18, |
| 189 | GPIO_FN_LCD_DATA17, GPIO_FN_LCD_DATA16, | 189 | GPIO_FN_LCD_DATA17_PG17, GPIO_FN_LCD_DATA16_PG16, |
| 190 | GPIO_FN_LCD_DATA15, GPIO_FN_LCD_DATA14, | 190 | GPIO_FN_LCD_DATA15_PG15, GPIO_FN_LCD_DATA14_PG14, |
| 191 | GPIO_FN_LCD_DATA13, GPIO_FN_LCD_DATA12, | 191 | GPIO_FN_LCD_DATA13_PG13, GPIO_FN_LCD_DATA12_PG12, |
| 192 | GPIO_FN_LCD_DATA11, GPIO_FN_LCD_DATA10, | 192 | GPIO_FN_LCD_DATA11_PG11, GPIO_FN_LCD_DATA10_PG10, |
| 193 | GPIO_FN_LCD_DATA9, GPIO_FN_LCD_DATA8, | 193 | GPIO_FN_LCD_DATA9_PG9, GPIO_FN_LCD_DATA8_PG8, |
| 194 | GPIO_FN_LCD_DATA7, GPIO_FN_LCD_DATA6, | 194 | GPIO_FN_LCD_DATA7_PG7, GPIO_FN_LCD_DATA6_PG6, |
| 195 | GPIO_FN_LCD_DATA5, GPIO_FN_LCD_DATA4, | 195 | GPIO_FN_LCD_DATA5_PG5, GPIO_FN_LCD_DATA4_PG4, |
| 196 | GPIO_FN_LCD_DATA3, GPIO_FN_LCD_DATA2, | 196 | GPIO_FN_LCD_DATA3_PG3, GPIO_FN_LCD_DATA2_PG2, |
| 197 | GPIO_FN_LCD_DATA1, GPIO_FN_LCD_DATA0, | 197 | GPIO_FN_LCD_DATA1_PG1, GPIO_FN_LCD_DATA0_PG0, |
| 198 | GPIO_FN_LCD_DATA23_PJ23, GPIO_FN_LCD_DATA22_PJ22, | ||
| 199 | GPIO_FN_LCD_DATA21_PJ21, GPIO_FN_LCD_DATA20_PJ20, | ||
| 200 | GPIO_FN_LCD_DATA19_PJ19, GPIO_FN_LCD_DATA18_PJ18, | ||
| 201 | GPIO_FN_LCD_DATA17_PJ17, GPIO_FN_LCD_DATA16_PJ16, | ||
| 202 | GPIO_FN_LCD_DATA15_PJ15, GPIO_FN_LCD_DATA14_PJ14, | ||
| 203 | GPIO_FN_LCD_DATA13_PJ13, GPIO_FN_LCD_DATA12_PJ12, | ||
| 204 | GPIO_FN_LCD_DATA11_PJ11, GPIO_FN_LCD_DATA10_PJ10, | ||
| 205 | GPIO_FN_LCD_DATA9_PJ9, GPIO_FN_LCD_DATA8_PJ8, | ||
| 206 | GPIO_FN_LCD_DATA7_PJ7, GPIO_FN_LCD_DATA6_PJ6, | ||
| 207 | GPIO_FN_LCD_DATA5_PJ5, GPIO_FN_LCD_DATA4_PJ4, | ||
| 208 | GPIO_FN_LCD_DATA3_PJ3, GPIO_FN_LCD_DATA2_PJ2, | ||
| 209 | GPIO_FN_LCD_DATA1_PJ1, GPIO_FN_LCD_DATA0_PJ0, | ||
| 198 | GPIO_FN_LCD_M_DISP, | 210 | GPIO_FN_LCD_M_DISP, |
| 199 | }; | 211 | }; |
| 200 | 212 | ||
diff --git a/arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c b/arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c index f25127c46eca..039e4587dd9b 100644 --- a/arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c +++ b/arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c | |||
| @@ -758,12 +758,22 @@ enum { | |||
| 758 | DV_DATA3_MARK, DV_DATA2_MARK, DV_DATA1_MARK, DV_DATA0_MARK, | 758 | DV_DATA3_MARK, DV_DATA2_MARK, DV_DATA1_MARK, DV_DATA0_MARK, |
| 759 | LCD_CLK_MARK, LCD_EXTCLK_MARK, | 759 | LCD_CLK_MARK, LCD_EXTCLK_MARK, |
| 760 | LCD_VSYNC_MARK, LCD_HSYNC_MARK, LCD_DE_MARK, | 760 | LCD_VSYNC_MARK, LCD_HSYNC_MARK, LCD_DE_MARK, |
| 761 | LCD_DATA23_MARK, LCD_DATA22_MARK, LCD_DATA21_MARK, LCD_DATA20_MARK, | 761 | LCD_DATA23_PG23_MARK, LCD_DATA22_PG22_MARK, LCD_DATA21_PG21_MARK, |
| 762 | LCD_DATA19_MARK, LCD_DATA18_MARK, LCD_DATA17_MARK, LCD_DATA16_MARK, | 762 | LCD_DATA20_PG20_MARK, LCD_DATA19_PG19_MARK, LCD_DATA18_PG18_MARK, |
| 763 | LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK, | 763 | LCD_DATA17_PG17_MARK, LCD_DATA16_PG16_MARK, LCD_DATA15_PG15_MARK, |
| 764 | LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK, | 764 | LCD_DATA14_PG14_MARK, LCD_DATA13_PG13_MARK, LCD_DATA12_PG12_MARK, |
| 765 | LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK, | 765 | LCD_DATA11_PG11_MARK, LCD_DATA10_PG10_MARK, LCD_DATA9_PG9_MARK, |
| 766 | LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK, | 766 | LCD_DATA8_PG8_MARK, LCD_DATA7_PG7_MARK, LCD_DATA6_PG6_MARK, |
| 767 | LCD_DATA5_PG5_MARK, LCD_DATA4_PG4_MARK, LCD_DATA3_PG3_MARK, | ||
| 768 | LCD_DATA2_PG2_MARK, LCD_DATA1_PG1_MARK, LCD_DATA0_PG0_MARK, | ||
| 769 | LCD_DATA23_PJ23_MARK, LCD_DATA22_PJ22_MARK, LCD_DATA21_PJ21_MARK, | ||
| 770 | LCD_DATA20_PJ20_MARK, LCD_DATA19_PJ19_MARK, LCD_DATA18_PJ18_MARK, | ||
| 771 | LCD_DATA17_PJ17_MARK, LCD_DATA16_PJ16_MARK, LCD_DATA15_PJ15_MARK, | ||
| 772 | LCD_DATA14_PJ14_MARK, LCD_DATA13_PJ13_MARK, LCD_DATA12_PJ12_MARK, | ||
| 773 | LCD_DATA11_PJ11_MARK, LCD_DATA10_PJ10_MARK, LCD_DATA9_PJ9_MARK, | ||
| 774 | LCD_DATA8_PJ8_MARK, LCD_DATA7_PJ7_MARK, LCD_DATA6_PJ6_MARK, | ||
| 775 | LCD_DATA5_PJ5_MARK, LCD_DATA4_PJ4_MARK, LCD_DATA3_PJ3_MARK, | ||
| 776 | LCD_DATA2_PJ2_MARK, LCD_DATA1_PJ1_MARK, LCD_DATA0_PJ0_MARK, | ||
| 767 | LCD_TCON6_MARK, LCD_TCON5_MARK, LCD_TCON4_MARK, | 777 | LCD_TCON6_MARK, LCD_TCON5_MARK, LCD_TCON4_MARK, |
| 768 | LCD_TCON3_MARK, LCD_TCON2_MARK, LCD_TCON1_MARK, LCD_TCON0_MARK, | 778 | LCD_TCON3_MARK, LCD_TCON2_MARK, LCD_TCON1_MARK, LCD_TCON0_MARK, |
| 769 | LCD_M_DISP_MARK, | 779 | LCD_M_DISP_MARK, |
| @@ -1036,6 +1046,7 @@ static pinmux_enum_t pinmux_data[] = { | |||
| 1036 | 1046 | ||
| 1037 | PINMUX_DATA(PF1_DATA, PF1MD_000), | 1047 | PINMUX_DATA(PF1_DATA, PF1MD_000), |
| 1038 | PINMUX_DATA(BACK_MARK, PF1MD_001), | 1048 | PINMUX_DATA(BACK_MARK, PF1MD_001), |
| 1049 | PINMUX_DATA(SSL10_MARK, PF1MD_011), | ||
| 1039 | PINMUX_DATA(TIOC4B_MARK, PF1MD_100), | 1050 | PINMUX_DATA(TIOC4B_MARK, PF1MD_100), |
| 1040 | PINMUX_DATA(DACK0_MARK, PF1MD_101), | 1051 | PINMUX_DATA(DACK0_MARK, PF1MD_101), |
| 1041 | 1052 | ||
| @@ -1049,47 +1060,50 @@ static pinmux_enum_t pinmux_data[] = { | |||
| 1049 | PINMUX_DATA(PG27_DATA, PG27MD_00), | 1060 | PINMUX_DATA(PG27_DATA, PG27MD_00), |
| 1050 | PINMUX_DATA(LCD_TCON2_MARK, PG27MD_10), | 1061 | PINMUX_DATA(LCD_TCON2_MARK, PG27MD_10), |
| 1051 | PINMUX_DATA(LCD_EXTCLK_MARK, PG27MD_11), | 1062 | PINMUX_DATA(LCD_EXTCLK_MARK, PG27MD_11), |
| 1063 | PINMUX_DATA(LCD_DE_MARK, PG27MD_11), | ||
| 1052 | 1064 | ||
| 1053 | PINMUX_DATA(PG26_DATA, PG26MD_00), | 1065 | PINMUX_DATA(PG26_DATA, PG26MD_00), |
| 1054 | PINMUX_DATA(LCD_TCON1_MARK, PG26MD_10), | 1066 | PINMUX_DATA(LCD_TCON1_MARK, PG26MD_10), |
| 1067 | PINMUX_DATA(LCD_HSYNC_MARK, PG26MD_10), | ||
| 1055 | 1068 | ||
| 1056 | PINMUX_DATA(PG25_DATA, PG25MD_00), | 1069 | PINMUX_DATA(PG25_DATA, PG25MD_00), |
| 1057 | PINMUX_DATA(LCD_TCON0_MARK, PG25MD_10), | 1070 | PINMUX_DATA(LCD_TCON0_MARK, PG25MD_10), |
| 1071 | PINMUX_DATA(LCD_VSYNC_MARK, PG25MD_10), | ||
| 1058 | 1072 | ||
| 1059 | PINMUX_DATA(PG24_DATA, PG24MD_00), | 1073 | PINMUX_DATA(PG24_DATA, PG24MD_00), |
| 1060 | PINMUX_DATA(LCD_CLK_MARK, PG24MD_10), | 1074 | PINMUX_DATA(LCD_CLK_MARK, PG24MD_10), |
| 1061 | 1075 | ||
| 1062 | PINMUX_DATA(PG23_DATA, PG23MD_000), | 1076 | PINMUX_DATA(PG23_DATA, PG23MD_000), |
| 1063 | PINMUX_DATA(LCD_DATA23_MARK, PG23MD_010), | 1077 | PINMUX_DATA(LCD_DATA23_PG23_MARK, PG23MD_010), |
| 1064 | PINMUX_DATA(LCD_TCON6_MARK, PG23MD_011), | 1078 | PINMUX_DATA(LCD_TCON6_MARK, PG23MD_011), |
| 1065 | PINMUX_DATA(TXD5_MARK, PG23MD_100), | 1079 | PINMUX_DATA(TXD5_MARK, PG23MD_100), |
| 1066 | 1080 | ||
| 1067 | PINMUX_DATA(PG22_DATA, PG22MD_000), | 1081 | PINMUX_DATA(PG22_DATA, PG22MD_000), |
| 1068 | PINMUX_DATA(LCD_DATA22_MARK, PG22MD_010), | 1082 | PINMUX_DATA(LCD_DATA22_PG22_MARK, PG22MD_010), |
| 1069 | PINMUX_DATA(LCD_TCON5_MARK, PG22MD_011), | 1083 | PINMUX_DATA(LCD_TCON5_MARK, PG22MD_011), |
| 1070 | PINMUX_DATA(RXD5_MARK, PG22MD_100), | 1084 | PINMUX_DATA(RXD5_MARK, PG22MD_100), |
| 1071 | 1085 | ||
| 1072 | PINMUX_DATA(PG21_DATA, PG21MD_000), | 1086 | PINMUX_DATA(PG21_DATA, PG21MD_000), |
| 1073 | PINMUX_DATA(DV_DATA7_MARK, PG21MD_001), | 1087 | PINMUX_DATA(DV_DATA7_MARK, PG21MD_001), |
| 1074 | PINMUX_DATA(LCD_DATA21_MARK, PG21MD_010), | 1088 | PINMUX_DATA(LCD_DATA21_PG21_MARK, PG21MD_010), |
| 1075 | PINMUX_DATA(LCD_TCON4_MARK, PG21MD_011), | 1089 | PINMUX_DATA(LCD_TCON4_MARK, PG21MD_011), |
| 1076 | PINMUX_DATA(TXD4_MARK, PG21MD_100), | 1090 | PINMUX_DATA(TXD4_MARK, PG21MD_100), |
| 1077 | 1091 | ||
| 1078 | PINMUX_DATA(PG20_DATA, PG20MD_000), | 1092 | PINMUX_DATA(PG20_DATA, PG20MD_000), |
| 1079 | PINMUX_DATA(DV_DATA6_MARK, PG20MD_001), | 1093 | PINMUX_DATA(DV_DATA6_MARK, PG20MD_001), |
| 1080 | PINMUX_DATA(LCD_DATA20_MARK, PG21MD_010), | 1094 | PINMUX_DATA(LCD_DATA20_PG20_MARK, PG21MD_010), |
| 1081 | PINMUX_DATA(LCD_TCON3_MARK, PG20MD_011), | 1095 | PINMUX_DATA(LCD_TCON3_MARK, PG20MD_011), |
| 1082 | PINMUX_DATA(RXD4_MARK, PG20MD_100), | 1096 | PINMUX_DATA(RXD4_MARK, PG20MD_100), |
| 1083 | 1097 | ||
| 1084 | PINMUX_DATA(PG19_DATA, PG19MD_000), | 1098 | PINMUX_DATA(PG19_DATA, PG19MD_000), |
| 1085 | PINMUX_DATA(DV_DATA5_MARK, PG19MD_001), | 1099 | PINMUX_DATA(DV_DATA5_MARK, PG19MD_001), |
| 1086 | PINMUX_DATA(LCD_DATA19_MARK, PG19MD_010), | 1100 | PINMUX_DATA(LCD_DATA19_PG19_MARK, PG19MD_010), |
| 1087 | PINMUX_DATA(SPDIF_OUT_MARK, PG19MD_011), | 1101 | PINMUX_DATA(SPDIF_OUT_MARK, PG19MD_011), |
| 1088 | PINMUX_DATA(SCK5_MARK, PG19MD_100), | 1102 | PINMUX_DATA(SCK5_MARK, PG19MD_100), |
| 1089 | 1103 | ||
| 1090 | PINMUX_DATA(PG18_DATA, PG18MD_000), | 1104 | PINMUX_DATA(PG18_DATA, PG18MD_000), |
| 1091 | PINMUX_DATA(DV_DATA4_MARK, PG18MD_001), | 1105 | PINMUX_DATA(DV_DATA4_MARK, PG18MD_001), |
| 1092 | PINMUX_DATA(LCD_DATA18_MARK, PG18MD_010), | 1106 | PINMUX_DATA(LCD_DATA18_PG18_MARK, PG18MD_010), |
