Re: [3/5] Coccinelle: put_device: Merge four SmPL when constraints into one

From: Markus Elfring
Date: Mon May 13 2019 - 07:50:24 EST


>> An assignment target was repeated in four SmPL when constraints.
>> Combine the exclusion specifications into disjunctions for the semantic
>> patch language so that this target is referenced only once there.
>
> NACK.

I find this rejection questionable.


> This exceeds 80 characters

The line became 105 characters long.
14 space characters can eventually be omitted.


> and provides no readability benefit.

I try to stress SmPL functionality in this use case.


>> +++ b/scripts/coccinelle/free/put_device.cocci
>> @@ -23,10 +23,7 @@ if (id == NULL || ...) { ... return ...; }
>> when != platform_device_put(id)
>> when != of_dev_put(id)
>> when != if (id) { ... put_device(&id->dev) ... }
>> - when != e1 = (T)id
>> - when != e1 = (T)(&id->dev)
>> - when != e1 = get_device(&id->dev)
>> - when != e1 = (T1)platform_get_drvdata(id)
>> + when != e1 = \( (T) \( id \| (&id->dev) \) \| get_device(&id->dev) \| (T1)platform_get_drvdata(id) \)

How do you think about to extend the Coccinelle software in the way
that such a detailed constraint can be specified on separate lines
(without duplicated SmPL code)?

How long will it take to reconsider corresponding software limitations?

Regards,
Markus