Lines Matching refs:uio
216 icee_read(struct cdev *dev, struct uio *uio, int ioflag) in icee_read() argument
228 if (uio->uio_offset == sc->size) in icee_read()
230 if (uio->uio_offset > sc->size) in icee_read()
235 while (uio->uio_resid > 0) { in icee_read()
236 if (uio->uio_offset >= sc->size) in icee_read()
238 len = MIN(MAX_RD_SZ - (uio->uio_offset & (MAX_RD_SZ - 1)), in icee_read()
239 uio->uio_resid); in icee_read()
242 slave = (uio->uio_offset >> 7) | sc->addr; in icee_read()
245 addr[0] = uio->uio_offset & 0xff; in icee_read()
248 slave = sc->addr | (uio->uio_offset >> 15); in icee_read()
251 addr[0] = (uio->uio_offset >> 8) & 0xff; in icee_read()
252 addr[1] = uio->uio_offset & 0xff; in icee_read()
262 error = uiomove(data, len, uio); in icee_read()
276 icee_write(struct cdev *dev, struct uio *uio, int ioflag) in icee_write() argument
289 if (uio->uio_offset >= sc->size) in icee_write()
295 while (uio->uio_resid > 0) { in icee_write()
296 if (uio->uio_offset >= sc->size) in icee_write()
298 len = MIN(sc->wr_sz - (uio->uio_offset & (sc->wr_sz - 1)), in icee_write()
299 uio->uio_resid); in icee_write()
302 slave = (uio->uio_offset >> 7) | sc->addr; in icee_write()
304 data[0] = uio->uio_offset & 0xff; in icee_write()
307 slave = sc->addr | (uio->uio_offset >> 15); in icee_write()
309 data[0] = (uio->uio_offset >> 8) & 0xff; in icee_write()
310 data[1] = uio->uio_offset & 0xff; in icee_write()
314 error = uiomove(data + sc->type / 8, len, uio); in icee_write()