int ds_touch_bit(struct ds_device *dev, u8 bit, u8 *tbit){	int err, count;	struct ds_status st;	u16 value = (COMM_BIT_IO | COMM_IM) | ((bit) ? COMM_D : 0);	u16 cmd;		err = ds_send_control(dev, value, 0);	if (err)		return err;	count = 0;	do {		err = ds_wait_status(dev, &st);		if (err)			return err;		cmd = st.command0 | (st.command1 << 8);	} while (cmd != value && ++count < 10);	if (err < 0 || count >= 10) {		printk(KERN_ERR "Failed to obtain status.\n");		return -EINVAL;	}	err = ds_recv_data(dev, tbit, sizeof(*tbit));	if (err < 0)		return err;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8949d2aa05ddf5e9a31d738568a79915970cb38e/dscore.c/clean/drivers/w1/dscore.c