Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / w1 / w1_netlink.c
index 2a82fb0..328645d 100644 (file)
@@ -51,16 +51,42 @@ void w1_netlink_send(struct w1_master *dev, struct w1_netlink_msg *msg)
 
        memcpy(data, msg, sizeof(struct w1_netlink_msg));
 
-       NETLINK_CB(skb).dst_groups = dev->groups;
+       NETLINK_CB(skb).dst_group = dev->groups;
        netlink_broadcast(dev->nls, skb, 0, dev->groups, GFP_ATOMIC);
 
 nlmsg_failure:
        return;
 }
+
+int dev_init_netlink(struct w1_master *dev)
+{
+       dev->nls = netlink_kernel_create(NETLINK_W1, 1, NULL, THIS_MODULE);
+       if (!dev->nls) {
+               printk(KERN_ERR "Failed to create new netlink socket(%u) for w1 master %s.\n",
+                       NETLINK_W1, dev->dev.bus_id);
+       }
+
+       return 0;
+}
+
+void dev_fini_netlink(struct w1_master *dev)
+{
+       if (dev->nls && dev->nls->sk_socket)
+               sock_release(dev->nls->sk_socket);
+}
 #else
 #warning Netlink support is disabled. Please compile with NET support enabled.
 
 void w1_netlink_send(struct w1_master *dev, struct w1_netlink_msg *msg)
 {
 }
+
+int dev_init_netlink(struct w1_master *dev)
+{
+       return 0;
+}
+
+void dev_fini_netlink(struct w1_master *dev)
+{
+}
 #endif