Changeset 5d50c419 in mainline for uspace/drv/hid/ps2mouse/ps2mouse.c
- Timestamp:
- 2017-11-19T21:14:19Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c657bd7
- Parents:
- 75fcf9b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/hid/ps2mouse/ps2mouse.c
r75fcf9b r5d50c419 75 75 uint8_t value = (value_); \ 76 76 uint8_t data = 0; \ 77 const ssize_t size = chardev_read((mouse)->chardev, &data, 1); \ 78 if (size != 1) { \ 79 ddf_msg(LVL_ERROR, "Failed reading byte: %zd)", size);\ 80 return size < 0 ? size : EIO; \ 77 size_t nread; \ 78 const int rc = chardev_read((mouse)->chardev, &data, 1, &nread); \ 79 if (rc != EOK) { \ 80 ddf_msg(LVL_ERROR, "Failed reading byte: %d", rc);\ 81 return rc; \ 81 82 } \ 82 83 if (data != value) { \ … … 91 92 uint8_t value = (value_); \ 92 93 uint8_t data = (value); \ 93 const ssize_t size = chardev_write((mouse)->chardev, &data, 1); \ 94 if (size < 0 ) { \ 95 ddf_msg(LVL_ERROR, "Failed writing byte: %hhx", value); \ 96 return size; \ 94 size_t nwr; \ 95 const int rc = chardev_write((mouse)->chardev, &data, 1, &nwr); \ 96 if (rc != EOK) { \ 97 ddf_msg(LVL_ERROR, "Failed writing byte: %d", rc); \ 98 return rc; \ 97 99 } \ 98 100 } while (0) … … 172 174 /* Enable mouse data reporting. */ 173 175 uint8_t report = PS2_MOUSE_ENABLE_DATA_REPORT; 174 ssize_t size = chardev_write(mouse->chardev, &report, 1); 175 if (size != 1) { 176 size_t nwr; 177 rc = chardev_write(mouse->chardev, &report, 1, &nwr); 178 if (rc != EOK) { 176 179 ddf_msg(LVL_ERROR, "Failed to enable data reporting."); 177 180 rc = EIO; … … 179 182 } 180 183 181 size = chardev_read(mouse->chardev, &report, 1); 182 if (size != 1 || report != PS2_MOUSE_ACK) { 184 size_t nread; 185 rc = chardev_read(mouse->chardev, &report, 1, &nread); 186 if (rc != EOK || report != PS2_MOUSE_ACK) { 183 187 ddf_msg(LVL_ERROR, "Failed to confirm data reporting: %hhx.", 184 188 report); … … 215 219 { 216 220 ps2_mouse_t *mouse = (ps2_mouse_t *) arg; 221 size_t nread; 222 int rc; 217 223 218 224 bool buttons[PS2_BUTTON_COUNT] = {}; 219 225 while (1) { 220 226 uint8_t packet[PS2_BUFSIZE] = {}; 221 const ssize_t size = 222 chardev_read(mouse->chardev, packet, PS2_BUFSIZE); 223 224 if (size != PS2_BUFSIZE) { 225 ddf_msg(LVL_WARN, "Incorrect packet size: %zd.", size); 227 rc = chardev_read(mouse->chardev, packet, PS2_BUFSIZE, &nread); 228 if (rc != EOK || nread != PS2_BUFSIZE) { 229 ddf_msg(LVL_WARN, "Incorrect packet size: %zd.", nread); 226 230 continue; 227 231 } 232 228 233 ddf_msg(LVL_DEBUG2, "Got packet: %hhx:%hhx:%hhx.", 229 234 packet[0], packet[1], packet[2]); … … 269 274 { 270 275 ps2_mouse_t *mouse = (ps2_mouse_t *) arg; 276 size_t nread; 277 int rc; 271 278 272 279 bool buttons[INTELLIMOUSE_BUTTON_COUNT] = {}; 273 280 while (1) { 274 281 uint8_t packet[INTELLIMOUSE_BUFSIZE] = {}; 275 const ssize_t size = chardev_read( 276 mouse->chardev, packet, INTELLIMOUSE_BUFSIZE); 277 278 if (size != INTELLIMOUSE_BUFSIZE) { 279 ddf_msg(LVL_WARN, "Incorrect packet size: %zd.", size); 282 rc = chardev_read(mouse->chardev, packet, INTELLIMOUSE_BUFSIZE, 283 &nread); 284 if (rc != EOK || nread != INTELLIMOUSE_BUFSIZE) { 285 ddf_msg(LVL_WARN, "Incorrect packet size: %zd.", nread); 280 286 continue; 281 287 }
Note:
See TracChangeset
for help on using the changeset viewer.