Hi, On Sun, Mar 01, 2020 at 02:26:33PM +1100, Finn Thain wrote:
BTW, how do you distinguish between "new code" and "legacy code"?
setup_irq() was used in olden days, nowadays request_irq(). Though there are exceptions of trying to use setup_irq() even recently, but there has been pushback when people notice it like Thomas had done [1], and i saw recently one in mips smp support series & suggested not to use it (that code iiuc they had it out of upstream for a long time). So existence of setup_irq() in general i have considered to be legacy code.
And why would you choose to do that when you are writing a tree-wide semantic patch?
The way i came up with this series is that while trying to understand irq internals, came across [1], so then decided to do cleanup and i thought scripting it would make it easy & also had been wanting to get familiar w/ cocci, so decided to try it, but also realized that i cannot fully automate it (Julia said my patch is okay, so i felt cocci cannot fully automate w/o investing considerable effort in cocci), so even w/ this v2, there are lot of manual changes, though cocci made it easier.
I took Geert's comments to be architecture agnostic but perhaps I misunderstood.
And Thomas suggested to make improvements over script generated o/p [2] and only consider scripting as an initial first step. So the way i am making changes now is to take suggestions from Thomas to be applied treewide, at the same time also take care of suggestions from arch/subsytem maintainer/mailing list in the relevant patches, since arch maintainers are the ones owning it. Sometimes had a feeling as though the changes in this series is akin to cutting the foot to fit the shoe ;), but still went ahead as it was legacy code, easier & less error prone. But now based on the overall feedback, to proceed, i had to change. Regards afzal [1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos [2] https://lore.kernel.org/lkml/87sgiwma3x.fsf@xxxxxxxxxxxxxxxxxxxxxxx/