* 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:
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user