Subject: linux-next: manual merge of the coresight tree with the arm-perf, arm64 trees

From: Stephen Rothwell <[email-masked]>
Date: Mon, 21 Aug 2023 14:40:30 +1000

Hi all,

Today's linux-next merge of the coresight tree got a conflict in:

  drivers/hwtracing/coresight/coresight-trbe.c

between commit:

  e926b8e9eb40 ("coresight: trbe: Add a representative coresight_platform_data for TRBE")

from the arm-perf, arm64 trees and commit:

  39744738a67d ("coresight: trbe: Allocate platform data per device")

from the coresight tree.

I fixed it up (I think - see below) and can carry the fix as necessary.
This is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/hwtracing/coresight/coresight-trbe.c
index 9c59e2652b20,e20c1c6acc73..000000000000
--- a/drivers/hwtracing/coresight/coresight-trbe.c
+++ b/drivers/hwtracing/coresight/coresight-trbe.c
@@@ -1244,6 -1254,10 +1254,21 @@@ static void arm_trbe_register_coresight
  	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;
+ 
  	desc.type = CORESIGHT_DEV_TYPE_SINK;
  	desc.subtype.sink_subtype = CORESIGHT_DEV_SUBTYPE_SINK_PERCPU_SYSMEM;
  	desc.ops = &arm_trbe_cs_ops;