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 'mailbox-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox

Pull mailbox updates from Jassi Brar:

- add CMDQ support for mediatek mt8188

- mhuv2: fix channel window status

- qcom: document X1E80100 IPC controller and misc cleanup

- add Versal bindings to xlnx

- Convert to platform remove callback returning void

* tag 'mailbox-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox: (23 commits)
mailbox: mtk-cmdq: Add CMDQ driver support for mt8188
mailbox: mtk-cmdq: Sort cmdq platform data by compatible name
mailbox: mtk-cmdq: Rename gce_plat variable with SoC name postfix
dt-bindings: mailbox: qcom-ipcc: document the X1E80100 Inter-Processor Communication Controller
mailbox: zynqmp-ipi: Convert to platform remove callback returning void
mailbox: tegra-hsp: Convert to platform remove callback returning void
mailbox: sun6i-msgbox: Convert to platform remove callback returning void
mailbox: stm32-ipcc: Convert to platform remove callback returning void
mailbox: qcom-ipcc: Convert to platform remove callback returning void
mailbox: qcom-apcs-ipc: Convert to platform remove callback returning void
mailbox: omap: Convert to platform remove callback returning void
mailbox: mtk-cmdq: Convert to platform remove callback returning void
mailbox: mailbox-test: Convert to platform remove callback returning void
mailbox: imx: Convert to platform remove callback returning void
mailbox: bcm-pdc: Convert to platform remove callback returning void
mailbox: bcm-flexrm: Convert to platform remove callback returning void
mailbox: zynqmp-ipi: fix an Excess struct member kernel-doc warning
dt-bindings: mailbox: add Versal IPI bindings
dt-bindings: mailbox: zynqmp: extend required list
mailbox: arm_mhuv2: Fix a bug for mhuv2_sender_interrupt
...

