sysfs_remove_bin_file (&sl->dev.kobj, &sl->attr_bin); 
if ( sl->attr_bin.read ) { sysfs_remove_bin_file (&sl->dev.kobj, &sl->attr_bin); } 
static void w1_slave_detach(struct w1_slave *sl){	struct w1_netlink_msg msg;	dev_info(&sl->dev, "%s: detaching %s.\n", __func__, sl->name);	while (atomic_read(&sl->refcnt)) {		printk(KERN_INFO "Waiting for %s to become free: refcnt=%d.\n",				sl->name, atomic_read(&sl->refcnt));		if (msleep_interruptible(1000))			flush_signals(current);	}	sysfs_remove_bin_file (&sl->dev.kobj, &sl->attr_bin);	device_remove_file(&sl->dev, &sl->attr_name);	device_unregister(&sl->dev);	w1_family_put(sl->family);	memcpy(&msg.id.id, &sl->reg_num, sizeof(msg.id.id));	msg.type = W1_SLAVE_REMOVE;	w1_netlink_send(sl->master, &msg);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99c5bfe993af1af37ddd615e72207dc7220dc526/w1.c/clean/drivers/w1/w1.c