diff --git a/Documentation/devicetree/bindings/display/panel/auo,b101ew05.txt b/Documentation/devicetree/bindings/display/panel/auo,b101ew05.txt deleted file mode 100644 index 0b2244daaa4f..000000000000 --- a/Documentation/devicetree/bindings/display/panel/auo,b101ew05.txt +++ /dev/null @@ -1,7 +0,0 @@ -AU Optronics Corporation 10.1" WSVGA TFT LCD panel - -Required properties: -- compatible: should be "auo,b101ew05" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/auo,b125han03.txt b/Documentation/devicetree/bindings/display/panel/auo,b125han03.txt deleted file mode 100644 index aef90890dca4..000000000000 --- a/Documentation/devicetree/bindings/display/panel/auo,b125han03.txt +++ /dev/null @@ -1,7 +0,0 @@ -AU Optronics Corporation 12.5" FHD TFT LCD panel - -Required properties: -- compatible: should be "auo,b125han03" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/boe,mv238qum-n20.txt b/Documentation/devicetree/bindings/display/panel/boe,mv238qum-n20.txt deleted file mode 100644 index 09f2217b87d4..000000000000 --- a/Documentation/devicetree/bindings/display/panel/boe,mv238qum-n20.txt +++ /dev/null @@ -1,9 +0,0 @@ -Boe Corporation 23.8" UHD TFT LCD panel - -It has been designed to apply eDP(HBR2, 5.4Gbps) interface. - -Required properties: -- compatible: should be "boe,mv238qum-n20" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/boe,mv270qum-n10.txt b/Documentation/devicetree/bindings/display/panel/boe,mv270qum-n10.txt deleted file mode 100644 index a97c0791e230..000000000000 --- a/Documentation/devicetree/bindings/display/panel/boe,mv270qum-n10.txt +++ /dev/null @@ -1,9 +0,0 @@ -Boe Corporation 27" UHD TFT LCD panel - -It has been designed to apply eDP(HBR2, 5.4Gbps) interface. - -Required properties: -- compatible: should be "boe,mv270qum-n10" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/boe,nv125fhm-n73.txt b/Documentation/devicetree/bindings/display/panel/boe,nv125fhm-n73.txt deleted file mode 100644 index 7eeedc8e3114..000000000000 --- a/Documentation/devicetree/bindings/display/panel/boe,nv125fhm-n73.txt +++ /dev/null @@ -1,7 +0,0 @@ -Boe Corporation 12.5" FHD TFT LCD panel - -Required properties: -- compatible: should be "boe,nv125fhm-n73" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/innolux,n125hce.txt b/Documentation/devicetree/bindings/display/panel/innolux,n125hce.txt deleted file mode 100644 index 1ea26f66115b..000000000000 --- a/Documentation/devicetree/bindings/display/panel/innolux,n125hce.txt +++ /dev/null @@ -1,7 +0,0 @@ -Innolux Corporation 12.5" FHD (1920x1080) TFT LCD panel - -Required properties: -- compatible: should be "innolux,n125hce" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/lg,lm238wr2-spa1.txt b/Documentation/devicetree/bindings/display/panel/lg,lm238wr2-spa1.txt deleted file mode 100644 index 00e5765a3735..000000000000 --- a/Documentation/devicetree/bindings/display/panel/lg,lm238wr2-spa1.txt +++ /dev/null @@ -1,9 +0,0 @@ -LG Corporation 23.8" UHD TFT LCD panel - -It has been designed to apply eDP(HBR2, 5.4Gbps) interface. - -Required properties: -- compatible: should be "lg,lm238wr2-spa1" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/lg,lm270wr3-ssa1.txt b/Documentation/devicetree/bindings/display/panel/lg,lm270wr3-ssa1.txt deleted file mode 100644 index 22ab0b8bbe26..000000000000 --- a/Documentation/devicetree/bindings/display/panel/lg,lm270wr3-ssa1.txt +++ /dev/null @@ -1,9 +0,0 @@ -LG Corporation 27" UHD TFT LCD panel - -It has been designed to apply eDP(HBR2, 5.4Gbps) interface. - -Required properties: -- compatible: should be "lg,lm270wr3-ssa1" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/display/panel/sharp,lcd-f402.txt b/Documentation/devicetree/bindings/display/panel/sharp,lcd-f402.txt deleted file mode 100644 index c51dd4a8b009..000000000000 --- a/Documentation/devicetree/bindings/display/panel/sharp,lcd-f402.txt +++ /dev/null @@ -1,7 +0,0 @@ -Sharp F402 (2048x1536 pexels) TFT LCD panel - -Required properties: -- compatible: should be "sharp,lcd-f402" - -This binding is compatible with the simple-panel binding, which is specified -in simple-panel.txt in this directory. diff --git a/Documentation/devicetree/bindings/sound/dw-hdmi-audio.txt b/Documentation/devicetree/bindings/sound/dw-hdmi-audio.txt deleted file mode 100644 index 41fdb4d1a4bf..000000000000 --- a/Documentation/devicetree/bindings/sound/dw-hdmi-audio.txt +++ /dev/null @@ -1,5 +0,0 @@ -dw hdmi audio interface - -Required properties: - -- compatible : Should be "dw-hdmi-audio". diff --git a/Documentation/devicetree/bindings/sound/gva-codec.txt b/Documentation/devicetree/bindings/sound/gva-codec.txt deleted file mode 100644 index 20749e42a5e5..000000000000 --- a/Documentation/devicetree/bindings/sound/gva-codec.txt +++ /dev/null @@ -1,14 +0,0 @@ - GVA audio virtual codec - -This device support generic audio link. - -Required properties: - - - compatible : "rockchip,gva-codec" - -Example: - -codec: gva_codec { - compatible = "rockchip,gva-codec"; - #sound-dai-cells = <0>; -}; diff --git a/Documentation/devicetree/bindings/sound/rockchip,rt5651-tc358749x.txt b/Documentation/devicetree/bindings/sound/rockchip,rt5651-tc358749x.txt deleted file mode 100644 index 086727406948..000000000000 --- a/Documentation/devicetree/bindings/sound/rockchip,rt5651-tc358749x.txt +++ /dev/null @@ -1,16 +0,0 @@ -ROCKCHIP with RT5651_TC358749X CODECS - -Required properties: -- compatible: "rockchip,rockchip-rt5651-tc358749x-sound" -- rockchip,cpu: CPU DAI, The phandle of the Rockchip I2S controller that's - connected to the CODEC -- rockchip,audio-codec: The phandle of the RT5651 TC358749x audio codec - -Example: - -sound { - compatible = "rockchip,rockchip-rt5651-tc358749x-sound"; - rockchip,cpu = <&i2s0>; - rockchip,codec = <&rt5651 &rt5651 &tc358749x>; - status = "okay"; -}; diff --git a/Documentation/devicetree/bindings/sound/rt3261.txt b/Documentation/devicetree/bindings/sound/rt3261.txt deleted file mode 100644 index ffeb305f542e..000000000000 --- a/Documentation/devicetree/bindings/sound/rt3261.txt +++ /dev/null @@ -1,31 +0,0 @@ -rt3261 audio CODEC - -This device supports I2C only. - -Required properties: - - - compatible : "rt3261" - - - reg : the I2C address of the device. - - - codec-en-gpio : the enable gpio of codec. - - - spk-num : the number of speaker. - - - modem-input-mode : modem input mode (DIFFERENTIAL/SINGLE_END). - - - lout-to-modem_mode : line out mode. - - - spk-amplify : Gain control for speaker. - -Example: - -rt3261: rt3261@1c { - compatible = "rt3261"; - reg = <0x1c>; - codec-en-gpio = <&gpio3 GPIO_D7 GPIO_ACTIVE_HIGH>; - spk-num= <2>; - modem-input-mode = <1>; - lout-to-modem_mode = <1>; - spk-amplify = <2>; -}; diff --git a/Documentation/devicetree/bindings/sound/tc358749x.txt b/Documentation/devicetree/bindings/sound/tc358749x.txt deleted file mode 100644 index d78d9729c572..000000000000 --- a/Documentation/devicetree/bindings/sound/tc358749x.txt +++ /dev/null @@ -1,32 +0,0 @@ -Toshiba tc358749x audio CODEC - -Required properties: - -- compatible: "toshiba,tc358749x" -- reg: the I2C address of the device for I2C -- power-gpios: tc358749x 1.2v power control gpio -- power18-gpios: tc358749x 1.8v power control gpio -- power33-gpios: tc358749x 3.3v power control gpio -- csi-ctl-gpios: rk3399-sapphire hw csi select control -- stanby-gpios: tc358749x stanby pin control -- reset-gpios: tc358749x reset pin control -- int-gpios: tc358749x interrupt pin control gpio -- pinctrl-names: must contain a "default" entry. -- pinctrl-0: pin control group to be used for gpio. - -Example: - -tc358749x: tc358749x@0f { - compatible = "toshiba,tc358749x"; - reg = <0x0f>; - power-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; - power18-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>; - power33-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; - csi-ctl-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; - stanby-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; - reset-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; - int-gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&hdmiin_gpios>; - status = "okay"; -}; diff --git a/arch/arm/boot/dts/rk3506-evb2-v10.dtsi b/arch/arm/boot/dts/rk3506-evb2-v10.dtsi index a4c1902f73b9..e4f6ca0af66a 100644 --- a/arch/arm/boot/dts/rk3506-evb2-v10.dtsi +++ b/arch/arm/boot/dts/rk3506-evb2-v10.dtsi @@ -91,31 +91,53 @@ matrix-keypad { compatible = "gpio-matrix-keypad"; - debounce-delay-ms = <5>; - col-scan-delay-us = <2>; - //linux,no-autorepeat = <1>; + debounce-delay-ms = <30>; + col-scan-delay-us = <100>; wakeup-source; pinctrl-names = "default"; pinctrl-0 = <&keypad_pins>; - col-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW - &gpio0 RK_PC1 GPIO_ACTIVE_LOW - &gpio0 RK_PC2 GPIO_ACTIVE_LOW - &gpio0 RK_PC3 GPIO_ACTIVE_LOW - &gpio0 RK_PC4 GPIO_ACTIVE_LOW>; + linux,no-autorepeat; + drive-inactive-cols; - row-gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW - &gpio0 RK_PB4 GPIO_ACTIVE_LOW - &gpio0 RK_PB5 GPIO_ACTIVE_LOW - &gpio0 RK_PB6 GPIO_ACTIVE_LOW - &gpio0 RK_PB7 GPIO_ACTIVE_LOW>; + col-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH + &gpio0 RK_PC1 GPIO_ACTIVE_HIGH + &gpio0 RK_PC2 GPIO_ACTIVE_HIGH + &gpio0 RK_PC3 GPIO_ACTIVE_HIGH + &gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; + + row-gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH + &gpio0 RK_PB4 GPIO_ACTIVE_HIGH + &gpio0 RK_PB5 GPIO_ACTIVE_HIGH + &gpio0 RK_PB6 GPIO_ACTIVE_HIGH + &gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; linux,keymap = < - MATRIX_KEY(0, 0, KEY_NUMERIC_1) MATRIX_KEY(0, 1, KEY_NUMERIC_2) MATRIX_KEY(0, 2, KEY_NUMERIC_3) MATRIX_KEY(0, 3, KEY_UP) MATRIX_KEY(0, 4, KEY_DOWN) - MATRIX_KEY(1, 0, KEY_NUMERIC_4) MATRIX_KEY(1, 1, KEY_NUMERIC_5) MATRIX_KEY(1, 2, KEY_NUMERIC_6) MATRIX_KEY(1, 3, KEY_LEFT) MATRIX_KEY(1, 4, KEY_RIGHT) - MATRIX_KEY(2, 0, KEY_NUMERIC_7) MATRIX_KEY(0, 1, KEY_NUMERIC_8) MATRIX_KEY(0, 2, KEY_NUMERIC_9) MATRIX_KEY(0, 3, KEY_OK) MATRIX_KEY(0, 4, KEY_MUTE) - MATRIX_KEY(3, 0, KEY_NUMERIC_STAR) MATRIX_KEY(0, 1, KEY_NUMERIC_0) MATRIX_KEY(0, 2, KEY_NUMERIC_POUND) MATRIX_KEY(0, 3, KEY_SOUND) MATRIX_KEY(0, 4, KEY_VOLUMEDOWN) - MATRIX_KEY(4, 0, KEY_F1) MATRIX_KEY(0, 1, KEY_F2) MATRIX_KEY(0, 2, KEY_F3) MATRIX_KEY(0, 3, KEY_F4) MATRIX_KEY(0, 4, KEY_VOLUMEUP) + MATRIX_KEY(0, 0, KEY_NUMERIC_1) + MATRIX_KEY(0, 1, KEY_NUMERIC_2) + MATRIX_KEY(0, 2, KEY_NUMERIC_3) + MATRIX_KEY(0, 3, KEY_UP) + MATRIX_KEY(0, 4, KEY_DOWN) + MATRIX_KEY(1, 0, KEY_NUMERIC_4) + MATRIX_KEY(1, 1, KEY_NUMERIC_5) + MATRIX_KEY(1, 2, KEY_NUMERIC_6) + MATRIX_KEY(1, 3, KEY_LEFT) + MATRIX_KEY(1, 4, KEY_RIGHT) + MATRIX_KEY(2, 0, KEY_NUMERIC_7) + MATRIX_KEY(2, 1, KEY_NUMERIC_8) + MATRIX_KEY(2, 2, KEY_NUMERIC_9) + MATRIX_KEY(2, 3, KEY_OK) + MATRIX_KEY(2, 4, KEY_MUTE) + MATRIX_KEY(3, 0, KEY_NUMERIC_STAR) + MATRIX_KEY(3, 1, KEY_NUMERIC_0) + MATRIX_KEY(3, 2, KEY_NUMERIC_POUND) + MATRIX_KEY(3, 3, KEY_SOUND) + MATRIX_KEY(3, 4, KEY_VOLUMEDOWN) + MATRIX_KEY(4, 0, KEY_F1) + MATRIX_KEY(4, 1, KEY_F2) + MATRIX_KEY(4, 2, KEY_F3) + MATRIX_KEY(4, 3, KEY_F4) + MATRIX_KEY(4, 4, KEY_VOLUMEUP) >; status = "okay"; @@ -619,13 +641,12 @@ <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>, <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>, <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>, - <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>, /* keyboard cols(0~4) */ - <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>, - <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>, - <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>, - <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_down>, - <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>; + <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>, + <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>, + <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>, + <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>, + <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi b/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi index 5b546d9c35f3..1b73b3465081 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576-evb2.dtsi @@ -164,15 +164,6 @@ vin-supply = <&vcc_sys>; }; - vcc3v3_lcd_n: vcc3v3-lcd0-n { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3_lcd0_n"; - regulator-boot-on; - enable-active-high; - gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; - vin-supply = <&vcc_3v3_s0>; - }; - vcc3v3_image_pwren: image-pwren { compatible = "regulator-fixed"; regulator-name = "vcc3v3_image_pwren"; diff --git a/drivers/clk/rockchip/clk-rk1808.c b/drivers/clk/rockchip/clk-rk1808.c index e177a3dd634c..5efd90b17843 100644 --- a/drivers/clk/rockchip/clk-rk1808.c +++ b/drivers/clk/rockchip/clk-rk1808.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include "clk.h" diff --git a/drivers/clk/rockchip/clk-rk3328.c b/drivers/clk/rockchip/clk-rk3328.c index c9f1c3038f77..1dc1e8998a9d 100644 --- a/drivers/clk/rockchip/clk-rk3328.c +++ b/drivers/clk/rockchip/clk-rk3328.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include "clk.h" diff --git a/drivers/firmware/rockchip_sip.c b/drivers/firmware/rockchip_sip.c index bf214bcea209..785e25420346 100644 --- a/drivers/firmware/rockchip_sip.c +++ b/drivers/firmware/rockchip_sip.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #ifdef CONFIG_64BIT diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c index c56bec9c0822..f9b8632a280a 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_logo.c b/drivers/gpu/drm/rockchip/rockchip_drm_logo.c index 697e70a65da7..eb76b017e983 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_logo.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_logo.c @@ -730,12 +730,23 @@ static void rockchip_drm_mode_fixup(struct drm_crtc_state *crtc_state, const struct drm_crtc_helper_funcs *crtc_funcs; struct drm_encoder *encoder = conn_state->best_encoder; struct drm_crtc *crtc = crtc_state->crtc; + struct drm_bridge *bridge; + struct drm_bridge_state *bridge_state; int ret; ret = drm_atomic_set_mode_for_crtc(crtc_state, adj_mode); if (ret) return; + bridge = drm_bridge_chain_get_first_bridge(encoder); + if (bridge) { + bridge_state = drm_atomic_get_bridge_state(crtc_state->state, bridge); + if (IS_ERR(bridge_state)) + return; + + drm_atomic_bridge_chain_check(bridge, crtc_state, conn_state); + } + encoder_funcs = encoder->helper_private; if (encoder_funcs && encoder_funcs->atomic_check) encoder_funcs->atomic_check(encoder, crtc_state, conn_state); diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_tve.c b/drivers/gpu/drm/rockchip/rockchip_drm_tve.c index 8621f8d47baf..f42b294a28a1 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_tve.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_tve.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/drivers/input/touchscreen/cyttsp5/Kconfig b/drivers/input/touchscreen/cyttsp5/Kconfig index 4bdeb1b8365d..6b26c8f5f78b 100644 --- a/drivers/input/touchscreen/cyttsp5/Kconfig +++ b/drivers/input/touchscreen/cyttsp5/Kconfig @@ -50,7 +50,7 @@ config TOUCHSCREEN_CYPRESS_CYTTSP5_SPI module will be called cyttsp5_spi. choice - bool "Parade TrueTouch Gen5 MultiTouch Protocol" + prompt "Parade TrueTouch Gen5 MultiTouch Protocol" depends on TOUCHSCREEN_CYPRESS_CYTTSP5 default TOUCHSCREEN_CYPRESS_CYTTSP5_MT_B help diff --git a/drivers/input/touchscreen/parade/Kconfig b/drivers/input/touchscreen/parade/Kconfig index c0ffdd6ffab1..bb6e05c89fcc 100644 --- a/drivers/input/touchscreen/parade/Kconfig +++ b/drivers/input/touchscreen/parade/Kconfig @@ -68,7 +68,7 @@ config TOUCHSCREEN_PARADE_SPI module will be called pt_spi. choice - bool "Parade TrueTouch Gen5 MultiTouch Protocol" + prompt "Parade TrueTouch Gen5 MultiTouch Protocol" depends on TOUCHSCREEN_PARADE default TOUCHSCREEN_PARADE_MT_B help diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 5eb953dcd841..9eca3161a7b6 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -99,7 +99,7 @@ obj-$(CONFIG_VIDEO_IMX412) += imx412.o obj-$(CONFIG_VIDEO_IMX415) += imx415.o obj-$(CONFIG_VIDEO_IMX464) += imx464.o obj-$(CONFIG_VIDEO_IMX492) += imx492.o -obj-$(CONFIG_VIDEO_IMX492) += imx498.o +obj-$(CONFIG_VIDEO_IMX498) += imx498.o obj-$(CONFIG_VIDEO_IMX577) += imx577.o obj-$(CONFIG_VIDEO_IMX586) += imx586.o obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o diff --git a/drivers/mfd/rk806-core.c b/drivers/mfd/rk806-core.c index eed82776374b..b0e9eb16fc00 100644 --- a/drivers/mfd/rk806-core.c +++ b/drivers/mfd/rk806-core.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #define TSD_TEMP_140 0x00 diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 5fb4133a1219..62dd5501fd2c 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/regulator/rk806-regulator.c b/drivers/regulator/rk806-regulator.c index b8b18fd63e51..0a7a1be7cc4f 100644 --- a/drivers/regulator/rk806-regulator.c +++ b/drivers/regulator/rk806-regulator.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include "internal.h" diff --git a/drivers/rkflash/Kconfig b/drivers/rkflash/Kconfig index 67527b25cc5f..6e0ae03cd149 100644 --- a/drivers/rkflash/Kconfig +++ b/drivers/rkflash/Kconfig @@ -22,7 +22,7 @@ comment "Rockchip Flash Devices" config RK_SFTL tristate "Rockchip Slc Nand FTL support" default y - depends on (RK_NANDC_NAND || (RK_SFC_NAND && RK_SFC_NAND_MTD !=y)) + depends on (RK_NANDC_NAND || (RK_SFC_NAND && !RK_SFC_NAND_MTD)) help This enables support for Slc Nand FTL. diff --git a/drivers/rknpu/rknpu_mem.c b/drivers/rknpu/rknpu_mem.c index 8f05541c936c..222fce4d76e8 100644 --- a/drivers/rknpu/rknpu_mem.c +++ b/drivers/rknpu/rknpu_mem.c @@ -17,6 +17,59 @@ #ifdef CONFIG_ROCKCHIP_RKNPU_DMA_HEAP +#if KERNEL_VERSION(6, 1, 115) < LINUX_VERSION_CODE +#ifdef CONFIG_ARM64 +/* + * Check whether a kernel address is valid (derived from arch/x86/). + */ +static int kern_addr_valid(unsigned long addr) +{ + pgd_t *pgdp; + p4d_t *p4dp; + pud_t *pudp, pud; + pmd_t *pmdp, pmd; + pte_t *ptep, pte; + + addr = arch_kasan_reset_tag(addr); + if ((((long)addr) >> VA_BITS) != -1UL) + return 0; + + pgdp = pgd_offset_k(addr); + if (pgd_none(READ_ONCE(*pgdp))) + return 0; + + p4dp = p4d_offset(pgdp, addr); + if (p4d_none(READ_ONCE(*p4dp))) + return 0; + + pudp = pud_offset(p4dp, addr); + pud = READ_ONCE(*pudp); + if (pud_none(pud)) + return 0; + + if (pud_sect(pud)) + return pfn_valid(pud_pfn(pud)); + + pmdp = pmd_offset(pudp, addr); + pmd = READ_ONCE(*pmdp); + if (pmd_none(pmd)) + return 0; + + if (pmd_sect(pmd)) + return pfn_valid(pmd_pfn(pmd)); + + ptep = pte_offset_kernel(pmdp, addr); + pte = READ_ONCE(*ptep); + if (pte_none(pte)) + return 0; + + return pfn_valid(pte_pfn(pte)); +} +#else +#define kern_addr_valid(addr) (1) +#endif +#endif + int rknpu_mem_create_ioctl(struct rknpu_device *rknpu_dev, struct file *file, unsigned int cmd, unsigned long data) { diff --git a/sound/soc/codecs/aw87xxx/aw87xxx.c b/sound/soc/codecs/aw87xxx/aw87xxx.c index 7f5cc1673d29..42ae48211565 100644 --- a/sound/soc/codecs/aw87xxx/aw87xxx.c +++ b/sound/soc/codecs/aw87xxx/aw87xxx.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include