On Sat, 2017-02-04 at 20:24 +0100, Julia Lawall wrote: > > On Sat, 4 Feb 2017, Joe Perches wrote: > > > On Sat, 2017-02-04 at 19:10 +0100, Julia Lawall wrote: > > > > > > On Fri, 3 Feb 2017, Joe Perches wrote: > > > > > > > (adding Julia Lawall) > > > > > > > > On Fri, 2017-02-03 at 20:44 -0800, Guenter Roeck wrote: > > > > > On Sat, Jan 28, 2017 at 07:05:09PM +1300, Derek Robson wrote: > > > > > > A style fix across whole driver. > > > > > > changed permissions to octal style, found using checkpatch > > > > > > > > > > > > Signed-off-by: Derek Robson <robsonde@xxxxxxxxx> > > > > > > > > > > FWIW, I think changes like this are best done using coccinelle. > > > > > > > > I think checkpatch does it reasonably well. > > > > > > > > Julia? Can coccinelle do this? > > > > > > > > I believe cocinelle doesn't handle the substitution > > > > and octal addition very well when multiple flags > > > > are used. > > > > > > OK, finally received. I think that Guenter's solution is a good one, > > > because the rule-writer knows better than Coccinelle what people find to > > > be intelligible. > > > > If it's written in python, I don't see how that's > > particularly different than being written in perl, > > but coccinelle could certainly handle expressions > > on multiple lines of these or'd constants better. > > Well, the python would only be needed if there was a need for actual > calculations. Should S_IRGRP | S_IWGRP become 0060? Yes. > > Are there any than span 2 or more lines? > > I didn't see one with a casual grep. > > > > Does coccinelle handle arbitrary ordering of these > > constants in a form like Guenter suggests or does > > each possible ordered sequence need to be written? > > There is the following isomorphism: > > X | Y => Y | X > > But that only works when the associativity is right. > > A | B | C is (A | B) | C, so the B and C won't exchange with each other. > One can also write eg > > A | ... | B > > which gives more fexibility. I'm not sure to what extent that works when > there are changes, though. The perl code doesn't care about the ordering but it doesn't handle the A | ... | B case. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel