atomic_set(&dev->refcnt, 2);
INIT_LIST_HEAD(&dev->slist);
atomic_set(&dev->refcnt, 2);
INIT_LIST_HEAD(&dev->slist);
memcpy(&dev->dev, device, sizeof(struct device));
snprintf(dev->dev.bus_id, sizeof(dev->dev.bus_id),
memcpy(&dev->dev, device, sizeof(struct device));
snprintf(dev->dev.bus_id, sizeof(dev->dev.bus_id),
err = device_register(&dev->dev);
if (err) {
printk(KERN_ERR "Failed to register master device. err=%d\n", err);
err = device_register(&dev->dev);
if (err) {
printk(KERN_ERR "Failed to register master device. err=%d\n", err);
msg.type = W1_MASTER_ADD;
w1_netlink_send(dev, &msg);
msg.type = W1_MASTER_ADD;
w1_netlink_send(dev, &msg);
set_bit(W1_MASTER_NEED_EXIT, &dev->flags);
kthread_stop(dev->thread);
set_bit(W1_MASTER_NEED_EXIT, &dev->flags);
kthread_stop(dev->thread);
msg.type = W1_MASTER_REMOVE;
w1_netlink_send(dev, &msg);
msg.type = W1_MASTER_REMOVE;
w1_netlink_send(dev, &msg);