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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'phy-fixes-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy

Pull phy fixes from Vinod Koul:

- binding fix for g12a phys

- Kconfig operator precedence for TI driver

- renesas: register setting

- sunplus: null deref fix

- rockchip-inno fix for clk_disable_unprepare()

- MDM9607 init sequence revert due to regression

* tag 'phy-fixes-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
phy: phy-can-transceiver: Skip warning if no "max-bitrate"
dt-bindings: phy: g12a-usb2-phy: fix compatible string documentation
dt-bindings: phy: g12a-usb3-pcie-phy: fix compatible string documentation
phy: freescale: imx8m-pcie: Add one missing error return
phy: Revert "phy: qualcomm: usb28nm: Add MDM9607 init sequence"
phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on()
phy: renesas: r8a779f0-eth-serdes: Fix register setting
phy: usb: sunplus: Fix potential null-ptr-deref in sp_usb_phy_probe()
phy: ti: fix Kconfig warning and operator precedence

+20 -28
+4 -4
Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb2-phy.yaml Documentation/devicetree/bindings/phy/amlogic,g12a-usb2-phy.yaml
··· 2 2 # Copyright 2019 BayLibre, SAS 3 3 %YAML 1.2 4 4 --- 5 - $id: "http://devicetree.org/schemas/phy/amlogic,meson-g12a-usb2-phy.yaml#" 5 + $id: "http://devicetree.org/schemas/phy/amlogic,g12a-usb2-phy.yaml#" 6 6 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 7 8 8 title: Amlogic G12A USB2 PHY ··· 13 13 properties: 14 14 compatible: 15 15 enum: 16 - - amlogic,meson-g12a-usb2-phy 17 - - amlogic,meson-a1-usb2-phy 16 + - amlogic,g12a-usb2-phy 17 + - amlogic,a1-usb2-phy 18 18 19 19 reg: 20 20 maxItems: 1 ··· 68 68 examples: 69 69 - | 70 70 phy@36000 { 71 - compatible = "amlogic,meson-g12a-usb2-phy"; 71 + compatible = "amlogic,g12a-usb2-phy"; 72 72 reg = <0x36000 0x2000>; 73 73 clocks = <&xtal>; 74 74 clock-names = "xtal";
+3 -3
Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml Documentation/devicetree/bindings/phy/amlogic,g12a-usb3-pcie-phy.yaml
··· 2 2 # Copyright 2019 BayLibre, SAS 3 3 %YAML 1.2 4 4 --- 5 - $id: "http://devicetree.org/schemas/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml#" 5 + $id: "http://devicetree.org/schemas/phy/amlogic,g12a-usb3-pcie-phy.yaml#" 6 6 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 7 8 8 title: Amlogic G12A USB3 + PCIE Combo PHY ··· 13 13 properties: 14 14 compatible: 15 15 enum: 16 - - amlogic,meson-g12a-usb3-pcie-phy 16 + - amlogic,g12a-usb3-pcie-phy 17 17 18 18 reg: 19 19 maxItems: 1 ··· 49 49 examples: 50 50 - | 51 51 phy@46000 { 52 - compatible = "amlogic,meson-g12a-usb3-pcie-phy"; 52 + compatible = "amlogic,g12a-usb3-pcie-phy"; 53 53 reg = <0x46000 0x2000>; 54 54 clocks = <&ref_clk>; 55 55 clock-names = "ref_clk";
-1
Documentation/devicetree/bindings/phy/qcom,usb-hs-28nm.yaml
··· 16 16 compatible: 17 17 enum: 18 18 - qcom,usb-hs-28nm-femtophy 19 - - qcom,usb-hs-28nm-mdm9607 20 19 21 20 reg: 22 21 maxItems: 1
+1 -1
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
··· 255 255 imx8_phy->perst = 256 256 devm_reset_control_get_exclusive(dev, "perst"); 257 257 if (IS_ERR(imx8_phy->perst)) 258 - dev_err_probe(dev, PTR_ERR(imx8_phy->perst), 258 + return dev_err_probe(dev, PTR_ERR(imx8_phy->perst), 259 259 "Failed to get PCIE PHY PERST control\n"); 260 260 } 261 261
+3 -2
drivers/phy/phy-can-transceiver.c
··· 99 99 struct gpio_desc *standby_gpio; 100 100 struct gpio_desc *enable_gpio; 101 101 u32 max_bitrate = 0; 102 + int err; 102 103 103 104 can_transceiver_phy = devm_kzalloc(dev, sizeof(struct can_transceiver_phy), GFP_KERNEL); 104 105 if (!can_transceiver_phy) ··· 125 124 return PTR_ERR(phy); 126 125 } 127 126 128 - device_property_read_u32(dev, "max-bitrate", &max_bitrate); 129 - if (!max_bitrate) 127 + err = device_property_read_u32(dev, "max-bitrate", &max_bitrate); 128 + if ((err != -EINVAL) && !max_bitrate) 130 129 dev_warn(dev, "Invalid value for transceiver max bitrate. Ignoring bitrate limit\n"); 131 130 phy->attrs.max_link_rate = max_bitrate; 132 131
-13
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
··· 401 401 HSPHY_INIT_CFG(0x90, 0x60, 0), 402 402 }; 403 403 404 - static const struct hsphy_init_seq init_seq_mdm9607[] = { 405 - HSPHY_INIT_CFG(0x80, 0x44, 0), 406 - HSPHY_INIT_CFG(0x81, 0x38, 0), 407 - HSPHY_INIT_CFG(0x82, 0x24, 0), 408 - HSPHY_INIT_CFG(0x83, 0x13, 0), 409 - }; 410 - 411 404 static const struct hsphy_data hsphy_data_femtophy = { 412 405 .init_seq = init_seq_femtophy, 413 406 .init_seq_num = ARRAY_SIZE(init_seq_femtophy), 414 407 }; 415 408 416 - static const struct hsphy_data hsphy_data_mdm9607 = { 417 - .init_seq = init_seq_mdm9607, 418 - .init_seq_num = ARRAY_SIZE(init_seq_mdm9607), 419 - }; 420 - 421 409 static const struct of_device_id qcom_snps_hsphy_match[] = { 422 410 { .compatible = "qcom,usb-hs-28nm-femtophy", .data = &hsphy_data_femtophy, }, 423 - { .compatible = "qcom,usb-hs-28nm-mdm9607", .data = &hsphy_data_mdm9607, }, 424 411 { }, 425 412 }; 426 413 MODULE_DEVICE_TABLE(of, qcom_snps_hsphy_match);
+1 -1
drivers/phy/renesas/r8a779f0-ether-serdes.c
··· 126 126 r8a779f0_eth_serdes_write32(channel->addr, 0x0160, 0x180, 0x0007); 127 127 r8a779f0_eth_serdes_write32(channel->addr, 0x01ac, 0x180, 0x0000); 128 128 r8a779f0_eth_serdes_write32(channel->addr, 0x00c4, 0x180, 0x0310); 129 - r8a779f0_eth_serdes_write32(channel->addr, 0x00c8, 0x380, 0x0101); 129 + r8a779f0_eth_serdes_write32(channel->addr, 0x00c8, 0x180, 0x0101); 130 130 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x00c8, 0x0180, BIT(0), 0); 131 131 if (ret) 132 132 return ret;
+3 -1
drivers/phy/rockchip/phy-rockchip-inno-usb2.c
··· 485 485 return ret; 486 486 487 487 ret = property_enable(base, &rport->port_cfg->phy_sus, false); 488 - if (ret) 488 + if (ret) { 489 + clk_disable_unprepare(rphy->clk480m); 489 490 return ret; 491 + } 490 492 491 493 /* waiting for the utmi_clk to become stable */ 492 494 usleep_range(1500, 2000);
+3
drivers/phy/sunplus/phy-sunplus-usb2.c
··· 254 254 return PTR_ERR(usbphy->phy_regs); 255 255 256 256 usbphy->moon4_res_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, "moon4"); 257 + if (!usbphy->moon4_res_mem) 258 + return -EINVAL; 259 + 257 260 usbphy->moon4_regs = devm_ioremap(&pdev->dev, usbphy->moon4_res_mem->start, 258 261 resource_size(usbphy->moon4_res_mem)); 259 262 if (!usbphy->moon4_regs)
+2 -2
drivers/phy/ti/Kconfig
··· 23 23 24 24 config PHY_AM654_SERDES 25 25 tristate "TI AM654 SERDES support" 26 - depends on OF && ARCH_K3 || COMPILE_TEST 26 + depends on OF && (ARCH_K3 || COMPILE_TEST) 27 27 depends on COMMON_CLK 28 28 select GENERIC_PHY 29 29 select MULTIPLEXER ··· 35 35 36 36 config PHY_J721E_WIZ 37 37 tristate "TI J721E WIZ (SERDES Wrapper) support" 38 - depends on OF && ARCH_K3 || COMPILE_TEST 38 + depends on OF && (ARCH_K3 || COMPILE_TEST) 39 39 depends on HAS_IOMEM && OF_ADDRESS 40 40 depends on COMMON_CLK 41 41 select GENERIC_PHY