History

Merge tag 'mips_5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS updates from Paul Burton: "A light batch this time around but significant improvements for certain systems: - Removal of readq & writeq for MIPS32 kernels where they would simply BUG() anyway, allowing drivers or other code that #ifdefs on their presence to work properly. - Improvements for Ingenic JZ4740 systems, including support for the external memory controller & pinmuxing fixes for qi_lb60/NanoNote systems. - Improvements for Lantiq systems, in particular around SMP & IPIs. - DT updates for ralink/MediaTek MT7628a systems to probe & configure a bunch more devices. - Miscellaneous cleanups & build fixes" * tag 'mips_5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (30 commits) MIPS: fix some more fall through errors in arch/mips MIPS: perf events: handle switch statement falling through warnings mips/kprobes: Export kprobe_fault_handler() MAINTAINERS: Add myself as Ingenic SoCs maintainer MIPS: ralink: mt7628a.dtsi: Add watchdog controller DT node MIPS: ralink: mt7628a.dtsi: Add SPI controller DT node MIPS: ralink: mt7628a.dtsi: Add GPIO controller DT node MIPS: ralink: mt7628a.dtsi: Add pinctrl DT properties to the UART nodes MIPS: ralink: mt7628a.dtsi: Add pinmux DT node MIPS: ralink: mt7628a.dtsi: Add SPDX GPL-2.0 license identifier MIPS: lantiq: Add SMP support for lantiq interrupt controller MIPS: lantiq: Shorten register names, remove unused macros MIPS: lantiq: Fix bitfield masking MIPS: lantiq: Remove unused macros MIPS: lantiq: Fix attributes of of_device_id structure MIPS: lantiq: Change variables to the same type as the source MIPS: lantiq: Move macro directly to iomem function mips: Remove q-accessors from non-64bit platforms FDDI: defza: Include linux/io-64-nonatomic-lo-hi.h MIPS: configs: Remove useless UEVENT_HELPER_PATH ...

Linus Torvalds committed 7 years ago

Commit fa121bb2 parents 7d4901c e5793cd50 files · +412 −192Browse files

Unified · Split

50 files
  1. MAINTAINERS +27 −0
  2. arch/mips/ar7/setup.c +1 −0
  3. arch/mips/ath79/setup.c +1 −1
  4. arch/mips/bcm63xx/dev-flash.c +1 −0
  5. arch/mips/boot/dts/ralink/mt7628a.dtsi +147 −1
  6. arch/mips/cavium-octeon/executive/cvmx-pko.c +1 −1
  7. arch/mips/configs/ar7_defconfig +0 −1
  8. arch/mips/configs/ath25_defconfig +0 −1
  9. arch/mips/configs/ath79_defconfig +0 −1
  10. arch/mips/configs/bcm63xx_defconfig +0 −1
  11. arch/mips/configs/bigsur_defconfig +0 −1
  12. arch/mips/configs/bmips_be_defconfig +0 −1
  13. arch/mips/configs/bmips_stb_defconfig +0 −1
  14. arch/mips/configs/cavium_octeon_defconfig +0 −1
  15. arch/mips/configs/ci20_defconfig +0 −1
  16. arch/mips/configs/cobalt_defconfig +0 −1
  17. arch/mips/configs/fuloong2e_defconfig +0 −1
  18. arch/mips/configs/gpr_defconfig +0 −1
  19. arch/mips/configs/ip27_defconfig +0 −1
  20. arch/mips/configs/ip32_defconfig +0 −1
  21. arch/mips/configs/lemote2f_defconfig +0 −2
  22. arch/mips/configs/loongson1b_defconfig +0 −1
  23. arch/mips/configs/loongson1c_defconfig +0 −1
  24. arch/mips/configs/loongson3_defconfig +0 −1
  25. arch/mips/configs/malta_defconfig +0 −1
  26. arch/mips/configs/malta_kvm_defconfig +0 −1
  27. arch/mips/configs/malta_kvm_guest_defconfig +0 −1
  28. arch/mips/configs/maltaup_xpa_defconfig +0 −1
  29. arch/mips/configs/mips_paravirt_defconfig +0 −1
  30. arch/mips/configs/omega2p_defconfig +0 −1
  31. arch/mips/configs/pistachio_defconfig +0 −1
  32. arch/mips/configs/pnx8335_stb225_defconfig +0 −1
  33. arch/mips/configs/qi_lb60_defconfig +0 −2
  34. arch/mips/configs/rb532_defconfig +0 −1
  35. arch/mips/configs/rt305x_defconfig +0 −1
  36. arch/mips/configs/sb1250_swarm_defconfig +0 −1
  37. arch/mips/configs/tb0219_defconfig +0 −1
  38. arch/mips/configs/tb0226_defconfig +0 −1
  39. arch/mips/configs/tb0287_defconfig +0 −1
  40. arch/mips/configs/vocore2_defconfig +0 −1
  41. arch/mips/configs/xway_defconfig +0 −1
  42. arch/mips/include/asm/cpu.h +60 −65
  43. arch/mips/include/asm/io.h +11 −0
  44. arch/mips/include/asm/mach-ralink/pinmux.h +0 −1
  45. arch/mips/jz4740/board-qi_lb60.c +8 −8
  46. arch/mips/kernel/ftrace.c +12 −11
  47. arch/mips/kernel/perf_event_mipsxx.c +15 −15
  48. arch/mips/lantiq/irq.c +126 −51
  49. drivers/memory/jz4780-nemc.c +1 −1
  50. drivers/net/fddi/defza.c +1 −0
