Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: sec: Fix reg_offset for interrupt registers

reg_offset is offset of the status/mask registers. Now, since status_base
and mask_base are pointing to corresponding first registers, reg_offset
should start from 0 otheriwse regmap_add_irq_chip will fail during probe.

Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

authored by

Inderpal Singh and committed by
Samuel Ortiz
5e393a22 fee546ce

+51 -51
+51 -51
drivers/mfd/sec-irq.c
··· 24 24 25 25 static struct regmap_irq s2mps11_irqs[] = { 26 26 [S2MPS11_IRQ_PWRONF] = { 27 - .reg_offset = 1, 27 + .reg_offset = 0, 28 28 .mask = S2MPS11_IRQ_PWRONF_MASK, 29 29 }, 30 30 [S2MPS11_IRQ_PWRONR] = { 31 - .reg_offset = 1, 31 + .reg_offset = 0, 32 32 .mask = S2MPS11_IRQ_PWRONR_MASK, 33 33 }, 34 34 [S2MPS11_IRQ_JIGONBF] = { 35 - .reg_offset = 1, 35 + .reg_offset = 0, 36 36 .mask = S2MPS11_IRQ_JIGONBF_MASK, 37 37 }, 38 38 [S2MPS11_IRQ_JIGONBR] = { 39 - .reg_offset = 1, 39 + .reg_offset = 0, 40 40 .mask = S2MPS11_IRQ_JIGONBR_MASK, 41 41 }, 42 42 [S2MPS11_IRQ_ACOKBF] = { 43 - .reg_offset = 1, 43 + .reg_offset = 0, 44 44 .mask = S2MPS11_IRQ_ACOKBF_MASK, 45 45 }, 46 46 [S2MPS11_IRQ_ACOKBR] = { 47 - .reg_offset = 1, 47 + .reg_offset = 0, 48 48 .mask = S2MPS11_IRQ_ACOKBR_MASK, 49 49 }, 50 50 [S2MPS11_IRQ_PWRON1S] = { 51 - .reg_offset = 1, 51 + .reg_offset = 0, 52 52 .mask = S2MPS11_IRQ_PWRON1S_MASK, 53 53 }, 54 54 [S2MPS11_IRQ_MRB] = { 55 - .reg_offset = 1, 55 + .reg_offset = 0, 56 56 .mask = S2MPS11_IRQ_MRB_MASK, 57 57 }, 58 58 [S2MPS11_IRQ_RTC60S] = { 59 - .reg_offset = 2, 59 + .reg_offset = 1, 60 60 .mask = S2MPS11_IRQ_RTC60S_MASK, 61 61 }, 62 62 [S2MPS11_IRQ_RTCA1] = { 63 - .reg_offset = 2, 63 + .reg_offset = 1, 64 64 .mask = S2MPS11_IRQ_RTCA1_MASK, 65 65 }, 66 66 [S2MPS11_IRQ_RTCA2] = { 67 - .reg_offset = 2, 67 + .reg_offset = 1, 68 68 .mask = S2MPS11_IRQ_RTCA2_MASK, 69 69 }, 70 70 [S2MPS11_IRQ_SMPL] = { 71 - .reg_offset = 2, 71 + .reg_offset = 1, 72 72 .mask = S2MPS11_IRQ_SMPL_MASK, 73 73 }, 74 74 [S2MPS11_IRQ_RTC1S] = { 75 - .reg_offset = 2, 75 + .reg_offset = 1, 76 76 .mask = S2MPS11_IRQ_RTC1S_MASK, 77 77 }, 78 78 [S2MPS11_IRQ_WTSR] = { 79 - .reg_offset = 2, 79 + .reg_offset = 1, 80 80 .mask = S2MPS11_IRQ_WTSR_MASK, 81 81 }, 82 82 [S2MPS11_IRQ_INT120C] = { 83 - .reg_offset = 3, 83 + .reg_offset = 2, 84 84 .mask = S2MPS11_IRQ_INT120C_MASK, 85 85 }, 86 86 [S2MPS11_IRQ_INT140C] = { 87 - .reg_offset = 3, 87 + .reg_offset = 2, 88 88 .mask = S2MPS11_IRQ_INT140C_MASK, 89 89 }, 90 90 }; ··· 92 92 93 93 static struct regmap_irq s5m8767_irqs[] = { 94 94 [S5M8767_IRQ_PWRR] = { 95 - .reg_offset = 1, 95 + .reg_offset = 0, 96 96 .mask = S5M8767_IRQ_PWRR_MASK, 97 97 }, 98 98 [S5M8767_IRQ_PWRF] = { 99 - .reg_offset = 1, 99 + .reg_offset = 0, 100 100 .mask = S5M8767_IRQ_PWRF_MASK, 101 101 }, 102 102 [S5M8767_IRQ_PWR1S] = { 103 - .reg_offset = 1, 103 + .reg_offset = 0, 104 104 .mask = S5M8767_IRQ_PWR1S_MASK, 105 105 }, 106 106 [S5M8767_IRQ_JIGR] = { 107 - .reg_offset = 1, 107 + .reg_offset = 0, 108 108 .mask = S5M8767_IRQ_JIGR_MASK, 109 109 }, 110 110 [S5M8767_IRQ_JIGF] = { 111 - .reg_offset = 1, 111 + .reg_offset = 0, 112 112 .mask = S5M8767_IRQ_JIGF_MASK, 113 113 }, 114 114 [S5M8767_IRQ_LOWBAT2] = { 115 - .reg_offset = 1, 115 + .reg_offset = 0, 116 116 .mask = S5M8767_IRQ_LOWBAT2_MASK, 117 117 }, 118 118 [S5M8767_IRQ_LOWBAT1] = { 119 - .reg_offset = 1, 119 + .reg_offset = 0, 120 120 .mask = S5M8767_IRQ_LOWBAT1_MASK, 121 121 }, 122 122 [S5M8767_IRQ_MRB] = { 123 - .reg_offset = 2, 123 + .reg_offset = 1, 124 124 .mask = S5M8767_IRQ_MRB_MASK, 125 125 }, 126 126 [S5M8767_IRQ_DVSOK2] = { 127 - .reg_offset = 2, 127 + .reg_offset = 1, 128 128 .mask = S5M8767_IRQ_DVSOK2_MASK, 129 129 }, 130 130 [S5M8767_IRQ_DVSOK3] = { 131 - .reg_offset = 2, 131 + .reg_offset = 1, 132 132 .mask = S5M8767_IRQ_DVSOK3_MASK, 133 133 }, 134 134 [S5M8767_IRQ_DVSOK4] = { 135 - .reg_offset = 2, 135 + .reg_offset = 1, 136 136 .mask = S5M8767_IRQ_DVSOK4_MASK, 137 137 }, 138 138 [S5M8767_IRQ_RTC60S] = { 139 - .reg_offset = 3, 139 + .reg_offset = 2, 140 140 .mask = S5M8767_IRQ_RTC60S_MASK, 141 141 }, 142 142 [S5M8767_IRQ_RTCA1] = { 143 - .reg_offset = 3, 143 + .reg_offset = 2, 144 144 .mask = S5M8767_IRQ_RTCA1_MASK, 145 145 }, 146 146 [S5M8767_IRQ_RTCA2] = { 147 - .reg_offset = 3, 147 + .reg_offset = 2, 148 148 .mask = S5M8767_IRQ_RTCA2_MASK, 149 149 }, 150 150 [S5M8767_IRQ_SMPL] = { 151 - .reg_offset = 3, 151 + .reg_offset = 2, 152 152 .mask = S5M8767_IRQ_SMPL_MASK, 153 153 }, 154 154 [S5M8767_IRQ_RTC1S] = { 155 - .reg_offset = 3, 155 + .reg_offset = 2, 156 156 .mask = S5M8767_IRQ_RTC1S_MASK, 157 157 }, 158 158 [S5M8767_IRQ_WTSR] = { 159 - .reg_offset = 3, 159 + .reg_offset = 2, 160 160 .mask = S5M8767_IRQ_WTSR_MASK, 161 161 }, 162 162 }; 163 163 164 164 static struct regmap_irq s5m8763_irqs[] = { 165 165 [S5M8763_IRQ_DCINF] = { 166 - .reg_offset = 1, 166 + .reg_offset = 0, 167 167 .mask = S5M8763_IRQ_DCINF_MASK, 168 168 }, 169 169 [S5M8763_IRQ_DCINR] = { 170 - .reg_offset = 1, 170 + .reg_offset = 0, 171 171 .mask = S5M8763_IRQ_DCINR_MASK, 172 172 }, 173 173 [S5M8763_IRQ_JIGF] = { 174 - .reg_offset = 1, 174 + .reg_offset = 0, 175 175 .mask = S5M8763_IRQ_JIGF_MASK, 176 176 }, 177 177 [S5M8763_IRQ_JIGR] = { 178 - .reg_offset = 1, 178 + .reg_offset = 0, 179 179 .mask = S5M8763_IRQ_JIGR_MASK, 180 180 }, 181 181 [S5M8763_IRQ_PWRONF] = { 182 - .reg_offset = 1, 182 + .reg_offset = 0, 183 183 .mask = S5M8763_IRQ_PWRONF_MASK, 184 184 }, 185 185 [S5M8763_IRQ_PWRONR] = { 186 - .reg_offset = 1, 186 + .reg_offset = 0, 187 187 .mask = S5M8763_IRQ_PWRONR_MASK, 188 188 }, 189 189 [S5M8763_IRQ_WTSREVNT] = { 190 - .reg_offset = 2, 190 + .reg_offset = 1, 191 191 .mask = S5M8763_IRQ_WTSREVNT_MASK, 192 192 }, 193 193 [S5M8763_IRQ_SMPLEVNT] = { 194 - .reg_offset = 2, 194 + .reg_offset = 1, 195 195 .mask = S5M8763_IRQ_SMPLEVNT_MASK, 196 196 }, 197 197 [S5M8763_IRQ_ALARM1] = { 198 - .reg_offset = 2, 198 + .reg_offset = 1, 199 199 .mask = S5M8763_IRQ_ALARM1_MASK, 200 200 }, 201 201 [S5M8763_IRQ_ALARM0] = { 202 - .reg_offset = 2, 202 + .reg_offset = 1, 203 203 .mask = S5M8763_IRQ_ALARM0_MASK, 204 204 }, 205 205 [S5M8763_IRQ_ONKEY1S] = { 206 - .reg_offset = 3, 206 + .reg_offset = 2, 207 207 .mask = S5M8763_IRQ_ONKEY1S_MASK, 208 208 }, 209 209 [S5M8763_IRQ_TOPOFFR] = { 210 - .reg_offset = 3, 210 + .reg_offset = 2, 211 211 .mask = S5M8763_IRQ_TOPOFFR_MASK, 212 212 }, 213 213 [S5M8763_IRQ_DCINOVPR] = { 214 - .reg_offset = 3, 214 + .reg_offset = 2, 215 215 .mask = S5M8763_IRQ_DCINOVPR_MASK, 216 216 }, 217 217 [S5M8763_IRQ_CHGRSTF] = { 218 - .reg_offset = 3, 218 + .reg_offset = 2, 219 219 .mask = S5M8763_IRQ_CHGRSTF_MASK, 220 220 }, 221 221 [S5M8763_IRQ_DONER] = { 222 - .reg_offset = 3, 222 + .reg_offset = 2, 223 223 .mask = S5M8763_IRQ_DONER_MASK, 224 224 }, 225 225 [S5M8763_IRQ_CHGFAULT] = { 226 - .reg_offset = 3, 226 + .reg_offset = 2, 227 227 .mask = S5M8763_IRQ_CHGFAULT_MASK, 228 228 }, 229 229 [S5M8763_IRQ_LOBAT1] = { 230 - .reg_offset = 4, 230 + .reg_offset = 3, 231 231 .mask = S5M8763_IRQ_LOBAT1_MASK, 232 232 }, 233 233 [S5M8763_IRQ_LOBAT2] = { 234 - .reg_offset = 4, 234 + .reg_offset = 3, 235 235 .mask = S5M8763_IRQ_LOBAT2_MASK, 236 236 }, 237 237 };