Re: [PATCH] mailbox: qcom-apcs-ipc: use PLATFORM_DEVID_AUTO to register device
From: Bjorn Andersson
Date: Thu Dec 10 2020 - 23:26:36 EST
On Mon 12 Oct 21:12 CDT 2020, Shawn Guo wrote:
> On MSM8916, only one qcom-apcs-msm8916-clk device is needed, as there is
> only one APCS clock. However, on MSM8939 three APCS clocks need to be
> registered for cluster0 (little cores), cluster1 (big cores) and CCI
> (Cache Coherent Interconnect). That said, we will need to register 3
> qcom-apcs-msm8916-clk devices. Let's use PLATFORM_DEVID_AUTO rather
> than PLATFORM_DEVID_NONE for platform_device_register_data() call.
> Otherwise, the second APCS clock registration will fail due to duplicate
> device name.
>
> [ 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
>
Spotted this as I was looking for another patch, hence the late reply.
But it seems this was never reviewed or merged.
What does the bigger picture look like? Do we have 3 APCS global, or
it's a single memory region that provides the 3 clocks? How does the
qcom-apcs-msm8916-clk with it's hard coded offset of 0x50 deal with
this? (Is this a single qcom-apcs-msm8939-clk that registers 3 clocks
instead? Making this patch unnecessary?)
Regards,
Bjorn
> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
> ---
> 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.17.1
>