Contents of /trunk/kernel-alx-legacy/patches-4.9/0143-4.9.44-all-fixes.patch
Parent Directory | Revision Log
Revision 3608 -
(show annotations)
(download)
Fri Aug 14 07:34:29 2020 UTC (4 years, 1 month ago) by niro
File size: 77223 byte(s)
Fri Aug 14 07:34:29 2020 UTC (4 years, 1 month ago) by niro
File size: 77223 byte(s)
-added kerenl-alx-legacy pkg
1 | diff --git a/Makefile b/Makefile |
2 | index 77953bf3f40a..3e95dfdbe572 100644 |
3 | --- a/Makefile |
4 | +++ b/Makefile |
5 | @@ -1,6 +1,6 @@ |
6 | VERSION = 4 |
7 | PATCHLEVEL = 9 |
8 | -SUBLEVEL = 43 |
9 | +SUBLEVEL = 44 |
10 | EXTRAVERSION = |
11 | NAME = Roaring Lionus |
12 | |
13 | diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S |
14 | index 1910223a9c02..cea2bb1621e6 100644 |
15 | --- a/arch/mips/dec/int-handler.S |
16 | +++ b/arch/mips/dec/int-handler.S |
17 | @@ -147,23 +147,12 @@ |
18 | * Find irq with highest priority |
19 | */ |
20 | # open coded PTR_LA t1, cpu_mask_nr_tbl |
21 | -#if (_MIPS_SZPTR == 32) |
22 | +#if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32) |
23 | # open coded la t1, cpu_mask_nr_tbl |
24 | lui t1, %hi(cpu_mask_nr_tbl) |
25 | addiu t1, %lo(cpu_mask_nr_tbl) |
26 | - |
27 | -#endif |
28 | -#if (_MIPS_SZPTR == 64) |
29 | - # open coded dla t1, cpu_mask_nr_tbl |
30 | - .set push |
31 | - .set noat |
32 | - lui t1, %highest(cpu_mask_nr_tbl) |
33 | - lui AT, %hi(cpu_mask_nr_tbl) |
34 | - daddiu t1, t1, %higher(cpu_mask_nr_tbl) |
35 | - daddiu AT, AT, %lo(cpu_mask_nr_tbl) |
36 | - dsll t1, 32 |
37 | - daddu t1, t1, AT |
38 | - .set pop |
39 | +#else |
40 | +#error GCC `-msym32' option required for 64-bit DECstation builds |
41 | #endif |
42 | 1: lw t2,(t1) |
43 | nop |
44 | @@ -214,23 +203,12 @@ |
45 | * Find irq with highest priority |
46 | */ |
47 | # open coded PTR_LA t1,asic_mask_nr_tbl |
48 | -#if (_MIPS_SZPTR == 32) |
49 | +#if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32) |
50 | # open coded la t1, asic_mask_nr_tbl |
51 | lui t1, %hi(asic_mask_nr_tbl) |
52 | addiu t1, %lo(asic_mask_nr_tbl) |
53 | - |
54 | -#endif |
55 | -#if (_MIPS_SZPTR == 64) |
56 | - # open coded dla t1, asic_mask_nr_tbl |
57 | - .set push |
58 | - .set noat |
59 | - lui t1, %highest(asic_mask_nr_tbl) |
60 | - lui AT, %hi(asic_mask_nr_tbl) |
61 | - daddiu t1, t1, %higher(asic_mask_nr_tbl) |
62 | - daddiu AT, AT, %lo(asic_mask_nr_tbl) |
63 | - dsll t1, 32 |
64 | - daddu t1, t1, AT |
65 | - .set pop |
66 | +#else |
67 | +#error GCC `-msym32' option required for 64-bit DECstation builds |
68 | #endif |
69 | 2: lw t2,(t1) |
70 | nop |
71 | diff --git a/arch/xtensa/kernel/xtensa_ksyms.c b/arch/xtensa/kernel/xtensa_ksyms.c |
72 | index 4d2872fd9bb5..a71d2739fa82 100644 |
73 | --- a/arch/xtensa/kernel/xtensa_ksyms.c |
74 | +++ b/arch/xtensa/kernel/xtensa_ksyms.c |
75 | @@ -94,13 +94,11 @@ unsigned long __sync_fetch_and_or_4(unsigned long *p, unsigned long v) |
76 | } |
77 | EXPORT_SYMBOL(__sync_fetch_and_or_4); |
78 | |
79 | -#ifdef CONFIG_NET |
80 | /* |
81 | * Networking support |
82 | */ |
83 | EXPORT_SYMBOL(csum_partial); |
84 | EXPORT_SYMBOL(csum_partial_copy_generic); |
85 | -#endif /* CONFIG_NET */ |
86 | |
87 | /* |
88 | * Architecture-specific symbols |
89 | diff --git a/arch/xtensa/mm/cache.c b/arch/xtensa/mm/cache.c |
90 | index 1a804a2f9a5b..3c75c4e597da 100644 |
91 | --- a/arch/xtensa/mm/cache.c |
92 | +++ b/arch/xtensa/mm/cache.c |
93 | @@ -103,6 +103,7 @@ void clear_user_highpage(struct page *page, unsigned long vaddr) |
94 | clear_page_alias(kvaddr, paddr); |
95 | preempt_enable(); |
96 | } |
97 | +EXPORT_SYMBOL(clear_user_highpage); |
98 | |
99 | void copy_user_highpage(struct page *dst, struct page *src, |
100 | unsigned long vaddr, struct vm_area_struct *vma) |
101 | @@ -119,10 +120,7 @@ void copy_user_highpage(struct page *dst, struct page *src, |
102 | copy_page_alias(dst_vaddr, src_vaddr, dst_paddr, src_paddr); |
103 | preempt_enable(); |
104 | } |
105 | - |
106 | -#endif /* DCACHE_WAY_SIZE > PAGE_SIZE */ |
107 | - |
108 | -#if (DCACHE_WAY_SIZE > PAGE_SIZE) && XCHAL_DCACHE_IS_WRITEBACK |
109 | +EXPORT_SYMBOL(copy_user_highpage); |
110 | |
111 | /* |
112 | * Any time the kernel writes to a user page cache page, or it is about to |
113 | @@ -176,7 +174,7 @@ void flush_dcache_page(struct page *page) |
114 | |
115 | /* There shouldn't be an entry in the cache for this page anymore. */ |
116 | } |
117 | - |
118 | +EXPORT_SYMBOL(flush_dcache_page); |
119 | |
120 | /* |
121 | * For now, flush the whole cache. FIXME?? |
122 | @@ -188,6 +186,7 @@ void local_flush_cache_range(struct vm_area_struct *vma, |
123 | __flush_invalidate_dcache_all(); |
124 | __invalidate_icache_all(); |
125 | } |
126 | +EXPORT_SYMBOL(local_flush_cache_range); |
127 | |
128 | /* |
129 | * Remove any entry in the cache for this page. |
130 | @@ -207,8 +206,9 @@ void local_flush_cache_page(struct vm_area_struct *vma, unsigned long address, |
131 | __flush_invalidate_dcache_page_alias(virt, phys); |
132 | __invalidate_icache_page_alias(virt, phys); |
133 | } |
134 | +EXPORT_SYMBOL(local_flush_cache_page); |
135 | |
136 | -#endif |
137 | +#endif /* DCACHE_WAY_SIZE > PAGE_SIZE */ |
138 | |
139 | void |
140 | update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t *ptep) |
141 | @@ -225,7 +225,7 @@ update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t *ptep) |
142 | |
143 | flush_tlb_page(vma, addr); |
144 | |
145 | -#if (DCACHE_WAY_SIZE > PAGE_SIZE) && XCHAL_DCACHE_IS_WRITEBACK |
146 | +#if (DCACHE_WAY_SIZE > PAGE_SIZE) |
147 | |
148 | if (!PageReserved(page) && test_bit(PG_arch_1, &page->flags)) { |
149 | unsigned long phys = page_to_phys(page); |
150 | @@ -256,7 +256,7 @@ update_mmu_cache(struct vm_area_struct * vma, unsigned long addr, pte_t *ptep) |
151 | * flush_dcache_page() on the page. |
152 | */ |
153 | |
154 | -#if (DCACHE_WAY_SIZE > PAGE_SIZE) && XCHAL_DCACHE_IS_WRITEBACK |
155 | +#if (DCACHE_WAY_SIZE > PAGE_SIZE) |
156 | |
157 | void copy_to_user_page(struct vm_area_struct *vma, struct page *page, |
158 | unsigned long vaddr, void *dst, const void *src, |
159 | diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |
160 | index afdd55ddf821..1ac9a95e1d78 100644 |
161 | --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |
162 | +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |
163 | @@ -264,8 +264,8 @@ static int submit_reloc(struct etnaviv_gem_submit *submit, void *stream, |
164 | if (ret) |
165 | return ret; |
166 | |
167 | - if (r->reloc_offset >= bo->obj->base.size - sizeof(*ptr)) { |
168 | - DRM_ERROR("relocation %u outside object", i); |
169 | + if (r->reloc_offset > bo->obj->base.size - sizeof(*ptr)) { |
170 | + DRM_ERROR("relocation %u outside object\n", i); |
171 | return -EINVAL; |
172 | } |
173 | |
174 | diff --git a/drivers/gpu/drm/i915/intel_color.c b/drivers/gpu/drm/i915/intel_color.c |
175 | index 95a72771eea6..89a77743ab29 100644 |
176 | --- a/drivers/gpu/drm/i915/intel_color.c |
177 | +++ b/drivers/gpu/drm/i915/intel_color.c |
178 | @@ -394,6 +394,7 @@ static void broadwell_load_luts(struct drm_crtc_state *state) |
179 | } |
180 | |
181 | /* Program the max register to clamp values > 1.0. */ |
182 | + i = lut_size - 1; |
183 | I915_WRITE(PREC_PAL_GC_MAX(pipe, 0), |
184 | drm_color_lut_extract(lut[i].red, 16)); |
185 | I915_WRITE(PREC_PAL_GC_MAX(pipe, 1), |
186 | diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c |
187 | index 59b380dbf27f..c3888822add1 100644 |
188 | --- a/drivers/iio/accel/bmc150-accel-core.c |
189 | +++ b/drivers/iio/accel/bmc150-accel-core.c |
190 | @@ -193,7 +193,6 @@ struct bmc150_accel_data { |
191 | struct regmap *regmap; |
192 | int irq; |
193 | struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS]; |
194 | - atomic_t active_intr; |
195 | struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS]; |
196 | struct mutex mutex; |
197 | u8 fifo_mode, watermark; |
198 | @@ -493,11 +492,6 @@ static int bmc150_accel_set_interrupt(struct bmc150_accel_data *data, int i, |
199 | goto out_fix_power_state; |
200 | } |
201 | |
202 | - if (state) |
203 | - atomic_inc(&data->active_intr); |
204 | - else |
205 | - atomic_dec(&data->active_intr); |
206 | - |
207 | return 0; |
208 | |
209 | out_fix_power_state: |
210 | @@ -1709,8 +1703,7 @@ static int bmc150_accel_resume(struct device *dev) |
211 | struct bmc150_accel_data *data = iio_priv(indio_dev); |
212 | |
213 | mutex_lock(&data->mutex); |
214 | - if (atomic_read(&data->active_intr)) |
215 | - bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_NORMAL, 0); |
216 | + bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_NORMAL, 0); |
217 | bmc150_accel_fifo_set_mode(data); |
218 | mutex_unlock(&data->mutex); |
219 | |
220 | diff --git a/drivers/iio/adc/vf610_adc.c b/drivers/iio/adc/vf610_adc.c |
221 | index 228a003adeed..d1bde6d2721e 100644 |
222 | --- a/drivers/iio/adc/vf610_adc.c |
223 | +++ b/drivers/iio/adc/vf610_adc.c |
224 | @@ -77,7 +77,7 @@ |
225 | #define VF610_ADC_ADSTS_MASK 0x300 |
226 | #define VF610_ADC_ADLPC_EN 0x80 |
227 | #define VF610_ADC_ADHSC_EN 0x400 |
228 | -#define VF610_ADC_REFSEL_VALT 0x100 |
229 | +#define VF610_ADC_REFSEL_VALT 0x800 |
230 | #define VF610_ADC_REFSEL_VBG 0x1000 |
231 | #define VF610_ADC_ADTRG_HARD 0x2000 |
232 | #define VF610_ADC_AVGS_8 0x4000 |
233 | diff --git a/drivers/iio/light/tsl2563.c b/drivers/iio/light/tsl2563.c |
234 | index 04598ae993d4..f0d3f749aa01 100644 |
235 | --- a/drivers/iio/light/tsl2563.c |
236 | +++ b/drivers/iio/light/tsl2563.c |
237 | @@ -626,7 +626,7 @@ static irqreturn_t tsl2563_event_handler(int irq, void *private) |
238 | struct tsl2563_chip *chip = iio_priv(dev_info); |
239 | |
240 | iio_push_event(dev_info, |
241 | - IIO_UNMOD_EVENT_CODE(IIO_LIGHT, |
242 | + IIO_UNMOD_EVENT_CODE(IIO_INTENSITY, |
243 | 0, |
244 | IIO_EV_TYPE_THRESH, |
245 | IIO_EV_DIR_EITHER), |
246 | diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c |
247 | index 323dba35bc9a..b2ca10c4d2a5 100644 |
248 | --- a/drivers/mmc/core/mmc.c |
249 | +++ b/drivers/mmc/core/mmc.c |
250 | @@ -1258,7 +1258,7 @@ int mmc_hs400_to_hs200(struct mmc_card *card) |
251 | static int mmc_select_hs400es(struct mmc_card *card) |
252 | { |
253 | struct mmc_host *host = card->host; |
254 | - int err = 0; |
255 | + int err = -EINVAL; |
256 | u8 val; |
257 | |
258 | if (!(host->caps & MMC_CAP_8_BIT_DATA)) { |
259 | diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c |
260 | index f222f8a7ba52..31a6ee307d80 100644 |
261 | --- a/drivers/mtd/nand/nand_base.c |
262 | +++ b/drivers/mtd/nand/nand_base.c |
263 | @@ -64,8 +64,14 @@ static int nand_ooblayout_ecc_sp(struct mtd_info *mtd, int section, |
264 | |
265 | if (!section) { |
266 | oobregion->offset = 0; |
267 | - oobregion->length = 4; |
268 | + if (mtd->oobsize == 16) |
269 | + oobregion->length = 4; |
270 | + else |
271 | + oobregion->length = 3; |
272 | } else { |
273 | + if (mtd->oobsize == 8) |
274 | + return -ERANGE; |
275 | + |
276 | oobregion->offset = 6; |
277 | oobregion->length = ecc->total - 4; |
278 | } |
279 | @@ -1081,7 +1087,9 @@ static int nand_setup_data_interface(struct nand_chip *chip) |
280 | * Ensure the timing mode has been changed on the chip side |
281 | * before changing timings on the controller side. |
282 | */ |
283 | - if (chip->onfi_version) { |
284 | + if (chip->onfi_version && |
285 | + (le16_to_cpu(chip->onfi_params.opt_cmd) & |
286 | + ONFI_OPT_CMD_SET_GET_FEATURES)) { |
287 | u8 tmode_param[ONFI_SUBFEATURE_PARAM_LEN] = { |
288 | chip->onfi_timing_mode_default, |
289 | }; |
290 | diff --git a/drivers/pinctrl/intel/pinctrl-merrifield.c b/drivers/pinctrl/intel/pinctrl-merrifield.c |
291 | index 9931be6af0ca..04d6fd2be08c 100644 |
292 | --- a/drivers/pinctrl/intel/pinctrl-merrifield.c |
293 | +++ b/drivers/pinctrl/intel/pinctrl-merrifield.c |
294 | @@ -343,9 +343,9 @@ static const struct pinctrl_pin_desc mrfld_pins[] = { |
295 | |
296 | static const unsigned int mrfld_sdio_pins[] = { 50, 51, 52, 53, 54, 55, 56 }; |
297 | static const unsigned int mrfld_spi5_pins[] = { 90, 91, 92, 93, 94, 95, 96 }; |
298 | -static const unsigned int mrfld_uart0_pins[] = { 124, 125, 126, 127 }; |
299 | -static const unsigned int mrfld_uart1_pins[] = { 128, 129, 130, 131 }; |
300 | -static const unsigned int mrfld_uart2_pins[] = { 132, 133, 134, 135 }; |
301 | +static const unsigned int mrfld_uart0_pins[] = { 115, 116, 117, 118 }; |
302 | +static const unsigned int mrfld_uart1_pins[] = { 119, 120, 121, 122 }; |
303 | +static const unsigned int mrfld_uart2_pins[] = { 123, 124, 125, 126 }; |
304 | static const unsigned int mrfld_pwm0_pins[] = { 144 }; |
305 | static const unsigned int mrfld_pwm1_pins[] = { 145 }; |
306 | static const unsigned int mrfld_pwm2_pins[] = { 132 }; |
307 | diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c |
308 | index c3928aa3fefa..7511723c6b05 100644 |
309 | --- a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c |
310 | +++ b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c |
311 | @@ -85,6 +85,7 @@ static const struct pinctrl_pin_desc meson_gxbb_periphs_pins[] = { |
312 | MESON_PIN(GPIODV_15, EE_OFF), |
313 | MESON_PIN(GPIODV_16, EE_OFF), |
314 | MESON_PIN(GPIODV_17, EE_OFF), |
315 | + MESON_PIN(GPIODV_18, EE_OFF), |
316 | MESON_PIN(GPIODV_19, EE_OFF), |
317 | MESON_PIN(GPIODV_20, EE_OFF), |
318 | MESON_PIN(GPIODV_21, EE_OFF), |
319 | diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c |
320 | index d32fa2b5ff82..e8aee6d88a40 100644 |
321 | --- a/drivers/pinctrl/samsung/pinctrl-exynos.c |
322 | +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c |
323 | @@ -195,8 +195,6 @@ static int exynos_irq_request_resources(struct irq_data *irqd) |
324 | |
325 | spin_unlock_irqrestore(&bank->slock, flags); |
326 | |
327 | - exynos_irq_unmask(irqd); |
328 | - |
329 | return 0; |
330 | } |
331 | |
332 | @@ -217,8 +215,6 @@ static void exynos_irq_release_resources(struct irq_data *irqd) |
333 | shift = irqd->hwirq * bank_type->fld_width[PINCFG_TYPE_FUNC]; |
334 | mask = (1 << bank_type->fld_width[PINCFG_TYPE_FUNC]) - 1; |
335 | |
336 | - exynos_irq_mask(irqd); |
337 | - |
338 | spin_lock_irqsave(&bank->slock, flags); |
339 | |
340 | con = readl(d->virt_base + reg_con); |
341 | diff --git a/drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c b/drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c |
342 | index 862a096c5dba..be5c71df148d 100644 |
343 | --- a/drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c |
344 | +++ b/drivers/pinctrl/sunxi/pinctrl-sun4i-a10.c |
345 | @@ -811,6 +811,7 @@ static const struct sunxi_desc_pin sun4i_a10_pins[] = { |
346 | SUNXI_FUNCTION(0x2, "lcd1"), /* D16 */ |
347 | SUNXI_FUNCTION(0x3, "pata"), /* ATAD12 */ |
348 | SUNXI_FUNCTION(0x4, "keypad"), /* IN6 */ |
349 | + SUNXI_FUNCTION(0x5, "sim"), /* DET */ |
350 | SUNXI_FUNCTION_IRQ(0x6, 16), /* EINT16 */ |
351 | SUNXI_FUNCTION(0x7, "csi1")), /* D16 */ |
352 | SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 17), |
353 | diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c |
354 | index 77a0236ee781..b190904c864a 100644 |
355 | --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c |
356 | +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c |
357 | @@ -508,57 +508,71 @@ static const unsigned usb1_pins[] = {48, 49}; |
358 | static const int usb1_muxvals[] = {0, 0}; |
359 | static const unsigned usb2_pins[] = {50, 51}; |
360 | static const int usb2_muxvals[] = {0, 0}; |
361 | -static const unsigned port_range_pins[] = { |
362 | +static const unsigned port_range0_pins[] = { |
363 | 159, 160, 161, 162, 163, 164, 165, 166, /* PORT0x */ |
364 | 0, 1, 2, 3, 4, 5, 6, 7, /* PORT1x */ |
365 | 8, 9, 10, 11, 12, 13, 14, 15, /* PORT2x */ |
366 | - 16, 17, 18, -1, -1, -1, -1, -1, /* PORT3x */ |
367 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT4x */ |
368 | - -1, -1, -1, 46, 47, 48, 49, 50, /* PORT5x */ |
369 | - 51, -1, -1, 54, 55, 56, 57, 58, /* PORT6x */ |
370 | + 16, 17, 18, /* PORT30-32 */ |
371 | +}; |
372 | +static const int port_range0_muxvals[] = { |
373 | + 15, 15, 15, 15, 15, 15, 15, 15, /* PORT0x */ |
374 | + 15, 15, 15, 15, 15, 15, 15, 15, /* PORT1x */ |
375 | + 15, 15, 15, 15, 15, 15, 15, 15, /* PORT2x */ |
376 | + 15, 15, 15, /* PORT30-32 */ |
377 | +}; |
378 | +static const unsigned port_range1_pins[] = { |
379 | + 46, 47, 48, 49, 50, /* PORT53-57 */ |
380 | + 51, /* PORT60 */ |
381 | +}; |
382 | +static const int port_range1_muxvals[] = { |
383 | + 15, 15, 15, 15, 15, /* PORT53-57 */ |
384 | + 15, /* PORT60 */ |
385 | +}; |
386 | +static const unsigned port_range2_pins[] = { |
387 | + 54, 55, 56, 57, 58, /* PORT63-67 */ |
388 | 59, 60, 69, 70, 71, 72, 73, 74, /* PORT7x */ |
389 | 75, 76, 77, 78, 79, 80, 81, 82, /* PORT8x */ |
390 | 83, 84, 85, 86, 87, 88, 89, 90, /* PORT9x */ |
391 | 91, 92, 93, 94, 95, 96, 97, 98, /* PORT10x */ |
392 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT11x */ |
393 | - 99, 100, 101, 102, 103, 104, 105, 106, /* PORT12x */ |
394 | - 107, 108, 109, 110, 111, 112, 113, 114, /* PORT13x */ |
395 | - 115, 116, 117, 118, 119, 120, 121, 122, /* PORT14x */ |
396 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT15x */ |
397 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT16x */ |
398 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT17x */ |
399 | - 61, 62, 63, 64, 65, 66, 67, 68, /* PORT18x */ |
400 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT19x */ |
401 | - 123, 124, 125, 126, 127, 128, 129, 130, /* PORT20x */ |
402 | - 131, 132, 133, 134, 135, 136, 137, 138, /* PORT21x */ |
403 | - 139, 140, 141, 142, -1, -1, -1, -1, /* PORT22x */ |
404 | - 147, 148, 149, 150, 151, 152, 153, 154, /* PORT23x */ |
405 | - 155, 156, 157, 143, 144, 145, 146, 158, /* PORT24x */ |
406 | }; |
407 | -static const int port_range_muxvals[] = { |
408 | - 15, 15, 15, 15, 15, 15, 15, 15, /* PORT0x */ |
409 | - 15, 15, 15, 15, 15, 15, 15, 15, /* PORT1x */ |
410 | - 15, 15, 15, 15, 15, 15, 15, 15, /* PORT2x */ |
411 | - 15, 15, 15, -1, -1, -1, -1, -1, /* PORT3x */ |
412 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT4x */ |
413 | - -1, -1, -1, 15, 15, 15, 15, 15, /* PORT5x */ |
414 | - 15, -1, -1, 15, 15, 15, 15, 15, /* PORT6x */ |
415 | +static const int port_range2_muxvals[] = { |
416 | + 15, 15, 15, 15, 15, /* PORT63-67 */ |
417 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT7x */ |
418 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT8x */ |
419 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT9x */ |
420 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT10x */ |
421 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT11x */ |
422 | +}; |
423 | +static const unsigned port_range3_pins[] = { |
424 | + 99, 100, 101, 102, 103, 104, 105, 106, /* PORT12x */ |
425 | + 107, 108, 109, 110, 111, 112, 113, 114, /* PORT13x */ |
426 | + 115, 116, 117, 118, 119, 120, 121, 122, /* PORT14x */ |
427 | +}; |
428 | +static const int port_range3_muxvals[] = { |
429 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT12x */ |
430 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT13x */ |
431 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT14x */ |
432 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT15x */ |
433 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT16x */ |
434 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT17x */ |
435 | +}; |
436 | +static const unsigned port_range4_pins[] = { |
437 | + 61, 62, 63, 64, 65, 66, 67, 68, /* PORT18x */ |
438 | +}; |
439 | +static const int port_range4_muxvals[] = { |
440 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT18x */ |
441 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT19x */ |
442 | +}; |
443 | +static const unsigned port_range5_pins[] = { |
444 | + 123, 124, 125, 126, 127, 128, 129, 130, /* PORT20x */ |
445 | + 131, 132, 133, 134, 135, 136, 137, 138, /* PORT21x */ |
446 | + 139, 140, 141, 142, /* PORT220-223 */ |
447 | +}; |
448 | +static const int port_range5_muxvals[] = { |
449 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT20x */ |
450 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT21x */ |
451 | - 15, 15, 15, 15, -1, -1, -1, -1, /* PORT22x */ |
452 | + 15, 15, 15, 15, /* PORT220-223 */ |
453 | +}; |
454 | +static const unsigned port_range6_pins[] = { |
455 | + 147, 148, 149, 150, 151, 152, 153, 154, /* PORT23x */ |
456 | + 155, 156, 157, 143, 144, 145, 146, 158, /* PORT24x */ |
457 | +}; |
458 | +static const int port_range6_muxvals[] = { |
459 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT23x */ |
460 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT24x */ |
461 | }; |
462 | @@ -607,147 +621,153 @@ static const struct uniphier_pinctrl_group uniphier_ld11_groups[] = { |
463 | UNIPHIER_PINCTRL_GROUP(usb0), |
464 | UNIPHIER_PINCTRL_GROUP(usb1), |
465 | UNIPHIER_PINCTRL_GROUP(usb2), |
466 | - UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range), |
467 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range0), |
468 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range1), |
469 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range2), |
470 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range3), |
471 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range4), |
472 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range5), |
473 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range6), |
474 | UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_IRQ(xirq), |
475 | UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_IRQ(xirq_alternatives), |
476 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port00, port_range, 0), |
477 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port01, port_range, 1), |
478 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port02, port_range, 2), |
479 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port03, port_range, 3), |
480 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port04, port_range, 4), |
481 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port05, port_range, 5), |
482 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port06, port_range, 6), |
483 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port07, port_range, 7), |
484 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port10, port_range, 8), |
485 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port11, port_range, 9), |
486 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port12, port_range, 10), |
487 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port13, port_range, 11), |
488 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port14, port_range, 12), |
489 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port15, port_range, 13), |
490 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port16, port_range, 14), |
491 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port17, port_range, 15), |
492 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port20, port_range, 16), |
493 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port21, port_range, 17), |
494 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port22, port_range, 18), |
495 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port23, port_range, 19), |
496 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port24, port_range, 20), |
497 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port25, port_range, 21), |
498 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port26, port_range, 22), |
499 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port27, port_range, 23), |
500 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port30, port_range, 24), |
501 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port31, port_range, 25), |
502 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port32, port_range, 26), |
503 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port53, port_range, 43), |
504 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port54, port_range, 44), |
505 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port55, port_range, 45), |
506 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port56, port_range, 46), |
507 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port57, port_range, 47), |
508 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port60, port_range, 48), |
509 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port63, port_range, 51), |
510 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port64, port_range, 52), |
511 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port65, port_range, 53), |
512 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port66, port_range, 54), |
513 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port67, port_range, 55), |
514 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port70, port_range, 56), |
515 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port71, port_range, 57), |
516 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port72, port_range, 58), |
517 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port73, port_range, 59), |
518 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port74, port_range, 60), |
519 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port75, port_range, 61), |
520 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port76, port_range, 62), |
521 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port77, port_range, 63), |
522 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port80, port_range, 64), |
523 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port81, port_range, 65), |
524 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port82, port_range, 66), |
525 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port83, port_range, 67), |
526 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port84, port_range, 68), |
527 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port85, port_range, 69), |
528 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port86, port_range, 70), |
529 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port87, port_range, 71), |
530 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port90, port_range, 72), |
531 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port91, port_range, 73), |
532 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port92, port_range, 74), |
533 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port93, port_range, 75), |
534 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port94, port_range, 76), |
535 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port95, port_range, 77), |
536 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port96, port_range, 78), |
537 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port97, port_range, 79), |
538 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port100, port_range, 80), |
539 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port101, port_range, 81), |
540 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port102, port_range, 82), |
541 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port103, port_range, 83), |
542 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port104, port_range, 84), |
543 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port105, port_range, 85), |
544 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port106, port_range, 86), |
545 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port107, port_range, 87), |
546 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port120, port_range, 96), |
547 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port121, port_range, 97), |
548 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port122, port_range, 98), |
549 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port123, port_range, 99), |
550 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port124, port_range, 100), |
551 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port125, port_range, 101), |
552 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port126, port_range, 102), |
553 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port127, port_range, 103), |
554 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port130, port_range, 104), |
555 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port131, port_range, 105), |
556 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port132, port_range, 106), |
557 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port133, port_range, 107), |
558 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port134, port_range, 108), |
559 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port135, port_range, 109), |
560 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port136, port_range, 110), |
561 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port137, port_range, 111), |
562 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port140, port_range, 112), |
563 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port141, port_range, 113), |
564 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port142, port_range, 114), |
565 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port143, port_range, 115), |
566 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port144, port_range, 116), |
567 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port145, port_range, 117), |
568 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port146, port_range, 118), |
569 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port147, port_range, 119), |
570 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port180, port_range, 144), |
571 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port181, port_range, 145), |
572 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port182, port_range, 146), |
573 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port183, port_range, 147), |
574 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port184, port_range, 148), |
575 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port185, port_range, 149), |
576 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port186, port_range, 150), |
577 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port187, port_range, 151), |
578 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port200, port_range, 160), |
579 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port201, port_range, 161), |
580 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port202, port_range, 162), |
581 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port203, port_range, 163), |
582 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port204, port_range, 164), |
583 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port205, port_range, 165), |
584 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port206, port_range, 166), |
585 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port207, port_range, 167), |
586 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port210, port_range, 168), |
587 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port211, port_range, 169), |
588 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port212, port_range, 170), |
589 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port213, port_range, 171), |
590 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port214, port_range, 172), |
591 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port215, port_range, 173), |
592 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port216, port_range, 174), |
593 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port217, port_range, 175), |
594 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port220, port_range, 176), |
595 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port221, port_range, 177), |
596 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port222, port_range, 178), |
597 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port223, port_range, 179), |
598 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port230, port_range, 184), |
599 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port231, port_range, 185), |
600 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port232, port_range, 186), |
601 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port233, port_range, 187), |
602 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port234, port_range, 188), |
603 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port235, port_range, 189), |
604 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port236, port_range, 190), |
605 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port237, port_range, 191), |
606 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port240, port_range, 192), |
607 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port241, port_range, 193), |
608 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port242, port_range, 194), |
609 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port243, port_range, 195), |
610 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port244, port_range, 196), |
611 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port245, port_range, 197), |
612 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port246, port_range, 198), |
613 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port247, port_range, 199), |
614 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port00, port_range0, 0), |
615 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port01, port_range0, 1), |
616 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port02, port_range0, 2), |
617 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port03, port_range0, 3), |
618 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port04, port_range0, 4), |
619 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port05, port_range0, 5), |
620 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port06, port_range0, 6), |
621 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port07, port_range0, 7), |
622 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port10, port_range0, 8), |
623 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port11, port_range0, 9), |
624 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port12, port_range0, 10), |
625 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port13, port_range0, 11), |
626 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port14, port_range0, 12), |
627 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port15, port_range0, 13), |
628 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port16, port_range0, 14), |
629 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port17, port_range0, 15), |
630 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port20, port_range0, 16), |
631 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port21, port_range0, 17), |
632 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port22, port_range0, 18), |
633 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port23, port_range0, 19), |
634 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port24, port_range0, 20), |
635 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port25, port_range0, 21), |
636 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port26, port_range0, 22), |
637 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port27, port_range0, 23), |
638 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port30, port_range0, 24), |
639 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port31, port_range0, 25), |
640 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port32, port_range0, 26), |
641 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port53, port_range1, 0), |
642 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port54, port_range1, 1), |
643 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port55, port_range1, 2), |
644 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port56, port_range1, 3), |
645 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port57, port_range1, 4), |
646 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port60, port_range1, 5), |
647 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port63, port_range2, 0), |
648 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port64, port_range2, 1), |
649 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port65, port_range2, 2), |
650 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port66, port_range2, 3), |
651 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port67, port_range2, 4), |
652 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port70, port_range2, 5), |
653 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port71, port_range2, 6), |
654 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port72, port_range2, 7), |
655 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port73, port_range2, 8), |
656 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port74, port_range2, 9), |
657 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port75, port_range2, 10), |
658 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port76, port_range2, 11), |
659 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port77, port_range2, 12), |
660 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port80, port_range2, 13), |
661 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port81, port_range2, 14), |
662 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port82, port_range2, 15), |
663 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port83, port_range2, 16), |
664 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port84, port_range2, 17), |
665 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port85, port_range2, 18), |
666 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port86, port_range2, 19), |
667 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port87, port_range2, 20), |
668 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port90, port_range2, 21), |
669 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port91, port_range2, 22), |
670 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port92, port_range2, 23), |
671 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port93, port_range2, 24), |
672 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port94, port_range2, 25), |
673 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port95, port_range2, 26), |
674 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port96, port_range2, 27), |
675 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port97, port_range2, 28), |
676 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port100, port_range2, 29), |
677 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port101, port_range2, 30), |
678 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port102, port_range2, 31), |
679 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port103, port_range2, 32), |
680 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port104, port_range2, 33), |
681 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port105, port_range2, 34), |
682 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port106, port_range2, 35), |
683 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port107, port_range2, 36), |
684 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port120, port_range3, 0), |
685 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port121, port_range3, 1), |
686 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port122, port_range3, 2), |
687 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port123, port_range3, 3), |
688 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port124, port_range3, 4), |
689 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port125, port_range3, 5), |
690 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port126, port_range3, 6), |
691 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port127, port_range3, 7), |
692 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port130, port_range3, 8), |
693 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port131, port_range3, 9), |
694 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port132, port_range3, 10), |
695 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port133, port_range3, 11), |
696 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port134, port_range3, 12), |
697 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port135, port_range3, 13), |
698 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port136, port_range3, 14), |
699 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port137, port_range3, 15), |
700 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port140, port_range3, 16), |
701 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port141, port_range3, 17), |
702 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port142, port_range3, 18), |
703 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port143, port_range3, 19), |
704 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port144, port_range3, 20), |
705 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port145, port_range3, 21), |
706 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port146, port_range3, 22), |
707 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port147, port_range3, 23), |
708 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port180, port_range4, 0), |
709 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port181, port_range4, 1), |
710 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port182, port_range4, 2), |
711 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port183, port_range4, 3), |
712 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port184, port_range4, 4), |
713 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port185, port_range4, 5), |
714 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port186, port_range4, 6), |
715 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port187, port_range4, 7), |
716 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port200, port_range5, 0), |
717 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port201, port_range5, 1), |
718 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port202, port_range5, 2), |
719 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port203, port_range5, 3), |
720 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port204, port_range5, 4), |
721 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port205, port_range5, 5), |
722 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port206, port_range5, 6), |
723 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port207, port_range5, 7), |
724 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port210, port_range5, 8), |
725 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port211, port_range5, 9), |
726 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port212, port_range5, 10), |
727 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port213, port_range5, 11), |
728 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port214, port_range5, 12), |
729 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port215, port_range5, 13), |
730 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port216, port_range5, 14), |
731 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port217, port_range5, 15), |
732 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port220, port_range5, 16), |
733 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port221, port_range5, 17), |
734 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port222, port_range5, 18), |
735 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port223, port_range5, 19), |
736 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port230, port_range6, 0), |
737 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port231, port_range6, 1), |
738 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port232, port_range6, 2), |
739 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port233, port_range6, 3), |
740 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port234, port_range6, 4), |
741 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port235, port_range6, 5), |
742 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port236, port_range6, 6), |
743 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port237, port_range6, 7), |
744 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port240, port_range6, 8), |
745 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port241, port_range6, 9), |
746 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port242, port_range6, 10), |
747 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port243, port_range6, 11), |
748 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port244, port_range6, 12), |
749 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port245, port_range6, 13), |
750 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port246, port_range6, 14), |
751 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port247, port_range6, 15), |
752 | UNIPHIER_PINCTRL_GROUP_SINGLE(xirq0, xirq, 0), |
753 | UNIPHIER_PINCTRL_GROUP_SINGLE(xirq1, xirq, 1), |
754 | UNIPHIER_PINCTRL_GROUP_SINGLE(xirq2, xirq, 2), |
755 | diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c |
756 | index 96686336e3a3..73b828b22901 100644 |
757 | --- a/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c |
758 | +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c |
759 | @@ -597,7 +597,7 @@ static const unsigned usb2_pins[] = {50, 51}; |
760 | static const int usb2_muxvals[] = {0, 0}; |
761 | static const unsigned usb3_pins[] = {52, 53}; |
762 | static const int usb3_muxvals[] = {0, 0}; |
763 | -static const unsigned port_range_pins[] = { |
764 | +static const unsigned port_range0_pins[] = { |
765 | 168, 169, 170, 171, 172, 173, 174, 175, /* PORT0x */ |
766 | 0, 1, 2, 3, 4, 5, 6, 7, /* PORT1x */ |
767 | 8, 9, 10, 11, 12, 13, 14, 15, /* PORT2x */ |
768 | @@ -609,23 +609,8 @@ static const unsigned port_range_pins[] = { |
769 | 75, 76, 77, 78, 79, 80, 81, 82, /* PORT8x */ |
770 | 83, 84, 85, 86, 87, 88, 89, 90, /* PORT9x */ |
771 | 91, 92, 93, 94, 95, 96, 97, 98, /* PORT10x */ |
772 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT11x */ |
773 | - 99, 100, 101, 102, 103, 104, 105, 106, /* PORT12x */ |
774 | - 107, 108, 109, 110, 111, 112, 113, 114, /* PORT13x */ |
775 | - 115, 116, 117, 118, 119, 120, 121, 122, /* PORT14x */ |
776 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT15x */ |
777 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT16x */ |
778 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT17x */ |
779 | - 61, 62, 63, 64, 65, 66, 67, 68, /* PORT18x */ |
780 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT19x */ |
781 | - 123, 124, 125, 126, 127, 128, 129, 130, /* PORT20x */ |
782 | - 131, 132, 133, 134, 135, 136, 137, 138, /* PORT21x */ |
783 | - 139, 140, 141, 142, 143, 144, 145, 146, /* PORT22x */ |
784 | - 147, 148, 149, 150, 151, 152, 153, 154, /* PORT23x */ |
785 | - 155, 156, 157, 158, 159, 160, 161, 162, /* PORT24x */ |
786 | - 163, 164, 165, 166, 167, /* PORT25x */ |
787 | }; |
788 | -static const int port_range_muxvals[] = { |
789 | +static const int port_range0_muxvals[] = { |
790 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT0x */ |
791 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT1x */ |
792 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT2x */ |
793 | @@ -637,21 +622,38 @@ static const int port_range_muxvals[] = { |
794 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT8x */ |
795 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT9x */ |
796 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT10x */ |
797 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT11x */ |
798 | +}; |
799 | +static const unsigned port_range1_pins[] = { |
800 | + 99, 100, 101, 102, 103, 104, 105, 106, /* PORT12x */ |
801 | + 107, 108, 109, 110, 111, 112, 113, 114, /* PORT13x */ |
802 | + 115, 116, 117, 118, 119, 120, 121, 122, /* PORT14x */ |
803 | +}; |
804 | +static const int port_range1_muxvals[] = { |
805 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT12x */ |
806 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT13x */ |
807 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT14x */ |
808 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT15x */ |
809 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT16x */ |
810 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT17x */ |
811 | +}; |
812 | +static const unsigned port_range2_pins[] = { |
813 | + 61, 62, 63, 64, 65, 66, 67, 68, /* PORT18x */ |
814 | +}; |
815 | +static const int port_range2_muxvals[] = { |
816 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT18x */ |
817 | - -1, -1, -1, -1, -1, -1, -1, -1, /* PORT19x */ |
818 | +}; |
819 | +static const unsigned port_range3_pins[] = { |
820 | + 123, 124, 125, 126, 127, 128, 129, 130, /* PORT20x */ |
821 | + 131, 132, 133, 134, 135, 136, 137, 138, /* PORT21x */ |
822 | + 139, 140, 141, 142, 143, 144, 145, 146, /* PORT22x */ |
823 | + 147, 148, 149, 150, 151, 152, 153, 154, /* PORT23x */ |
824 | + 155, 156, 157, 158, 159, 160, 161, 162, /* PORT24x */ |
825 | + 163, 164, 165, 166, 167, /* PORT250-254 */ |
826 | +}; |
827 | +static const int port_range3_muxvals[] = { |
828 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT20x */ |
829 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT21x */ |
830 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT22x */ |
831 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT23x */ |
832 | 15, 15, 15, 15, 15, 15, 15, 15, /* PORT24x */ |
833 | - 15, 15, 15, 15, 15, /* PORT25x */ |
834 | + 15, 15, 15, 15, 15, /* PORT250-254 */ |
835 | }; |
836 | static const unsigned xirq_pins[] = { |
837 | 149, 150, 151, 152, 153, 154, 155, 156, /* XIRQ0-7 */ |
838 | @@ -695,174 +697,177 @@ static const struct uniphier_pinctrl_group uniphier_ld20_groups[] = { |
839 | UNIPHIER_PINCTRL_GROUP(usb1), |
840 | UNIPHIER_PINCTRL_GROUP(usb2), |
841 | UNIPHIER_PINCTRL_GROUP(usb3), |
842 | - UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range), |
843 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range0), |
844 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range1), |
845 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range2), |
846 | + UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_PORT(port_range3), |
847 | UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_IRQ(xirq), |
848 | UNIPHIER_PINCTRL_GROUP_GPIO_RANGE_IRQ(xirq_alternatives), |
849 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port00, port_range, 0), |
850 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port01, port_range, 1), |
851 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port02, port_range, 2), |
852 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port03, port_range, 3), |
853 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port04, port_range, 4), |
854 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port05, port_range, 5), |
855 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port06, port_range, 6), |
856 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port07, port_range, 7), |
857 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port10, port_range, 8), |
858 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port11, port_range, 9), |
859 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port12, port_range, 10), |
860 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port13, port_range, 11), |
861 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port14, port_range, 12), |
862 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port15, port_range, 13), |
863 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port16, port_range, 14), |
864 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port17, port_range, 15), |
865 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port20, port_range, 16), |
866 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port21, port_range, 17), |
867 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port22, port_range, 18), |
868 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port23, port_range, 19), |
869 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port24, port_range, 20), |
870 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port25, port_range, 21), |
871 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port26, port_range, 22), |
872 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port27, port_range, 23), |
873 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port30, port_range, 24), |
874 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port31, port_range, 25), |
875 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port32, port_range, 26), |
876 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port33, port_range, 27), |
877 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port34, port_range, 28), |
878 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port35, port_range, 29), |
879 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port36, port_range, 30), |
880 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port37, port_range, 31), |
881 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port40, port_range, 32), |
882 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port41, port_range, 33), |
883 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port42, port_range, 34), |
884 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port43, port_range, 35), |
885 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port44, port_range, 36), |
886 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port45, port_range, 37), |
887 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port46, port_range, 38), |
888 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port47, port_range, 39), |
889 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port50, port_range, 40), |
890 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port51, port_range, 41), |
891 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port52, port_range, 42), |
892 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port53, port_range, 43), |
893 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port54, port_range, 44), |
894 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port55, port_range, 45), |
895 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port56, port_range, 46), |
896 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port57, port_range, 47), |
897 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port60, port_range, 48), |
898 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port61, port_range, 49), |
899 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port62, port_range, 50), |
900 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port63, port_range, 51), |
901 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port64, port_range, 52), |
902 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port65, port_range, 53), |
903 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port66, port_range, 54), |
904 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port67, port_range, 55), |
905 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port70, port_range, 56), |
906 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port71, port_range, 57), |
907 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port72, port_range, 58), |
908 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port73, port_range, 59), |
909 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port74, port_range, 60), |
910 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port75, port_range, 61), |
911 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port76, port_range, 62), |
912 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port77, port_range, 63), |
913 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port80, port_range, 64), |
914 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port81, port_range, 65), |
915 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port82, port_range, 66), |
916 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port83, port_range, 67), |
917 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port84, port_range, 68), |
918 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port85, port_range, 69), |
919 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port86, port_range, 70), |
920 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port87, port_range, 71), |
921 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port90, port_range, 72), |
922 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port91, port_range, 73), |
923 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port92, port_range, 74), |
924 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port93, port_range, 75), |
925 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port94, port_range, 76), |
926 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port95, port_range, 77), |
927 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port96, port_range, 78), |
928 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port97, port_range, 79), |
929 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port100, port_range, 80), |
930 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port101, port_range, 81), |
931 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port102, port_range, 82), |
932 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port103, port_range, 83), |
933 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port104, port_range, 84), |
934 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port105, port_range, 85), |
935 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port106, port_range, 86), |
936 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port107, port_range, 87), |
937 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port120, port_range, 96), |
938 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port121, port_range, 97), |
939 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port122, port_range, 98), |
940 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port123, port_range, 99), |
941 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port124, port_range, 100), |
942 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port125, port_range, 101), |
943 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port126, port_range, 102), |
944 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port127, port_range, 103), |
945 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port130, port_range, 104), |
946 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port131, port_range, 105), |
947 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port132, port_range, 106), |
948 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port133, port_range, 107), |
949 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port134, port_range, 108), |
950 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port135, port_range, 109), |
951 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port136, port_range, 110), |
952 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port137, port_range, 111), |
953 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port140, port_range, 112), |
954 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port141, port_range, 113), |
955 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port142, port_range, 114), |
956 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port143, port_range, 115), |
957 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port144, port_range, 116), |
958 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port145, port_range, 117), |
959 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port146, port_range, 118), |
960 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port147, port_range, 119), |
961 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port180, port_range, 144), |
962 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port181, port_range, 145), |
963 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port182, port_range, 146), |
964 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port183, port_range, 147), |
965 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port184, port_range, 148), |
966 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port185, port_range, 149), |
967 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port186, port_range, 150), |
968 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port187, port_range, 151), |
969 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port200, port_range, 160), |
970 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port201, port_range, 161), |
971 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port202, port_range, 162), |
972 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port203, port_range, 163), |
973 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port204, port_range, 164), |
974 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port205, port_range, 165), |
975 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port206, port_range, 166), |
976 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port207, port_range, 167), |
977 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port210, port_range, 168), |
978 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port211, port_range, 169), |
979 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port212, port_range, 170), |
980 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port213, port_range, 171), |
981 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port214, port_range, 172), |
982 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port215, port_range, 173), |
983 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port216, port_range, 174), |
984 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port217, port_range, 175), |
985 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port220, port_range, 176), |
986 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port221, port_range, 177), |
987 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port222, port_range, 178), |
988 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port223, port_range, 179), |
989 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port224, port_range, 180), |
990 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port225, port_range, 181), |
991 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port226, port_range, 182), |
992 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port227, port_range, 183), |
993 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port230, port_range, 184), |
994 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port231, port_range, 185), |
995 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port232, port_range, 186), |
996 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port233, port_range, 187), |
997 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port234, port_range, 188), |
998 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port235, port_range, 189), |
999 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port236, port_range, 190), |
1000 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port237, port_range, 191), |
1001 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port240, port_range, 192), |
1002 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port241, port_range, 193), |
1003 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port242, port_range, 194), |
1004 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port243, port_range, 195), |
1005 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port244, port_range, 196), |
1006 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port245, port_range, 197), |
1007 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port246, port_range, 198), |
1008 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port247, port_range, 199), |
1009 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port250, port_range, 200), |
1010 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port251, port_range, 201), |
1011 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port252, port_range, 202), |
1012 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port253, port_range, 203), |
1013 | - UNIPHIER_PINCTRL_GROUP_SINGLE(port254, port_range, 204), |
1014 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port00, port_range0, 0), |
1015 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port01, port_range0, 1), |
1016 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port02, port_range0, 2), |
1017 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port03, port_range0, 3), |
1018 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port04, port_range0, 4), |
1019 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port05, port_range0, 5), |
1020 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port06, port_range0, 6), |
1021 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port07, port_range0, 7), |
1022 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port10, port_range0, 8), |
1023 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port11, port_range0, 9), |
1024 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port12, port_range0, 10), |
1025 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port13, port_range0, 11), |
1026 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port14, port_range0, 12), |
1027 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port15, port_range0, 13), |
1028 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port16, port_range0, 14), |
1029 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port17, port_range0, 15), |
1030 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port20, port_range0, 16), |
1031 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port21, port_range0, 17), |
1032 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port22, port_range0, 18), |
1033 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port23, port_range0, 19), |
1034 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port24, port_range0, 20), |
1035 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port25, port_range0, 21), |
1036 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port26, port_range0, 22), |
1037 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port27, port_range0, 23), |
1038 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port30, port_range0, 24), |
1039 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port31, port_range0, 25), |
1040 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port32, port_range0, 26), |
1041 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port33, port_range0, 27), |
1042 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port34, port_range0, 28), |
1043 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port35, port_range0, 29), |
1044 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port36, port_range0, 30), |
1045 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port37, port_range0, 31), |
1046 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port40, port_range0, 32), |
1047 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port41, port_range0, 33), |
1048 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port42, port_range0, 34), |
1049 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port43, port_range0, 35), |
1050 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port44, port_range0, 36), |
1051 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port45, port_range0, 37), |
1052 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port46, port_range0, 38), |
1053 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port47, port_range0, 39), |
1054 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port50, port_range0, 40), |
1055 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port51, port_range0, 41), |
1056 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port52, port_range0, 42), |
1057 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port53, port_range0, 43), |
1058 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port54, port_range0, 44), |
1059 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port55, port_range0, 45), |
1060 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port56, port_range0, 46), |
1061 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port57, port_range0, 47), |
1062 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port60, port_range0, 48), |
1063 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port61, port_range0, 49), |
1064 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port62, port_range0, 50), |
1065 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port63, port_range0, 51), |
1066 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port64, port_range0, 52), |
1067 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port65, port_range0, 53), |
1068 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port66, port_range0, 54), |
1069 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port67, port_range0, 55), |
1070 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port70, port_range0, 56), |
1071 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port71, port_range0, 57), |
1072 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port72, port_range0, 58), |
1073 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port73, port_range0, 59), |
1074 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port74, port_range0, 60), |
1075 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port75, port_range0, 61), |
1076 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port76, port_range0, 62), |
1077 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port77, port_range0, 63), |
1078 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port80, port_range0, 64), |
1079 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port81, port_range0, 65), |
1080 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port82, port_range0, 66), |
1081 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port83, port_range0, 67), |
1082 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port84, port_range0, 68), |
1083 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port85, port_range0, 69), |
1084 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port86, port_range0, 70), |
1085 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port87, port_range0, 71), |
1086 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port90, port_range0, 72), |
1087 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port91, port_range0, 73), |
1088 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port92, port_range0, 74), |
1089 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port93, port_range0, 75), |
1090 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port94, port_range0, 76), |
1091 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port95, port_range0, 77), |
1092 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port96, port_range0, 78), |
1093 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port97, port_range0, 79), |
1094 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port100, port_range0, 80), |
1095 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port101, port_range0, 81), |
1096 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port102, port_range0, 82), |
1097 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port103, port_range0, 83), |
1098 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port104, port_range0, 84), |
1099 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port105, port_range0, 85), |
1100 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port106, port_range0, 86), |
1101 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port107, port_range0, 87), |
1102 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port120, port_range1, 0), |
1103 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port121, port_range1, 1), |
1104 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port122, port_range1, 2), |
1105 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port123, port_range1, 3), |
1106 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port124, port_range1, 4), |
1107 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port125, port_range1, 5), |
1108 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port126, port_range1, 6), |
1109 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port127, port_range1, 7), |
1110 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port130, port_range1, 8), |
1111 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port131, port_range1, 9), |
1112 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port132, port_range1, 10), |
1113 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port133, port_range1, 11), |
1114 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port134, port_range1, 12), |
1115 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port135, port_range1, 13), |
1116 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port136, port_range1, 14), |
1117 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port137, port_range1, 15), |
1118 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port140, port_range1, 16), |
1119 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port141, port_range1, 17), |
1120 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port142, port_range1, 18), |
1121 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port143, port_range1, 19), |
1122 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port144, port_range1, 20), |
1123 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port145, port_range1, 21), |
1124 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port146, port_range1, 22), |
1125 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port147, port_range1, 23), |
1126 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port180, port_range2, 0), |
1127 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port181, port_range2, 1), |
1128 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port182, port_range2, 2), |
1129 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port183, port_range2, 3), |
1130 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port184, port_range2, 4), |
1131 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port185, port_range2, 5), |
1132 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port186, port_range2, 6), |
1133 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port187, port_range2, 7), |
1134 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port200, port_range3, 0), |
1135 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port201, port_range3, 1), |
1136 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port202, port_range3, 2), |
1137 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port203, port_range3, 3), |
1138 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port204, port_range3, 4), |
1139 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port205, port_range3, 5), |
1140 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port206, port_range3, 6), |
1141 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port207, port_range3, 7), |
1142 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port210, port_range3, 8), |
1143 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port211, port_range3, 9), |
1144 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port212, port_range3, 10), |
1145 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port213, port_range3, 11), |
1146 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port214, port_range3, 12), |
1147 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port215, port_range3, 13), |
1148 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port216, port_range3, 14), |
1149 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port217, port_range3, 15), |
1150 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port220, port_range3, 16), |
1151 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port221, port_range3, 17), |
1152 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port222, port_range3, 18), |
1153 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port223, port_range3, 19), |
1154 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port224, port_range3, 20), |
1155 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port225, port_range3, 21), |
1156 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port226, port_range3, 22), |
1157 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port227, port_range3, 23), |
1158 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port230, port_range3, 24), |
1159 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port231, port_range3, 25), |
1160 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port232, port_range3, 26), |
1161 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port233, port_range3, 27), |
1162 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port234, port_range3, 28), |
1163 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port235, port_range3, 29), |
1164 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port236, port_range3, 30), |
1165 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port237, port_range3, 31), |
1166 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port240, port_range3, 32), |
1167 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port241, port_range3, 33), |
1168 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port242, port_range3, 34), |
1169 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port243, port_range3, 35), |
1170 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port244, port_range3, 36), |
1171 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port245, port_range3, 37), |
1172 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port246, port_range3, 38), |
1173 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port247, port_range3, 39), |
1174 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port250, port_range3, 40), |
1175 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port251, port_range3, 41), |
1176 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port252, port_range3, 42), |
1177 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port253, port_range3, 43), |
1178 | + UNIPHIER_PINCTRL_GROUP_SINGLE(port254, port_range3, 44), |
1179 | UNIPHIER_PINCTRL_GROUP_SINGLE(xirq0, xirq, 0), |
1180 | UNIPHIER_PINCTRL_GROUP_SINGLE(xirq1, xirq, 1), |
1181 | UNIPHIER_PINCTRL_GROUP_SINGLE(xirq2, xirq, 2), |
1182 | diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c |
1183 | index ec9979070479..7458df4b6854 100644 |
1184 | --- a/drivers/staging/comedi/comedi_fops.c |
1185 | +++ b/drivers/staging/comedi/comedi_fops.c |
1186 | @@ -2385,6 +2385,7 @@ static ssize_t comedi_write(struct file *file, const char __user *buf, |
1187 | continue; |
1188 | } |
1189 | |
1190 | + set_current_state(TASK_RUNNING); |
1191 | wp = async->buf_write_ptr; |
1192 | n1 = min(n, async->prealloc_bufsz - wp); |
1193 | n2 = n - n1; |
1194 | @@ -2517,6 +2518,8 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes, |
1195 | } |
1196 | continue; |
1197 | } |
1198 | + |
1199 | + set_current_state(TASK_RUNNING); |
1200 | rp = async->buf_read_ptr; |
1201 | n1 = min(n, async->prealloc_bufsz - rp); |
1202 | n2 = n - n1; |
1203 | diff --git a/drivers/staging/iio/resolver/ad2s1210.c b/drivers/staging/iio/resolver/ad2s1210.c |
1204 | index 6b992634f009..598f0faa48c8 100644 |
1205 | --- a/drivers/staging/iio/resolver/ad2s1210.c |
1206 | +++ b/drivers/staging/iio/resolver/ad2s1210.c |
1207 | @@ -472,7 +472,7 @@ static int ad2s1210_read_raw(struct iio_dev *indio_dev, |
1208 | long m) |
1209 | { |
1210 | struct ad2s1210_state *st = iio_priv(indio_dev); |
1211 | - bool negative; |
1212 | + u16 negative; |
1213 | int ret = 0; |
1214 | u16 pos; |
1215 | s16 vel; |
1216 | diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c |
1217 | index 155fe0e0623f..e49fcd5e61f7 100644 |
1218 | --- a/drivers/target/iscsi/iscsi_target.c |
1219 | +++ b/drivers/target/iscsi/iscsi_target.c |
1220 | @@ -418,6 +418,7 @@ int iscsit_reset_np_thread( |
1221 | return 0; |
1222 | } |
1223 | np->np_thread_state = ISCSI_NP_THREAD_RESET; |
1224 | + atomic_inc(&np->np_reset_count); |
1225 | |
1226 | if (np->np_thread) { |
1227 | spin_unlock_bh(&np->np_thread_lock); |
1228 | @@ -2177,6 +2178,7 @@ iscsit_setup_text_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd, |
1229 | cmd->cmd_sn = be32_to_cpu(hdr->cmdsn); |
1230 | cmd->exp_stat_sn = be32_to_cpu(hdr->exp_statsn); |
1231 | cmd->data_direction = DMA_NONE; |
1232 | + kfree(cmd->text_in_ptr); |
1233 | cmd->text_in_ptr = NULL; |
1234 | |
1235 | return 0; |
1236 | diff --git a/drivers/target/iscsi/iscsi_target_login.c b/drivers/target/iscsi/iscsi_target_login.c |
1237 | index 6128e8e80170..9ccd5da8f204 100644 |
1238 | --- a/drivers/target/iscsi/iscsi_target_login.c |
1239 | +++ b/drivers/target/iscsi/iscsi_target_login.c |
1240 | @@ -1233,9 +1233,11 @@ static int __iscsi_target_login_thread(struct iscsi_np *np) |
1241 | flush_signals(current); |
1242 | |
1243 | spin_lock_bh(&np->np_thread_lock); |
1244 | - if (np->np_thread_state == ISCSI_NP_THREAD_RESET) { |
1245 | + if (atomic_dec_if_positive(&np->np_reset_count) >= 0) { |
1246 | np->np_thread_state = ISCSI_NP_THREAD_ACTIVE; |
1247 | + spin_unlock_bh(&np->np_thread_lock); |
1248 | complete(&np->np_restart_comp); |
1249 | + return 1; |
1250 | } else if (np->np_thread_state == ISCSI_NP_THREAD_SHUTDOWN) { |
1251 | spin_unlock_bh(&np->np_thread_lock); |
1252 | goto exit; |
1253 | @@ -1268,7 +1270,8 @@ static int __iscsi_target_login_thread(struct iscsi_np *np) |
1254 | goto exit; |
1255 | } else if (rc < 0) { |
1256 | spin_lock_bh(&np->np_thread_lock); |
1257 | - if (np->np_thread_state == ISCSI_NP_THREAD_RESET) { |
1258 | + if (atomic_dec_if_positive(&np->np_reset_count) >= 0) { |
1259 | + np->np_thread_state = ISCSI_NP_THREAD_ACTIVE; |
1260 | spin_unlock_bh(&np->np_thread_lock); |
1261 | complete(&np->np_restart_comp); |
1262 | iscsit_put_transport(conn->conn_transport); |
1263 | diff --git a/drivers/target/target_core_tpg.c b/drivers/target/target_core_tpg.c |
1264 | index 1949f50725a5..0e2e71f6c198 100644 |
1265 | --- a/drivers/target/target_core_tpg.c |
1266 | +++ b/drivers/target/target_core_tpg.c |
1267 | @@ -364,7 +364,7 @@ void core_tpg_del_initiator_node_acl(struct se_node_acl *acl) |
1268 | mutex_lock(&tpg->acl_node_mutex); |
1269 | if (acl->dynamic_node_acl) |
1270 | acl->dynamic_node_acl = 0; |
1271 | - list_del(&acl->acl_list); |
1272 | + list_del_init(&acl->acl_list); |
1273 | mutex_unlock(&tpg->acl_node_mutex); |
1274 | |
1275 | target_shutdown_sessions(acl); |
1276 | @@ -540,7 +540,7 @@ int core_tpg_deregister(struct se_portal_group *se_tpg) |
1277 | * in transport_deregister_session(). |
1278 | */ |
1279 | list_for_each_entry_safe(nacl, nacl_tmp, &node_list, acl_list) { |
1280 | - list_del(&nacl->acl_list); |
1281 | + list_del_init(&nacl->acl_list); |
1282 | |
1283 | core_tpg_wait_for_nacl_pr_ref(nacl); |
1284 | core_free_device_list_for_node(nacl, se_tpg); |
1285 | diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c |
1286 | index e8a1f5cadba5..bacfa8f81be8 100644 |
1287 | --- a/drivers/target/target_core_transport.c |
1288 | +++ b/drivers/target/target_core_transport.c |
1289 | @@ -465,7 +465,7 @@ static void target_complete_nacl(struct kref *kref) |
1290 | } |
1291 | |
1292 | mutex_lock(&se_tpg->acl_node_mutex); |
1293 | - list_del(&nacl->acl_list); |
1294 | + list_del_init(&nacl->acl_list); |
1295 | mutex_unlock(&se_tpg->acl_node_mutex); |
1296 | |
1297 | core_tpg_wait_for_nacl_pr_ref(nacl); |
1298 | @@ -537,7 +537,7 @@ void transport_free_session(struct se_session *se_sess) |
1299 | spin_unlock_irqrestore(&se_nacl->nacl_sess_lock, flags); |
1300 | |
1301 | if (se_nacl->dynamic_stop) |
1302 | - list_del(&se_nacl->acl_list); |
1303 | + list_del_init(&se_nacl->acl_list); |
1304 | } |
1305 | mutex_unlock(&se_tpg->acl_node_mutex); |
1306 | |
1307 | diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c |
1308 | index 8a7c6bbaed7e..882fc4e08284 100644 |
1309 | --- a/drivers/usb/core/hcd.c |
1310 | +++ b/drivers/usb/core/hcd.c |
1311 | @@ -1877,7 +1877,7 @@ void usb_hcd_flush_endpoint(struct usb_device *udev, |
1312 | /* No more submits can occur */ |
1313 | spin_lock_irq(&hcd_urb_list_lock); |
1314 | rescan: |
1315 | - list_for_each_entry (urb, &ep->urb_list, urb_list) { |
1316 | + list_for_each_entry_reverse(urb, &ep->urb_list, urb_list) { |
1317 | int is_in; |
1318 | |
1319 | if (urb->unlinked) |
1320 | @@ -2474,6 +2474,8 @@ void usb_hc_died (struct usb_hcd *hcd) |
1321 | } |
1322 | if (usb_hcd_is_primary_hcd(hcd) && hcd->shared_hcd) { |
1323 | hcd = hcd->shared_hcd; |
1324 | + clear_bit(HCD_FLAG_RH_RUNNING, &hcd->flags); |
1325 | + set_bit(HCD_FLAG_DEAD, &hcd->flags); |
1326 | if (hcd->rh_registered) { |
1327 | clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); |
1328 | |
1329 | diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c |
1330 | index f953d6d647f2..80d4ef31ba8d 100644 |
1331 | --- a/drivers/usb/core/hub.c |
1332 | +++ b/drivers/usb/core/hub.c |
1333 | @@ -4728,7 +4728,8 @@ hub_power_remaining(struct usb_hub *hub) |
1334 | static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, |
1335 | u16 portchange) |
1336 | { |
1337 | - int status, i; |
1338 | + int status = -ENODEV; |
1339 | + int i; |
1340 | unsigned unit_load; |
1341 | struct usb_device *hdev = hub->hdev; |
1342 | struct usb_hcd *hcd = bus_to_hcd(hdev->bus); |
1343 | @@ -4932,9 +4933,10 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, |
1344 | |
1345 | done: |
1346 | hub_port_disable(hub, port1, 1); |
1347 | - if (hcd->driver->relinquish_port && !hub->hdev->parent) |
1348 | - hcd->driver->relinquish_port(hcd, port1); |
1349 | - |
1350 | + if (hcd->driver->relinquish_port && !hub->hdev->parent) { |
1351 | + if (status != -ENOTCONN && status != -ENODEV) |
1352 | + hcd->driver->relinquish_port(hcd, port1); |
1353 | + } |
1354 | } |
1355 | |
1356 | /* Handle physical or logical connection change events. |
1357 | diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c |
1358 | index 3116edfcdc18..574da2b4529c 100644 |
1359 | --- a/drivers/usb/core/quirks.c |
1360 | +++ b/drivers/usb/core/quirks.c |
1361 | @@ -150,6 +150,9 @@ static const struct usb_device_id usb_quirk_list[] = { |
1362 | /* appletouch */ |
1363 | { USB_DEVICE(0x05ac, 0x021a), .driver_info = USB_QUIRK_RESET_RESUME }, |
1364 | |
1365 | + /* Genesys Logic hub, internally used by Moshi USB to Ethernet Adapter */ |
1366 | + { USB_DEVICE(0x05e3, 0x0616), .driver_info = USB_QUIRK_NO_LPM }, |
1367 | + |
1368 | /* Avision AV600U */ |
1369 | { USB_DEVICE(0x0638, 0x0a13), .driver_info = |
1370 | USB_QUIRK_STRING_FETCH_255 }, |
1371 | @@ -249,6 +252,7 @@ static const struct usb_device_id usb_amd_resume_quirk_list[] = { |
1372 | { USB_DEVICE(0x093a, 0x2500), .driver_info = USB_QUIRK_RESET_RESUME }, |
1373 | { USB_DEVICE(0x093a, 0x2510), .driver_info = USB_QUIRK_RESET_RESUME }, |
1374 | { USB_DEVICE(0x093a, 0x2521), .driver_info = USB_QUIRK_RESET_RESUME }, |
1375 | + { USB_DEVICE(0x03f0, 0x2b4a), .driver_info = USB_QUIRK_RESET_RESUME }, |
1376 | |
1377 | /* Logitech Optical Mouse M90/M100 */ |
1378 | { USB_DEVICE(0x046d, 0xc05a), .driver_info = USB_QUIRK_RESET_RESUME }, |
1379 | diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c |
1380 | index ba78e3f7aea8..d2cfefadca3c 100644 |
1381 | --- a/drivers/usb/gadget/udc/renesas_usb3.c |
1382 | +++ b/drivers/usb/gadget/udc/renesas_usb3.c |
1383 | @@ -685,21 +685,32 @@ static struct renesas_usb3_request *usb3_get_request(struct renesas_usb3_ep |
1384 | return usb3_req; |
1385 | } |
1386 | |
1387 | -static void usb3_request_done(struct renesas_usb3_ep *usb3_ep, |
1388 | - struct renesas_usb3_request *usb3_req, int status) |
1389 | +static void __usb3_request_done(struct renesas_usb3_ep *usb3_ep, |
1390 | + struct renesas_usb3_request *usb3_req, |
1391 | + int status) |
1392 | { |
1393 | struct renesas_usb3 *usb3 = usb3_ep_to_usb3(usb3_ep); |
1394 | - unsigned long flags; |
1395 | |
1396 | dev_dbg(usb3_to_dev(usb3), "giveback: ep%2d, %u, %u, %d\n", |
1397 | usb3_ep->num, usb3_req->req.length, usb3_req->req.actual, |
1398 | status); |
1399 | usb3_req->req.status = status; |
1400 | - spin_lock_irqsave(&usb3->lock, flags); |
1401 | usb3_ep->started = false; |
1402 | list_del_init(&usb3_req->queue); |
1403 | - spin_unlock_irqrestore(&usb3->lock, flags); |
1404 | + spin_unlock(&usb3->lock); |
1405 | usb_gadget_giveback_request(&usb3_ep->ep, &usb3_req->req); |
1406 | + spin_lock(&usb3->lock); |
1407 | +} |
1408 | + |
1409 | +static void usb3_request_done(struct renesas_usb3_ep *usb3_ep, |
1410 | + struct renesas_usb3_request *usb3_req, int status) |
1411 | +{ |
1412 | + struct renesas_usb3 *usb3 = usb3_ep_to_usb3(usb3_ep); |
1413 | + unsigned long flags; |
1414 | + |
1415 | + spin_lock_irqsave(&usb3->lock, flags); |
1416 | + __usb3_request_done(usb3_ep, usb3_req, status); |
1417 | + spin_unlock_irqrestore(&usb3->lock, flags); |
1418 | } |
1419 | |
1420 | static void usb3_irq_epc_pipe0_status_end(struct renesas_usb3 *usb3) |
1421 | diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c |
1422 | index c8989c62a262..5f4ca7890435 100644 |
1423 | --- a/drivers/usb/host/pci-quirks.c |
1424 | +++ b/drivers/usb/host/pci-quirks.c |
1425 | @@ -98,6 +98,7 @@ enum amd_chipset_gen { |
1426 | AMD_CHIPSET_HUDSON2, |
1427 | AMD_CHIPSET_BOLTON, |
1428 | AMD_CHIPSET_YANGTZE, |
1429 | + AMD_CHIPSET_TAISHAN, |
1430 | AMD_CHIPSET_UNKNOWN, |
1431 | }; |
1432 | |
1433 | @@ -141,6 +142,11 @@ static int amd_chipset_sb_type_init(struct amd_chipset_info *pinfo) |
1434 | pinfo->sb_type.gen = AMD_CHIPSET_SB700; |
1435 | else if (rev >= 0x40 && rev <= 0x4f) |
1436 | pinfo->sb_type.gen = AMD_CHIPSET_SB800; |
1437 | + } |
1438 | + pinfo->smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD, |
1439 | + 0x145c, NULL); |
1440 | + if (pinfo->smbus_dev) { |
1441 | + pinfo->sb_type.gen = AMD_CHIPSET_TAISHAN; |
1442 | } else { |
1443 | pinfo->smbus_dev = pci_get_device(PCI_VENDOR_ID_AMD, |
1444 | PCI_DEVICE_ID_AMD_HUDSON2_SMBUS, NULL); |
1445 | @@ -260,11 +266,12 @@ int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev) |
1446 | { |
1447 | /* Make sure amd chipset type has already been initialized */ |
1448 | usb_amd_find_chipset_info(); |
1449 | - if (amd_chipset.sb_type.gen != AMD_CHIPSET_YANGTZE) |
1450 | - return 0; |
1451 | - |
1452 | - dev_dbg(&pdev->dev, "QUIRK: Enable AMD remote wakeup fix\n"); |
1453 | - return 1; |
1454 | + if (amd_chipset.sb_type.gen == AMD_CHIPSET_YANGTZE || |
1455 | + amd_chipset.sb_type.gen == AMD_CHIPSET_TAISHAN) { |
1456 | + dev_dbg(&pdev->dev, "QUIRK: Enable AMD remote wakeup fix\n"); |
1457 | + return 1; |
1458 | + } |
1459 | + return 0; |
1460 | } |
1461 | EXPORT_SYMBOL_GPL(usb_hcd_amd_remote_wakeup_quirk); |
1462 | |
1463 | diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c |
1464 | index 99beda9e241d..55c624f2a8c0 100644 |
1465 | --- a/drivers/usb/musb/musb_host.c |
1466 | +++ b/drivers/usb/musb/musb_host.c |
1467 | @@ -139,6 +139,7 @@ static void musb_h_tx_flush_fifo(struct musb_hw_ep *ep) |
1468 | "Could not flush host TX%d fifo: csr: %04x\n", |
1469 | ep->epnum, csr)) |
1470 | return; |
1471 | + mdelay(1); |
1472 | } |
1473 | } |
1474 | |
1475 | diff --git a/drivers/usb/renesas_usbhs/rcar3.c b/drivers/usb/renesas_usbhs/rcar3.c |
1476 | index d544b331c9f2..02b67abfc2a1 100644 |
1477 | --- a/drivers/usb/renesas_usbhs/rcar3.c |
1478 | +++ b/drivers/usb/renesas_usbhs/rcar3.c |
1479 | @@ -20,9 +20,13 @@ |
1480 | /* Low Power Status register (LPSTS) */ |
1481 | #define LPSTS_SUSPM 0x4000 |
1482 | |
1483 | -/* USB General control register 2 (UGCTRL2), bit[31:6] should be 0 */ |
1484 | +/* |
1485 | + * USB General control register 2 (UGCTRL2) |
1486 | + * Remarks: bit[31:11] and bit[9:6] should be 0 |
1487 | + */ |
1488 | #define UGCTRL2_RESERVED_3 0x00000001 /* bit[3:0] should be B'0001 */ |
1489 | #define UGCTRL2_USB0SEL_OTG 0x00000030 |
1490 | +#define UGCTRL2_VBUSSEL 0x00000400 |
1491 | |
1492 | static void usbhs_write32(struct usbhs_priv *priv, u32 reg, u32 data) |
1493 | { |
1494 | @@ -34,7 +38,8 @@ static int usbhs_rcar3_power_ctrl(struct platform_device *pdev, |
1495 | { |
1496 | struct usbhs_priv *priv = usbhs_pdev_to_priv(pdev); |
1497 | |
1498 | - usbhs_write32(priv, UGCTRL2, UGCTRL2_RESERVED_3 | UGCTRL2_USB0SEL_OTG); |
1499 | + usbhs_write32(priv, UGCTRL2, UGCTRL2_RESERVED_3 | UGCTRL2_USB0SEL_OTG | |
1500 | + UGCTRL2_VBUSSEL); |
1501 | |
1502 | if (enable) { |
1503 | usbhs_bset(priv, LPSTS, LPSTS_SUSPM, LPSTS_SUSPM); |
1504 | diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c |
1505 | index 84b444f69c9b..470b17b0c11b 100644 |
1506 | --- a/drivers/usb/serial/cp210x.c |
1507 | +++ b/drivers/usb/serial/cp210x.c |
1508 | @@ -136,6 +136,7 @@ static const struct usb_device_id id_table[] = { |
1509 | { USB_DEVICE(0x10C4, 0x8998) }, /* KCF Technologies PRN */ |
1510 | { USB_DEVICE(0x10C4, 0x8A2A) }, /* HubZ dual ZigBee and Z-Wave dongle */ |
1511 | { USB_DEVICE(0x10C4, 0x8A5E) }, /* CEL EM3588 ZigBee USB Stick Long Range */ |
1512 | + { USB_DEVICE(0x10C4, 0x8B34) }, /* Qivicon ZigBee USB Radio Stick */ |
1513 | { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */ |
1514 | { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */ |
1515 | { USB_DEVICE(0x10C4, 0xEA70) }, /* Silicon Labs factory default */ |
1516 | diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c |
1517 | index ebe51f11105d..fe123153b1a5 100644 |
1518 | --- a/drivers/usb/serial/option.c |
1519 | +++ b/drivers/usb/serial/option.c |
1520 | @@ -2025,6 +2025,8 @@ static const struct usb_device_id option_ids[] = { |
1521 | { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff) }, /* D-Link DWM-158 */ |
1522 | { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e19, 0xff), /* D-Link DWM-221 B1 */ |
1523 | .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, |
1524 | + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e35, 0xff), /* D-Link DWM-222 */ |
1525 | + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, |
1526 | { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e01, 0xff, 0xff, 0xff) }, /* D-Link DWM-152/C1 */ |
1527 | { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e02, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/C1 */ |
1528 | { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x7e11, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/A3 */ |
1529 | diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c |
1530 | index 1db4b61bdf7b..a51b28379850 100644 |
1531 | --- a/drivers/usb/serial/pl2303.c |
1532 | +++ b/drivers/usb/serial/pl2303.c |
1533 | @@ -49,6 +49,7 @@ static const struct usb_device_id id_table[] = { |
1534 | { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, |
1535 | { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) }, |
1536 | { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) }, |
1537 | + { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_UC485) }, |
1538 | { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID2) }, |
1539 | { USB_DEVICE(ATEN_VENDOR_ID2, ATEN_PRODUCT_ID) }, |
1540 | { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID) }, |
1541 | diff --git a/drivers/usb/serial/pl2303.h b/drivers/usb/serial/pl2303.h |
1542 | index 09d9be88209e..3b5a15d1dc0d 100644 |
1543 | --- a/drivers/usb/serial/pl2303.h |
1544 | +++ b/drivers/usb/serial/pl2303.h |
1545 | @@ -27,6 +27,7 @@ |
1546 | #define ATEN_VENDOR_ID 0x0557 |
1547 | #define ATEN_VENDOR_ID2 0x0547 |
1548 | #define ATEN_PRODUCT_ID 0x2008 |
1549 | +#define ATEN_PRODUCT_UC485 0x2021 |
1550 | #define ATEN_PRODUCT_ID2 0x2118 |
1551 | |
1552 | #define IODATA_VENDOR_ID 0x04bb |
1553 | diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h |
1554 | index cbea9f329e71..cde115359793 100644 |
1555 | --- a/drivers/usb/storage/unusual_uas.h |
1556 | +++ b/drivers/usb/storage/unusual_uas.h |
1557 | @@ -124,9 +124,9 @@ UNUSUAL_DEV(0x0bc2, 0xab2a, 0x0000, 0x9999, |
1558 | /* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */ |
1559 | UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999, |
1560 | "Initio Corporation", |
1561 | - "", |
1562 | + "INIC-3069", |
1563 | USB_SC_DEVICE, USB_PR_DEVICE, NULL, |
1564 | - US_FL_NO_ATA_1X), |
1565 | + US_FL_NO_ATA_1X | US_FL_IGNORE_RESIDUE), |
1566 | |
1567 | /* Reported-by: Tom Arild Naess <tanaess@gmail.com> */ |
1568 | UNUSUAL_DEV(0x152d, 0x0539, 0x0000, 0x9999, |
1569 | diff --git a/fs/fuse/file.c b/fs/fuse/file.c |
1570 | index 5ec5870e423a..996aa23c409e 100644 |
1571 | --- a/fs/fuse/file.c |
1572 | +++ b/fs/fuse/file.c |
1573 | @@ -46,7 +46,7 @@ struct fuse_file *fuse_file_alloc(struct fuse_conn *fc) |
1574 | { |
1575 | struct fuse_file *ff; |
1576 | |
1577 | - ff = kmalloc(sizeof(struct fuse_file), GFP_KERNEL); |
1578 | + ff = kzalloc(sizeof(struct fuse_file), GFP_KERNEL); |
1579 | if (unlikely(!ff)) |
1580 | return NULL; |
1581 | |
1582 | diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig |
1583 | index f31fd0dd92c6..b1daeafbea92 100644 |
1584 | --- a/fs/nfs/Kconfig |
1585 | +++ b/fs/nfs/Kconfig |
1586 | @@ -121,6 +121,7 @@ config PNFS_FILE_LAYOUT |
1587 | config PNFS_BLOCK |
1588 | tristate |
1589 | depends on NFS_V4_1 && BLK_DEV_DM |
1590 | + depends on 64BIT || LBDAF |
1591 | default NFS_V4 |
1592 | |
1593 | config PNFS_OBJLAYOUT |
1594 | diff --git a/fs/nfs/flexfilelayout/flexfilelayoutdev.c b/fs/nfs/flexfilelayout/flexfilelayoutdev.c |
1595 | index f7a3f6b05369..90099896b838 100644 |
1596 | --- a/fs/nfs/flexfilelayout/flexfilelayoutdev.c |
1597 | +++ b/fs/nfs/flexfilelayout/flexfilelayoutdev.c |
1598 | @@ -30,6 +30,7 @@ void nfs4_ff_layout_free_deviceid(struct nfs4_ff_layout_ds *mirror_ds) |
1599 | { |
1600 | nfs4_print_deviceid(&mirror_ds->id_node.deviceid); |
1601 | nfs4_pnfs_ds_put(mirror_ds->ds); |
1602 | + kfree(mirror_ds->ds_versions); |
1603 | kfree_rcu(mirror_ds, id_node.rcu); |
1604 | } |
1605 | |
1606 | diff --git a/include/target/iscsi/iscsi_target_core.h b/include/target/iscsi/iscsi_target_core.h |
1607 | index c8132b419148..6021c3acb6c5 100644 |
1608 | --- a/include/target/iscsi/iscsi_target_core.h |
1609 | +++ b/include/target/iscsi/iscsi_target_core.h |
1610 | @@ -785,6 +785,7 @@ struct iscsi_np { |
1611 | int np_sock_type; |
1612 | enum np_thread_state_table np_thread_state; |
1613 | bool enabled; |
1614 | + atomic_t np_reset_count; |
1615 | enum iscsi_timer_flags_table np_login_timer_flags; |
1616 | u32 np_exports; |
1617 | enum np_flags_table np_flags; |
1618 | diff --git a/kernel/futex.c b/kernel/futex.c |
1619 | index 4c6b6e697b73..88bad86180ac 100644 |
1620 | --- a/kernel/futex.c |
1621 | +++ b/kernel/futex.c |
1622 | @@ -668,13 +668,14 @@ get_futex_key(u32 __user *uaddr, int fshared, union futex_key *key, int rw) |
1623 | * this reference was taken by ihold under the page lock |
1624 | * pinning the inode in place so i_lock was unnecessary. The |
1625 | * only way for this check to fail is if the inode was |
1626 | - * truncated in parallel so warn for now if this happens. |
1627 | + * truncated in parallel which is almost certainly an |
1628 | + * application bug. In such a case, just retry. |
1629 | * |
1630 | * We are not calling into get_futex_key_refs() in file-backed |
1631 | * cases, therefore a successful atomic_inc return below will |
1632 | * guarantee that get_futex_key() will still imply smp_mb(); (B). |
1633 | */ |
1634 | - if (WARN_ON_ONCE(!atomic_inc_not_zero(&inode->i_count))) { |
1635 | + if (!atomic_inc_not_zero(&inode->i_count)) { |
1636 | rcu_read_unlock(); |
1637 | put_page(page); |
1638 | |
1639 | diff --git a/mm/page_alloc.c b/mm/page_alloc.c |
1640 | index 77b797c2d094..9419aa4e5441 100644 |
1641 | --- a/mm/page_alloc.c |
1642 | +++ b/mm/page_alloc.c |
1643 | @@ -7335,7 +7335,7 @@ int alloc_contig_range(unsigned long start, unsigned long end, |
1644 | |
1645 | /* Make sure the range is really isolated. */ |
1646 | if (test_pages_isolated(outer_start, end, false)) { |
1647 | - pr_info("%s: [%lx, %lx) PFNs busy\n", |
1648 | + pr_info_ratelimited("%s: [%lx, %lx) PFNs busy\n", |
1649 | __func__, outer_start, end); |
1650 | ret = -EBUSY; |
1651 | goto done; |
1652 | diff --git a/mm/shmem.c b/mm/shmem.c |
1653 | index d99cfb6eb03a..7ee5444ffb6d 100644 |
1654 | --- a/mm/shmem.c |
1655 | +++ b/mm/shmem.c |
1656 | @@ -1007,7 +1007,11 @@ static int shmem_setattr(struct dentry *dentry, struct iattr *attr) |
1657 | */ |
1658 | if (IS_ENABLED(CONFIG_TRANSPARENT_HUGE_PAGECACHE)) { |
1659 | spin_lock(&sbinfo->shrinklist_lock); |
1660 | - if (list_empty(&info->shrinklist)) { |
1661 | + /* |
1662 | + * _careful to defend against unlocked access to |
1663 | + * ->shrink_list in shmem_unused_huge_shrink() |
1664 | + */ |
1665 | + if (list_empty_careful(&info->shrinklist)) { |
1666 | list_add_tail(&info->shrinklist, |
1667 | &sbinfo->shrinklist); |
1668 | sbinfo->shrinklist_len++; |
1669 | @@ -1774,7 +1778,11 @@ alloc_nohuge: page = shmem_alloc_and_acct_page(gfp, info, sbinfo, |
1670 | * to shrink under memory pressure. |
1671 | */ |
1672 | spin_lock(&sbinfo->shrinklist_lock); |
1673 | - if (list_empty(&info->shrinklist)) { |
1674 | + /* |
1675 | + * _careful to defend against unlocked access to |
1676 | + * ->shrink_list in shmem_unused_huge_shrink() |
1677 | + */ |
1678 | + if (list_empty_careful(&info->shrinklist)) { |
1679 | list_add_tail(&info->shrinklist, |
1680 | &sbinfo->shrinklist); |
1681 | sbinfo->shrinklist_len++; |