Re: [PATCH 01/12] coresight replicator: Cleanup programmable replicator naming

From: Mathieu Poirier
Date: Tue Jun 20 2017 - 12:44:43 EST


On 18 June 2017 at 08:04, Rob Herring <robh@xxxxxxxxxx> wrote:
> On Tue, Jun 13, 2017 at 10:55:28AM -0600, Mathieu Poirier wrote:
>> On Mon, Jun 12, 2017 at 03:36:40PM +0100, Suzuki K Poulose wrote:
>> > The Linux coresight drivers define the programmable ATB replicator as
>> > Qualcom replicator, while this is designed by ARM. This can cause confusion
>> > to a user selecting the driver. Cleanup all references to make it
>> > explicitly clear. This patch :
>> >
>> > 1) Adds a new compatible string for the same, retaining the old one for
>> > compatibility.
>> > 2) Changes the Kconfig symbol (since this is not part of any defconfigs)
>> > CORESIGHT_QCOM_REPLICATOR => CORESIGHT_DYNAMIC_REPLICATOR
>> > 3) Improves the help message in the Kconfig.
>> > 4) Changes the name of the driver :
>> > coresight-replicator-qcom => coresight-dynamic-replicator
>> >
>> > Cc: Pratik Patel <pratikp@xxxxxxxxxxxxxx>
>> > Cc: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
>> > Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
>> > Cc: devicetree@xxxxxxxxxxxxxxx
>> > Cc: Rob Herring <robh+dt@xxxxxxxxxx>
>> > Cc: Mark Rutland <mark.rutland@xxxxxxx>
>> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
>>
>> Hi Suzuki,
>>
>> > ---
>> > Documentation/devicetree/bindings/arm/coresight.txt | 4 +++-
>> > drivers/hwtracing/coresight/Kconfig | 10 +++++-----
>> > drivers/hwtracing/coresight/Makefile | 2 +-
>> > drivers/hwtracing/coresight/coresight-replicator-qcom.c | 2 +-
>> > 4 files changed, 10 insertions(+), 8 deletions(-)
>> >
>> > diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
>> > index fcbae6a..f77329f 100644
>> > --- a/Documentation/devicetree/bindings/arm/coresight.txt
>> > +++ b/Documentation/devicetree/bindings/arm/coresight.txt
>> > @@ -34,7 +34,9 @@ its hardware characteristcs.
>> > - Embedded Trace Macrocell (version 4.x):
>> > "arm,coresight-etm4x", "arm,primecell";
>> >
>> > - - Qualcomm Configurable Replicator (version 1.x):
>> > + - Coresight programmable Replicator (version 1.x):
>> > + "arm,coresight-dynamic-replicator", "arm,primecell";
>> > + OR
>> > "qcom,coresight-replicator1x", "arm,primecell";
>>
>> Rob, what's your view on keeping the old binding around? We could simply change
>> the two occurences we find in the DTs (Juno and 410c) to the new name and be
>> done with the old one.
>
> Juno uses the Qcom string? We should keep the old string. You can switch
> the dts files, but the driver should support the old name.

When we first started working on CoreSight programmable replicators
were available but the documentation wasn't public. As such when I
saw Qualcomm's design I mistakenly thought it was a custom IP block
and came up with a compatible string that reflected that reality.
Fast forward 3 years the documentation is available and Juno has used
the same IP block in their design. Suzuki's patch rectifies history
by changing the programmable replicator naming convention to what it
should have been from the start.

That being said, we can keep the old compatible string around but it
won't change anything. CoreSight devices are discovered on the AMBA
bus and don't use the compatible string - drivers are probed based on
AMBA IDs laid out in the drivers and device IDs found in HW ID
registers.

In light of the above let me know what you want to do.

Thanks,
Mathieu

>
> Acked-by: Rob Herring <robh@xxxxxxxxxx>