+231 -114
+43 -19
Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
··· 25 25 - const: qcom,ipq6018-apcs-apps-global 26 26 - items: 27 27 - enum: 28 + - qcom,qcs404-apcs-apps-global 29 + - const: qcom,msm8916-apcs-kpss-global 30 + - const: syscon 31 + - items: 32 + - enum: 33 + - qcom,msm8976-apcs-kpss-global 34 + - const: qcom,msm8994-apcs-kpss-global 35 + - const: syscon 36 + - items: 37 + - enum: 38 + - qcom,msm8998-apcs-hmss-global 39 + - qcom,sdm660-apcs-hmss-global 40 + - qcom,sm4250-apcs-hmss-global 41 + - qcom,sm6115-apcs-hmss-global 42 + - qcom,sm6125-apcs-hmss-global 43 + - const: qcom,msm8994-apcs-kpss-global 44 + - items: 45 + - enum: 28 46 - qcom,sc7180-apss-shared 29 47 - qcom,sc8180x-apss-shared 30 48 - qcom,sm8150-apss-shared ··· 52 34 - qcom,msm8916-apcs-kpss-global 53 35 - qcom,msm8939-apcs-kpss-global 54 36 - qcom,msm8953-apcs-kpss-global 55 - - qcom,msm8976-apcs-kpss-global 56 37 - qcom,msm8994-apcs-kpss-global 57 - - qcom,qcs404-apcs-apps-global 58 38 - qcom,sdx55-apcs-gcc 59 39 - const: syscon 60 40 - enum: 61 41 - qcom,ipq6018-apcs-apps-global 62 - - qcom,ipq8074-apcs-apps-global 63 42 - qcom,msm8996-apcs-hmss-global 64 - - qcom,msm8998-apcs-hmss-global 65 43 - qcom,qcm2290-apcs-hmss-global 66 - - qcom,sdm660-apcs-hmss-global 67 44 - qcom,sdm845-apss-shared 68 - - qcom,sm4250-apcs-hmss-global 69 - - qcom,sm6115-apcs-hmss-global 70 - - qcom,sm6125-apcs-hmss-global 71 45 72 46 reg: 73 47 maxItems: 1 ··· 90 80 - if: 91 81 properties: 92 82 compatible: 93 - enum: 94 - - qcom,msm8916-apcs-kpss-global 95 - - qcom,msm8939-apcs-kpss-global 96 - - qcom,qcs404-apcs-apps-global 83 + contains: 84 + enum: 85 + - qcom,msm8916-apcs-kpss-global 97 86 then: 98 87 properties: 99 88 clocks: ··· 103 94 items: 104 95 - const: pll 105 96 - const: aux 97 + 98 + - if: 99 + properties: 100 + compatible: 101 + contains: 102 + enum: 103 + - qcom,msm8939-apcs-kpss-global 104 + then: 105 + properties: 106 + clocks: 107 + items: 108 + - description: primary pll parent of the clock driver 109 + - description: auxiliary parent 110 + - description: reference clock 111 + clock-names: 112 + items: 113 + - const: pll 114 + - const: aux 115 + - const: ref 106 116 107 117 - if: 108 118 properties: ··· 141 113 - const: ref 142 114 - const: pll 143 115 - const: aux 116 + 144 117 - if: 145 118 properties: 146 119 compatible: ··· 166 137 compatible: 167 138 enum: 168 139 - qcom,msm8953-apcs-kpss-global 169 - - qcom,msm8976-apcs-kpss-global 170 140 - qcom,msm8994-apcs-kpss-global 171 141 - qcom,msm8996-apcs-hmss-global 172 - - qcom,msm8998-apcs-hmss-global 173 142 - qcom,qcm2290-apcs-hmss-global 174 - - qcom,sdm660-apcs-hmss-global 175 143 - qcom,sdm845-apss-shared 176 - - qcom,sm4250-apcs-hmss-global 177 - - qcom,sm6115-apcs-hmss-global 178 - - qcom,sm6125-apcs-hmss-global 179 144 then: 180 145 properties: 181 146 clocks: false ··· 215 192 #define GCC_APSS_AHB_CLK_SRC 1 216 193 #define GCC_GPLL0_AO_OUT_MAIN 123 217 194 apcs: mailbox@b011000 { 218 - compatible = "qcom,qcs404-apcs-apps-global", "syscon"; 195 + compatible = "qcom,qcs404-apcs-apps-global", 196 + "qcom,msm8916-apcs-kpss-global", "syscon"; 219 197 reg = <0x0b011000 0x1000>; 220 198 #mbox-cells = <1>; 221 199 clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
+1
Documentation/devicetree/bindings/mailbox/qcom-ipcc.yaml
··· 35 35 - qcom,sm8450-ipcc 36 36 - qcom,sm8550-ipcc 37 37 - qcom,sm8650-ipcc 38 + - qcom,x1e80100-ipcc 38 39 - const: qcom,ipcc 39 40 40 41 reg:
+118 -12
Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
··· 37 37 38 38 properties: 39 39 compatible: 40 - const: xlnx,zynqmp-ipi-mailbox 40 + enum: 41 + - xlnx,zynqmp-ipi-mailbox 42 + - xlnx,versal-ipi-mailbox 41 43 42 44 method: 43 45 description: | ··· 60 58 '#size-cells': 61 59 const: 2 62 60 61 + reg: 62 + maxItems: 2 63 + 64 + reg-names: 65 + maxItems: 2 66 + 63 67 xlnx,ipi-id: 64 68 description: | 65 69 Remote Xilinx IPI agent ID of which the mailbox is connected to. ··· 84 76 properties: 85 77 86 78 compatible: 87 - const: xlnx,zynqmp-ipi-dest-mailbox 79 + enum: 80 + - xlnx,zynqmp-ipi-dest-mailbox 81 + - xlnx,versal-ipi-dest-mailbox 82 + 83 + reg: 84 + minItems: 1 85 + maxItems: 4 86 + 87 + reg-names: 88 + minItems: 1 89 + maxItems: 4 88 90 89 91 xlnx,ipi-id: 90 92 description: ··· 106 88 description: 107 89 It contains tx(0) or rx(1) channel IPI id number. 108 90 109 - reg: 110 - maxItems: 4 91 + allOf: 92 + - if: 93 + properties: 94 + compatible: 95 + contains: 96 + enum: 97 + - xlnx,zynqmp-ipi-dest-mailbox 98 + then: 99 + properties: 100 + reg: 101 + maxItems: 4 111 102 112 - reg-names: 113 - items: 114 - - const: local_request_region 115 - - const: local_response_region 116 - - const: remote_request_region 117 - - const: remote_response_region 103 + reg-names: 104 + items: 105 + - const: local_request_region 106 + - const: local_response_region 107 + - const: remote_request_region 108 + - const: remote_response_region 109 + else: 110 + properties: 111 + reg: 112 + minItems: 1 113 + items: 114 + - description: Remote IPI agent control register region 115 + - description: Remote IPI agent optional message buffers 116 + 117 + reg-names: 118 + minItems: 1 119 + items: 120 + - const: ctrl 121 + - const: msg 118 122 119 123 required: 120 124 - compatible 121 125 - reg 122 126 - reg-names 123 127 - "#mbox-cells" 124 - 125 - additionalProperties: false 128 + - xlnx,ipi-id 126 129 127 130 required: 128 131 - compatible ··· 151 112 - '#address-cells' 152 113 - '#size-cells' 153 114 - xlnx,ipi-id 115 + 116 + allOf: 117 + - if: 118 + properties: 119 + compatible: 120 + contains: 121 + enum: 122 + - xlnx,zynqmp-ipi-mailbox 123 + then: 124 + properties: 125 + reg: false 126 + reg-names: false 127 + 128 + else: 129 + properties: 130 + reg: 131 + items: 132 + - description: Host IPI agent control register region 133 + - description: Host IPI agent optional message buffers 134 + 135 + reg-names: 136 + items: 137 + - const: ctrl 138 + - const: msg 139 + 140 + required: 141 + - reg 142 + - reg-names 143 + 144 + additionalProperties: false 154 145 155 146 examples: 156 147 - | ··· 213 144 }; 214 145 }; 215 146 147 + - | 148 + #include<dt-bindings/interrupt-controller/arm-gic.h> 149 + 150 + bus { 151 + #address-cells = <2>; 152 + #size-cells = <2>; 153 + mailbox@ff300000 { 154 + compatible = "xlnx,versal-ipi-mailbox"; 155 + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 156 + #address-cells = <2>; 157 + #size-cells = <2>; 158 + reg = <0x0 0xff300000 0x0 0x1000>, 159 + <0x0 0xff990000 0x0 0x1ff>; 160 + reg-names = "ctrl", "msg"; 161 + xlnx,ipi-id = <0>; 162 + ranges; 163 + 164 + /* buffered IPI */ 165 + mailbox@ff340000 { 166 + compatible = "xlnx,versal-ipi-dest-mailbox"; 167 + reg = <0x0 0xff340000 0x0 0x1000>, 168 + <0x0 0xff990400 0x0 0x1ff>; 169 + reg-names = "ctrl", "msg"; 170 + #mbox-cells = <1>; 171 + xlnx,ipi-id = <4>; 172 + }; 173 + 174 + /* bufferless IPI */ 175 + mailbox@ff370000 { 176 + compatible = "xlnx,versal-ipi-dest-mailbox"; 177 + reg = <0x0 0xff370000 0x0 0x1000>; 178 + reg-names = "ctrl"; 179 + #mbox-cells = <1>; 180 + xlnx,ipi-id = <7>; 181 + }; 182 + }; 183 + }; 216 184 ...
+2 -1
drivers/mailbox/arm_mhuv2.c
··· 553 553 priv = chan->con_priv; 554 554 555 555 if (!IS_PROTOCOL_DOORBELL(priv)) { 556 - writel_relaxed(1, &mhu->send->ch_wn[priv->ch_wn_idx + priv->windows - 1].int_clr); 556 + for (i = 0; i < priv->windows; i++) 557 + writel_relaxed(1, &mhu->send->ch_wn[priv->ch_wn_idx + i].int_clr); 557 558 558 559 if (chan->cl) { 559 560 mbox_chan_txdone(chan, 0);
+2 -4
drivers/mailbox/bcm-flexrm-mailbox.c
··· 1650 1650 return ret; 1651 1651 } 1652 1652 1653 - static int flexrm_mbox_remove(struct platform_device *pdev) 1653 + static void flexrm_mbox_remove(struct platform_device *pdev) 1654 1654 { 1655 1655 struct device *dev = &pdev->dev; 1656 1656 struct flexrm_mbox *mbox = platform_get_drvdata(pdev); ··· 1661 1661 1662 1662 dma_pool_destroy(mbox->cmpl_pool); 1663 1663 dma_pool_destroy(mbox->bd_pool); 1664 - 1665 - return 0; 1666 1664 } 1667 1665 1668 1666 static const struct of_device_id flexrm_mbox_of_match[] = { ··· 1675 1677 .of_match_table = flexrm_mbox_of_match, 1676 1678 }, 1677 1679 .probe = flexrm_mbox_probe, 1678 - .remove = flexrm_mbox_remove, 1680 + .remove_new = flexrm_mbox_remove, 1679 1681 }; 1680 1682 module_platform_driver(flexrm_mbox_driver); 1681 1683
+2 -3
drivers/mailbox/bcm-pdc-mailbox.c
··· 1605 1605 return err; 1606 1606 } 1607 1607 1608 - static int pdc_remove(struct platform_device *pdev) 1608 + static void pdc_remove(struct platform_device *pdev) 1609 1609 { 1610 1610 struct pdc_state *pdcs = platform_get_drvdata(pdev); 1611 1611 ··· 1617 1617 1618 1618 dma_pool_destroy(pdcs->rx_buf_pool); 1619 1619 dma_pool_destroy(pdcs->ring_pool); 1620 - return 0; 1621 1620 } 1622 1621 1623 1622 static struct platform_driver pdc_mbox_driver = { 1624 1623 .probe = pdc_probe, 1625 - .remove = pdc_remove, 1624 + .remove_new = pdc_remove, 1626 1625 .driver = { 1627 1626 .name = "brcm-iproc-pdc-mbox", 1628 1627 .of_match_table = pdc_mbox_of_match,
+2 -4
drivers/mailbox/imx-mailbox.c
··· 903 903 return ret; 904 904 } 905 905 906 - static int imx_mu_remove(struct platform_device *pdev) 906 + static void imx_mu_remove(struct platform_device *pdev) 907 907 { 908 908 struct imx_mu_priv *priv = platform_get_drvdata(pdev); 909 909 910 910 pm_runtime_disable(priv->dev); 911 - 912 - return 0; 913 911 } 914 912 915 913 static const struct imx_mu_dcfg imx_mu_cfg_imx6sx = { ··· 1068 1070 1069 1071 static struct platform_driver imx_mu_driver = { 1070 1072 .probe = imx_mu_probe, 1071 - .remove = imx_mu_remove, 1073 + .remove_new = imx_mu_remove, 1072 1074 .driver = { 1073 1075 .name = "imx_mu", 1074 1076 .of_match_table = imx_mu_dt_ids,
+2 -4
drivers/mailbox/mailbox-test.c
··· 418 418 return 0; 419 419 } 420 420 421 - static int mbox_test_remove(struct platform_device *pdev) 421 + static void mbox_test_remove(struct platform_device *pdev) 422 422 { 423 423 struct mbox_test_device *tdev = platform_get_drvdata(pdev); 424 424 ··· 428 428 mbox_free_channel(tdev->tx_channel); 429 429 if (tdev->rx_channel) 430 430 mbox_free_channel(tdev->rx_channel); 431 - 432 - return 0; 433 431 } 434 432 435 433 static const struct of_device_id mbox_test_match[] = { ··· 442 444 .of_match_table = mbox_test_match, 443 445 }, 444 446 .probe = mbox_test_probe, 445 - .remove = mbox_test_remove, 447 + .remove_new = mbox_test_remove, 446 448 }; 447 449 module_platform_driver(mbox_test_driver); 448 450
+40 -33
drivers/mailbox/mtk-cmdq-mailbox.c
··· 367 367 return 0; 368 368 } 369 369 370 - static int cmdq_remove(struct platform_device *pdev) 370 + static void cmdq_remove(struct platform_device *pdev) 371 371 { 372 372 struct cmdq *cmdq = platform_get_drvdata(pdev); 373 373 ··· 378 378 cmdq_runtime_suspend(&pdev->dev); 379 379 380 380 clk_bulk_unprepare(cmdq->pdata->gce_num, cmdq->clocks); 381 - return 0; 382 381 } 383 382 384 383 static int cmdq_mbox_send_data(struct mbox_chan *chan, void *data) ··· 705 706 cmdq_runtime_resume, NULL) 706 707 }; 707 708 708 - static const struct gce_plat gce_plat_v2 = { 709 + static const struct gce_plat gce_plat_mt6779 = { 710 + .thread_nr = 24, 711 + .shift = 3, 712 + .control_by_sw = false, 713 + .gce_num = 1 714 + }; 715 + 716 + static const struct gce_plat gce_plat_mt8173 = { 709 717 .thread_nr = 16, 710 718 .shift = 0, 711 719 .control_by_sw = false, 712 720 .gce_num = 1 713 721 }; 714 722 715 - static const struct gce_plat gce_plat_v3 = { 723 + static const struct gce_plat gce_plat_mt8183 = { 716 724 .thread_nr = 24, 717 725 .shift = 0, 718 726 .control_by_sw = false, 719 727 .gce_num = 1 720 728 }; 721 729 722 - static const struct gce_plat gce_plat_v4 = { 723 - .thread_nr = 24, 724 - .shift = 3, 725 - .control_by_sw = false, 726 - .gce_num = 1 727 - }; 728 - 729 - static const struct gce_plat gce_plat_v5 = { 730 - .thread_nr = 24, 731 - .shift = 3, 732 - .control_by_sw = true, 733 - .gce_num = 1 734 - }; 735 - 736 - static const struct gce_plat gce_plat_v6 = { 737 - .thread_nr = 24, 738 - .shift = 3, 739 - .control_by_sw = true, 740 - .gce_num = 2 741 - }; 742 - 743 - static const struct gce_plat gce_plat_v7 = { 730 + static const struct gce_plat gce_plat_mt8186 = { 744 731 .thread_nr = 24, 745 732 .shift = 3, 746 733 .control_by_sw = true, ··· 734 749 .gce_num = 1 735 750 }; 736 751 752 + static const struct gce_plat gce_plat_mt8188 = { 753 + .thread_nr = 32, 754 + .shift = 3, 755 + .control_by_sw = true, 756 + .gce_num = 2 757 + }; 758 + 759 + static const struct gce_plat gce_plat_mt8192 = { 760 + .thread_nr = 24, 761 + .shift = 3, 762 + .control_by_sw = true, 763 + .gce_num = 1 764 + }; 765 + 766 + static const struct gce_plat gce_plat_mt8195 = { 767 + .thread_nr = 24, 768 + .shift = 3, 769 + .control_by_sw = true, 770 + .gce_num = 2 771 + }; 772 + 737 773 static const struct of_device_id cmdq_of_ids[] = { 738 - {.compatible = "mediatek,mt8173-gce", .data = (void *)&gce_plat_v2}, 739 - {.compatible = "mediatek,mt8183-gce", .data = (void *)&gce_plat_v3}, 740 - {.compatible = "mediatek,mt8186-gce", .data = (void *)&gce_plat_v7}, 741 - {.compatible = "mediatek,mt6779-gce", .data = (void *)&gce_plat_v4}, 742 - {.compatible = "mediatek,mt8192-gce", .data = (void *)&gce_plat_v5}, 743 - {.compatible = "mediatek,mt8195-gce", .data = (void *)&gce_plat_v6}, 774 + {.compatible = "mediatek,mt6779-gce", .data = (void *)&gce_plat_mt6779}, 775 + {.compatible = "mediatek,mt8173-gce", .data = (void *)&gce_plat_mt8173}, 776 + {.compatible = "mediatek,mt8183-gce", .data = (void *)&gce_plat_mt8183}, 777 + {.compatible = "mediatek,mt8186-gce", .data = (void *)&gce_plat_mt8186}, 778 + {.compatible = "mediatek,mt8188-gce", .data = (void *)&gce_plat_mt8188}, 779 + {.compatible = "mediatek,mt8192-gce", .data = (void *)&gce_plat_mt8192}, 780 + {.compatible = "mediatek,mt8195-gce", .data = (void *)&gce_plat_mt8195}, 744 781 {} 745 782 }; 746 783 747 784 static struct platform_driver cmdq_drv = { 748 785 .probe = cmdq_probe, 749 - .remove = cmdq_remove, 786 + .remove_new = cmdq_remove, 750 787 .driver = { 751 788 .name = "mtk_cmdq", 752 789 .pm = &cmdq_pm_ops,
+2 -4
drivers/mailbox/omap-mailbox.c
··· 865 865 return ret; 866 866 } 867 867 868 - static int omap_mbox_remove(struct platform_device *pdev) 868 + static void omap_mbox_remove(struct platform_device *pdev) 869 869 { 870 870 struct omap_mbox_device *mdev = platform_get_drvdata(pdev); 871 871 872 872 pm_runtime_disable(mdev->dev); 873 873 omap_mbox_unregister(mdev); 874 - 875 - return 0; 876 874 } 877 875 878 876 static struct platform_driver omap_mbox_driver = { 879 877 .probe = omap_mbox_probe, 880 - .remove = omap_mbox_remove, 878 + .remove_new = omap_mbox_remove, 881 879 .driver = { 882 880 .name = "omap-mailbox", 883 881 .pm = &omap_mbox_pm_ops,
+7 -9
drivers/mailbox/qcom-apcs-ipc-mailbox.c
··· 129 129 return 0; 130 130 } 131 131 132 - static int qcom_apcs_ipc_remove(struct platform_device *pdev) 132 + static void qcom_apcs_ipc_remove(struct platform_device *pdev) 133 133 { 134 134 struct qcom_apcs_ipc *apcs = platform_get_drvdata(pdev); 135 135 struct platform_device *clk = apcs->clk; 136 136 137 137 platform_device_unregister(clk); 138 - 139 - return 0; 140 138 } 141 139 142 140 /* .data is the offset of the ipc register within the global block */ ··· 143 145 { .compatible = "qcom,msm8916-apcs-kpss-global", .data = &msm8916_apcs_data }, 144 146 { .compatible = "qcom,msm8939-apcs-kpss-global", .data = &msm8916_apcs_data }, 145 147 { .compatible = "qcom,msm8953-apcs-kpss-global", .data = &msm8994_apcs_data }, 146 - { .compatible = "qcom,msm8976-apcs-kpss-global", .data = &msm8994_apcs_data }, 147 148 { .compatible = "qcom,msm8994-apcs-kpss-global", .data = &msm8994_apcs_data }, 148 149 { .compatible = "qcom,msm8996-apcs-hmss-global", .data = &msm8996_apcs_data }, 149 - { .compatible = "qcom,msm8998-apcs-hmss-global", .data = &msm8994_apcs_data }, 150 150 { .compatible = "qcom,qcm2290-apcs-hmss-global", .data = &msm8994_apcs_data }, 151 + { .compatible = "qcom,sdm845-apss-shared", .data = &apps_shared_apcs_data }, 152 + { .compatible = "qcom,sdx55-apcs-gcc", .data = &sdx55_apcs_data }, 153 + /* Do not add any more entries using existing driver data */ 154 + { .compatible = "qcom,msm8976-apcs-kpss-global", .data = &msm8994_apcs_data }, 155 + { .compatible = "qcom,msm8998-apcs-hmss-global", .data = &msm8994_apcs_data }, 151 156 { .compatible = "qcom,qcs404-apcs-apps-global", .data = &msm8916_apcs_data }, 152 157 { .compatible = "qcom,sdm660-apcs-hmss-global", .data = &msm8994_apcs_data }, 153 - { .compatible = "qcom,sdm845-apss-shared", .data = &apps_shared_apcs_data }, 154 158 { .compatible = "qcom,sm4250-apcs-hmss-global", .data = &msm8994_apcs_data }, 155 159 { .compatible = "qcom,sm6125-apcs-hmss-global", .data = &msm8994_apcs_data }, 156 160 { .compatible = "qcom,sm6115-apcs-hmss-global", .data = &msm8994_apcs_data }, 157 - { .compatible = "qcom,sdx55-apcs-gcc", .data = &sdx55_apcs_data }, 158 - /* Do not add any more entries using existing driver data */ 159 161 { .compatible = "qcom,ipq5332-apcs-apps-global", .data = &ipq6018_apcs_data }, 160 162 { .compatible = "qcom,ipq8074-apcs-apps-global", .data = &ipq6018_apcs_data }, 161 163 { .compatible = "qcom,sc7180-apss-shared", .data = &apps_shared_apcs_data }, ··· 167 169 168 170 static struct platform_driver qcom_apcs_ipc_driver = { 169 171 .probe = qcom_apcs_ipc_probe, 170 - .remove = qcom_apcs_ipc_remove, 172 + .remove_new = qcom_apcs_ipc_remove, 171 173 .driver = { 172 174 .name = "qcom_apcs_ipc", 173 175 .of_match_table = qcom_apcs_ipc_of_match,
+2 -4
drivers/mailbox/qcom-ipcc.c
··· 326 326 return ret; 327 327 } 328 328 329 - static int qcom_ipcc_remove(struct platform_device *pdev) 329 + static void qcom_ipcc_remove(struct platform_device *pdev) 330 330 { 331 331 struct qcom_ipcc *ipcc = platform_get_drvdata(pdev); 332 332 333 333 disable_irq_wake(ipcc->irq); 334 334 irq_domain_remove(ipcc->irq_domain); 335 - 336 - return 0; 337 335 } 338 336 339 337 static const struct of_device_id qcom_ipcc_of_match[] = { ··· 346 348 347 349 static struct platform_driver qcom_ipcc_driver = { 348 350 .probe = qcom_ipcc_probe, 349 - .remove = qcom_ipcc_remove, 351 + .remove_new = qcom_ipcc_remove, 350 352 .driver = { 351 353 .name = "qcom-ipcc", 352 354 .of_match_table = qcom_ipcc_of_match,
+2 -4
drivers/mailbox/stm32-ipcc.c
··· 331 331 return ret; 332 332 } 333 333 334 - static int stm32_ipcc_remove(struct platform_device *pdev) 334 + static void stm32_ipcc_remove(struct platform_device *pdev) 335 335 { 336 336 struct device *dev = &pdev->dev; 337 337 ··· 339 339 dev_pm_clear_wake_irq(&pdev->dev); 340 340 341 341 device_set_wakeup_capable(dev, false); 342 - 343 - return 0; 344 342 } 345 343 346 344 #ifdef CONFIG_PM_SLEEP ··· 379 381 .of_match_table = stm32_ipcc_of_match, 380 382 }, 381 383 .probe = stm32_ipcc_probe, 382 - .remove = stm32_ipcc_remove, 384 + .remove_new = stm32_ipcc_remove, 383 385 }; 384 386 385 387 module_platform_driver(stm32_ipcc_driver);
+2 -4
drivers/mailbox/sun6i-msgbox.c
··· 287 287 return ret; 288 288 } 289 289 290 - static int sun6i_msgbox_remove(struct platform_device *pdev) 290 + static void sun6i_msgbox_remove(struct platform_device *pdev) 291 291 { 292 292 struct sun6i_msgbox *mbox = platform_get_drvdata(pdev); 293 293 294 294 mbox_controller_unregister(&mbox->controller); 295 295 /* See the comment in sun6i_msgbox_probe about the reset line. */ 296 296 clk_disable_unprepare(mbox->clk); 297 - 298 - return 0; 299 297 } 300 298 301 299 static const struct of_device_id sun6i_msgbox_of_match[] = { ··· 308 310 .of_match_table = sun6i_msgbox_of_match, 309 311 }, 310 312 .probe = sun6i_msgbox_probe, 311 - .remove = sun6i_msgbox_remove, 313 + .remove_new = sun6i_msgbox_remove, 312 314 }; 313 315 module_platform_driver(sun6i_msgbox_driver); 314 316
+2 -4
drivers/mailbox/tegra-hsp.c
··· 868 868 return 0; 869 869 } 870 870 871 - static int tegra_hsp_remove(struct platform_device *pdev) 871 + static void tegra_hsp_remove(struct platform_device *pdev) 872 872 { 873 873 struct tegra_hsp *hsp = platform_get_drvdata(pdev); 874 874 875 875 lockdep_unregister_key(&hsp->lock_key); 876 - 877 - return 0; 878 876 } 879 877 880 878 static int __maybe_unused tegra_hsp_resume(struct device *dev) ··· 951 953 .pm = &tegra_hsp_pm_ops, 952 954 }, 953 955 .probe = tegra_hsp_probe, 954 - .remove = tegra_hsp_remove, 956 + .remove_new = tegra_hsp_remove, 955 957 }; 956 958 957 959 static int __init tegra_hsp_init(void)
+2 -5
drivers/mailbox/zynqmp-ipi-mailbox.c
··· 81 81 * @remote_id: remote IPI agent ID 82 82 * @mbox: mailbox Controller 83 83 * @mchans: array for channels, tx channel and rx channel. 84 - * @irq: IPI agent interrupt ID 85 84 */ 86 85 struct zynqmp_ipi_mbox { 87 86 struct zynqmp_ipi_pdata *pdata; ··· 687 688 return ret; 688 689 } 689 690 690 - static int zynqmp_ipi_remove(struct platform_device *pdev) 691 + static void zynqmp_ipi_remove(struct platform_device *pdev) 691 692 { 692 693 struct zynqmp_ipi_pdata *pdata; 693 694 694 695 pdata = platform_get_drvdata(pdev); 695 696 zynqmp_ipi_free_mboxes(pdata); 696 - 697 - return 0; 698 697 } 699 698 700 699 static struct platform_driver zynqmp_ipi_driver = { 701 700 .probe = zynqmp_ipi_probe, 702 - .remove = zynqmp_ipi_remove, 701 + .remove_new = zynqmp_ipi_remove, 703 702 .driver = { 704 703 .name = "zynqmp-ipi", 705 704 .of_match_table = of_match_ptr(zynqmp_ipi_of_match),