| From 85c395481162a95aaaf22634decae73f286be1cc Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 22 Jun 2021 08:39:18 +0800 |
| Subject: mailbox: qcom: Use PLATFORM_DEVID_AUTO to register platform device |
| |
| From: Shawn Guo <shawn.guo@linaro.org> |
| |
| [ Upstream commit 96e39e95c01283ff5695dafe659df88ada802159 ] |
| |
| In adding APCS clock support for MSM8939, the second clock registration |
| fails due to duplicate device name like below. |
| |
| [ 0.519657] sysfs: cannot create duplicate filename '/bus/platform/devices/qcom-apcs-msm8916-clk' |
| ... |
| [ 0.661158] qcom_apcs_ipc b111000.mailbox: failed to register APCS clk |
| |
| This is because MSM8939 has 3 APCS instances for Cluster0 (little cores), |
| Cluster1 (big cores) and CCI (Cache Coherent Interconnect). Although |
| only APCS of Cluster0 and Cluster1 have IPC bits, each of 3 APCS has |
| A53PLL clock control bits. That said, 3 'qcom-apcs-msm8916-clk' devices |
| need to be registered to instantiate all 3 clocks. Use PLATFORM_DEVID_AUTO |
| rather than PLATFORM_DEVID_NONE for platform_device_register_data() call |
| to fix the issue above. |
| |
| Signed-off-by: Shawn Guo <shawn.guo@linaro.org> |
| Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> |
| Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/mailbox/qcom-apcs-ipc-mailbox.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c |
| index 077e5c6a9ef7..3d100a004760 100644 |
| --- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c |
| +++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c |
| @@ -128,7 +128,7 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev) |
| if (apcs_data->clk_name) { |
| apcs->clk = platform_device_register_data(&pdev->dev, |
| apcs_data->clk_name, |
| - PLATFORM_DEVID_NONE, |
| + PLATFORM_DEVID_AUTO, |
| NULL, 0); |
| if (IS_ERR(apcs->clk)) |
| dev_err(&pdev->dev, "failed to register APCS clk\n"); |
| -- |
| 2.30.2 |
| |