return -EIO;
        }
 
+       dev_dbg(&s->client->dev, "addr=0x%04x, reg = 0x%02x, data = %*ph\n",
+                               client->addr, reg, len, buf);
+
        return 0;
 }
 
        int mem, ret;
        int (*ci_op_cam)(void*, u8, int, u8, int*) = s->ci_control;
 
-       dev_dbg(&s->client->dev, "slot=%d, acs=0x%02x, addr=0x%04x, data = 0x%02x",
-                       slot, acs, addr, data);
-
        if (slot != 0)
                return -EINVAL;
 
        if (ret)
                return ret;
 
-       if (read) {
-               dev_dbg(&s->client->dev, "cam read, addr=0x%04x, data = 0x%04x",
-                               addr, mem);
+       dev_dbg(&s->client->dev, "%s: slot=%d, addr=0x%04x, %s, data=%x",
+                       (read) ? "read" : "write", slot, addr,
+                       (acs == SP2_CI_ATTR_ACS) ? "attr" : "io",
+                       (read) ? mem : data);
+
+       if (read)
                return mem;
-       } else {
+       else
                return 0;
-       }
+
 }
 
 int sp2_ci_read_attribute_mem(struct dvb_ca_en50221 *en50221,