Changes in uspace/drv/bus/usb/usbhid/multimedia/multimedia.c [5f6e25e:5203e256] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbhid/multimedia/multimedia.c
r5f6e25e r5203e256 54 54 55 55 // FIXME: remove this header 56 #include < abi/ipc/methods.h>56 #include <kernel/ipc/ipc_methods.h> 57 57 58 58 #define NAME "multimedia-keys" … … 167 167 /*----------------------------------------------------------------------------*/ 168 168 169 static void usb_multimedia_free(usb_multimedia_t **multim_dev) 170 { 171 if (multim_dev == NULL || *multim_dev == NULL) { 172 return; 173 } 174 175 // hangup phone to the console 176 async_obsolete_hangup((*multim_dev)->console_phone); 177 178 free(*multim_dev); 179 *multim_dev = NULL; 180 } 181 182 /*----------------------------------------------------------------------------*/ 183 169 184 static int usb_multimedia_create_function(usb_hid_dev_t *hid_dev, 170 185 usb_multimedia_t *multim_dev) 171 186 { 172 /* Create the exposed function. */187 /* Create the function exposed under /dev/devices. */ 173 188 ddf_fun_t *fun = ddf_fun_create(hid_dev->usb_dev->ddf_dev, fun_exposed, 174 189 NAME); … … 190 205 } 191 206 192 usb_log_debug("%s function created ( handle: %" PRIun ").\n",207 usb_log_debug("%s function created (jandle: %" PRIun ").\n", 193 208 NAME, fun->handle); 194 209 195 rc = ddf_fun_add_to_c ategory(fun, "keyboard");210 rc = ddf_fun_add_to_class(fun, "keyboard"); 196 211 if (rc != EOK) { 197 212 usb_log_error( 198 "Could not add DDF function to c ategory'keyboard': %s.\n",213 "Could not add DDF function to class 'keyboard': %s.\n", 199 214 str_error(rc)); 200 215 // TODO: Can / should I destroy the DDF function? … … 232 247 233 248 int rc = usb_multimedia_create_function(hid_dev, multim_dev); 234 if (rc != EOK) 249 if (rc != EOK) { 250 usb_multimedia_free(&multim_dev); 235 251 return rc; 252 } 236 253 237 254 usb_log_debug(NAME " HID/multimedia structure initialized.\n"); … … 250 267 if (data != NULL) { 251 268 usb_multimedia_t *multim_dev = (usb_multimedia_t *)data; 252 // hangup phone to the console 253 async_obsolete_hangup(multim_dev->console_phone); 269 usb_multimedia_free(&multim_dev); 254 270 } 255 271 }
Note:
See TracChangeset
for help on using the changeset viewer.