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

Merge tag 'soc-fixes-5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
"The code changes address mostly minor problems:

- Several NXP/FSL SoC driver fixes, addressing issues with error
handling and compilation

- Fix a clock disabling imbalance in gpcv2 driver.

- Arm Juno DMA coherency issue

- Trivial firmware driver fixes for op-tee and scmi firmware

The remaining changes address issues in the devicetree files:

- A timer regression for the OMAP devkit8000, which has to use the
alternative timer.

- A hang in the i.MX8MM power domain configuration

- Multiple fixes for the Rockchip RK3399 addressing issues with sound
and eMMC

- Cosmetic fixes for i.MX8ULP, RK3xxx, and Tegra124"

* tag 'soc-fixes-5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (32 commits)
ARM: tegra: Move panels to AUX bus
soc: imx: gpcv2: Fix clock disabling imbalance in error path
soc: fsl: qe: Check of ioremap return value
soc: fsl: qe: fix typo in a comment
soc: fsl: guts: Add a missing memory allocation failure check
soc: fsl: guts: Revert commit 3c0d64e867ed
soc: fsl: Correct MAINTAINERS database (SOC)
soc: fsl: Correct MAINTAINERS database (QUICC ENGINE LIBRARY)
soc: fsl: Replace kernel.h with the necessary inclusions
dt-bindings: fsl,layerscape-dcfg: add missing compatible for lx2160a
dt-bindings: qoriq-clock: add missing compatible for lx2160a
ARM: dts: Use 32KiHz oscillator on devkit8000
ARM: dts: switch timer config to common devkit8000 devicetree
tee: optee: fix error return code in probe function
arm64: dts: imx8ulp: Set #thermal-sensor-cells to 1 as required
arm64: dts: imx8mm: Fix VPU Hanging
ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
ARM: dts: rockchip: reorder rk322x hmdi clocks
firmware: arm_scmi: Remove space in MODULE_ALIAS name
arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"
...

