#include <linux/skbuff.h>
#include <linux/switch.h>
#include <linux/of.h>
+#include <linux/version.h>
#define SWCONFIG_DEVNAME "switch%d"
/* fill device name */
snprintf(dev->devname, IFNAMSIZ, SWCONFIG_DEVNAME, i);
- list_add(&dev->dev_list, &swdevs);
+ list_add_tail(&dev->dev_list, &swdevs);
swconfig_unlock();
err = swconfig_create_led_trigger(dev);
static int __init
swconfig_init(void)
{
- int i, err;
+ int err;
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0))
+ int i;
+#endif
INIT_LIST_HEAD(&swdevs);
+
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0))
err = genl_register_family(&switch_fam);
if (err)
return err;
if (err)
goto unregister;
}
-
return 0;
unregister:
genl_unregister_family(&switch_fam);
return err;
+#else
+ err = genl_register_family_with_ops(&switch_fam, swconfig_ops);
+ if (err)
+ return err;
+ return 0;
+#endif
}
static void __exit