patches/page_ref.cocci (20 lines of code) (raw):
@ fix_page_ref_add exists @
expression p, v;
@@
...
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
page_ref_add(p, v);
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) */
+atomic_add(v, &p->_count);
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) */
...
@ fix_page_ref_sub exists @
expression p, v;
@@
...
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
page_ref_sub(p, v);
+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) */
+atomic_sub(v, &p->_count);
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0) */
...