+138 -102
+6
CREDITS
··· 895 895 S: Warrendale, Pennsylvania 15086 896 896 S: USA 897 897 898 + N: Ludovic Desroches 899 + E: ludovic.desroches@microchip.com 900 + D: Maintainer for ARM/Microchip (AT91) SoC support 901 + D: Author of ADC, pinctrl, XDMA and SDHCI drivers for this platform 902 + S: France 903 + 898 904 N: Martin Devera 899 905 E: devik@cdi.cz 900 906 W: http://luxik.cdi.cz/~devik/qos/
+2 -1
Documentation/devicetree/bindings/arm/atmel-at91.yaml
··· 8 8 9 9 maintainers: 10 10 - Alexandre Belloni <alexandre.belloni@bootlin.com> 11 - - Ludovic Desroches <ludovic.desroches@microchip.com> 11 + - Claudiu Beznea <claudiu.beznea@microchip.com> 12 + - Nicolas Ferre <nicolas.ferre@microchip.com> 12 13 13 14 description: | 14 15 Boards with a SoC of the Atmel AT91 or SMART family shall have the following
+1 -1
Documentation/devicetree/bindings/arm/freescale/fsl,layerscape-dcfg.txt
··· 8 8 - compatible: Should contain a chip-specific compatible string, 9 9 Chip-specific strings are of the form "fsl,<chip>-dcfg", 10 10 The following <chip>s are known to be supported: 11 - ls1012a, ls1021a, ls1043a, ls1046a, ls2080a. 11 + ls1012a, ls1021a, ls1043a, ls1046a, ls2080a, lx2160a 12 12 13 13 - reg : should contain base address and length of DCFG memory-mapped registers 14 14
+1
Documentation/devicetree/bindings/clock/qoriq-clock.txt
··· 44 44 * "fsl,ls1046a-clockgen" 45 45 * "fsl,ls1088a-clockgen" 46 46 * "fsl,ls2080a-clockgen" 47 + * "fsl,lx2160a-clockgen" 47 48 Chassis-version clock strings include: 48 49 * "fsl,qoriq-clockgen-1.0": for chassis 1.0 clocks 49 50 * "fsl,qoriq-clockgen-2.0": for chassis 2.0 clocks
+1
Documentation/devicetree/bindings/usb/dwc2.yaml
··· 53 53 - const: st,stm32mp15-hsotg 54 54 - const: snps,dwc2 55 55 - const: samsung,s3c6400-hsotg 56 + - const: intel,socfpga-agilex-hsotg 56 57 57 58 reg: 58 59 maxItems: 1
+3 -3
MAINTAINERS
··· 2254 2254 ARM/Microchip (AT91) SoC support 2255 2255 M: Nicolas Ferre <nicolas.ferre@microchip.com> 2256 2256 M: Alexandre Belloni <alexandre.belloni@bootlin.com> 2257 - M: Ludovic Desroches <ludovic.desroches@microchip.com> 2257 + M: Claudiu Beznea <claudiu.beznea@microchip.com> 2258 2258 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 2259 2259 S: Supported 2260 2260 W: http://www.linux4sam.org ··· 7744 7744 L: linuxppc-dev@lists.ozlabs.org 7745 7745 S: Maintained 7746 7746 F: drivers/soc/fsl/qe/ 7747 - F: include/soc/fsl/*qe*.h 7748 - F: include/soc/fsl/*ucc*.h 7747 + F: include/soc/fsl/qe/ 7749 7748 7750 7749 FREESCALE QUICC ENGINE UCC ETHERNET DRIVER 7751 7750 M: Li Yang <leoyang.li@nxp.com> ··· 7775 7776 F: Documentation/devicetree/bindings/soc/fsl/ 7776 7777 F: drivers/soc/fsl/ 7777 7778 F: include/linux/fsl/ 7779 + F: include/soc/fsl/ 7778 7780 7779 7781 FREESCALE SOC FS_ENET DRIVER 7780 7782 M: Pantelis Antoniou <pantelis.antoniou@gmail.com>
+18
arch/arm/boot/dts/omap3-devkit8000-common.dtsi
··· 158 158 status = "disabled"; 159 159 }; 160 160 161 + /* Unusable as clockevent because if unreliable oscillator, allow to idle */ 162 + &timer1_target { 163 + /delete-property/ti,no-reset-on-init; 164 + /delete-property/ti,no-idle; 165 + timer@0 { 166 + /delete-property/ti,timer-alwon; 167 + }; 168 + }; 169 + 170 + /* Preferred timer for clockevent */ 171 + &timer12_target { 172 + ti,no-reset-on-init; 173 + ti,no-idle; 174 + timer@0 { 175 + /* Always clocked by secure_32k_fck */ 176 + }; 177 + }; 178 + 161 179 &twl_gpio { 162 180 ti,use-leds; 163 181 /*
-33
arch/arm/boot/dts/omap3-devkit8000.dts
··· 14 14 display2 = &tv0; 15 15 }; 16 16 }; 17 - 18 - /* Unusable as clocksource because of unreliable oscillator */ 19 - &counter32k { 20 - status = "disabled"; 21 - }; 22 - 23 - /* Unusable as clockevent because if unreliable oscillator, allow to idle */ 24 - &timer1_target { 25 - /delete-property/ti,no-reset-on-init; 26 - /delete-property/ti,no-idle; 27 - timer@0 { 28 - /delete-property/ti,timer-alwon; 29 - }; 30 - }; 31 - 32 - /* Preferred always-on timer for clocksource */ 33 - &timer12_target { 34 - ti,no-reset-on-init; 35 - ti,no-idle; 36 - timer@0 { 37 - /* Always clocked by secure_32k_fck */ 38 - }; 39 - }; 40 - 41 - /* Preferred timer for clockevent */ 42 - &timer2_target { 43 - ti,no-reset-on-init; 44 - ti,no-idle; 45 - timer@0 { 46 - assigned-clocks = <&gpt2_fck>; 47 - assigned-clock-parents = <&sys_ck>; 48 - }; 49 - };
+2 -2
arch/arm/boot/dts/rk322x.dtsi
··· 718 718 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 719 719 assigned-clocks = <&cru SCLK_HDMI_PHY>; 720 720 assigned-clock-parents = <&hdmi_phy>; 721 - clocks = <&cru SCLK_HDMI_HDCP>, <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_CEC>; 722 - clock-names = "isfr", "iahb", "cec"; 721 + clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>; 722 + clock-names = "iahb", "isfr", "cec"; 723 723 pinctrl-names = "default"; 724 724 pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>; 725 725 resets = <&cru SRST_HDMI_P>;
+1 -1
arch/arm/boot/dts/rk3288.dtsi
··· 971 971 status = "disabled"; 972 972 }; 973 973 974 - crypto: cypto-controller@ff8a0000 { 974 + crypto: crypto@ff8a0000 { 975 975 compatible = "rockchip,rk3288-crypto"; 976 976 reg = <0x0 0xff8a0000 0x0 0x4000>; 977 977 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
+9 -6
arch/arm/boot/dts/tegra124-nyan-big.dts
··· 13 13 "google,nyan-big-rev1", "google,nyan-big-rev0", 14 14 "google,nyan-big", "google,nyan", "nvidia,tegra124"; 15 15 16 - panel: panel { 17 - compatible = "auo,b133xtn01"; 18 - 19 - power-supply = <&vdd_3v3_panel>; 20 - backlight = <&backlight>; 21 - ddc-i2c-bus = <&dpaux>; 16 + host1x@50000000 { 17 + dpaux@545c0000 { 18 + aux-bus { 19 + panel: panel { 20 + compatible = "auo,b133xtn01"; 21 + backlight = <&backlight>; 22 + }; 23 + }; 24 + }; 22 25 }; 23 26 24 27 mmc@700b0400 { /* SD Card on this bus */
+9 -6
arch/arm/boot/dts/tegra124-nyan-blaze.dts
··· 15 15 "google,nyan-blaze-rev0", "google,nyan-blaze", 16 16 "google,nyan", "nvidia,tegra124"; 17 17 18 - panel: panel { 19 - compatible = "samsung,ltn140at29-301"; 20 - 21 - power-supply = <&vdd_3v3_panel>; 22 - backlight = <&backlight>; 23 - ddc-i2c-bus = <&dpaux>; 18 + host1x@50000000 { 19 + dpaux@545c0000 { 20 + aux-bus { 21 + panel: panel { 22 + compatible = "samsung,ltn140at29-301"; 23 + backlight = <&backlight>; 24 + }; 25 + }; 26 + }; 24 27 }; 25 28 26 29 sound {
+7 -7
arch/arm/boot/dts/tegra124-venice2.dts
··· 48 48 dpaux@545c0000 { 49 49 vdd-supply = <&vdd_3v3_panel>; 50 50 status = "okay"; 51 + 52 + aux-bus { 53 + panel: panel { 54 + compatible = "lg,lp129qe"; 55 + backlight = <&backlight>; 56 + }; 57 + }; 51 58 }; 52 59 }; 53 60 ··· 1085 1078 debounce-interval = <10>; 1086 1079 wakeup-source; 1087 1080 }; 1088 - }; 1089 - 1090 - panel: panel { 1091 - compatible = "lg,lp129qe"; 1092 - power-supply = <&vdd_3v3_panel>; 1093 - backlight = <&backlight>; 1094 - ddc-i2c-bus = <&dpaux>; 1095 1081 }; 1096 1082 1097 1083 vdd_mux: regulator-mux {
+1 -2
arch/arm64/boot/dts/arm/juno-base.dtsi
··· 543 543 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>, 544 544 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>; 545 545 /* Standard AXI Translation entries as programmed by EDK2 */ 546 - dma-ranges = <0x02000000 0x0 0x2c1c0000 0x0 0x2c1c0000 0x0 0x00040000>, 547 - <0x02000000 0x0 0x80000000 0x0 0x80000000 0x0 0x80000000>, 546 + dma-ranges = <0x02000000 0x0 0x80000000 0x0 0x80000000 0x0 0x80000000>, 548 547 <0x43000000 0x8 0x00000000 0x8 0x00000000 0x2 0x00000000>; 549 548 #interrupt-cells = <1>; 550 549 interrupt-map-mask = <0 0 0 7>;
-1
arch/arm64/boot/dts/freescale/imx8mm.dtsi
··· 707 707 clocks = <&clk IMX8MM_CLK_VPU_DEC_ROOT>; 708 708 assigned-clocks = <&clk IMX8MM_CLK_VPU_BUS>; 709 709 assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>; 710 - resets = <&src IMX8MQ_RESET_VPU_RESET>; 711 710 }; 712 711 713 712 pgc_vpu_g1: power-domain@7 {
+1 -1
arch/arm64/boot/dts/freescale/imx8ulp.dtsi
··· 132 132 133 133 scmi_sensor: protocol@15 { 134 134 reg = <0x15>; 135 - #thermal-sensor-cells = <0>; 135 + #thermal-sensor-cells = <1>; 136 136 }; 137 137 }; 138 138 };
+2 -2
arch/arm64/boot/dts/intel/socfpga_agilex.dtsi
··· 502 502 }; 503 503 504 504 usb0: usb@ffb00000 { 505 - compatible = "snps,dwc2"; 505 + compatible = "intel,socfpga-agilex-hsotg", "snps,dwc2"; 506 506 reg = <0xffb00000 0x40000>; 507 507 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 508 508 phys = <&usbphy0>; ··· 515 515 }; 516 516 517 517 usb1: usb@ffb40000 { 518 - compatible = "snps,dwc2"; 518 + compatible = "intel,socfpga-agilex-hsotg", "snps,dwc2"; 519 519 reg = <0xffb40000 0x40000>; 520 520 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 521 521 phys = <&usbphy0>;
+1 -1
arch/arm64/boot/dts/rockchip/px30.dtsi
··· 711 711 clock-names = "pclk", "timer"; 712 712 }; 713 713 714 - dmac: dmac@ff240000 { 714 + dmac: dma-controller@ff240000 { 715 715 compatible = "arm,pl330", "arm,primecell"; 716 716 reg = <0x0 0xff240000 0x0 0x4000>; 717 717 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
+1 -1
arch/arm64/boot/dts/rockchip/rk3328.dtsi
··· 489 489 status = "disabled"; 490 490 }; 491 491 492 - dmac: dmac@ff1f0000 { 492 + dmac: dma-controller@ff1f0000 { 493 493 compatible = "arm,pl330", "arm,primecell"; 494 494 reg = <0x0 0xff1f0000 0x0 0x4000>; 495 495 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+12 -5
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
··· 286 286 287 287 sound: sound { 288 288 compatible = "rockchip,rk3399-gru-sound"; 289 - rockchip,cpu = <&i2s0 &i2s2>; 289 + rockchip,cpu = <&i2s0 &spdif>; 290 290 }; 291 291 }; 292 292 ··· 437 437 status = "okay"; 438 438 }; 439 439 440 - &i2s2 { 441 - status = "okay"; 442 - }; 443 - 444 440 &io_domains { 445 441 status = "okay"; 446 442 ··· 531 535 sd-uhs-sdr104; 532 536 vmmc-supply = <&pp3000_sd_slot>; 533 537 vqmmc-supply = <&ppvar_sd_card_io>; 538 + }; 539 + 540 + &spdif { 541 + status = "okay"; 542 + 543 + /* 544 + * SPDIF is routed internally to DP; we either don't use these pins, or 545 + * mux them to something else. 546 + */ 547 + /delete-property/ pinctrl-0; 548 + /delete-property/ pinctrl-names; 534 549 }; 535 550 536 551 &spi1 {
+1
arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
··· 232 232 233 233 &usbdrd_dwc3_0 { 234 234 dr_mode = "otg"; 235 + extcon = <&extcon_usb3>; 235 236 status = "okay"; 236 237 }; 237 238
+20
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
··· 25 25 }; 26 26 }; 27 27 28 + extcon_usb3: extcon-usb3 { 29 + compatible = "linux,extcon-usb-gpio"; 30 + id-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; 31 + pinctrl-names = "default"; 32 + pinctrl-0 = <&usb3_id>; 33 + }; 34 + 28 35 clkin_gmac: external-gmac-clock { 29 36 compatible = "fixed-clock"; 30 37 clock-frequency = <125000000>; ··· 429 422 <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 430 423 }; 431 424 }; 425 + 426 + usb3 { 427 + usb3_id: usb3-id { 428 + rockchip,pins = 429 + <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 430 + }; 431 + }; 432 432 }; 433 433 434 434 &sdhci { 435 + /* 436 + * Signal integrity isn't great at 200MHz but 100MHz has proven stable 437 + * enough. 438 + */ 439 + max-frequency = <100000000>; 440 + 435 441 bus-width = <8>; 436 442 mmc-hs400-1_8v; 437 443 mmc-hs400-enhanced-strobe;
+3 -3
arch/arm64/boot/dts/rockchip/rk3399.dtsi
··· 1881 1881 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>; 1882 1882 clocks = <&cru PCLK_HDMI_CTRL>, 1883 1883 <&cru SCLK_HDMI_SFR>, 1884 - <&cru PLL_VPLL>, 1884 + <&cru SCLK_HDMI_CEC>, 1885 1885 <&cru PCLK_VIO_GRF>, 1886 - <&cru SCLK_HDMI_CEC>; 1887 - clock-names = "iahb", "isfr", "vpll", "grf", "cec"; 1886 + <&cru PLL_VPLL>; 1887 + clock-names = "iahb", "isfr", "cec", "grf", "vpll"; 1888 1888 power-domains = <&power RK3399_PD_HDCP>; 1889 1889 reg-io-width = <4>; 1890 1890 rockchip,grf = <&grf>;
-2
arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
··· 285 285 vcc_ddr: DCDC_REG3 { 286 286 regulator-always-on; 287 287 regulator-boot-on; 288 - regulator-min-microvolt = <1100000>; 289 - regulator-max-microvolt = <1100000>; 290 288 regulator-initial-mode = <0x2>; 291 289 regulator-name = "vcc_ddr"; 292 290 regulator-state-mem {
+2 -4
arch/arm64/boot/dts/rockchip/rk3568.dtsi
··· 32 32 clocks = <&cru SCLK_GMAC0>, <&cru SCLK_GMAC0_RX_TX>, 33 33 <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_MAC0_REFOUT>, 34 34 <&cru ACLK_GMAC0>, <&cru PCLK_GMAC0>, 35 - <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>, 36 - <&cru PCLK_XPCS>; 35 + <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>; 37 36 clock-names = "stmmaceth", "mac_clk_rx", 38 37 "mac_clk_tx", "clk_mac_refout", 39 38 "aclk_mac", "pclk_mac", 40 - "clk_mac_speed", "ptp_ref", 41 - "pclk_xpcs"; 39 + "clk_mac_speed", "ptp_ref"; 42 40 resets = <&cru SRST_A_GMAC0>; 43 41 reset-names = "stmmaceth"; 44 42 rockchip,grf = <&grf>;
+2 -2
arch/arm64/boot/dts/rockchip/rk356x.dtsi
··· 651 651 status = "disabled"; 652 652 }; 653 653 654 - dmac0: dmac@fe530000 { 654 + dmac0: dma-controller@fe530000 { 655 655 compatible = "arm,pl330", "arm,primecell"; 656 656 reg = <0x0 0xfe530000 0x0 0x4000>; 657 657 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, ··· 662 662 #dma-cells = <1>; 663 663 }; 664 664 665 - dmac1: dmac@fe550000 { 665 + dmac1: dma-controller@fe550000 { 666 666 compatible = "arm,pl330", "arm,primecell"; 667 667 reg = <0x0 0xfe550000 0x0 0x4000>; 668 668 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+1 -2
drivers/clocksource/timer-ti-dm-systimer.c
··· 241 241 bool quirk_unreliable_oscillator = false; 242 242 243 243 /* Quirk unreliable 32 KiHz oscillator with incomplete dts */ 244 - if (of_machine_is_compatible("ti,omap3-beagle-ab4") || 245 - of_machine_is_compatible("timll,omap3-devkit8000")) { 244 + if (of_machine_is_compatible("ti,omap3-beagle-ab4")) { 246 245 quirk_unreliable_oscillator = true; 247 246 counter_32k = -ENODEV; 248 247 }
+1 -1
drivers/firmware/arm_scmi/driver.c
··· 2112 2112 } 2113 2113 module_exit(scmi_driver_exit); 2114 2114 2115 - MODULE_ALIAS("platform: arm-scmi"); 2115 + MODULE_ALIAS("platform:arm-scmi"); 2116 2116 MODULE_AUTHOR("Sudeep Holla <sudeep.holla@arm.com>"); 2117 2117 MODULE_DESCRIPTION("ARM SCMI protocol driver"); 2118 2118 MODULE_LICENSE("GPL v2");
+9 -5
drivers/soc/fsl/guts.c
··· 28 28 static struct guts *guts; 29 29 static struct soc_device_attribute soc_dev_attr; 30 30 static struct soc_device *soc_dev; 31 - static struct device_node *root; 32 31 33 32 34 33 /* SoC die attribute definition for QorIQ platform */ ··· 137 138 138 139 static int fsl_guts_probe(struct platform_device *pdev) 139 140 { 140 - struct device_node *np = pdev->dev.of_node; 141 + struct device_node *root, *np = pdev->dev.of_node; 141 142 struct device *dev = &pdev->dev; 142 143 const struct fsl_soc_die_attr *soc_die; 143 144 const char *machine; ··· 158 159 root = of_find_node_by_path("/"); 159 160 if (of_property_read_string(root, "model", &machine)) 160 161 of_property_read_string_index(root, "compatible", 0, &machine); 161 - if (machine) 162 - soc_dev_attr.machine = machine; 162 + if (machine) { 163 + soc_dev_attr.machine = devm_kstrdup(dev, machine, GFP_KERNEL); 164 + if (!soc_dev_attr.machine) { 165 + of_node_put(root); 166 + return -ENOMEM; 167 + } 168 + } 169 + of_node_put(root); 163 170 164 171 svr = fsl_guts_get_svr(); 165 172 soc_die = fsl_soc_die_match(svr, fsl_soc_die); ··· 200 195 static int fsl_guts_remove(struct platform_device *dev) 201 196 { 202 197 soc_device_unregister(soc_dev); 203 - of_node_put(root); 204 198 return 0; 205 199 } 206 200
+2 -2
drivers/soc/fsl/qe/qe.c
··· 147 147 * memory mapped space. 148 148 * The BRG clock is the QE clock divided by 2. 149 149 * It was set up long ago during the initial boot phase and is 150 - * is given to us. 150 + * given to us. 151 151 * Baud rate clocks are zero-based in the driver code (as that maps 152 152 * to port numbers). Documentation uses 1-based numbering. 153 153 */ ··· 421 421 422 422 for (i = 0; i < be32_to_cpu(ucode->count); i++) 423 423 iowrite32be(be32_to_cpu(code[i]), &qe_immr->iram.idata); 424 - 424 + 425 425 /* Set I-RAM Ready Register */ 426 426 iowrite32be(QE_IRAM_READY, &qe_immr->iram.iready); 427 427 }
+2
drivers/soc/fsl/qe/qe_io.c
··· 35 35 if (ret) 36 36 return ret; 37 37 par_io = ioremap(res.start, resource_size(&res)); 38 + if (!par_io) 39 + return -ENOMEM; 38 40 39 41 if (!of_property_read_u32(np, "num-ports", &num_ports)) 40 42 num_par_io_ports = num_ports;
+2 -1
drivers/soc/imx/gpcv2.c
··· 382 382 return 0; 383 383 384 384 out_clk_disable: 385 - clk_bulk_disable_unprepare(domain->num_clks, domain->clks); 385 + if (!domain->keep_clocks) 386 + clk_bulk_disable_unprepare(domain->num_clks, domain->clks); 386 387 387 388 return ret; 388 389 }
+3 -1
drivers/tee/optee/ffa_abi.c
··· 869 869 optee_supp_init(&optee->supp); 870 870 ffa_dev_set_drvdata(ffa_dev, optee); 871 871 ctx = teedev_open(optee->teedev); 872 - if (IS_ERR(ctx)) 872 + if (IS_ERR(ctx)) { 873 + rc = PTR_ERR(ctx); 873 874 goto err_rhashtable_free; 875 + } 874 876 optee->ctx = ctx; 875 877 rc = optee_notif_init(optee, OPTEE_DEFAULT_MAX_NOTIF_VALUE); 876 878 if (rc)
+3 -1
drivers/tee/optee/smc_abi.c
··· 1417 1417 1418 1418 platform_set_drvdata(pdev, optee); 1419 1419 ctx = teedev_open(optee->teedev); 1420 - if (IS_ERR(ctx)) 1420 + if (IS_ERR(ctx)) { 1421 + rc = PTR_ERR(ctx); 1421 1422 goto err_supp_uninit; 1423 + } 1422 1424 optee->ctx = ctx; 1423 1425 rc = optee_notif_init(optee, max_notif_value); 1424 1426 if (rc)
+2 -1
include/soc/fsl/dpaa2-fd.h
··· 7 7 #ifndef __FSL_DPAA2_FD_H 8 8 #define __FSL_DPAA2_FD_H 9 9 10 - #include <linux/kernel.h> 10 + #include <linux/byteorder/generic.h> 11 + #include <linux/types.h> 11 12 12 13 /** 13 14 * DOC: DPAA2 FD - Frame Descriptor APIs for DPAA2
+2 -1
include/soc/fsl/qe/immap_qe.h
··· 13 13 #define _ASM_POWERPC_IMMAP_QE_H 14 14 #ifdef __KERNEL__ 15 15 16 - #include <linux/kernel.h> 16 + #include <linux/types.h> 17 + 17 18 #include <asm/io.h> 18 19 19 20 #define QE_IMMAP_SIZE (1024 * 1024) /* 1MB from 1MB+IMMR */
+3 -1
include/soc/fsl/qe/qe_tdm.h
··· 10 10 #ifndef _QE_TDM_H_ 11 11 #define _QE_TDM_H_ 12 12 13 - #include <linux/kernel.h> 14 13 #include <linux/list.h> 14 + #include <linux/types.h> 15 15 16 16 #include <soc/fsl/qe/immap_qe.h> 17 17 #include <soc/fsl/qe/qe.h> 18 18 19 19 #include <soc/fsl/qe/ucc.h> 20 20 #include <soc/fsl/qe/ucc_fast.h> 21 + 22 + struct device_node; 21 23 22 24 /* SI RAM entries */ 23 25 #define SIR_LAST 0x0001
+1 -1
include/soc/fsl/qe/ucc_fast.h
··· 10 10 #ifndef __UCC_FAST_H__ 11 11 #define __UCC_FAST_H__ 12 12 13 - #include <linux/kernel.h> 13 + #include <linux/types.h> 14 14 15 15 #include <soc/fsl/qe/immap_qe.h> 16 16 #include <soc/fsl/qe/qe.h>
+1 -1
include/soc/fsl/qe/ucc_slow.h
··· 11 11 #ifndef __UCC_SLOW_H__ 12 12 #define __UCC_SLOW_H__ 13 13 14 - #include <linux/kernel.h> 14 + #include <linux/types.h> 15 15 16 16 #include <soc/fsl/qe/immap_qe.h> 17 17 #include <soc/fsl/qe/qe.h>