Re: [PATCH V2 6/7] coresight: stm: Move ACPI support from AMBA driver to platform driver

Anshuman Khandual
2023-12-05T05:20:37Z

On 12/4/23 18:47, James Clark wrote:
>
>
> On 04/12/2023 11:50, Anshuman Khandual wrote:
>>
>>
>> On 12/4/23 15:53, James Clark wrote:
>>>
>>>
>>> On 01/12/2023 06:20, Anshuman Khandual wrote:
>>>> Add support for the stm devices in the platform driver, which can then be
>>>> used on ACPI based platforms. This change would now allow runtime power
>>>> management for ACPI based systems. The driver would try to enable the APB
>>>> clock if available.
>>>>
>>>> Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
>>>> Cc: Sudeep Holla <sudeep.holla@arm.com>
>>>> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
>>>> Cc: Mike Leach <mike.leach@linaro.org>
>>>> Cc: James Clark <james.clark@arm.com>
>>>> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
>>>> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
>>>> Cc: linux-acpi@vger.kernel.org
>>>> Cc: linux-arm-kernel@lists.infradead.org
>>>> Cc: linux-kernel@vger.kernel.org
>>>> Cc: coresight@lists.linaro.org
>>>> Cc: linux-stm32@st-md-mailman.stormreply.com
>>>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
>>>> ---
>>> [...]
>>>>
>>>> -module_amba_driver(stm_driver);
>>>> +static int stm_platform_probe(struct platform_device *pdev)
>>>> +{
>>>> + struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>>> + int ret = 0;
>>>> +
>>>> + pm_runtime_get_noresume(&pdev->dev);
>>>> + pm_runtime_set_active(&pdev->dev);
>>>> + pm_runtime_enable(&pdev->dev);
>>>> +
>>>> + ret = __stm_probe(&pdev->dev, res, NULL);
>>>
>>> Very minor nit, but this used to print this:
>>>
>>> coresight stm0: STM500 initialized
>>>
>>> And now it prints this:
>>>
>>> coresight stm0: (null) initialized
>>>
>>> (null) kind of makes it look a little bit like something has gone wrong.
>>> Maybe we could just put "initialised" if you don't have a string from ACPI?
>>
>> __stm_probe() gets called from both AMBA and platform driver paths. Even though
>> a NULL check inside dev_info(..."%s initialized\n",...) could be added, but how
>> to differentiate it from a scenario when coresight_get_uci_data() returns NULL ?
>
> Sudeep's suggestion seems ok, just add a hard coded string instead of
> the NULL. And keep the coresight_get_uci_data() the same.

Something like this works ?

diff --git a/drivers/hwtracing/coresight/coresight-stm.c b/drivers/hwtracing/coresight/coresight-stm.c
index 3387ebc9d8ab..2b6834c4cac6 100644
--- a/drivers/hwtracing/coresight/coresight-stm.c
+++ b/drivers/hwtracing/coresight/coresight-stm.c
@@ -906,7 +906,7 @@ static int __stm_probe(struct device *dev, struct resource *res, void *dev_caps)
pm_runtime_put(dev);

dev_info(&drvdata->csdev->dev, "%s initialized\n",
- (char *)dev_caps);
+ dev_caps ? (char *)dev_caps: "STM");
return 0;