Changeset c7b5826 in mainline for uspace/drv
- Timestamp:
- 2011-05-18T09:34:56Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 33d19a7
- Parents:
- d736fe38 (diff), b2995c3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace/drv
- Files:
-
- 1 added
- 11 deleted
- 37 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/ohci/root_hub.c
rd736fe38 rc7b5826 39 39 40 40 #include "root_hub.h" 41 #include "usb/classes/classes.h"42 #include "usb/devdrv.h"41 #include <usb/classes/classes.h> 42 #include <usb/dev/driver.h> 43 43 #include "ohci_regs.h" 44 44 45 #include <usb/ request.h>45 #include <usb/dev/request.h> 46 46 #include <usb/classes/hub.h> 47 47 -
uspace/drv/ohci/root_hub.h
rd736fe38 rc7b5826 36 36 37 37 #include <usb/usb.h> 38 #include <usb/dev drv.h>38 #include <usb/dev/driver.h> 39 39 40 40 #include "ohci_regs.h" -
uspace/drv/uhci-rhd/port.c
rd736fe38 rc7b5826 40 40 41 41 #include <usb/usb.h> /* usb_address_t */ 42 #include <usb/ hub.h> /* usb_hc_new_device_wrapper */42 #include <usb/dev/hub.h> /* usb_hc_new_device_wrapper */ 43 43 #include <usb/debug.h> 44 44 -
uspace/drv/uhci-rhd/port.h
rd736fe38 rc7b5826 38 38 #include <fibril.h> 39 39 #include <ddf/driver.h> 40 #include <usb/ usbdevice.h> /* usb_hc_connection_t */40 #include <usb/dev/hc.h> /* usb_hc_connection_t */ 41 41 42 42 typedef uint16_t port_status_t; -
uspace/drv/usbflbk/main.c
rd736fe38 rc7b5826 34 34 * Main routines of USB fallback driver. 35 35 */ 36 #include <usb/dev drv.h>36 #include <usb/dev/driver.h> 37 37 #include <usb/debug.h> 38 38 #include <errno.h> -
uspace/drv/usbhid/Makefile
rd736fe38 rc7b5826 57 57 generic/hiddev.c \ 58 58 mouse/mousedev.c \ 59 lgtch-ultrax/lgtch-ultrax.c \60 lgtch-ultrax/keymap.c \59 multimedia/multimedia.c \ 60 multimedia/keymap.c \ 61 61 $(STOLEN_LAYOUT_SOURCES) 62 62 -
uspace/drv/usbhid/generic/hiddev.c
rd736fe38 rc7b5826 162 162 /*----------------------------------------------------------------------------*/ 163 163 164 int usb_generic_hid_init(usb_hid_dev_t *hid_dev )164 int usb_generic_hid_init(usb_hid_dev_t *hid_dev, void **data) 165 165 { 166 166 if (hid_dev == NULL) { … … 173 173 /*----------------------------------------------------------------------------*/ 174 174 175 bool usb_generic_hid_polling_callback(usb_hid_dev_t *hid_dev, 175 bool usb_generic_hid_polling_callback(usb_hid_dev_t *hid_dev, void *data, 176 176 uint8_t *buffer, size_t buffer_size) 177 177 { -
uspace/drv/usbhid/generic/hiddev.h
rd736fe38 rc7b5826 37 37 #define USB_HID_HIDDDEV_H_ 38 38 39 #include <usb/dev drv.h>39 #include <usb/dev/driver.h> 40 40 41 41 struct usb_hid_dev; … … 48 48 /*----------------------------------------------------------------------------*/ 49 49 50 int usb_generic_hid_init(struct usb_hid_dev *hid_dev );50 int usb_generic_hid_init(struct usb_hid_dev *hid_dev, void **data); 51 51 52 bool usb_generic_hid_polling_callback(struct usb_hid_dev *hid_dev, 52 bool usb_generic_hid_polling_callback(struct usb_hid_dev *hid_dev, void *data, 53 53 uint8_t *buffer, size_t buffer_size); 54 54 -
uspace/drv/usbhid/kbd/kbddev.c
rd736fe38 rc7b5826 46 46 47 47 #include <usb/usb.h> 48 #include <usb/d p.h>49 #include <usb/ request.h>50 #include <usb/ classes/hid.h>51 #include <usb/ pipes.h>48 #include <usb/dev/dp.h> 49 #include <usb/dev/request.h> 50 #include <usb/hid/hid.h> 51 #include <usb/dev/pipes.h> 52 52 #include <usb/debug.h> 53 #include <usb/ classes/hidparser.h>53 #include <usb/hid/hidparser.h> 54 54 #include <usb/classes/classes.h> 55 #include <usb/ classes/hidut.h>56 #include <usb/ classes/hidreq.h>57 #include <usb/ classes/hidreport.h>58 #include <usb/ classes/hid/utled.h>59 60 #include <usb/dev drv.h>55 #include <usb/hid/usages/core.h> 56 #include <usb/hid/request.h> 57 #include <usb/hid/hidreport.h> 58 #include <usb/hid/usages/led.h> 59 60 #include <usb/dev/driver.h> 61 61 62 62 #include "kbddev.h" … … 252 252 sysarg_t method = IPC_GET_IMETHOD(*icall); 253 253 254 usb_hid_dev_t *hid_dev = (usb_hid_dev_t *)fun->driver_data; 255 256 if (hid_dev == NULL || hid_dev->data == NULL) { 254 usb_kbd_t *kbd_dev = (usb_kbd_t *)fun->driver_data; 255 if (kbd_dev == NULL) { 257 256 usb_log_debug("default_connection_handler: " 258 257 "Missing parameter.\n"); … … 260 259 return; 261 260 } 262 263 assert(hid_dev != NULL);264 assert(hid_dev->data != NULL);265 usb_kbd_t *kbd_dev = (usb_kbd_t *)hid_dev->data;266 261 267 262 if (method == IPC_M_CONNECT_TO_ME) { … … 313 308 usb_hid_report_field_t *field = usb_hid_report_get_sibling( 314 309 hid_dev->report, NULL, kbd_dev->led_path, 315 USB_HID_PATH_COMPARE_ USAGE_PAGE_ONLY | USB_HID_PATH_COMPARE_END,310 USB_HID_PATH_COMPARE_END | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY, 316 311 USB_HID_REPORT_TYPE_OUTPUT); 317 312 318 while (field != NULL) { 319 313 while (field != NULL) { 314 320 315 if ((field->usage == USB_HID_LED_NUM_LOCK) 321 316 && (kbd_dev->mods & KM_NUM_LOCK)){ … … 334 329 335 330 field = usb_hid_report_get_sibling(hid_dev->report, field, 336 kbd_dev->led_path, USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY 337 | USB_HID_PATH_COMPARE_END, USB_HID_REPORT_TYPE_OUTPUT); 331 kbd_dev->led_path, 332 USB_HID_PATH_COMPARE_END | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY, 333 USB_HID_REPORT_TYPE_OUTPUT); 338 334 } 339 335 … … 662 658 * usb_hid_parse_report(). 663 659 */ 664 static void usb_kbd_process_data(usb_hid_dev_t *hid_dev, 660 static void usb_kbd_process_data(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev, 665 661 uint8_t *buffer, size_t actual_size) 666 662 { 667 663 assert(hid_dev->report != NULL); 668 664 assert(hid_dev != NULL); 669 assert(hid_dev->data != NULL); 670 671 usb_kbd_t *kbd_dev = (usb_kbd_t *)hid_dev->data; 665 assert(kbd_dev != NULL); 672 666 673 667 usb_log_debug("Calling usb_hid_parse_report() with " … … 774 768 /*----------------------------------------------------------------------------*/ 775 769 776 static int usb_kbd_create_function(usb_hid_dev_t *hid_dev )770 static int usb_kbd_create_function(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev) 777 771 { 778 772 assert(hid_dev != NULL); 779 773 assert(hid_dev->usb_dev != NULL); 774 assert(kbd_dev != NULL); 780 775 781 776 /* Create the function exposed under /dev/devices. */ … … 792 787 * to the DDF function. 793 788 */ 794 fun->ops = & hid_dev->ops;795 fun->driver_data = hid_dev; // TODO: maybe change to hid_dev->data789 fun->ops = &kbd_dev->ops; 790 fun->driver_data = kbd_dev; 796 791 797 792 int rc = ddf_fun_bind(fun); … … 840 835 * @return Other value inherited from function usbhid_dev_init(). 841 836 */ 842 int usb_kbd_init(usb_hid_dev_t *hid_dev )837 int usb_kbd_init(usb_hid_dev_t *hid_dev, void **data) 843 838 { 844 839 usb_log_debug("Initializing HID/KBD structure...\n"); … … 865 860 usb_hid_report_path_set_report_id(path, 0); 866 861 867 kbd_dev->key_count = usb_hid_report_input_length( 868 hid_dev->report, path, 869 USB_HID_PATH_COMPARE_END | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY); 862 kbd_dev->key_count = usb_hid_report_size( 863 hid_dev->report, 0, USB_HID_REPORT_TYPE_INPUT); 870 864 usb_hid_report_path_free(path); 871 865 … … 908 902 kbd_dev->led_path, USB_HIDUT_PAGE_LED, 0); 909 903 910 kbd_dev->led_output_size = usb_hid_report_output_size(hid_dev->report, 911 kbd_dev->led_path, 912 USB_HID_PATH_COMPARE_END | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY); 904 kbd_dev->led_output_size = usb_hid_report_size(hid_dev->report, 905 0, USB_HID_REPORT_TYPE_OUTPUT); 913 906 914 907 usb_log_debug("Output report size (in items): %zu\n", … … 955 948 956 949 // save the KBD device structure into the HID device structure 957 hid_dev->data = kbd_dev; 950 //hid_dev->data = kbd_dev; 951 *data = kbd_dev; 958 952 959 953 // set handler for incoming calls 960 hid_dev->ops.default_handler = default_connection_handler;954 kbd_dev->ops.default_handler = default_connection_handler; 961 955 962 956 /* … … 983 977 984 978 usb_log_debug("Creating KBD function...\n"); 985 int rc = usb_kbd_create_function(hid_dev );979 int rc = usb_kbd_create_function(hid_dev, kbd_dev); 986 980 if (rc != EOK) { 987 981 usb_kbd_free(&kbd_dev); … … 994 988 /*----------------------------------------------------------------------------*/ 995 989 996 bool usb_kbd_polling_callback(usb_hid_dev_t *hid_dev, uint8_t *buffer,997 size_t buffer_size)998 { 999 if (hid_dev == NULL || buffer == NULL ) {990 bool usb_kbd_polling_callback(usb_hid_dev_t *hid_dev, void *data, 991 uint8_t *buffer, size_t buffer_size) 992 { 993 if (hid_dev == NULL || buffer == NULL || data == NULL) { 1000 994 // do not continue polling (???) 1001 995 return false; 1002 996 } 1003 997 998 usb_kbd_t *kbd_dev = (usb_kbd_t *)data; 999 assert(kbd_dev != NULL); 1000 1004 1001 // TODO: add return value from this function 1005 usb_kbd_process_data(hid_dev, buffer, buffer_size);1002 usb_kbd_process_data(hid_dev, kbd_dev, buffer, buffer_size); 1006 1003 1007 1004 return true; … … 1066 1063 /*----------------------------------------------------------------------------*/ 1067 1064 1068 void usb_kbd_deinit(usb_hid_dev_t *hid_dev )1065 void usb_kbd_deinit(usb_hid_dev_t *hid_dev, void *data) 1069 1066 { 1070 1067 if (hid_dev == NULL) { … … 1072 1069 } 1073 1070 1074 if ( hid_dev->data != NULL) {1075 usb_kbd_t *kbd_dev = (usb_kbd_t *) hid_dev->data;1071 if (data != NULL) { 1072 usb_kbd_t *kbd_dev = (usb_kbd_t *)data; 1076 1073 if (usb_kbd_is_initialized(kbd_dev)) { 1077 1074 usb_kbd_mark_unusable(kbd_dev); 1078 1075 } else { 1079 1076 usb_kbd_free(&kbd_dev); 1080 hid_dev->data = NULL;1081 1077 } 1082 1078 } -
uspace/drv/usbhid/kbd/kbddev.h
rd736fe38 rc7b5826 41 41 #include <fibril_synch.h> 42 42 43 #include <usb/ classes/hid.h>44 #include <usb/ classes/hidparser.h>43 #include <usb/hid/hid.h> 44 #include <usb/hid/hidparser.h> 45 45 #include <ddf/driver.h> 46 #include <usb/ pipes.h>47 #include <usb/dev drv.h>46 #include <usb/dev/pipes.h> 47 #include <usb/dev/driver.h> 48 48 49 49 #include "kbdrepeat.h" … … 83 83 int console_phone; 84 84 85 /** @todo What is this actually? */ 86 ddf_dev_ops_t ops; 87 85 88 /** Information for auto-repeat of keys. */ 86 89 usb_kbd_repeat_t repeat; … … 117 120 /*----------------------------------------------------------------------------*/ 118 121 119 int usb_kbd_init(struct usb_hid_dev *hid_dev );122 int usb_kbd_init(struct usb_hid_dev *hid_dev, void **data); 120 123 121 bool usb_kbd_polling_callback(struct usb_hid_dev *hid_dev, uint8_t *buffer,122 size_t buffer_size);124 bool usb_kbd_polling_callback(struct usb_hid_dev *hid_dev, void *data, 125 uint8_t *buffer, size_t buffer_size); 123 126 124 127 int usb_kbd_is_initialized(const usb_kbd_t *kbd_dev); … … 131 134 int type, unsigned int key); 132 135 133 void usb_kbd_deinit(struct usb_hid_dev *hid_dev );136 void usb_kbd_deinit(struct usb_hid_dev *hid_dev, void *data); 134 137 135 138 int usb_kbd_set_boot_protocol(struct usb_hid_dev *hid_dev); -
uspace/drv/usbhid/kbd/main.c
rd736fe38 rc7b5826 41 41 #include <str_error.h> 42 42 43 #include <usb/dev drv.h>43 #include <usb/dev/driver.h> 44 44 45 45 #include "kbddev.h" -
uspace/drv/usbhid/main.c
rd736fe38 rc7b5826 41 41 #include <str_error.h> 42 42 43 #include <usb/dev drv.h>44 #include <usb/dev poll.h>43 #include <usb/dev/driver.h> 44 #include <usb/dev/poll.h> 45 45 46 46 #include "usbhid.h" -
uspace/drv/usbhid/mouse/mousedev.c
rd736fe38 rc7b5826 37 37 #include <usb/debug.h> 38 38 #include <usb/classes/classes.h> 39 #include <usb/ classes/hid.h>40 #include <usb/ classes/hidreq.h>41 #include <usb/ classes/hidut.h>39 #include <usb/hid/hid.h> 40 #include <usb/hid/request.h> 41 #include <usb/hid/usages/core.h> 42 42 #include <errno.h> 43 43 #include <str_error.h> … … 122 122 sysarg_t method = IPC_GET_IMETHOD(*icall); 123 123 124 usb_ hid_dev_t *hid_dev = (usb_hid_dev_t *)fun->driver_data;125 126 if ( hid_dev == NULL || hid_dev->data== NULL) {124 usb_mouse_t *mouse_dev = (usb_mouse_t *)fun->driver_data; 125 126 if (mouse_dev == NULL) { 127 127 usb_log_debug("default_connection_handler: Missing " 128 128 "parameters.\n"); … … 131 131 } 132 132 133 assert(hid_dev != NULL); 134 assert(hid_dev->data != NULL); 135 usb_mouse_t *mouse_dev = (usb_mouse_t *)hid_dev->data; 133 usb_log_debug("default_connection_handler: fun->name: %s\n", 134 fun->name); 135 usb_log_debug("default_connection_handler: mouse_phone: %d, wheel " 136 "phone: %d\n", mouse_dev->mouse_phone, mouse_dev->wheel_phone); 136 137 137 138 int *phone = (str_cmp(fun->name, HID_MOUSE_FUN_NAME) == 0) … … 145 146 "phone to mouse already set.\n"); 146 147 async_answer_0(icallid, ELIMIT); 147 //async_answer_0(icallid, EOK);148 148 return; 149 149 } 150 150 151 151 *phone = callback; 152 usb_log_debug("Console phone to mouse set ok (%d).\n", callback);152 usb_log_debug("Console phone to mouse set ok (%d).\n", *phone); 153 153 async_answer_0(icallid, EOK); 154 154 return; … … 224 224 /*----------------------------------------------------------------------------*/ 225 225 226 static bool usb_mouse_process_report(usb_hid_dev_t *hid_dev, uint8_t *buffer, 227 size_t buffer_size) 228 { 229 usb_mouse_t *mouse_dev = (usb_mouse_t *)hid_dev->data; 226 static bool usb_mouse_process_report(usb_hid_dev_t *hid_dev, 227 usb_mouse_t *mouse_dev, uint8_t *buffer, 228 size_t buffer_size) 229 { 230 assert(mouse_dev != NULL); 230 231 231 232 usb_log_debug2("got buffer: %s.\n", … … 378 379 /*----------------------------------------------------------------------------*/ 379 380 380 static int usb_mouse_create_function(usb_hid_dev_t *hid_dev) 381 { 381 static int usb_mouse_create_function(usb_hid_dev_t *hid_dev, usb_mouse_t *mouse) 382 { 383 assert(hid_dev != NULL); 384 assert(mouse != NULL); 385 382 386 /* Create the function exposed under /dev/devices. */ 383 387 usb_log_debug("Creating DDF function %s...\n", HID_MOUSE_FUN_NAME); … … 389 393 } 390 394 391 /* 392 * Store the initialized HID device and HID ops 393 * to the DDF function. 394 */ 395 fun->ops = &hid_dev->ops; 396 fun->driver_data = hid_dev; // TODO: maybe change to hid_dev->data 395 fun->ops = &mouse->ops; 396 fun->driver_data = mouse; // TODO: maybe change to hid_dev->data 397 397 398 398 int rc = ddf_fun_bind(fun); … … 431 431 * to the DDF function. 432 432 */ 433 fun->ops = & hid_dev->ops;434 fun->driver_data = hid_dev; // TODO: maybe change to hid_dev->data433 fun->ops = &mouse->ops; 434 fun->driver_data = mouse; // TODO: maybe change to hid_dev->data 435 435 436 436 rc = ddf_fun_bind(fun); … … 458 458 /*----------------------------------------------------------------------------*/ 459 459 460 int usb_mouse_init(usb_hid_dev_t *hid_dev )460 int usb_mouse_init(usb_hid_dev_t *hid_dev, void **data) 461 461 { 462 462 usb_log_debug("Initializing HID/Mouse structure...\n"); … … 485 485 486 486 // save the Mouse device structure into the HID device structure 487 hid_dev->data = mouse_dev;487 *data = mouse_dev; 488 488 489 489 // set handler for incoming calls 490 hid_dev->ops.default_handler = default_connection_handler; 490 // TODO: must be one for each subdriver!! 491 mouse_dev->ops.default_handler = default_connection_handler; 491 492 492 493 // TODO: how to know if the device supports the request??? … … 494 495 // hid_dev->usb_dev->interface_no, IDLE_RATE); 495 496 496 int rc = usb_mouse_create_function(hid_dev );497 int rc = usb_mouse_create_function(hid_dev, mouse_dev); 497 498 if (rc != EOK) { 498 499 usb_mouse_free(&mouse_dev); … … 505 506 /*----------------------------------------------------------------------------*/ 506 507 507 bool usb_mouse_polling_callback(usb_hid_dev_t *hid_dev, uint8_t *buffer,508 size_t buffer_size)508 bool usb_mouse_polling_callback(usb_hid_dev_t *hid_dev, void *data, 509 uint8_t *buffer, size_t buffer_size) 509 510 { 510 511 usb_log_debug("usb_mouse_polling_callback()\n"); 511 512 usb_debug_str_buffer(buffer, buffer_size, 0); 512 513 513 if (hid_dev == NULL ) {514 if (hid_dev == NULL || data == NULL) { 514 515 usb_log_error("Missing argument to the mouse polling callback." 515 516 "\n"); … … 517 518 } 518 519 519 if (hid_dev->data == NULL) { 520 usb_log_error("Wrong argument to the mouse polling callback." 521 "\n"); 522 return false; 523 } 524 525 return usb_mouse_process_report(hid_dev, buffer, buffer_size); 526 } 527 528 /*----------------------------------------------------------------------------*/ 529 530 void usb_mouse_deinit(usb_hid_dev_t *hid_dev) 531 { 532 usb_mouse_free((usb_mouse_t **)&hid_dev->data); 520 usb_mouse_t *mouse_dev = (usb_mouse_t *)data; 521 522 return usb_mouse_process_report(hid_dev, mouse_dev, buffer, 523 buffer_size); 524 } 525 526 /*----------------------------------------------------------------------------*/ 527 528 void usb_mouse_deinit(usb_hid_dev_t *hid_dev, void *data) 529 { 530 if (data != NULL) { 531 usb_mouse_free((usb_mouse_t **)&data); 532 } 533 533 } 534 534 -
uspace/drv/usbhid/mouse/mousedev.h
rd736fe38 rc7b5826 37 37 #define USB_HID_MOUSEDEV_H_ 38 38 39 #include <usb/dev drv.h>39 #include <usb/dev/driver.h> 40 40 41 41 struct usb_hid_dev; … … 52 52 53 53 int32_t *buttons; 54 55 ddf_dev_ops_t ops; 54 56 } usb_mouse_t; 55 57 … … 63 65 /*----------------------------------------------------------------------------*/ 64 66 65 int usb_mouse_init(struct usb_hid_dev *hid_dev );67 int usb_mouse_init(struct usb_hid_dev *hid_dev, void **data); 66 68 67 bool usb_mouse_polling_callback(struct usb_hid_dev *hid_dev, uint8_t *buffer,68 size_t buffer_size);69 bool usb_mouse_polling_callback(struct usb_hid_dev *hid_dev, void *data, 70 uint8_t *buffer, size_t buffer_size); 69 71 70 void usb_mouse_deinit(struct usb_hid_dev *hid_dev );72 void usb_mouse_deinit(struct usb_hid_dev *hid_dev, void *data); 71 73 72 74 int usb_mouse_set_boot_protocol(struct usb_hid_dev *hid_dev); -
uspace/drv/usbhid/multimedia/keymap.h
rd736fe38 rc7b5826 34 34 */ 35 35 36 #ifndef USB_HID_ LGTCH_ULTRAX_KEYMAP_H_37 #define USB_HID_ LGTCH_ULTRAX_KEYMAP_H_36 #ifndef USB_HID_MULTIMEDIA_KEYMAP_H_ 37 #define USB_HID_MULTIMEDIA_KEYMAP_H_ 38 38 39 unsigned int usb_ lgtch_map_usage(int usage);39 unsigned int usb_multimedia_map_usage(int usage); 40 40 41 #endif /* USB_HID_LGTCH_ULTRAX_KEYMAP_H_ */ 41 const char *usb_multimedia_usage_to_str(int usage); 42 43 #endif /* USB_HID_MULTIMEDIA_KEYMAP_H_ */ 42 44 43 45 /** -
uspace/drv/usbhid/multimedia/multimedia.c
rd736fe38 rc7b5826 32 32 /** 33 33 * @file 34 * USB Logitech UltraX Keyboard sampledriver.35 */ 36 37 38 #include " lgtch-ultrax.h"34 * USB Keyboard multimedia keys subdriver. 35 */ 36 37 38 #include "multimedia.h" 39 39 #include "../usbhid.h" 40 40 #include "keymap.h" 41 41 42 #include <usb/ classes/hidparser.h>42 #include <usb/hid/hidparser.h> 43 43 #include <usb/debug.h> 44 #include <usb/ classes/hidut.h>44 #include <usb/hid/usages/core.h> 45 45 46 46 #include <errno.h> … … 50 50 #include <io/console.h> 51 51 52 #define NAME "lgtch-ultrax" 53 54 typedef enum usb_lgtch_flags { 55 USB_LGTCH_STATUS_UNINITIALIZED = 0, 56 USB_LGTCH_STATUS_INITIALIZED = 1, 57 USB_LGTCH_STATUS_TO_DESTROY = -1 58 } usb_lgtch_flags; 52 #define NAME "multimedia-keys" 59 53 60 54 /*----------------------------------------------------------------------------*/ … … 62 56 * Logitech UltraX device type. 63 57 */ 64 typedef struct usb_ lgtch_ultrax_t {58 typedef struct usb_multimedia_t { 65 59 /** Previously pressed keys (not translated to key codes). */ 66 60 int32_t *keys_old; … … 68 62 int32_t *keys; 69 63 /** Count of stored keys (i.e. number of keys in the report). */ 70 size_t key_count; 71 64 size_t key_count; 72 65 /** IPC phone to the console device (for sending key events). */ 73 66 int console_phone; 74 75 /** Information for auto-repeat of keys. */ 76 // usb_kbd_repeat_t repeat; 77 78 /** Mutex for accessing the information about auto-repeat. */ 79 // fibril_mutex_t *repeat_mtx; 80 81 /** State of the structure (for checking before use). 82 * 83 * 0 - not initialized 84 * 1 - initialized 85 * -1 - ready for destroying 86 */ 87 int initialized; 88 } usb_lgtch_ultrax_t; 67 } usb_multimedia_t; 89 68 90 69 … … 108 87 sysarg_t method = IPC_GET_IMETHOD(*icall); 109 88 110 usb_hid_dev_t *hid_dev = (usb_hid_dev_t *)fun->driver_data; 111 112 if (hid_dev == NULL || hid_dev->data == NULL) { 89 usb_multimedia_t *multim_dev = (usb_multimedia_t *)fun->driver_data; 90 //usb_hid_dev_t *hid_dev = (usb_hid_dev_t *)fun->driver_data; 91 92 if (multim_dev == NULL) { 113 93 async_answer_0(icallid, EINVAL); 114 94 return; 115 95 } 116 117 assert(hid_dev != NULL);118 assert(hid_dev->data != NULL);119 usb_lgtch_ultrax_t *lgtch_dev = (usb_lgtch_ultrax_t *)hid_dev->data;120 96 121 97 if (method == IPC_M_CONNECT_TO_ME) { 122 98 int callback = IPC_GET_ARG5(*icall); 123 99 124 if ( lgtch_dev->console_phone != -1) {100 if (multim_dev->console_phone != -1) { 125 101 async_answer_0(icallid, ELIMIT); 126 102 return; 127 103 } 128 104 129 lgtch_dev->console_phone = callback;105 multim_dev->console_phone = callback; 130 106 usb_log_debug(NAME " Saved phone to console: %d\n", callback); 131 107 async_answer_0(icallid, EOK); … … 138 114 /*----------------------------------------------------------------------------*/ 139 115 140 static ddf_dev_ops_t lgtch_ultrax_ops = {116 static ddf_dev_ops_t multimedia_ops = { 141 117 .default_handler = default_connection_handler 142 118 }; 143 144 /*----------------------------------------------------------------------------*/145 146 //static void usb_lgtch_process_keycodes(const uint8_t *key_codes, size_t count,147 // uint8_t report_id, void *arg);148 149 //static const usb_hid_report_in_callbacks_t usb_lgtch_parser_callbacks = {150 // .keyboard = usb_lgtch_process_keycodes151 //};152 153 ///*----------------------------------------------------------------------------*/154 155 //static void usb_lgtch_process_keycodes(const uint8_t *key_codes, size_t count,156 // uint8_t report_id, void *arg)157 //{158 // // TODO: checks159 160 // usb_log_debug(NAME " Got keys from parser (report id: %u): %s\n",161 // report_id, usb_debug_str_buffer(key_codes, count, 0));162 //}163 119 164 120 /*----------------------------------------------------------------------------*/ … … 180 136 * @param key Key code of the key according to HID Usage Tables. 181 137 */ 182 static void usb_ lgtch_push_ev(usb_hid_dev_t *hid_dev, int type,183 u nsigned int key)138 static void usb_multimedia_push_ev(usb_hid_dev_t *hid_dev, 139 usb_multimedia_t *multim_dev, int type, unsigned int key) 184 140 { 185 141 assert(hid_dev != NULL); 186 assert( hid_dev->data!= NULL);187 188 usb_lgtch_ultrax_t *lgtch_dev = (usb_lgtch_ultrax_t *)hid_dev->data;142 assert(multim_dev != NULL); 143 144 // usb_multimedia_t *multim_dev = (usb_multimedia_t *)hid_dev->data; 189 145 190 146 console_event_t ev; … … 193 149 ev.key = key; 194 150 ev.mods = 0; 195 196 151 ev.c = 0; 197 152 198 153 usb_log_debug2(NAME " Sending key %d to the console\n", ev.key); 199 if ( lgtch_dev->console_phone < 0) {154 if (multim_dev->console_phone < 0) { 200 155 usb_log_warning( 201 156 "Connection to console not ready, key discarded.\n"); … … 203 158 } 204 159 205 async_msg_4( lgtch_dev->console_phone, KBD_EVENT, ev.type, ev.key,160 async_msg_4(multim_dev->console_phone, KBD_EVENT, ev.type, ev.key, 206 161 ev.mods, ev.c); 207 162 } … … 209 164 /*----------------------------------------------------------------------------*/ 210 165 211 static void usb_ lgtch_free(usb_lgtch_ultrax_t **lgtch_dev)212 { 213 if ( lgtch_dev == NULL || *lgtch_dev == NULL) {166 static void usb_multimedia_free(usb_multimedia_t **multim_dev) 167 { 168 if (multim_dev == NULL || *multim_dev == NULL) { 214 169 return; 215 170 } 216 171 217 172 // hangup phone to the console 218 async_hangup((*lgtch_dev)->console_phone); 219 220 // if ((*lgtch_dev)->repeat_mtx != NULL) { 221 // /* TODO: replace by some check and wait */ 222 // assert(!fibril_mutex_is_locked((*lgtch_dev)->repeat_mtx)); 223 // free((*lgtch_dev)->repeat_mtx); 224 // } 173 async_hangup((*multim_dev)->console_phone); 225 174 226 175 // free all buffers 227 if ((*lgtch_dev)->keys != NULL) { 228 free((*lgtch_dev)->keys); 229 } 230 if ((*lgtch_dev)->keys_old != NULL) { 231 free((*lgtch_dev)->keys_old); 232 } 233 234 free(*lgtch_dev); 235 *lgtch_dev = NULL; 236 } 237 238 /*----------------------------------------------------------------------------*/ 239 240 static int usb_lgtch_create_function(usb_hid_dev_t *hid_dev) 176 if ((*multim_dev)->keys != NULL) { 177 free((*multim_dev)->keys); 178 } 179 if ((*multim_dev)->keys_old != NULL) { 180 free((*multim_dev)->keys_old); 181 } 182 183 free(*multim_dev); 184 *multim_dev = NULL; 185 } 186 187 /*----------------------------------------------------------------------------*/ 188 189 static int usb_multimedia_create_function(usb_hid_dev_t *hid_dev, 190 usb_multimedia_t *multim_dev) 241 191 { 242 192 /* Create the function exposed under /dev/devices. */ … … 248 198 } 249 199 250 /* 251 * Store the initialized HID device and HID ops 252 * to the DDF function. 253 */ 254 fun->ops = &lgtch_ultrax_ops; 255 fun->driver_data = hid_dev; // TODO: maybe change to hid_dev->data 200 fun->ops = &multimedia_ops; 201 fun->driver_data = multim_dev; // TODO: maybe change to hid_dev->data 256 202 257 203 int rc = ddf_fun_bind(fun); … … 279 225 /*----------------------------------------------------------------------------*/ 280 226 281 int usb_ lgtch_init(struct usb_hid_dev *hid_dev)227 int usb_multimedia_init(struct usb_hid_dev *hid_dev, void **data) 282 228 { 283 229 if (hid_dev == NULL || hid_dev->usb_dev == NULL) { … … 285 231 } 286 232 287 usb_log_debug(NAME " Initializing HID/ lgtch_ultraxstructure...\n");288 289 usb_ lgtch_ultrax_t *lgtch_dev = (usb_lgtch_ultrax_t *)malloc(290 sizeof(usb_ lgtch_ultrax_t));291 if ( lgtch_dev == NULL) {233 usb_log_debug(NAME " Initializing HID/multimedia structure...\n"); 234 235 usb_multimedia_t *multim_dev = (usb_multimedia_t *)malloc( 236 sizeof(usb_multimedia_t)); 237 if (multim_dev == NULL) { 292 238 return ENOMEM; 293 239 } 294 240 295 lgtch_dev->console_phone = -1;241 multim_dev->console_phone = -1; 296 242 297 243 usb_hid_report_path_t *path = usb_hid_report_path(); … … 300 246 usb_hid_report_path_set_report_id(path, 1); 301 247 302 lgtch_dev->key_count = usb_hid_report_input_length(303 hid_dev->report, path,304 USB_HID_PATH_COMPARE_END | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY); 248 multim_dev->key_count = usb_hid_report_size( 249 hid_dev->report, 0, USB_HID_REPORT_TYPE_INPUT); 250 305 251 usb_hid_report_path_free(path); 306 252 307 253 usb_log_debug(NAME " Size of the input report: %zu\n", 308 lgtch_dev->key_count);309 310 lgtch_dev->keys = (int32_t *)calloc(lgtch_dev->key_count,254 multim_dev->key_count); 255 256 multim_dev->keys = (int32_t *)calloc(multim_dev->key_count, 311 257 sizeof(int32_t)); 312 258 313 if ( lgtch_dev->keys == NULL) {259 if (multim_dev->keys == NULL) { 314 260 usb_log_fatal("No memory!\n"); 315 free( lgtch_dev);261 free(multim_dev); 316 262 return ENOMEM; 317 263 } 318 264 319 lgtch_dev->keys_old =320 (int32_t *)calloc( lgtch_dev->key_count, sizeof(int32_t));321 322 if ( lgtch_dev->keys_old == NULL) {265 multim_dev->keys_old = 266 (int32_t *)calloc(multim_dev->key_count, sizeof(int32_t)); 267 268 if (multim_dev->keys_old == NULL) { 323 269 usb_log_fatal("No memory!\n"); 324 free( lgtch_dev->keys);325 free( lgtch_dev);270 free(multim_dev->keys); 271 free(multim_dev); 326 272 return ENOMEM; 327 273 } … … 330 276 331 277 // save the KBD device structure into the HID device structure 332 hid_dev->data = lgtch_dev; 333 334 lgtch_dev->initialized = USB_LGTCH_STATUS_INITIALIZED; 335 usb_log_debug(NAME " HID/lgtch_ultrax device structure initialized.\n"); 336 337 int rc = usb_lgtch_create_function(hid_dev); 278 *data = multim_dev; 279 280 usb_log_debug(NAME " HID/multimedia device structure initialized.\n"); 281 282 int rc = usb_multimedia_create_function(hid_dev, multim_dev); 338 283 if (rc != EOK) { 339 usb_ lgtch_free(&lgtch_dev);284 usb_multimedia_free(&multim_dev); 340 285 return rc; 341 286 } 342 287 343 usb_log_debug(NAME " HID/ lgtch_ultraxstructure initialized.\n");288 usb_log_debug(NAME " HID/multimedia structure initialized.\n"); 344 289 345 290 return EOK; … … 348 293 /*----------------------------------------------------------------------------*/ 349 294 350 void usb_ lgtch_deinit(struct usb_hid_dev *hid_dev)295 void usb_multimedia_deinit(struct usb_hid_dev *hid_dev, void *data) 351 296 { 352 297 if (hid_dev == NULL) { … … 354 299 } 355 300 356 if (hid_dev->data != NULL) { 357 usb_lgtch_ultrax_t *lgtch_dev = 358 (usb_lgtch_ultrax_t *)hid_dev->data; 359 // if (usb_kbd_is_initialized(kbd_dev)) { 360 // usb_kbd_mark_unusable(kbd_dev); 361 // } else { 362 usb_lgtch_free(&lgtch_dev); 363 hid_dev->data = NULL; 364 // } 365 } 366 } 367 368 /*----------------------------------------------------------------------------*/ 369 370 bool usb_lgtch_polling_callback(struct usb_hid_dev *hid_dev, 301 if (data != NULL) { 302 usb_multimedia_t *multim_dev = (usb_multimedia_t *)data; 303 usb_multimedia_free(&multim_dev); 304 } 305 } 306 307 /*----------------------------------------------------------------------------*/ 308 309 bool usb_multimedia_polling_callback(struct usb_hid_dev *hid_dev, void *data, 371 310 uint8_t *buffer, size_t buffer_size) 372 311 { … … 375 314 usb_log_debug(NAME " usb_lgtch_polling_callback(%p, %p, %zu)\n", 376 315 hid_dev, buffer, buffer_size); 316 317 if (data == NULL) { 318 return EINVAL; // TODO: other error code? 319 } 320 321 usb_multimedia_t *multim_dev = (usb_multimedia_t *)data; 377 322 378 323 usb_log_debug(NAME " Calling usb_hid_parse_report() with " … … 380 325 381 326 usb_hid_report_path_t *path = usb_hid_report_path(); 382 usb_hid_report_path_append_item(path, 0xc, 0);327 usb_hid_report_path_append_item(path, USB_HIDUT_PAGE_CONSUMER, 0); 383 328 384 329 uint8_t report_id; … … 400 345 USB_HID_REPORT_TYPE_INPUT); 401 346 402 unsigned int key;347 // unsigned int key; 403 348 404 349 /*! @todo Is this iterating OK if done multiple times? … … 406 351 */ 407 352 while (field != NULL) { 408 usb_log_debug(NAME " KEY VALUE(%X) USAGE(%X)\n", field->value, 409 field->usage); 410 411 key = usb_lgtch_map_usage(field->usage); 412 usb_lgtch_push_ev(hid_dev, KEY_PRESS, key); 353 if(field->value != 0) { 354 usb_log_debug(NAME " KEY VALUE(%X) USAGE(%X)\n", 355 field->value, field->usage); 356 unsigned int key = 357 usb_multimedia_map_usage(field->usage); 358 const char *key_str = 359 usb_multimedia_usage_to_str(field->usage); 360 usb_log_info("Pressed key: %s\n", key_str); 361 usb_multimedia_push_ev(hid_dev, multim_dev, KEY_PRESS, 362 key); 363 } 413 364 414 365 field = usb_hid_report_get_sibling( -
uspace/drv/usbhid/multimedia/multimedia.h
rd736fe38 rc7b5826 31 31 */ 32 32 /** @file 33 * USB Logitech UltraX Keyboard sampledriver.33 * USB Keyboard multimedia keys subdriver. 34 34 */ 35 35 36 #ifndef USB_HID_ LGTCH_ULTRAX_H_37 #define USB_HID_ LGTCH_ULTRAX_H_36 #ifndef USB_HID_MULTIMEDIA_H_ 37 #define USB_HID_MULTIMEDIA_H_ 38 38 39 #include <usb/dev drv.h>39 #include <usb/dev/driver.h> 40 40 41 41 struct usb_hid_dev; … … 43 43 /*----------------------------------------------------------------------------*/ 44 44 45 int usb_ lgtch_init(struct usb_hid_dev *hid_dev);45 int usb_multimedia_init(struct usb_hid_dev *hid_dev, void **data); 46 46 47 void usb_ lgtch_deinit(struct usb_hid_dev *hid_dev);47 void usb_multimedia_deinit(struct usb_hid_dev *hid_dev, void *data); 48 48 49 bool usb_ lgtch_polling_callback(struct usb_hid_dev *hid_dev, uint8_t *buffer,50 size_t buffer_size);49 bool usb_multimedia_polling_callback(struct usb_hid_dev *hid_dev, void *data, 50 uint8_t *buffer, size_t buffer_size); 51 51 52 52 /*----------------------------------------------------------------------------*/ 53 53 54 #endif // USB_HID_ LGTCH_ULTRAX_H_54 #endif // USB_HID_MULTIMEDIA_H_ 55 55 56 56 /** -
uspace/drv/usbhid/subdrivers.c
rd736fe38 rc7b5826 35 35 36 36 #include "subdrivers.h" 37 #include "usb/classes/hidut.h"38 #include "usb/classes/hidpath.h"37 #include <usb/hid/usages/core.h> 38 #include <usb/hid/hidpath.h> 39 39 40 #include "lgtch-ultrax/lgtch-ultrax.h" 40 //#include "lgtch-ultrax/lgtch-ultrax.h" 41 #include "multimedia/multimedia.h" 41 42 #include "mouse/mousedev.h" 42 43 43 44 static usb_hid_subdriver_usage_t path_kbd[] = { 44 {USB_HIDUT_PAGE_KEYBOARD, 0}, 45 {USB_HIDUT_PAGE_GENERIC_DESKTOP, 46 USB_HIDUT_USAGE_GENERIC_DESKTOP_KEYBOARD}, 45 47 {0, 0} 46 48 }; 47 49 48 static usb_hid_subdriver_usage_t path_mouse 2[] = {49 {USB_HIDUT_PAGE_GENERIC_DESKTOP, USB_HIDUT_USAGE_GENERIC_DESKTOP_ X},50 static usb_hid_subdriver_usage_t path_mouse[] = { 51 {USB_HIDUT_PAGE_GENERIC_DESKTOP, USB_HIDUT_USAGE_GENERIC_DESKTOP_MOUSE}, 50 52 {0, 0} 51 53 }; 52 54 53 static usb_hid_subdriver_usage_t lgtch_path[] = {54 { 0xc, 0},55 static usb_hid_subdriver_usage_t multim_key_path[] = { 56 {USB_HIDUT_PAGE_CONSUMER, USB_HIDUT_USAGE_CONSUMER_CONSUMER_CONTROL}, 55 57 {0, 0} 56 58 }; … … 60 62 path_kbd, 61 63 -1, 62 USB_HID_PATH_COMPARE_END 63 | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY, 64 USB_HID_PATH_COMPARE_BEGIN, 64 65 -1, 65 66 -1, … … 73 74 }, 74 75 { 75 lgtch_path,76 multim_key_path, 76 77 1, 77 USB_HID_PATH_COMPARE_END 78 | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY, 79 0x046d, 80 0xc30e, 78 USB_HID_PATH_COMPARE_BEGIN, 79 -1, 80 -1, 81 81 { 82 .init = usb_ lgtch_init,83 .deinit = usb_ lgtch_deinit,84 .poll = usb_ lgtch_polling_callback,82 .init = usb_multimedia_init, 83 .deinit = usb_multimedia_deinit, 84 .poll = usb_multimedia_polling_callback, 85 85 .poll_end = NULL 86 86 } 87 87 }, 88 88 { 89 path_mouse 2,89 path_mouse, 90 90 -1, 91 USB_HID_PATH_COMPARE_END 92 | USB_HID_PATH_COMPARE_USAGE_PAGE_ONLY, 91 USB_HID_PATH_COMPARE_BEGIN, 93 92 -1, 94 93 -1, … … 100 99 } 101 100 }, 102 {NULL, -1, 0, -1, -1, {NULL, NULL, NULL, NULL }}101 {NULL, -1, 0, -1, -1, {NULL, NULL, NULL, NULL, NULL}} 103 102 }; 104 103 -
uspace/drv/usbhid/usbhid.c
rd736fe38 rc7b5826 37 37 #include <usb/debug.h> 38 38 #include <usb/classes/classes.h> 39 #include <usb/ classes/hid.h>40 #include <usb/ classes/hidparser.h>41 #include <usb/ classes/hidreport.h>42 #include <usb/ classes/hidreq.h>39 #include <usb/hid/hid.h> 40 #include <usb/hid/hidparser.h> 41 #include <usb/hid/hidreport.h> 42 #include <usb/hid/request.h> 43 43 #include <errno.h> 44 44 #include <str_error.h> … … 203 203 204 204 usb_log_debug("Compare flags: %d\n", mapping->compare); 205 size_t size = usb_hid_report_input_length(hid_dev->report, usage_path, 206 mapping->compare); 205 // size_t size = usb_hid_report_size(hid_dev->report, 0, 206 // USB_HID_REPORT_TYPE_INPUT); 207 size_t size = 0; 208 usb_hid_report_field_t *field = usb_hid_report_get_sibling (hid_dev->report, 209 NULL, usage_path, mapping->compare, USB_HID_REPORT_TYPE_INPUT); 210 while(field != NULL) { 211 size++; 212 field = usb_hid_report_get_sibling (hid_dev->report, 213 field, usage_path, mapping->compare, 214 USB_HID_REPORT_TYPE_INPUT); 215 } 216 207 217 usb_log_debug("Size of the input report: %zuB\n", size); 208 209 218 usb_hid_report_path_free(usage_path); 210 219 … … 457 466 if (hid_dev->subdrivers[i].init != NULL) { 458 467 usb_log_debug("Initializing subdriver %d.\n",i); 459 rc = hid_dev->subdrivers[i].init(hid_dev); 468 rc = hid_dev->subdrivers[i].init(hid_dev, 469 &hid_dev->subdrivers[i].data); 460 470 if (rc != EOK) { 461 471 usb_log_warning("Failed to initialize" … … 522 532 for (i = 0; i < hid_dev->subdriver_count; ++i) { 523 533 if (hid_dev->subdrivers[i].poll != NULL 524 && hid_dev->subdrivers[i].poll(hid_dev, buffer,525 buffer_size)) {534 && hid_dev->subdrivers[i].poll(hid_dev, 535 hid_dev->subdrivers[i].data, buffer, buffer_size)) { 526 536 cont = true; 527 537 } … … 546 556 for (i = 0; i < hid_dev->subdriver_count; ++i) { 547 557 if (hid_dev->subdrivers[i].poll_end != NULL) { 548 hid_dev->subdrivers[i].poll_end(hid_dev, reason); 558 hid_dev->subdrivers[i].poll_end(hid_dev, 559 hid_dev->subdrivers[i].data, reason); 549 560 } 550 561 } … … 627 638 for (i = 0; i < (*hid_dev)->subdriver_count; ++i) { 628 639 if ((*hid_dev)->subdrivers[i].deinit != NULL) { 629 (*hid_dev)->subdrivers[i].deinit(*hid_dev); 640 (*hid_dev)->subdrivers[i].deinit(*hid_dev, 641 (*hid_dev)->subdrivers[i].data); 630 642 } 631 643 } -
uspace/drv/usbhid/usbhid.h
rd736fe38 rc7b5826 39 39 #include <stdint.h> 40 40 41 #include <usb/ classes/hidparser.h>41 #include <usb/hid/hidparser.h> 42 42 #include <ddf/driver.h> 43 #include <usb/ pipes.h>44 #include <usb/dev drv.h>45 #include <usb/ classes/hid.h>43 #include <usb/dev/pipes.h> 44 #include <usb/dev/driver.h> 45 #include <usb/hid/hid.h> 46 46 #include <bool.h> 47 47 48 48 struct usb_hid_dev; 49 49 50 typedef int (*usb_hid_driver_init_t)(struct usb_hid_dev *); 51 typedef void (*usb_hid_driver_deinit_t)(struct usb_hid_dev *); 52 typedef bool (*usb_hid_driver_poll)(struct usb_hid_dev *, uint8_t *, size_t); 53 typedef int (*usb_hid_driver_poll_ended)(struct usb_hid_dev *, bool reason); 50 typedef int (*usb_hid_driver_init_t)(struct usb_hid_dev *, void **data); 51 typedef void (*usb_hid_driver_deinit_t)(struct usb_hid_dev *, void *data); 52 typedef bool (*usb_hid_driver_poll)(struct usb_hid_dev *, void *data, uint8_t *, 53 size_t); 54 typedef int (*usb_hid_driver_poll_ended)(struct usb_hid_dev *, void *data, 55 bool reason); 54 56 55 57 // TODO: add function and class name?? … … 63 65 /** Function to be called when polling ends. */ 64 66 usb_hid_driver_poll_ended poll_end; 67 /** Arbitrary data needed by the subdriver. */ 68 void *data; 65 69 } usb_hid_subdriver_t; 66 70 … … 72 76 /** Structure holding generic USB device information. */ 73 77 usb_device_t *usb_dev; 74 75 /** @todo What is this actually? */76 ddf_dev_ops_t ops;77 78 78 79 /** Index of the polling pipe in usb_hid_endpoints array. */ … … 97 98 98 99 size_t input_report_size; 99 100 /** Arbitrary data (e.g. a special structure for handling keyboard). */101 void *data;102 100 } usb_hid_dev_t; 103 101 -
uspace/drv/usbhub/main.c
rd736fe38 rc7b5826 36 36 #include <stdio.h> 37 37 38 #include <usb/dev drv.h>38 #include <usb/dev/driver.h> 39 39 #include <usb/classes/classes.h> 40 40 -
uspace/drv/usbhub/port_status.h
rd736fe38 rc7b5826 35 35 #include <bool.h> 36 36 #include <sys/types.h> 37 #include <usb/ request.h>37 #include <usb/dev/request.h> 38 38 #include "usbhub_private.h" 39 39 -
uspace/drv/usbhub/ports.h
rd736fe38 rc7b5826 36 36 #define DRV_USBHUB_PORTS_H 37 37 38 #include <usb/dev drv.h>39 #include <usb/ hub.h>38 #include <usb/dev/driver.h> 39 #include <usb/dev/hub.h> 40 40 41 41 typedef struct usb_hub_info_t usb_hub_info_t; -
uspace/drv/usbhub/usbhub.c
rd736fe38 rc7b5826 42 42 #include <usb/ddfiface.h> 43 43 #include <usb/descriptor.h> 44 #include <usb/ recognise.h>45 #include <usb/ request.h>44 #include <usb/dev/recognise.h> 45 #include <usb/dev/request.h> 46 46 #include <usb/classes/hub.h> 47 #include <usb/dev poll.h>47 #include <usb/dev/poll.h> 48 48 #include <stdio.h> 49 49 … … 51 51 #include "usbhub_private.h" 52 52 #include "port_status.h" 53 #include "usb/usb.h"54 #include "usb/pipes.h"55 #include "usb/classes/classes.h"53 #include <usb/usb.h> 54 #include <usb/dev/pipes.h> 55 #include <usb/classes/classes.h> 56 56 57 57 -
uspace/drv/usbhub/usbhub.h
rd736fe38 rc7b5826 39 39 #include <ddf/driver.h> 40 40 41 #include <usb/ hub.h>41 #include <usb/dev/hub.h> 42 42 #include <usb/classes/hub.h> 43 43 44 #include <usb/ pipes.h>45 #include <usb/dev drv.h>44 #include <usb/dev/pipes.h> 45 #include <usb/dev/driver.h> 46 46 47 47 #include <fibril_synch.h> -
uspace/drv/usbhub/usbhub_private.h
rd736fe38 rc7b5826 47 47 #include <usb/usb.h> 48 48 #include <usb/debug.h> 49 #include <usb/ request.h>49 #include <usb/dev/request.h> 50 50 51 51 //************ -
uspace/drv/usbmast/inquiry.c
rd736fe38 rc7b5826 34 34 * Main routines of USB mass storage driver. 35 35 */ 36 #include <usb/dev drv.h>36 #include <usb/dev/driver.h> 37 37 #include <usb/debug.h> 38 38 #include <usb/classes/classes.h> -
uspace/drv/usbmast/main.c
rd736fe38 rc7b5826 34 34 * Main routines of USB mass storage driver. 35 35 */ 36 #include <usb/dev drv.h>36 #include <usb/dev/driver.h> 37 37 #include <usb/debug.h> 38 38 #include <usb/classes/classes.h> -
uspace/drv/usbmast/mast.c
rd736fe38 rc7b5826 40 40 #include <str_error.h> 41 41 #include <usb/debug.h> 42 #include <usb/ request.h>42 #include <usb/dev/request.h> 43 43 44 44 bool usb_mast_verbose = true; -
uspace/drv/usbmast/mast.h
rd736fe38 rc7b5826 39 39 #include <sys/types.h> 40 40 #include <usb/usb.h> 41 #include <usb/ pipes.h>42 #include <usb/dev drv.h>41 #include <usb/dev/pipes.h> 42 #include <usb/dev/driver.h> 43 43 44 44 /** Result of SCSI INQUIRY command. -
uspace/drv/usbmid/dump.c
rd736fe38 rc7b5826 37 37 #include <str_error.h> 38 38 #include <stdlib.h> 39 #include <usb/ pipes.h>40 #include <usb/d p.h>39 #include <usb/dev/pipes.h> 40 #include <usb/dev/dp.h> 41 41 #include <usb/classes/classes.h> 42 42 #include "usbmid.h" -
uspace/drv/usbmid/explore.c
rd736fe38 rc7b5826 38 38 #include <stdlib.h> 39 39 #include <usb/classes/classes.h> 40 #include <usb/ request.h>41 #include <usb/d p.h>40 #include <usb/dev/request.h> 41 #include <usb/dev/dp.h> 42 42 #include <usb/ddfiface.h> 43 43 #include "usbmid.h" -
uspace/drv/usbmid/main.c
rd736fe38 rc7b5826 38 38 #include <usb/debug.h> 39 39 #include <usb/classes/classes.h> 40 #include <usb/ request.h>40 #include <usb/dev/request.h> 41 41 #include <usb/descriptor.h> 42 #include <usb/ pipes.h>42 #include <usb/dev/pipes.h> 43 43 44 44 #include "usbmid.h" -
uspace/drv/usbmid/usbmid.c
rd736fe38 rc7b5826 39 39 #include <usb_iface.h> 40 40 #include <usb/ddfiface.h> 41 #include <usb/ pipes.h>41 #include <usb/dev/pipes.h> 42 42 #include <usb/classes/classes.h> 43 #include <usb/ recognise.h>43 #include <usb/dev/recognise.h> 44 44 #include "usbmid.h" 45 45 -
uspace/drv/usbmid/usbmid.h
rd736fe38 rc7b5826 40 40 #include <ddf/driver.h> 41 41 #include <usb/usb.h> 42 #include <usb/ pipes.h>42 #include <usb/dev/pipes.h> 43 43 #include <usb/debug.h> 44 #include <usb/dev drv.h>44 #include <usb/dev/driver.h> 45 45 46 46 #define NAME "usbmid" -
uspace/drv/usbmouse/init.c
rd736fe38 rc7b5826 37 37 #include <usb/debug.h> 38 38 #include <usb/classes/classes.h> 39 #include <usb/ classes/hid.h>40 #include <usb/ request.h>39 #include <usb/hid/hid.h> 40 #include <usb/dev/request.h> 41 41 #include <errno.h> 42 42 -
uspace/drv/usbmouse/main.c
rd736fe38 rc7b5826 36 36 #include "mouse.h" 37 37 #include <usb/debug.h> 38 #include <usb/dev poll.h>38 #include <usb/dev/poll.h> 39 39 #include <errno.h> 40 40 #include <str_error.h> -
uspace/drv/usbmouse/mouse.h
rd736fe38 rc7b5826 37 37 #define USBMOUSE_MOUSE_H_ 38 38 39 #include <usb/dev drv.h>40 #include <usb/ pipes.h>39 #include <usb/dev/driver.h> 40 #include <usb/dev/pipes.h> 41 41 #include <time.h> 42 42 -
uspace/drv/vhc/connhost.c
rd736fe38 rc7b5826 36 36 #include <errno.h> 37 37 #include <usb/usb.h> 38 #include <usb/addrkeep.h>39 38 #include <usb/ddfiface.h> 40 39 #include <usb/debug.h> -
uspace/drv/vhc/hub.c
rd736fe38 rc7b5826 40 40 #include <ddf/driver.h> 41 41 #include <devman.h> 42 #include <usb/ hub.h>43 #include <usb/ recognise.h>42 #include <usb/dev/hub.h> 43 #include <usb/dev/recognise.h> 44 44 45 45 #include "hub.h"
Note:
See TracChangeset
for help on using the changeset viewer.