Lines Matching refs:rlen
94 u16 rlen) /* Amount of data to read */
108 if (res && (rlen > (sizeof(hdw->cmd_buffer) - 1))) {
110 "Killing an I2C read to %u that has rlen too large (desired=%u limit=%u)",
112 rlen,(unsigned int)(sizeof(hdw->cmd_buffer) - 1));
124 hdw->cmd_buffer[2] = rlen; /* answer length. Device will send one
134 rlen + 1);
146 if (res && rlen) {
149 memset(res, 0, rlen);
151 memcpy(res, hdw->cmd_buffer + 1, rlen);
167 u16 rlen)
169 if (!rdata) rlen = 0;
171 if (rlen || !wlen) {
172 return pvr2_i2c_read(hdw,i2c_addr,wdata,wlen,rdata,rlen);
186 u8 i2c_addr,u8 *wdata,u16 wlen,u8 *rdata,u16 rlen)
191 if (!(rlen || wlen)) {
197 if ((wlen != 0) || (rlen == 0)) return -EIO;
199 if (rlen < 3) {
207 if (rlen > 0) rdata[0] = 0;
208 if (rlen > 1) rdata[1] = 0;
256 u8 i2c_addr,u8 *wdata,u16 wlen,u8 *rdata,u16 rlen)
258 if (!(rlen || wlen)) {
262 return pvr2_i2c_basic_op(hdw,i2c_addr,wdata,wlen,rdata,rlen);
269 u8 i2c_addr,u8 *wdata,u16 wlen,u8 *rdata,u16 rlen)
282 u8 i2c_addr,u8 *wdata,u16 wlen,u8 *rdata,u16 rlen)
289 if (!(rlen || wlen)) {
297 return pvr2_i2c_basic_op(hdw,i2c_addr,wdata,wlen,rdata,rlen);
324 if (!rlen) goto success;
326 if (rlen != 1) goto fail;
332 ret = pvr2_i2c_basic_op(hdw,i2c_addr,wbuf,2,rdata,rlen);