* renamed remove_device() to delete_device()

* handle one more allocation failure in device_added
* improved style consistency in a few places


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23409 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2008-01-11 18:14:51 +00:00
parent a7ec9c1d59
commit fc404a9f7e
2 changed files with 51 additions and 42 deletions
+16 -7
View File
@@ -281,6 +281,9 @@ static const char *sKeyboardBaseName = "input/keyboard/usb/";
static const char *sMouseBaseName = "input/mouse/usb/";
// #pragma mark - support functions
hid_device_info *
create_device(const usb_device *dev, const usb_interface_info *ii,
uint16 ifno, bool isKeyboard)
@@ -364,7 +367,7 @@ create_device(const usb_device *dev, const usb_interface_info *ii,
void
remove_device(hid_device_info *device)
delete_device(hid_device_info *device)
{
assert(device != NULL);
@@ -575,7 +578,7 @@ interpret_mouse_buffer(hid_device_info *device)
/*!
callback: got a report, issue next request
callback: got a report, unblock input server thread in hid_device_control()
*/
static void
usb_callback(void *cookie, status_t busStatus,
@@ -592,6 +595,7 @@ usb_callback(void *cookie, status_t busStatus,
release_sem_etc(device->sem_cb, 1, B_DO_NOT_RESCHEDULE);
}
static status_t
schedule_interrupt_transfer(hid_device_info* device)
{
@@ -604,6 +608,7 @@ schedule_interrupt_transfer(hid_device_info* device)
return status;
}
static status_t
handle_interrupt_transfer(hid_device_info* device)
{
@@ -614,6 +619,7 @@ handle_interrupt_transfer(hid_device_info* device)
DPRINTF_ERR((MY_ID "bus status %d\n", (int)device->bus_status));
if (status == B_CANCELED) {
/* cancelled: device is unplugged */
device->active = false;
return status;
}
@@ -713,6 +719,9 @@ hid_device_added(const usb_device *dev, void **cookie)
desc_len = sizeof(usb_hid_descriptor);
hid_desc = malloc(desc_len);
if (hid_desc == NULL)
return B_NO_MEMORY;
status = usb->send_request(dev,
USB_REQTYPE_INTERFACE_IN | USB_REQTYPE_STANDARD,
USB_REQUEST_GET_DESCRIPTOR,
@@ -781,7 +790,7 @@ hid_device_added(const usb_device *dev, void **cookie)
num_items = desc_len; /* XXX */
items = malloc(sizeof(decomp_item) * num_items);
if (items == NULL) {
remove_device(device);
delete_device(device);
free(rep_desc);
return B_NO_MEMORY;
}
@@ -794,7 +803,7 @@ hid_device_added(const usb_device *dev, void **cookie)
device->num_insns = num_items; /* XXX */
device->insns = malloc(sizeof (report_insn) * device->num_insns);
if (device->insns == NULL) {
remove_device(device);
delete_device(device);
free(items);
return B_NO_MEMORY;
}
@@ -806,7 +815,7 @@ hid_device_added(const usb_device *dev, void **cookie)
device->insns = realloc(device->insns, sizeof (report_insn)
* device->num_insns);
if (device->insns == NULL) {
remove_device(device);
delete_device(device);
return B_NO_MEMORY;
}
@@ -863,7 +872,7 @@ hid_device_removed(void *cookie)
if (device->open == 0) {
if (device->insns != NULL)
free(device->insns);
remove_device(device);
delete_device(device);
} else {
DPRINTF_INFO((MY_ID "%s still open\n", device->name));
device->active = false;
@@ -1069,7 +1078,7 @@ hid_device_free(driver_cookie *cookie)
DPRINTF_INFO((MY_ID "removed %s\n", device->name));
if (device->insns != NULL)
free(device->insns);
remove_device (device);
delete_device(device);
}
return B_OK;
@@ -103,9 +103,9 @@ extern const char *my_driver_name;
extern const char* keyboard_base_name;
extern const char* mouse_base_name;
hid_device_info *create_device(const usb_device *dev, const usb_interface_info *ii,
uint16 ifno, bool is_keyboard);
void remove_device(hid_device_info *device);
hid_device_info* create_device(const usb_device *dev,
const usb_interface_info *ii, uint16 ifno, bool is_keyboard);
void delete_device(hid_device_info *device);
/* devlist.c */