MAINTAINERS+27−0
@@ -7955,6 +7955,33 @@ L: linux-mtd@lists.infradead.org · 7954 unmodified lines
79557955 S: Maintained
79567956 F: drivers/mtd/nand/raw/ingenic/
79577957
7958+INGENIC JZ47xx SoCs
7959+M: Paul Cercueil <paul@crapouillou.net>
7960+S: Maintained
7961+F: arch/mips/boot/dts/ingenic/
7962+F: arch/mips/include/asm/mach-jz4740/
7963+F: arch/mips/jz4740/
7964+F: drivers/clk/ingenic/
7965+F: drivers/dma/dma-jz4780.c
7966+F: drivers/gpu/drm/ingenic/
7967+F: drivers/i2c/busses/i2c-jz4780.c
7968+F: drivers/iio/adc/ingenic-adc.c
7969+F: drivers/irqchip/irq-ingenic.c
7970+F: drivers/memory/jz4780-nemc.c
7971+F: drivers/mmc/host/jz4740_mmc.c
7972+F: drivers/mtd/nand/raw/ingenic/
7973+F: drivers/pinctrl/pinctrl-ingenic.c
7974+F: drivers/power/supply/ingenic-battery.c
7975+F: drivers/pwm/pwm-jz4740.c
7976+F: drivers/rtc/rtc-jz4740.c
7977+F: drivers/tty/serial/8250/8250_ingenic.c
7978+F: drivers/usb/musb/jz4740.c
7979+F: drivers/watchdog/jz4740_wdt.c
7980+F: include/dt-bindings/iio/adc/ingenic,adc.h
7981+F: include/linux/mfd/ingenic-tcu.h
7982+F: sound/soc/jz4740/
7983+F: sound/soc/codecs/jz47*
7984+
79587985 INOTIFY
79597986 M: Jan Kara <jack@suse.cz>
79607987 R: Amir Goldstein <amir73il@gmail.com>
arch/mips/ar7/setup.c+1−0
@@ -57,6 +57,7 @@ const char *get_system_type(void) · 56 unmodified lines
5757 case TITAN_CHIP_1060:
5858 return "TI AR7 (TNETV1060)";
5959 }
60+ /* fall through */
6061 default:
6162 return "TI AR7 (unknown)";
6263 }
arch/mips/ath79/setup.c+1−1
@@ -153,7 +153,7 @@ static void __init ath79_detect_sys_type(void) · 152 unmodified lines
153153 case REV_ID_MAJOR_QCA9533_V2:
154154 ver = 2;
155155 ath79_soc_rev = 2;
156− /* drop through */
156+ /* fall through */
157157
158158 case REV_ID_MAJOR_QCA9533:
159159 ath79_soc = ATH79_SOC_QCA9533;
arch/mips/bcm63xx/dev-flash.c+1−0
@@ -94,6 +94,7 @@ static int __init bcm63xx_detect_flash_type(void) · 93 unmodified lines
9494 case STRAPBUS_6368_BOOT_SEL_PARALLEL:
9595 return BCM63XX_FLASH_TYPE_PARALLEL;
9696 }
97+ /* fall through */
9798 default:
9899 return -EINVAL;
99100 }
arch/mips/boot/dts/ralink/mt7628a.dtsi+147−1
@@ -1,3 +1,5 @@
1+// SPDX-License-Identifier: GPL-2.0
2+
13 / {
24 #address-cells = <1>;
35 #size-cells = <1>;
@@ -36,7 +38,113 @@ · 32 unmodified lines
3638
3739 sysc: system-controller@0 {
3840 compatible = "ralink,mt7620a-sysc", "syscon";
39− reg = <0x0 0x100>;
41+ reg = <0x0 0x60>;
42+ };
43+
44+ pinmux: pinmux@60 {
45+ compatible = "pinctrl-single";
46+ reg = <0x60 0x8>;
47+ #address-cells = <1>;
48+ #size-cells = <0>;
49+ #pinctrl-cells = <2>;
50+ pinctrl-single,bit-per-mux;
51+ pinctrl-single,register-width = <32>;
52+ pinctrl-single,function-mask = <0x1>;
53+
54+ pinmux_gpio_gpio: pinmux_gpio_gpio {
55+ pinctrl-single,bits = <0x0 0x0 0x3>;
56+ };
57+
58+ pinmux_spi_cs1_cs: pinmux_spi_cs1_cs {
59+ pinctrl-single,bits = <0x0 0x0 0x30>;
60+ };
61+
62+ pinmux_i2s_gpio: pinmux_i2s_gpio {
63+ pinctrl-single,bits = <0x0 0x40 0xc0>;
64+ };
65+
66+ pinmux_uart0_uart: pinmux_uart0_uart0 {
67+ pinctrl-single,bits = <0x0 0x0 0x300>;
68+ };
69+
70+ pinmux_sdmode_sdxc: pinmux_sdmode_sdxc {
71+ pinctrl-single,bits = <0x0 0x0 0xc00>;
72+ };
73+
74+ pinmux_sdmode_gpio: pinmux_sdmode_gpio {
75+ pinctrl-single,bits = <0x0 0x400 0xc00>;
76+ };
77+
78+ pinmux_spi_spi: pinmux_spi_spi {
79+ pinctrl-single,bits = <0x0 0x0 0x1000>;
80+ };
81+
82+ pinmux_refclk_gpio: pinmux_refclk_gpio {
83+ pinctrl-single,bits = <0x0 0x40000 0x40000>;
84+ };
85+
86+ pinmux_i2c_i2c: pinmux_i2c_i2c {
87+ pinctrl-single,bits = <0x0 0x0 0x300000>;
88+ };
89+
90+ pinmux_uart1_uart: pinmux_uart1_uart1 {
91+ pinctrl-single,bits = <0x0 0x0 0x3000000>;
92+ };
93+
94+ pinmux_uart2_uart: pinmux_uart2_uart {
95+ pinctrl-single,bits = <0x0 0x0 0xc000000>;
96+ };
97+
98+ pinmux_pwm0_pwm: pinmux_pwm0_pwm {
99+ pinctrl-single,bits = <0x0 0x0 0x30000000>;
100+ };
101+
102+ pinmux_pwm0_gpio: pinmux_pwm0_gpio {
103+ pinctrl-single,bits = <0x0 0x10000000
104+ 0x30000000>;
105+ };
106+
107+ pinmux_pwm1_pwm: pinmux_pwm1_pwm {
108+ pinctrl-single,bits = <0x0 0x0 0xc0000000>;
109+ };
110+
111+ pinmux_pwm1_gpio: pinmux_pwm1_gpio {
112+ pinctrl-single,bits = <0x0 0x40000000
113+ 0xc0000000>;
114+ };
115+
116+ pinmux_p0led_an_gpio: pinmux_p0led_an_gpio {
117+ pinctrl-single,bits = <0x4 0x4 0xc>;
118+ };
119+
120+ pinmux_p1led_an_gpio: pinmux_p1led_an_gpio {
121+ pinctrl-single,bits = <0x4 0x10 0x30>;
122+ };
123+
124+ pinmux_p2led_an_gpio: pinmux_p2led_an_gpio {
125+ pinctrl-single,bits = <0x4 0x40 0xc0>;
126+ };
127+
128+ pinmux_p3led_an_gpio: pinmux_p3led_an_gpio {
129+ pinctrl-single,bits = <0x4 0x100 0x300>;
130+ };
131+
132+ pinmux_p4led_an_gpio: pinmux_p4led_an_gpio {
133+ pinctrl-single,bits = <0x4 0x400 0xc00>;
134+ };
135+ };
136+
137+ watchdog: watchdog@100 {
138+ compatible = "mediatek,mt7621-wdt";
139+ reg = <0x100 0x30>;
140+
141+ resets = <&resetc 8>;
142+ reset-names = "wdt";
143+
144+ interrupt-parent = <&intc>;
145+ interrupts = <24>;
146+
147+ status = "disabled";
40148 };
41149
42150 intc: interrupt-controller@200 {
@@ -62,10 +170,42 @@ · 19 unmodified lines
62170 reg = <0x300 0x100>;
63171 };
64172
173+ gpio: gpio@600 {
174+ compatible = "mediatek,mt7621-gpio";
175+ reg = <0x600 0x100>;
176+
177+ gpio-controller;
178+ interrupt-controller;
179+ #gpio-cells = <2>;
180+ #interrupt-cells = <2>;
181+
182+ interrupt-parent = <&intc>;
183+ interrupts = <6>;
184+ };
185+
186+ spi: spi@b00 {
187+ compatible = "ralink,mt7621-spi";
188+ reg = <0xb00 0x100>;
189+
190+ pinctrl-names = "default";
191+ pinctrl-0 = <&pinmux_spi_spi>;
192+
193+ resets = <&resetc 18>;
194+ reset-names = "spi";
195+
196+ #address-cells = <1>;
197+ #size-cells = <0>;
198+
199+ status = "disabled";
200+ };
201+
65202 uart0: uartlite@c00 {
66203 compatible = "ns16550a";
67204 reg = <0xc00 0x100>;
68205
206+ pinctrl-names = "default";
207+ pinctrl-0 = <&pinmux_uart0_uart>;
208+
69209 resets = <&resetc 12>;
70210 reset-names = "uart0";
71211
@@ -79,6 +219,9 @@ · 7 unmodified lines
79219 compatible = "ns16550a";
80220 reg = <0xd00 0x100>;
81221
222+ pinctrl-names = "default";
223+ pinctrl-0 = <&pinmux_uart1_uart>;
224+
82225 resets = <&resetc 19>;
83226 reset-names = "uart1";
84227
@@ -92,6 +235,9 @@ · 7 unmodified lines
92235 compatible = "ns16550a";
93236 reg = <0xe00 0x100>;
94237
238+ pinctrl-names = "default";
239+ pinctrl-0 = <&pinmux_uart2_uart>;
240+
95241 resets = <&resetc 20>;
96242 reset-names = "uart2";
97243
arch/mips/cavium-octeon/executive/cvmx-pko.c+1−1
@@ -485,11 +485,11 @@ cvmx_pko_status_t cvmx_pko_config_port(uint64_t port, uint64_t base_queue, · 484 unmodified lines
485485 config.s.qos_mask = 0xff;
486486 break;
487487 case CVMX_PKO_QUEUE_STATIC_PRIORITY:
488− /* Pass 1 will fall through to the error case */
489488 if (!cvmx_octeon_is_pass1()) {
490489 config.s.qos_mask = 0xff;
491490 break;
492491 }
492+ /* fall through - to the error case, when Pass 1 */
493493 default:
494494 cvmx_dprintf("ERROR: cvmx_pko_config_port: Invalid "
495495 "priority %llu\n",
arch/mips/configs/ar7_defconfig+0−1
@@ -71,7 +71,6 @@ CONFIG_NET_ACT_POLICE=y · 70 unmodified lines
7171 CONFIG_HAMRADIO=y
7272 CONFIG_CFG80211=m
7373 CONFIG_MAC80211=m
74−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
7574 CONFIG_MTD=y
7675 CONFIG_MTD_BLOCK=y
7776 CONFIG_MTD_CFI=y
arch/mips/configs/ath25_defconfig+0−1
@@ -37,7 +37,6 @@ CONFIG_IP_ADVANCED_ROUTER=y · 36 unmodified lines
3737 CONFIG_CFG80211=m
3838 CONFIG_MAC80211=m
3939 CONFIG_MAC80211_DEBUGFS=y
40−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4140 CONFIG_MTD=y
4241 CONFIG_MTD_REDBOOT_PARTS=y
4342 CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-2
arch/mips/configs/ath79_defconfig+0−1
@@ -37,7 +37,6 @@ CONFIG_IP_ADVANCED_ROUTER=y · 36 unmodified lines
3737 CONFIG_CFG80211=m
3838 CONFIG_MAC80211=m
3939 CONFIG_MAC80211_DEBUGFS=y
40−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4140 CONFIG_MTD=y
4241 CONFIG_MTD_REDBOOT_PARTS=y
4342 CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-2
arch/mips/configs/bcm63xx_defconfig+0−1
@@ -34,7 +34,6 @@ CONFIG_INET=y · 33 unmodified lines
3434 CONFIG_CFG80211=y
3535 CONFIG_NL80211_TESTMODE=y
3636 CONFIG_MAC80211=y
37−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3837 # CONFIG_STANDALONE is not set
3938 # CONFIG_PREVENT_FIRMWARE_BUILD is not set
4039 CONFIG_MTD=y
arch/mips/configs/bigsur_defconfig+0−1
@@ -99,7 +99,6 @@ CONFIG_BPQETHER=m · 98 unmodified lines
9999 CONFIG_BAYCOM_SER_FDX=m
100100 CONFIG_BAYCOM_SER_HDX=m
101101 CONFIG_YAM=m
102−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
103102 CONFIG_FW_LOADER=m
104103 CONFIG_BLK_DEV_LOOP=m
105104 CONFIG_BLK_DEV_CRYPTOLOOP=m
arch/mips/configs/bmips_be_defconfig+0−1
@@ -26,7 +26,6 @@ CONFIG_INET=y · 25 unmodified lines
2626 CONFIG_CFG80211=y
2727 CONFIG_NL80211_TESTMODE=y
2828 CONFIG_MAC80211=y
29−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3029 CONFIG_DEVTMPFS=y
3130 CONFIG_DEVTMPFS_MOUNT=y
3231 # CONFIG_STANDALONE is not set
arch/mips/configs/bmips_stb_defconfig+0−1
@@ -35,7 +35,6 @@ CONFIG_INET=y · 34 unmodified lines
3535 CONFIG_CFG80211=y
3636 CONFIG_NL80211_TESTMODE=y
3737 CONFIG_MAC80211=y
38−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3938 CONFIG_DEVTMPFS=y
4039 CONFIG_DEVTMPFS_MOUNT=y
4140 # CONFIG_STANDALONE is not set
arch/mips/configs/cavium_octeon_defconfig+0−1
@@ -42,7 +42,6 @@ CONFIG_IP_MROUTE=y · 41 unmodified lines
4242 CONFIG_IP_PIMSM_V1=y
4343 CONFIG_IP_PIMSM_V2=y
4444 CONFIG_SYN_COOKIES=y
45−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4645 CONFIG_DEVTMPFS=y
4746 # CONFIG_FW_LOADER is not set
4847 CONFIG_MTD=y
arch/mips/configs/ci20_defconfig+0−1
@@ -44,7 +44,6 @@ CONFIG_IP_PNP_DHCP=y · 43 unmodified lines
4444 # CONFIG_INET_DIAG is not set
4545 # CONFIG_IPV6 is not set
4646 # CONFIG_WIRELESS is not set
47−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4847 CONFIG_DEVTMPFS=y
4948 # CONFIG_FW_LOADER is not set
5049 # CONFIG_ALLOW_DEV_COREDUMP is not set
arch/mips/configs/cobalt_defconfig+0−1
@@ -14,7 +14,6 @@ CONFIG_NET_KEY=y · 13 unmodified lines
1414 CONFIG_NET_KEY_MIGRATE=y
1515 CONFIG_INET=y
1616 # CONFIG_IPV6 is not set
17−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
1817 CONFIG_MTD=y
1918 CONFIG_MTD_JEDECPROBE=y
2019 CONFIG_MTD_CFI_AMDSTD=y
arch/mips/configs/fuloong2e_defconfig+0−1
@@ -83,7 +83,6 @@ CONFIG_IP_NF_ARPFILTER=m · 82 unmodified lines
8383 CONFIG_IP_NF_ARP_MANGLE=m
8484 CONFIG_PHONET=m
8585 CONFIG_NET_9P=m
86−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
8786 CONFIG_FW_LOADER=m
8887 CONFIG_MTD=m
8988 CONFIG_MTD_BLOCK=m
arch/mips/configs/gpr_defconfig+0−1
@@ -249,7 +249,6 @@ CONFIG_WATCHDOG_NOWAYOUT=y · 248 unmodified lines
249249 CONFIG_SSB=m
250250 CONFIG_SSB_DRIVER_PCICORE=y
251251 # CONFIG_VGA_ARB is not set
252−CONFIG_BACKLIGHT_LCD_SUPPORT=y
253252 # CONFIG_LCD_CLASS_DEVICE is not set
254253 CONFIG_BACKLIGHT_CLASS_DEVICE=y
255254 # CONFIG_BACKLIGHT_GENERIC is not set
arch/mips/configs/ip27_defconfig+0−1
@@ -91,7 +91,6 @@ CONFIG_NET_ACT_SKBEDIT=m · 90 unmodified lines
9191 CONFIG_CFG80211=m
9292 CONFIG_MAC80211=m
9393 CONFIG_RFKILL=m
94−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
9594 CONFIG_BLK_DEV_LOOP=y
9695 CONFIG_BLK_DEV_CRYPTOLOOP=m
9796 CONFIG_CDROM_PKTCDVD=m
arch/mips/configs/ip32_defconfig+0−1
@@ -42,7 +42,6 @@ CONFIG_INET6_ESP=m · 41 unmodified lines
4242 CONFIG_INET6_IPCOMP=m
4343 CONFIG_IPV6_TUNNEL=m
4444 CONFIG_NETWORK_SECMARK=y
45−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4645 CONFIG_CONNECTOR=y
4746 CONFIG_BLK_DEV_LOOP=m
4847 CONFIG_BLK_DEV_CRYPTOLOOP=m
arch/mips/configs/lemote2f_defconfig+0−2
@@ -77,7 +77,6 @@ CONFIG_MAC80211=m · 76 unmodified lines
7777 CONFIG_MAC80211_LEDS=y
7878 CONFIG_RFKILL=m
7979 CONFIG_RFKILL_INPUT=y
80−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
8180 CONFIG_BLK_DEV_LOOP=y
8281 CONFIG_BLK_DEV_CRYPTOLOOP=m
8382 CONFIG_BLK_DEV_RAM=y
@@ -144,7 +143,6 @@ CONFIG_FB_TILEBLITTING=y · 60 unmodified lines
144143 CONFIG_FB_SIS=y
145144 CONFIG_FB_SIS_300=y
146145 CONFIG_FB_SIS_315=y
147−CONFIG_BACKLIGHT_LCD_SUPPORT=y
148146 # CONFIG_LCD_CLASS_DEVICE is not set
149147 CONFIG_BACKLIGHT_CLASS_DEVICE=y
150148 CONFIG_BACKLIGHT_GENERIC=m
arch/mips/configs/loongson1b_defconfig+0−1
@@ -34,7 +34,6 @@ CONFIG_SYN_COOKIES=y · 33 unmodified lines
3434 # CONFIG_INET_DIAG is not set
3535 # CONFIG_IPV6 is not set
3636 # CONFIG_WIRELESS is not set
37−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3837 CONFIG_DEVTMPFS=y
3938 CONFIG_DEVTMPFS_MOUNT=y
4039 # CONFIG_STANDALONE is not set
arch/mips/configs/loongson1c_defconfig+0−1
@@ -35,7 +35,6 @@ CONFIG_SYN_COOKIES=y · 34 unmodified lines
3535 # CONFIG_INET_DIAG is not set
3636 # CONFIG_IPV6 is not set
3737 # CONFIG_WIRELESS is not set
38−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3938 CONFIG_DEVTMPFS=y
4039 CONFIG_DEVTMPFS_MOUNT=y
4140 # CONFIG_STANDALONE is not set
arch/mips/configs/loongson3_defconfig+0−1
@@ -97,7 +97,6 @@ CONFIG_CFG80211_WEXT=y · 96 unmodified lines
9797 CONFIG_MAC80211=m
9898 CONFIG_RFKILL=m
9999 CONFIG_RFKILL_INPUT=y
100−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
101100 CONFIG_DEVTMPFS=y
102101 CONFIG_DEVTMPFS_MOUNT=y
103102 CONFIG_MTD=m
arch/mips/configs/malta_defconfig+0−1
@@ -214,7 +214,6 @@ CONFIG_CFG80211=m · 213 unmodified lines
214214 CONFIG_MAC80211=m
215215 CONFIG_MAC80211_MESH=y
216216 CONFIG_RFKILL=m
217−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
218217 CONFIG_DEVTMPFS=y
219218 CONFIG_CONNECTOR=m
220219 CONFIG_MTD=y
arch/mips/configs/malta_kvm_defconfig+0−1
@@ -219,7 +219,6 @@ CONFIG_CFG80211=m · 218 unmodified lines
219219 CONFIG_MAC80211=m
220220 CONFIG_MAC80211_MESH=y
221221 CONFIG_RFKILL=m
222−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
223222 CONFIG_DEVTMPFS=y
224223 CONFIG_CONNECTOR=m
225224 CONFIG_MTD=y
arch/mips/configs/malta_kvm_guest_defconfig+0−1
@@ -216,7 +216,6 @@ CONFIG_CFG80211=m · 215 unmodified lines
216216 CONFIG_MAC80211=m
217217 CONFIG_MAC80211_MESH=y
218218 CONFIG_RFKILL=m
219−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
220219 CONFIG_DEVTMPFS=y
221220 CONFIG_CONNECTOR=m
222221 CONFIG_MTD=y
arch/mips/configs/maltaup_xpa_defconfig+0−1
@@ -216,7 +216,6 @@ CONFIG_CFG80211=m · 215 unmodified lines
216216 CONFIG_MAC80211=m
217217 CONFIG_MAC80211_MESH=y
218218 CONFIG_RFKILL=m
219−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
220219 CONFIG_DEVTMPFS=y
221220 CONFIG_DEVTMPFS_MOUNT=y
222221 CONFIG_CONNECTOR=m
arch/mips/configs/mips_paravirt_defconfig+0−1
@@ -39,7 +39,6 @@ CONFIG_IP_PIMSM_V1=y · 38 unmodified lines
3939 CONFIG_IP_PIMSM_V2=y
4040 CONFIG_SYN_COOKIES=y
4141 # CONFIG_WIRELESS is not set
42−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4342 # CONFIG_FW_LOADER is not set
4443 CONFIG_BLK_DEV_LOOP=y
4544 CONFIG_VIRTIO_BLK=y
arch/mips/configs/omega2p_defconfig+0−1
@@ -42,7 +42,6 @@ CONFIG_INET=y · 41 unmodified lines
4242 # CONFIG_INET_DIAG is not set
4343 # CONFIG_IPV6 is not set
4444 # CONFIG_WIRELESS is not set
45−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4645 CONFIG_DEVTMPFS=y
4746 # CONFIG_FW_LOADER is not set
4847 # CONFIG_ALLOW_DEV_COREDUMP is not set
arch/mips/configs/pistachio_defconfig+0−1
@@ -214,7 +214,6 @@ CONFIG_IR_IMG_RC6=y · 213 unmodified lines
214214 CONFIG_MEDIA_SUPPORT=y
215215 CONFIG_FB=y
216216 CONFIG_FB_MODE_HELPERS=y
217−CONFIG_BACKLIGHT_LCD_SUPPORT=y
218217 # CONFIG_LCD_CLASS_DEVICE is not set
219218 CONFIG_BACKLIGHT_CLASS_DEVICE=y
220219 CONFIG_SOUND=y
arch/mips/configs/pnx8335_stb225_defconfig+0−1
@@ -25,7 +25,6 @@ CONFIG_IP_PNP=y · 24 unmodified lines
2525 CONFIG_IP_PNP_DHCP=y
2626 CONFIG_INET_AH=y
2727 # CONFIG_IPV6 is not set
28−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
2928 CONFIG_MTD=y
3029 CONFIG_MTD_CMDLINE_PARTS=y
3130 CONFIG_MTD_BLOCK=y
arch/mips/configs/qi_lb60_defconfig+0−2
@@ -41,7 +41,6 @@ CONFIG_TCP_CONG_ADVANCED=y · 40 unmodified lines
4141 CONFIG_TCP_CONG_WESTWOOD=y
4242 # CONFIG_TCP_CONG_HTCP is not set
4343 # CONFIG_IPV6 is not set
44−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4544 CONFIG_MTD=y
4645 CONFIG_MTD_BLOCK=y
4746 CONFIG_MTD_RAW_NAND=y
@@ -77,7 +76,6 @@ CONFIG_REGULATOR=y · 29 unmodified lines
7776 CONFIG_REGULATOR_FIXED_VOLTAGE=y
7877 CONFIG_FB=y
7978 CONFIG_FB_JZ4740=y
80−CONFIG_BACKLIGHT_LCD_SUPPORT=y
8179 CONFIG_LCD_CLASS_DEVICE=y
8280 # CONFIG_BACKLIGHT_CLASS_DEVICE is not set
8381 # CONFIG_VGA_CONSOLE is not set
arch/mips/configs/rb532_defconfig+0−1
@@ -104,7 +104,6 @@ CONFIG_NET_ACT_MIRRED=m · 103 unmodified lines
104104 CONFIG_NET_ACT_IPT=m
105105 CONFIG_NET_ACT_PEDIT=m
106106 CONFIG_HAMRADIO=y
107−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
108107 CONFIG_MTD=y
109108 CONFIG_MTD_BLOCK=y
110109 CONFIG_MTD_BLOCK2MTD=y
arch/mips/configs/rt305x_defconfig+0−1
@@ -69,7 +69,6 @@ CONFIG_BRIDGE=y · 68 unmodified lines
6969 CONFIG_VLAN_8021Q=y
7070 CONFIG_NET_SCHED=y
7171 CONFIG_HAMRADIO=y
72−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
7372 CONFIG_MTD=y
7473 CONFIG_MTD_CMDLINE_PARTS=y
7574 CONFIG_MTD_BLOCK=y
arch/mips/configs/sb1250_swarm_defconfig+0−1
@@ -43,7 +43,6 @@ CONFIG_NETWORK_SECMARK=y · 42 unmodified lines
4343 CONFIG_CFG80211=m
4444 CONFIG_MAC80211=m
4545 CONFIG_RFKILL=m
46−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4746 CONFIG_FW_LOADER=m
4847 CONFIG_CONNECTOR=m
4948 CONFIG_BLK_DEV_RAM=y
arch/mips/configs/tb0219_defconfig+0−1
@@ -28,7 +28,6 @@ CONFIG_SYN_COOKIES=y · 27 unmodified lines
2828 # CONFIG_INET_XFRM_MODE_BEET is not set
2929 # CONFIG_IPV6 is not set
3030 CONFIG_NETWORK_SECMARK=y
31−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3231 CONFIG_BLK_DEV_LOOP=m
3332 CONFIG_BLK_DEV_NBD=m
3433 CONFIG_BLK_DEV_RAM=y
arch/mips/configs/tb0226_defconfig+0−1
@@ -26,7 +26,6 @@ CONFIG_SYN_COOKIES=y · 25 unmodified lines
2626 # CONFIG_INET_XFRM_MODE_BEET is not set
2727 # CONFIG_IPV6 is not set
2828 CONFIG_NETWORK_SECMARK=y
29−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3029 CONFIG_BLK_DEV_LOOP=m
3130 CONFIG_BLK_DEV_NBD=m
3231 CONFIG_BLK_DEV_RAM=y
arch/mips/configs/tb0287_defconfig+0−1
@@ -30,7 +30,6 @@ CONFIG_TCP_CONG_BIC=y · 29 unmodified lines
3030 CONFIG_TCP_CONG_CUBIC=m
3131 # CONFIG_IPV6 is not set
3232 CONFIG_NETWORK_SECMARK=y
33−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3433 CONFIG_BLK_DEV_LOOP=m
3534 CONFIG_BLK_DEV_NBD=m
3635 CONFIG_BLK_DEV_RAM=y
arch/mips/configs/vocore2_defconfig+0−1
@@ -42,7 +42,6 @@ CONFIG_INET=y · 41 unmodified lines
4242 # CONFIG_INET_DIAG is not set
4343 # CONFIG_IPV6 is not set
4444 # CONFIG_WIRELESS is not set
45−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
4645 CONFIG_DEVTMPFS=y
4746 # CONFIG_FW_LOADER is not set
4847 # CONFIG_ALLOW_DEV_COREDUMP is not set
arch/mips/configs/xway_defconfig+0−1
@@ -71,7 +71,6 @@ CONFIG_BRIDGE=y · 70 unmodified lines
7171 CONFIG_VLAN_8021Q=y
7272 CONFIG_NET_SCHED=y
7373 CONFIG_HAMRADIO=y
74−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
7574 CONFIG_MTD=y
7675 CONFIG_MTD_CMDLINE_PARTS=y
7776 CONFIG_MTD_BLOCK=y
arch/mips/include/asm/cpu.h+60−65
@@ -9,6 +9,8 @@ · 8 unmodified lines
99 #ifndef _ASM_CPU_H
1010 #define _ASM_CPU_H
1111
12+#include <linux/bits.h>
13+
1214 /*
1315 As of the MIPS32 and MIPS64 specs from MTI, the PRId register (CP0
1416 register 15, select 0) is defined in this (backwards compatible) way:
@@ -352,77 +354,70 @@ enum cpu_type_enum { · 337 unmodified lines
352354 MIPS_CPU_ISA_V | MIPS_CPU_ISA_M64R1 | MIPS_CPU_ISA_M64R2 | \
353355 MIPS_CPU_ISA_M64R6)
354356
355−/*
356− * Private version of BIT_ULL() to escape include file recursion hell.
357− * We soon will have to switch to another mechanism that will work with
358− * more than 64 bits anyway.
359− */
360−#define MBIT_ULL(bit) (1ULL << (bit))
361−
362357 /*
363358 * CPU Option encodings
364359 */
365−#define MIPS_CPU_TLB MBIT_ULL( 0) /* CPU has TLB */
366−#define MIPS_CPU_4KEX MBIT_ULL( 1) /* "R4K" exception model */
367−#define MIPS_CPU_3K_CACHE MBIT_ULL( 2) /* R3000-style caches */
368−#define MIPS_CPU_4K_CACHE MBIT_ULL( 3) /* R4000-style caches */
369−#define MIPS_CPU_TX39_CACHE MBIT_ULL( 4) /* TX3900-style caches */
370−#define MIPS_CPU_FPU MBIT_ULL( 5) /* CPU has FPU */
371−#define MIPS_CPU_32FPR MBIT_ULL( 6) /* 32 dbl. prec. FP registers */
372−#define MIPS_CPU_COUNTER MBIT_ULL( 7) /* Cycle count/compare */
373−#define MIPS_CPU_WATCH MBIT_ULL( 8) /* watchpoint registers */
374−#define MIPS_CPU_DIVEC MBIT_ULL( 9) /* dedicated interrupt vector */
375−#define MIPS_CPU_VCE MBIT_ULL(10) /* virt. coherence conflict possible */
376−#define MIPS_CPU_CACHE_CDEX_P MBIT_ULL(11) /* Create_Dirty_Exclusive CACHE op */
377−#define MIPS_CPU_CACHE_CDEX_S MBIT_ULL(12) /* ... same for seconary cache ... */
378−#define MIPS_CPU_MCHECK MBIT_ULL(13) /* Machine check exception */
379−#define MIPS_CPU_EJTAG MBIT_ULL(14) /* EJTAG exception */
380−#define MIPS_CPU_NOFPUEX MBIT_ULL(15) /* no FPU exception */
381−#define MIPS_CPU_LLSC MBIT_ULL(16) /* CPU has ll/sc instructions */
382−#define MIPS_CPU_INCLUSIVE_CACHES MBIT_ULL(17) /* P-cache subset enforced */
383−#define MIPS_CPU_PREFETCH MBIT_ULL(18) /* CPU has usable prefetch */
384−#define MIPS_CPU_VINT MBIT_ULL(19) /* CPU supports MIPSR2 vectored interrupts */
385−#define MIPS_CPU_VEIC MBIT_ULL(20) /* CPU supports MIPSR2 external interrupt controller mode */
386−#define MIPS_CPU_ULRI MBIT_ULL(21) /* CPU has ULRI feature */
387−#define MIPS_CPU_PCI MBIT_ULL(22) /* CPU has Perf Ctr Int indicator */
388−#define MIPS_CPU_RIXI MBIT_ULL(23) /* CPU has TLB Read/eXec Inhibit */
389−#define MIPS_CPU_MICROMIPS MBIT_ULL(24) /* CPU has microMIPS capability */
390−#define MIPS_CPU_TLBINV MBIT_ULL(25) /* CPU supports TLBINV/F */
391−#define MIPS_CPU_SEGMENTS MBIT_ULL(26) /* CPU supports Segmentation Control registers */
392−#define MIPS_CPU_EVA MBIT_ULL(27) /* CPU supports Enhanced Virtual Addressing */
393−#define MIPS_CPU_HTW MBIT_ULL(28) /* CPU support Hardware Page Table Walker */
394−#define MIPS_CPU_RIXIEX MBIT_ULL(29) /* CPU has unique exception codes for {Read, Execute}-Inhibit exceptions */
395−#define MIPS_CPU_MAAR MBIT_ULL(30) /* MAAR(I) registers are present */
396−#define MIPS_CPU_FRE MBIT_ULL(31) /* FRE & UFE bits implemented */
397−#define MIPS_CPU_RW_LLB MBIT_ULL(32) /* LLADDR/LLB writes are allowed */
398−#define MIPS_CPU_LPA MBIT_ULL(33) /* CPU supports Large Physical Addressing */
399−#define MIPS_CPU_CDMM MBIT_ULL(34) /* CPU has Common Device Memory Map */
400−#define MIPS_CPU_BP_GHIST MBIT_ULL(35) /* R12K+ Branch Prediction Global History */
401−#define MIPS_CPU_SP MBIT_ULL(36) /* Small (1KB) page support */
402−#define MIPS_CPU_FTLB MBIT_ULL(37) /* CPU has Fixed-page-size TLB */
403−#define MIPS_CPU_NAN_LEGACY MBIT_ULL(38) /* Legacy NaN implemented */
404−#define MIPS_CPU_NAN_2008 MBIT_ULL(39) /* 2008 NaN implemented */
405−#define MIPS_CPU_VP MBIT_ULL(40) /* MIPSr6 Virtual Processors (multi-threading) */
406−#define MIPS_CPU_LDPTE MBIT_ULL(41) /* CPU has ldpte/lddir instructions */
407−#define MIPS_CPU_MVH MBIT_ULL(42) /* CPU supports MFHC0/MTHC0 */
408−#define MIPS_CPU_EBASE_WG MBIT_ULL(43) /* CPU has EBase.WG */
409−#define MIPS_CPU_BADINSTR MBIT_ULL(44) /* CPU has BadInstr register */
410−#define MIPS_CPU_BADINSTRP MBIT_ULL(45) /* CPU has BadInstrP register */
411−#define MIPS_CPU_CTXTC MBIT_ULL(46) /* CPU has [X]ConfigContext registers */
412−#define MIPS_CPU_PERF MBIT_ULL(47) /* CPU has MIPS performance counters */
413−#define MIPS_CPU_GUESTCTL0EXT MBIT_ULL(48) /* CPU has VZ GuestCtl0Ext register */
414−#define MIPS_CPU_GUESTCTL1 MBIT_ULL(49) /* CPU has VZ GuestCtl1 register */
415−#define MIPS_CPU_GUESTCTL2 MBIT_ULL(50) /* CPU has VZ GuestCtl2 register */
416−#define MIPS_CPU_GUESTID MBIT_ULL(51) /* CPU uses VZ ASE GuestID feature */
417−#define MIPS_CPU_DRG MBIT_ULL(52) /* CPU has VZ Direct Root to Guest (DRG) */
418−#define MIPS_CPU_UFR MBIT_ULL(53) /* CPU supports User mode FR switching */
360+#define MIPS_CPU_TLB BIT_ULL( 0) /* CPU has TLB */
361+#define MIPS_CPU_4KEX BIT_ULL( 1) /* "R4K" exception model */
362+#define MIPS_CPU_3K_CACHE BIT_ULL( 2) /* R3000-style caches */
363+#define MIPS_CPU_4K_CACHE BIT_ULL( 3) /* R4000-style caches */
364+#define MIPS_CPU_TX39_CACHE BIT_ULL( 4) /* TX3900-style caches */
365+#define MIPS_CPU_FPU BIT_ULL( 5) /* CPU has FPU */
366+#define MIPS_CPU_32FPR BIT_ULL( 6) /* 32 dbl. prec. FP registers */
367+#define MIPS_CPU_COUNTER BIT_ULL( 7) /* Cycle count/compare */
368+#define MIPS_CPU_WATCH BIT_ULL( 8) /* watchpoint registers */
369+#define MIPS_CPU_DIVEC BIT_ULL( 9) /* dedicated interrupt vector */
370+#define MIPS_CPU_VCE BIT_ULL(10) /* virt. coherence conflict possible */
371+#define MIPS_CPU_CACHE_CDEX_P BIT_ULL(11) /* Create_Dirty_Exclusive CACHE op */
372+#define MIPS_CPU_CACHE_CDEX_S BIT_ULL(12) /* ... same for seconary cache ... */
373+#define MIPS_CPU_MCHECK BIT_ULL(13) /* Machine check exception */
374+#define MIPS_CPU_EJTAG BIT_ULL(14) /* EJTAG exception */
375+#define MIPS_CPU_NOFPUEX BIT_ULL(15) /* no FPU exception */
376+#define MIPS_CPU_LLSC BIT_ULL(16) /* CPU has ll/sc instructions */
377+#define MIPS_CPU_INCLUSIVE_CACHES BIT_ULL(17) /* P-cache subset enforced */
378+#define MIPS_CPU_PREFETCH BIT_ULL(18) /* CPU has usable prefetch */
379+#define MIPS_CPU_VINT BIT_ULL(19) /* CPU supports MIPSR2 vectored interrupts */
380+#define MIPS_CPU_VEIC BIT_ULL(20) /* CPU supports MIPSR2 external interrupt controller mode */
381+#define MIPS_CPU_ULRI BIT_ULL(21) /* CPU has ULRI feature */
382+#define MIPS_CPU_PCI BIT_ULL(22) /* CPU has Perf Ctr Int indicator */
383+#define MIPS_CPU_RIXI BIT_ULL(23) /* CPU has TLB Read/eXec Inhibit */
384+#define MIPS_CPU_MICROMIPS BIT_ULL(24) /* CPU has microMIPS capability */
385+#define MIPS_CPU_TLBINV BIT_ULL(25) /* CPU supports TLBINV/F */
386+#define MIPS_CPU_SEGMENTS BIT_ULL(26) /* CPU supports Segmentation Control registers */
387+#define MIPS_CPU_EVA BIT_ULL(27) /* CPU supports Enhanced Virtual Addressing */
388+#define MIPS_CPU_HTW BIT_ULL(28) /* CPU support Hardware Page Table Walker */
389+#define MIPS_CPU_RIXIEX BIT_ULL(29) /* CPU has unique exception codes for {Read, Execute}-Inhibit exceptions */
390+#define MIPS_CPU_MAAR BIT_ULL(30) /* MAAR(I) registers are present */
391+#define MIPS_CPU_FRE BIT_ULL(31) /* FRE & UFE bits implemented */
392+#define MIPS_CPU_RW_LLB BIT_ULL(32) /* LLADDR/LLB writes are allowed */
393+#define MIPS_CPU_LPA BIT_ULL(33) /* CPU supports Large Physical Addressing */
394+#define MIPS_CPU_CDMM BIT_ULL(34) /* CPU has Common Device Memory Map */
395+#define MIPS_CPU_BP_GHIST BIT_ULL(35) /* R12K+ Branch Prediction Global History */
396+#define MIPS_CPU_SP BIT_ULL(36) /* Small (1KB) page support */
397+#define MIPS_CPU_FTLB BIT_ULL(37) /* CPU has Fixed-page-size TLB */
398+#define MIPS_CPU_NAN_LEGACY BIT_ULL(38) /* Legacy NaN implemented */
399+#define MIPS_CPU_NAN_2008 BIT_ULL(39) /* 2008 NaN implemented */
400+#define MIPS_CPU_VP BIT_ULL(40) /* MIPSr6 Virtual Processors (multi-threading) */
401+#define MIPS_CPU_LDPTE BIT_ULL(41) /* CPU has ldpte/lddir instructions */
402+#define MIPS_CPU_MVH BIT_ULL(42) /* CPU supports MFHC0/MTHC0 */
403+#define MIPS_CPU_EBASE_WG BIT_ULL(43) /* CPU has EBase.WG */
404+#define MIPS_CPU_BADINSTR BIT_ULL(44) /* CPU has BadInstr register */
405+#define MIPS_CPU_BADINSTRP BIT_ULL(45) /* CPU has BadInstrP register */
406+#define MIPS_CPU_CTXTC BIT_ULL(46) /* CPU has [X]ConfigContext registers */
407+#define MIPS_CPU_PERF BIT_ULL(47) /* CPU has MIPS performance counters */
408+#define MIPS_CPU_GUESTCTL0EXT BIT_ULL(48) /* CPU has VZ GuestCtl0Ext register */
409+#define MIPS_CPU_GUESTCTL1 BIT_ULL(49) /* CPU has VZ GuestCtl1 register */
410+#define MIPS_CPU_GUESTCTL2 BIT_ULL(50) /* CPU has VZ GuestCtl2 register */
411+#define MIPS_CPU_GUESTID BIT_ULL(51) /* CPU uses VZ ASE GuestID feature */
412+#define MIPS_CPU_DRG BIT_ULL(52) /* CPU has VZ Direct Root to Guest (DRG) */
413+#define MIPS_CPU_UFR BIT_ULL(53) /* CPU supports User mode FR switching */
419414 #define MIPS_CPU_SHARED_FTLB_RAM \
420− MBIT_ULL(54) /* CPU shares FTLB RAM with another */
415+ BIT_ULL(54) /* CPU shares FTLB RAM with another */
421416 #define MIPS_CPU_SHARED_FTLB_ENTRIES \
422− MBIT_ULL(55) /* CPU shares FTLB entries with another */
417+ BIT_ULL(55) /* CPU shares FTLB entries with another */
423418 #define MIPS_CPU_MT_PER_TC_PERF_COUNTERS \
424− MBIT_ULL(56) /* CPU has perf counters implemented per TC (MIPSMT ASE) */
425−#define MIPS_CPU_MMID MBIT_ULL(57) /* CPU supports MemoryMapIDs */
419+ BIT_ULL(56) /* CPU has perf counters implemented per TC (MIPSMT ASE) */
420+#define MIPS_CPU_MMID BIT_ULL(57) /* CPU supports MemoryMapIDs */
426421
427422 /*
428423 * CPU ASE encodings
arch/mips/include/asm/io.h+11−0
@@ -460,7 +460,12 @@ __BUILD_MEMORY_PFX(, bwlq, type, 0) · 459 unmodified lines
460460 BUILDIO_MEM(b, u8)
461461 BUILDIO_MEM(w, u16)
462462 BUILDIO_MEM(l, u32)
463+#ifdef CONFIG_64BIT
463464 BUILDIO_MEM(q, u64)
465+#else
466+__BUILD_MEMORY_PFX(__raw_, q, u64, 0)
467+__BUILD_MEMORY_PFX(__mem_, q, u64, 0)
468+#endif
464469
465470 #define __BUILD_IOPORT_PFX(bus, bwlq, type) \
466471 __BUILD_IOPORT_SINGLE(bus, bwlq, type, 1, 0,) \
@@ -486,12 +491,16 @@ __BUILDIO(q, u64) · 19 unmodified lines
486491 #define readb_relaxed __relaxed_readb
487492 #define readw_relaxed __relaxed_readw
488493 #define readl_relaxed __relaxed_readl
494+#ifdef CONFIG_64BIT
489495 #define readq_relaxed __relaxed_readq
496+#endif
490497
491498 #define writeb_relaxed __relaxed_writeb
492499 #define writew_relaxed __relaxed_writew
493500 #define writel_relaxed __relaxed_writel
501+#ifdef CONFIG_64BIT
494502 #define writeq_relaxed __relaxed_writeq
503+#endif
495504
496505 #define readb_be(addr) \
497506 __raw_readb((__force unsigned *)(addr))
@@ -514,8 +523,10 @@ __BUILDIO(q, u64) · 16 unmodified lines
514523 /*
515524 * Some code tests for these symbols
516525 */
526+#ifdef CONFIG_64BIT
517527 #define readq readq
518528 #define writeq writeq
529+#endif
519530
520531 #define __BUILD_MEMORY_STRING(bwlq, type) \
521532 \
arch/mips/include/asm/mach-ralink/pinmux.h+0−1
@@ -1,6 +1,5 @@
11 /* SPDX-License-Identifier: GPL-2.0-only */
22 /*
3− *
43 * Copyright (C) 2012 John Crispin <john@phrozen.org>
54 */
65
arch/mips/jz4740/board-qi_lb60.c+8−8
@@ -466,27 +466,27 @@ static unsigned long pin_cfg_bias_disable[] = { · 465 unmodified lines
466466 static struct pinctrl_map pin_map[] __initdata = {
467467 /* NAND pin configuration */
468468 PIN_MAP_MUX_GROUP_DEFAULT("jz4740-nand",
469− "10010000.jz4740-pinctrl", "nand", "nand-cs1"),
469+ "10010000.pin-controller", "nand-cs1", "nand"),
470470
471471 /* fbdev pin configuration */
472472 PIN_MAP_MUX_GROUP("jz4740-fb", PINCTRL_STATE_DEFAULT,
473− "10010000.jz4740-pinctrl", "lcd", "lcd-8bit"),
473+ "10010000.pin-controller", "lcd-8bit", "lcd"),
474474 PIN_MAP_MUX_GROUP("jz4740-fb", PINCTRL_STATE_SLEEP,
475− "10010000.jz4740-pinctrl", "lcd", "lcd-no-pins"),
475+ "10010000.pin-controller", "lcd-no-pins", "lcd"),
476476
477477 /* MMC pin configuration */
478478 PIN_MAP_MUX_GROUP_DEFAULT("jz4740-mmc.0",
479− "10010000.jz4740-pinctrl", "mmc", "mmc-1bit"),
479+ "10010000.pin-controller", "mmc-1bit", "mmc"),
480480 PIN_MAP_MUX_GROUP_DEFAULT("jz4740-mmc.0",
481− "10010000.jz4740-pinctrl", "mmc", "mmc-4bit"),
481+ "10010000.pin-controller", "mmc-4bit", "mmc"),
482482 PIN_MAP_CONFIGS_PIN_DEFAULT("jz4740-mmc.0",
483− "10010000.jz4740-pinctrl", "PD0", pin_cfg_bias_disable),
483+ "10010000.pin-controller", "PD0", pin_cfg_bias_disable),
484484 PIN_MAP_CONFIGS_PIN_DEFAULT("jz4740-mmc.0",
485− "10010000.jz4740-pinctrl", "PD2", pin_cfg_bias_disable),
485+ "10010000.pin-controller", "PD2", pin_cfg_bias_disable),
486486
487487 /* PWM pin configuration */
488488 PIN_MAP_MUX_GROUP_DEFAULT("jz4740-pwm",
489− "10010000.jz4740-pinctrl", "pwm4", "pwm4"),
489+ "10010000.pin-controller", "pwm4", "pwm4"),
490490 };
491491
492492
arch/mips/kernel/ftrace.c+12−11
@@ -333,20 +333,21 @@ void prepare_ftrace_return(unsigned long *parent_ra_addr, unsigned long self_ra, · 332 unmodified lines
333333 return;
334334
335335 /*
336− * "parent_ra_addr" is the stack address saved the return address of
337− * the caller of _mcount.
336+ * "parent_ra_addr" is the stack address where the return address of
337+ * the caller of _mcount is saved.
338338 *
339− * if the gcc < 4.5, a leaf function does not save the return address
340− * in the stack address, so, we "emulate" one in _mcount's stack space,
341− * and hijack it directly, but for a non-leaf function, it save the
342− * return address to the its own stack space, we can not hijack it
343− * directly, but need to find the real stack address,
344− * ftrace_get_parent_addr() does it!
339+ * If gcc < 4.5, a leaf function does not save the return address
340+ * in the stack address, so we "emulate" one in _mcount's stack space,
341+ * and hijack it directly.
342+ * For a non-leaf function, it does save the return address to its own
343+ * stack space, so we can not hijack it directly, but need to find the
344+ * real stack address, which is done by ftrace_get_parent_addr().
345345 *
346− * if gcc>= 4.5, with the new -mmcount-ra-address option, for a
346+ * If gcc >= 4.5, with the new -mmcount-ra-address option, for a
347347 * non-leaf function, the location of the return address will be saved
348− * to $12 for us, and for a leaf function, only put a zero into $12. we
349− * do it in ftrace_graph_caller of mcount.S.
348+ * to $12 for us.
349+ * For a leaf function, it just puts a zero into $12, so we handle
350+ * it in ftrace_graph_caller() of mcount.S.
350351 */
351352
352353 /* old_parent_ra = *parent_ra_addr; */
arch/mips/kernel/perf_event_mipsxx.c+15−15
@@ -790,15 +790,19 @@ static void reset_counters(void *arg) · 789 unmodified lines
790790 case 4:
791791 mipsxx_pmu_write_control(3, 0);
792792 mipspmu.write_counter(3, 0);
793+ /* fall through */
793794 case 3:
794795 mipsxx_pmu_write_control(2, 0);
795796 mipspmu.write_counter(2, 0);
797+ /* fall through */
796798 case 2:
797799 mipsxx_pmu_write_control(1, 0);
798800 mipspmu.write_counter(1, 0);
801+ /* fall through */
799802 case 1:
800803 mipsxx_pmu_write_control(0, 0);
801804 mipspmu.write_counter(0, 0);
805+ /* fall through */
802806 }
803807 }
804808
@@ -1380,7 +1384,7 @@ static int mipsxx_pmu_handle_shared_irq(void) · 575 unmodified lines
13801384 struct perf_sample_data data;
13811385 unsigned int counters = mipspmu.num_counters;
13821386 u64 counter;
1383− int handled = IRQ_NONE;
1387+ int n, handled = IRQ_NONE;
13841388 struct pt_regs *regs;
13851389
13861390 if (cpu_has_perf_cntr_intr_bit && !(read_c0_cause() & CAUSEF_PCI))
@@ -1401,20 +1405,16 @@ static int mipsxx_pmu_handle_shared_irq(void) · 14 unmodified lines
14011405
14021406 perf_sample_data_init(&data, 0, 0);
14031407
1404− switch (counters) {
1405−#define HANDLE_COUNTER(n) \
1406− case n + 1: \
1407− if (test_bit(n, cpuc->used_mask)) { \
1408− counter = mipspmu.read_counter(n); \
1409− if (counter & mipspmu.overflow) { \
1410− handle_associated_event(cpuc, n, &data, regs); \
1411− handled = IRQ_HANDLED; \
1412− } \
1413− }
1414− HANDLE_COUNTER(3)
1415− HANDLE_COUNTER(2)
1416− HANDLE_COUNTER(1)
1417− HANDLE_COUNTER(0)
1408+ for (n = counters - 1; n >= 0; n--) {
1409+ if (!test_bit(n, cpuc->used_mask))
1410+ continue;
1411+
1412+ counter = mipspmu.read_counter(n);
1413+ if (!(counter & mipspmu.overflow))
1414+ continue;
1415+
1416+ handle_associated_event(cpuc, n, &data, regs);
1417+ handled = IRQ_HANDLED;
14181418 }
14191419
14201420 #ifdef CONFIG_MIPS_PERF_SHARED_TC_COUNTERS
arch/mips/lantiq/irq.c+126−51
@@ -20,13 +20,13 @@ · 19 unmodified lines
2020 #include <irq.h>
2121
2222 /* register definitions - internal irqs */
23−#define LTQ_ICU_IM0_ISR 0x0000
24−#define LTQ_ICU_IM0_IER 0x0008
25−#define LTQ_ICU_IM0_IOSR 0x0010
26−#define LTQ_ICU_IM0_IRSR 0x0018
27−#define LTQ_ICU_IM0_IMR 0x0020
28−#define LTQ_ICU_IM1_ISR 0x0028
29−#define LTQ_ICU_OFFSET (LTQ_ICU_IM1_ISR - LTQ_ICU_IM0_ISR)
23+#define LTQ_ICU_ISR 0x0000
24+#define LTQ_ICU_IER 0x0008
25+#define LTQ_ICU_IOSR 0x0010
26+#define LTQ_ICU_IRSR 0x0018
27+#define LTQ_ICU_IMR 0x0020
28+
29+#define LTQ_ICU_IM_SIZE 0x28
3030
3131 /* register definitions - external irqs */
3232 #define LTQ_EIU_EXIN_C 0x0000
@@ -46,24 +46,25 @@ · 13 unmodified lines
4646 */
4747 #define LTQ_ICU_EBU_IRQ 22
4848
49−#define ltq_icu_w32(m, x, y) ltq_w32((x), ltq_icu_membase[m] + (y))
50−#define ltq_icu_r32(m, x) ltq_r32(ltq_icu_membase[m] + (x))
49+#define ltq_icu_w32(vpe, m, x, y) \
50+ ltq_w32((x), ltq_icu_membase[vpe] + m*LTQ_ICU_IM_SIZE + (y))
51+
52+#define ltq_icu_r32(vpe, m, x) \
53+ ltq_r32(ltq_icu_membase[vpe] + m*LTQ_ICU_IM_SIZE + (x))
5154
5255 #define ltq_eiu_w32(x, y) ltq_w32((x), ltq_eiu_membase + (y))
5356 #define ltq_eiu_r32(x) ltq_r32(ltq_eiu_membase + (x))
5457
55−/* our 2 ipi interrupts for VSMP */
56−#define MIPS_CPU_IPI_RESCHED_IRQ 0
57−#define MIPS_CPU_IPI_CALL_IRQ 1
58−
5958 /* we have a cascade of 8 irqs */
6059 #define MIPS_CPU_IRQ_CASCADE 8
6160
6261 static int exin_avail;
6362 static u32 ltq_eiu_irq[MAX_EIU];
64−static void __iomem *ltq_icu_membase[MAX_IM];
63+static void __iomem *ltq_icu_membase[NR_CPUS];
6564 static void __iomem *ltq_eiu_membase;
6665 static struct irq_domain *ltq_domain;
66+static DEFINE_SPINLOCK(ltq_eiu_lock);
67+static DEFINE_RAW_SPINLOCK(ltq_icu_lock);
6768 static int ltq_perfcount_irq;
6869
6970 int ltq_eiu_get_irq(int exin)
@@ -75,49 +76,84 @@ int ltq_eiu_get_irq(int exin) · 5 unmodified lines
7576
7677 void ltq_disable_irq(struct irq_data *d)
7778 {
78− u32 ier = LTQ_ICU_IM0_IER;
79− int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
80− int im = offset / INT_NUM_IM_OFFSET;
79+ unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
80+ unsigned long im = offset / INT_NUM_IM_OFFSET;
81+ unsigned long flags;
82+ int vpe;
8183
8284 offset %= INT_NUM_IM_OFFSET;
83− ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier);
85+
86+ raw_spin_lock_irqsave(&ltq_icu_lock, flags);
87+ for_each_present_cpu(vpe) {
88+ ltq_icu_w32(vpe, im,
89+ ltq_icu_r32(vpe, im, LTQ_ICU_IER) & ~BIT(offset),
90+ LTQ_ICU_IER);
91+ }
92+ raw_spin_unlock_irqrestore(&ltq_icu_lock, flags);
8493 }
8594
8695 void ltq_mask_and_ack_irq(struct irq_data *d)
8796 {
88− u32 ier = LTQ_ICU_IM0_IER;
89− u32 isr = LTQ_ICU_IM0_ISR;
90− int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
91− int im = offset / INT_NUM_IM_OFFSET;
97+ unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
98+ unsigned long im = offset / INT_NUM_IM_OFFSET;
99+ unsigned long flags;
100+ int vpe;
92101
93102 offset %= INT_NUM_IM_OFFSET;
94− ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier);
95− ltq_icu_w32(im, BIT(offset), isr);
103+
104+ raw_spin_lock_irqsave(&ltq_icu_lock, flags);
105+ for_each_present_cpu(vpe) {
106+ ltq_icu_w32(vpe, im,
107+ ltq_icu_r32(vpe, im, LTQ_ICU_IER) & ~BIT(offset),
108+ LTQ_ICU_IER);
109+ ltq_icu_w32(vpe, im, BIT(offset), LTQ_ICU_ISR);
110+ }
111+ raw_spin_unlock_irqrestore(&ltq_icu_lock, flags);
96112 }
97113
98114 static void ltq_ack_irq(struct irq_data *d)
99115 {
100− u32 isr = LTQ_ICU_IM0_ISR;
101− int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
102− int im = offset / INT_NUM_IM_OFFSET;
116+ unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
117+ unsigned long im = offset / INT_NUM_IM_OFFSET;
118+ unsigned long flags;
119+ int vpe;
103120
104121 offset %= INT_NUM_IM_OFFSET;
105− ltq_icu_w32(im, BIT(offset), isr);
122+
123+ raw_spin_lock_irqsave(&ltq_icu_lock, flags);
124+ for_each_present_cpu(vpe) {
125+ ltq_icu_w32(vpe, im, BIT(offset), LTQ_ICU_ISR);
126+ }
127+ raw_spin_unlock_irqrestore(&ltq_icu_lock, flags);
106128 }
107129
108130 void ltq_enable_irq(struct irq_data *d)
109131 {
110− u32 ier = LTQ_ICU_IM0_IER;
111− int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
112− int im = offset / INT_NUM_IM_OFFSET;
132+ unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
133+ unsigned long im = offset / INT_NUM_IM_OFFSET;
134+ unsigned long flags;
135+ int vpe;
113136
114137 offset %= INT_NUM_IM_OFFSET;
115− ltq_icu_w32(im, ltq_icu_r32(im, ier) | BIT(offset), ier);
138+
139+ vpe = cpumask_first(irq_data_get_effective_affinity_mask(d));
140+
141+ /* This shouldn't be even possible, maybe during CPU hotplug spam */
142+ if (unlikely(vpe >= nr_cpu_ids))
143+ vpe = smp_processor_id();
144+
145+ raw_spin_lock_irqsave(&ltq_icu_lock, flags);
146+
147+ ltq_icu_w32(vpe, im, ltq_icu_r32(vpe, im, LTQ_ICU_IER) | BIT(offset),
148+ LTQ_ICU_IER);
149+
150+ raw_spin_unlock_irqrestore(&ltq_icu_lock, flags);
116151 }
117152
118153 static int ltq_eiu_settype(struct irq_data *d, unsigned int type)
119154 {
120155 int i;
156+ unsigned long flags;
121157
122158 for (i = 0; i < exin_avail; i++) {
123159 if (d->hwirq == ltq_eiu_irq[i]) {
@@ -154,8 +190,11 @@ static int ltq_eiu_settype(struct irq_data *d, unsigned int type) · 30 unmodified lines
154190 if (edge)
155191 irq_set_handler(d->hwirq, handle_edge_irq);
156192
157− ltq_eiu_w32(ltq_eiu_r32(LTQ_EIU_EXIN_C) |
158− (val << (i * 4)), LTQ_EIU_EXIN_C);
193+ spin_lock_irqsave(&ltq_eiu_lock, flags);
194+ ltq_eiu_w32((ltq_eiu_r32(LTQ_EIU_EXIN_C) &
195+ (~(7 << (i * 4)))) | (val << (i * 4)),
196+ LTQ_EIU_EXIN_C);
197+ spin_unlock_irqrestore(&ltq_eiu_lock, flags);
159198 }
160199 }
161200
@@ -199,6 +238,21 @@ static void ltq_shutdown_eiu_irq(struct irq_data *d) · 37 unmodified lines
199238 }
200239 }
201240
241+#if defined(CONFIG_SMP)
242+static int ltq_icu_irq_set_affinity(struct irq_data *d,
243+ const struct cpumask *cpumask, bool force)
244+{
245+ struct cpumask tmask;
246+
247+ if (!cpumask_and(&tmask, cpumask, cpu_online_mask))
248+ return -EINVAL;
249+
250+ irq_data_update_effective_affinity(d, &tmask);
251+
252+ return IRQ_SET_MASK_OK;
253+}
254+#endif
255+
202256 static struct irq_chip ltq_irq_type = {
203257 .name = "icu",
204258 .irq_enable = ltq_enable_irq,
@@ -207,6 +261,9 @@ static struct irq_chip ltq_irq_type = { · 2 unmodified lines
207261 .irq_ack = ltq_ack_irq,
208262 .irq_mask = ltq_disable_irq,
209263 .irq_mask_ack = ltq_mask_and_ack_irq,
264+#if defined(CONFIG_SMP)
265+ .irq_set_affinity = ltq_icu_irq_set_affinity,
266+#endif
210267 };
211268
212269 static struct irq_chip ltq_eiu_type = {
@@ -220,15 +277,19 @@ static struct irq_chip ltq_eiu_type = { · 7 unmodified lines
220277 .irq_mask = ltq_disable_irq,
221278 .irq_mask_ack = ltq_mask_and_ack_irq,
222279 .irq_set_type = ltq_eiu_settype,
280+#if defined(CONFIG_SMP)
281+ .irq_set_affinity = ltq_icu_irq_set_affinity,
282+#endif
223283 };
224284
225285 static void ltq_hw_irq_handler(struct irq_desc *desc)
226286 {
227− int module = irq_desc_get_irq(desc) - 2;
287+ unsigned int module = irq_desc_get_irq(desc) - 2;
228288 u32 irq;
229− int hwirq;
289+ irq_hw_number_t hwirq;
290+ int vpe = smp_processor_id();
230291
231− irq = ltq_icu_r32(module, LTQ_ICU_IM0_IOSR);
292+ irq = ltq_icu_r32(vpe, module, LTQ_ICU_IOSR);
232293 if (irq == 0)
233294 return;
234295
@@ -249,6 +310,7 @@ static void ltq_hw_irq_handler(struct irq_desc *desc) · 14 unmodified lines
249310 static int icu_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw)
250311 {
251312 struct irq_chip *chip = &ltq_irq_type;
313+ struct irq_data *data;
252314 int i;
253315
254316 if (hw < MIPS_CPU_IRQ_CASCADE)
@@ -258,6 +320,10 @@ static int icu_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw) · 3 unmodified lines
258320 if (hw == ltq_eiu_irq[i])
259321 chip = &ltq_eiu_type;
260322
323+ data = irq_get_irq_data(irq);
324+
325+ irq_data_update_effective_affinity(data, cpumask_of(0));
326+
261327 irq_set_chip_and_handler(irq, chip, handle_level_irq);
262328
263329 return 0;
@@ -272,28 +338,37 @@ int __init icu_of_init(struct device_node *node, struct device_node *parent) · 8 unmodified lines
272338 {
273339 struct device_node *eiu_node;
274340 struct resource res;
275− int i, ret;
341+ int i, ret, vpe;
276342
277− for (i = 0; i < MAX_IM; i++) {
278− if (of_address_to_resource(node, i, &res))
279− panic("Failed to get icu memory range");
343+ /* load register regions of available ICUs */
344+ for_each_possible_cpu(vpe) {
345+ if (of_address_to_resource(node, vpe, &res))
346+ panic("Failed to get icu%i memory range", vpe);
280347
281348 if (!request_mem_region(res.start, resource_size(&res),
282349 res.name))
283− pr_err("Failed to request icu memory");
350+ pr_err("Failed to request icu%i memory\n", vpe);
284351
285− ltq_icu_membase[i] = ioremap_nocache(res.start,
352+ ltq_icu_membase[vpe] = ioremap_nocache(res.start,
286353 resource_size(&res));
287− if (!ltq_icu_membase[i])
288− panic("Failed to remap icu memory");
354+
355+ if (!ltq_icu_membase[vpe])
356+ panic("Failed to remap icu%i memory", vpe);
289357 }
290358
291359 /* turn off all irqs by default */
292− for (i = 0; i < MAX_IM; i++) {
293− /* make sure all irqs are turned off by default */
294− ltq_icu_w32(i, 0, LTQ_ICU_IM0_IER);
295− /* clear all possibly pending interrupts */
296− ltq_icu_w32(i, ~0, LTQ_ICU_IM0_ISR);
360+ for_each_possible_cpu(vpe) {
361+ for (i = 0; i < MAX_IM; i++) {
362+ /* make sure all irqs are turned off by default */
363+ ltq_icu_w32(vpe, i, 0, LTQ_ICU_IER);
364+
365+ /* clear all possibly pending interrupts */
366+ ltq_icu_w32(vpe, i, ~0, LTQ_ICU_ISR);
367+ ltq_icu_w32(vpe, i, ~0, LTQ_ICU_IMR);
368+
369+ /* clear resend */
370+ ltq_icu_w32(vpe, i, 0, LTQ_ICU_IRSR);
371+ }
297372 }
298373
299374 mips_cpu_irq_init();
@@ -347,7 +422,7 @@ unsigned int get_c0_compare_int(void) · 47 unmodified lines
347422 return CP0_LEGACY_COMPARE_IRQ;
348423 }
349424
350−static struct of_device_id __initdata of_irq_ids[] = {
425+static const struct of_device_id of_irq_ids[] __initconst = {
351426 { .compatible = "lantiq,icu", .data = icu_of_init },
352427 {},
353428 };
drivers/memory/jz4780-nemc.c+1−1
@@ -61,7 +61,7 @@ struct jz4780_nemc { · 60 unmodified lines
6161 *
6262 * Return: The number of unique NEMC banks referred to by the specified NEMC
6363 * child device. Unique here means that a device that references the same bank
64− * multiple times in the its "reg" property will only count once.
64+ * multiple times in its "reg" property will only count once.
6565 */
6666 unsigned int jz4780_nemc_num_banks(struct device *dev)
6767 {
drivers/net/fddi/defza.c+1−0
@@ -33,6 +33,7 @@ · 32 unmodified lines
3333 #include <linux/init.h>
3434 #include <linux/interrupt.h>
3535 #include <linux/io.h>
36+#include <linux/io-64-nonatomic-lo-hi.h>
3637 #include <linux/ioport.h>
3738 #include <linux/kernel.h>
3839 #include <linux/list.h>

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t