Changeset 1d5a540 in mainline for uspace/drv/bus/usb/usbhid/multimedia/multimedia.c
- Timestamp:
- 2012-08-17T11:52:20Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 034c4202
- Parents:
- 8312577 (diff), 56fd7cf (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbhid/multimedia/multimedia.c
r8312577 r1d5a540 86 86 { 87 87 usb_log_debug(NAME " default_connection_handler()\n"); 88 if (fun == NULL || fun->driver_data == NULL) { 89 async_answer_0(icallid, EINVAL); 90 return; 91 } 92 93 usb_multimedia_t *multim_dev = fun->driver_data; 88 89 usb_multimedia_t *multim_dev = ddf_fun_data_get(fun); 94 90 95 91 async_sess_t *sess = … … 172 168 } 173 169 174 fun->ops = &multimedia_ops;170 ddf_fun_set_ops(fun, &multimedia_ops); 175 171 176 172 usb_multimedia_t *multim_dev = … … 194 190 195 191 usb_log_debug(NAME " function created (handle: %" PRIun ").\n", 196 fun->handle);192 ddf_fun_get_handle(fun)); 197 193 198 194 rc = ddf_fun_add_to_category(fun, "keyboard"); … … 203 199 if (ddf_fun_unbind(fun) != EOK) { 204 200 usb_log_error("Failed to unbind %s, won't destroy.\n", 205 fun->name);201 ddf_fun_get_name(fun)); 206 202 } else { 207 203 ddf_fun_destroy(fun); … … 220 216 { 221 217 ddf_fun_t *fun = data; 222 if (fun != NULL && fun->driver_data != NULL) { 223 usb_multimedia_t *multim_dev = fun->driver_data; 224 /* Hangup session to the console */ 225 if (multim_dev->console_sess) 226 async_hangup(multim_dev->console_sess); 227 if (ddf_fun_unbind(fun) != EOK) { 228 usb_log_error("Failed to unbind %s, won't destroy.\n", 229 fun->name); 230 } else { 231 usb_log_debug2("%s unbound.\n", fun->name); 232 /* This frees multim_dev too as it was stored in 233 * fun->data */ 234 ddf_fun_destroy(fun); 235 } 218 219 usb_multimedia_t *multim_dev = ddf_fun_data_get(fun); 220 221 /* Hangup session to the console */ 222 if (multim_dev->console_sess) 223 async_hangup(multim_dev->console_sess); 224 if (ddf_fun_unbind(fun) != EOK) { 225 usb_log_error("Failed to unbind %s, won't destroy.\n", 226 ddf_fun_get_name(fun)); 236 227 } else { 237 usb_log_error( 238 "Failed to deinit multimedia subdriver, data missing.\n"); 228 usb_log_debug2("%s unbound.\n", ddf_fun_get_name(fun)); 229 /* This frees multim_dev too as it was stored in 230 * fun->data */ 231 ddf_fun_destroy(fun); 239 232 } 240 233 } … … 244 237 // TODO: checks 245 238 ddf_fun_t *fun = data; 246 if (hid_dev == NULL || fun == NULL || fun->driver_data == NULL) {239 if (hid_dev == NULL) { 247 240 return false; 248 241 } 249 242 250 usb_multimedia_t *multim_dev = fun->driver_data;243 usb_multimedia_t *multim_dev = ddf_fun_data_get(fun); 251 244 252 245 usb_hid_report_path_t *path = usb_hid_report_path();
Note:
See TracChangeset
for help on using the changeset viewer.