- if (off > W1_SLAVE_DATA_SIZE) {
- count = 0;
- goto out;
- }
- if (off + count > W1_SLAVE_DATA_SIZE) {
- count = 0;
- goto out;
- }
- for (i = 0; i < 8; ++i)
- count += sprintf(buf + count, "%02x ", ((u8 *)&sl->reg_num)[i]);
- count += sprintf(buf + count, "\n");
-
-out:
- up(&sl->master->mutex);
-out_dec:
- atomic_dec(&sl->refcnt);
-
- return count;
-}
-
-static struct w1_family w1_smem_family = {
- .fid = W1_FAMILY_SMEM,
- .fops = &w1_smem_fops,
-};
-
-static int __init w1_smem_init(void)
-{
- return w1_register_family(&w1_smem_family);