Annotation of /trunk/kernel-alx/patches-4.9/0143-4.9.44-all-fixes.patch
Parent Directory | Revision Log
Revision 2980 -
(hide annotations)
(download)
Tue Aug 29 09:04:07 2017 UTC (7 years ago) by niro
File size: 77223 byte(s)
Tue Aug 29 09:04:07 2017 UTC (7 years ago) by niro
File size: 77223 byte(s)
-linux-4.9.44
1 | niro | 2980 | 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++; |