On Wed, Oct 19, 2016 at 08:31:03AM +0200, Sven Eckelmann wrote:
On Mittwoch, 19. Oktober 2016 01:22:39 CEST Linus Lüssing wrote:
On Tue, Oct 18, 2016 at 11:28:23PM +0200, Sven Eckelmann wrote:
Doesn't seem to scale. Especially when we think about batadv_netlink_ops which should also be const. It is currently not const because of the Linux <= 3.13 workaround.
Hm, okay, batadv_netlink_ops is a little more tricky/larger, yes. What about a memcpy'ing approach with BUILD_BUG_ON()'s as safe-guards like this:
Yes, this would also be an idea. But I would personally just use the coccinelle approach because it needs less extra hacks. Or do you have any problems with coccinelle?
Hm, no, dunno. Just haven't really looked at coccinelle yet and thought your point 3. (cocinelle) were on place 4. instead. Besides, I had fun creating this compat patch and was marvelled that the BUILD_BUG_ON() worked even with function parameters :D (maybe, actually because they were const now? You clever compiler :D).
Also, it looks like the whole compat infrastructure is growing and I'm wondering whether it is easier to maintain slightly larger compat-includes vs. then two more places where compat changes could come from.
But I don't feel strongly about it, if others think coccinelle is easier to review and maintain, then I'm fine with it and will have a closer look at coccinelle :).