[2/2] coresight: Fix reference count for software sources

Mathieu Poirier mathieu.poirier at linaro.org
Tue Mar 14 12:32:40 PDT 2017


On 14 March 2017 at 11:55, Suzuki K Poulose <Suzuki.Poulose at arm.com> wrote:
> On 14/03/17 17:40, Mathieu Poirier wrote:
>>
>> On 14 March 2017 at 11:32, Mathieu Poirier <mathieu.poirier at linaro.org>
>> wrote:
>>>
>>> From: "Suzuki K. Poulose" <Suzuki.Poulose at arm.com>
>>>
>>> For software sources (i.e STM), there could be multiple agents
>>> generating the trace data, unlike the ETMs. So we need to
>>> properly do the accounting for the active number of users
>>> to disable the device when the last user goes away. Right
>>> now, the reference counting is broken for sources as we skip
>>> the actions when we detect that the source is enabled.
>>>
>>> This patch fixes the problem by adding the refcounting for
>>> software sources, even when they are enabled.
>>>
>>> Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
>>> Reported-by: Robert Walker <robert.walker at arm.com>
>>> Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
>>> ---
>>>  drivers/hwtracing/coresight/coresight.c | 13 +++++++++++--
>>>  1 file changed, 11 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/hwtracing/coresight/coresight.c
>>> b/drivers/hwtracing/coresight/coresight.c
>>> index 34cd1ed..2da9e39 100644
>>> --- a/drivers/hwtracing/coresight/coresight.c
>>> +++ b/drivers/hwtracing/coresight/coresight.c
>>> @@ -552,6 +552,7 @@ int coresight_enable(struct coresight_device *csdev)
>>>         int cpu, ret = 0;
>>>         struct coresight_device *sink;
>>>         struct list_head *path;
>>> +       enum coresight_dev_subtype_source subtype =
>>> csdev->subtype.source_subtype;
>>
>>
>> Checkpatch.pl complains about a line over 80 characters.
>
>
>
> Hmm, I think the name of the enum is unusually long. I could clean it up a
> little bit.
> Also, it does look silly to split a simple variable assignment though.
>
> What do you prefer ?

enum coresight_dev_subtype_source subtype;
...
...

subtype = csdev->subtype.source_subtype;

That is probably the easiest.


>
> Suzuki



More information about the linux-arm-kernel mailing list