mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 23:39:18 +00:00
coresight: trbe: Add a representative coresight_platform_data for TRBE
TRBE coresight devices do not need regular connections information, as the paths get built between all percpu source and their respective percpu sink devices. Please refer 'commit 2cd87a7b293d ("coresight: core: Add support for dedicated percpu sinks")' which added support for percpu sink devices. coresight_register() expect device connections via the platform_data. TRBE devices do not have any graph connections and thus is empty. With upcoming ACPI support for TRBE, we do not get a real acpi_device and thus coresight_get_platform_dat() will end up in failures. Hence this allocates a zeroed coresight_platform_data structure and assigns that back into the device. Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Mike Leach <mike.leach@linaro.org> Cc: Leo Yan <leo.yan@linaro.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: coresight@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20230829135405.1159449-2-anshuman.khandual@arm.com
This commit is contained in:
parent
182d44f9ce
commit
4277f035d2
@ -1253,8 +1253,18 @@ static void arm_trbe_register_coresight_cpu(struct trbe_drvdata *drvdata, int cp
|
||||
desc.name = devm_kasprintf(dev, GFP_KERNEL, "trbe%d", cpu);
|
||||
if (!desc.name)
|
||||
goto cpu_clear;
|
||||
|
||||
desc.pdata = coresight_get_platform_data(dev);
|
||||
/*
|
||||
* TRBE coresight devices do not need regular connections
|
||||
* information, as the paths get built between all percpu
|
||||
* source and their respective percpu sink devices. Though
|
||||
* coresight_register() expect device connections via the
|
||||
* platform_data, which TRBE devices do not have. As they
|
||||
* are not real ACPI devices, coresight_get_platform_data()
|
||||
* ends up failing. Instead let's allocate a dummy zeroed
|
||||
* coresight_platform_data structure and assign that back
|
||||
* into the device for that purpose.
|
||||
*/
|
||||
desc.pdata = devm_kzalloc(dev, sizeof(*desc.pdata), GFP_KERNEL);
|
||||
if (IS_ERR(desc.pdata))
|
||||
goto cpu_clear;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user