summaryrefslogtreecommitdiff
path: root/components/drivers
diff options
context:
space:
mode:
author[email protected] <[email protected]>2012-12-30 09:49:31 +0000
committer[email protected] <[email protected]>2012-12-30 09:49:31 +0000
commit6374d20fadce08497f4b8322066b56d252bda551 (patch)
tree42ac124350dd8b13d38139756069e3eb8e992be9 /components/drivers
parentaa49ca9db38bdb623d69b050c807dbeb2d99ed24 (diff)
change inferface handler parameter
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2565 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/drivers')
-rw-r--r--components/drivers/include/drivers/usb_device.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/components/drivers/include/drivers/usb_device.h b/components/drivers/include/drivers/usb_device.h
index fd7df1dc7c..20156308fc 100644
--- a/components/drivers/include/drivers/usb_device.h
+++ b/components/drivers/include/drivers/usb_device.h
@@ -61,7 +61,6 @@ struct uendpoint
uep_desc_t ep_desc;
udep_handler_t handler;
rt_bool_t is_stall;
- void* user_data;
};
typedef struct uendpoint* uep_t;
@@ -75,13 +74,15 @@ struct ualtsetting
};
typedef struct ualtsetting* ualtsetting_t;
+typedef rt_err_t (*uintf_handler_t)(struct udevice* device, struct uclass* cls, ureq_t setup);
+
struct uinterface
{
rt_list_t list;
rt_uint8_t intf_num;
ualtsetting_t curr_setting;
rt_list_t setting_list;
- rt_err_t (*handler)(struct udevice* device, ureq_t setup);
+ uintf_handler_t handler;
};
typedef struct uinterface* uintf_t;
@@ -100,7 +101,8 @@ struct uclass
void* eps;
struct udevice* device;
udev_desc_t dev_desc;
-
+ void* user_data;
+
rt_list_t intf_list;
};
typedef struct uclass* uclass_t;
@@ -158,8 +160,7 @@ udevice_t rt_usbd_device_create(const char** str);
uconfig_t rt_usbd_config_create(void);
uclass_t rt_usbd_class_create(udevice_t device, udev_desc_t dev_desc,
uclass_ops_t ops);
-uintf_t rt_usbd_interface_create(udevice_t device,
- rt_err_t (*handler)(struct udevice*, ureq_t setup));
+uintf_t rt_usbd_interface_create(udevice_t device, uintf_handler_t handler);
uep_t rt_usbd_endpoint_create(uep_desc_t ep_desc, udep_handler_t handler);
ualtsetting_t rt_usbd_altsetting_create(rt_size_t desc_size);
@@ -180,7 +181,7 @@ rt_err_t rt_usbd_set_altsetting(uintf_t intf, rt_uint8_t value);
udevice_t rt_usbd_find_device(udcd_t dcd);
uconfig_t rt_usbd_find_config(udevice_t device, rt_uint8_t value);
-uintf_t rt_usbd_find_interface(udevice_t device, rt_uint8_t value);
+uintf_t rt_usbd_find_interface(udevice_t device, rt_uint8_t value, uclass_t *pcls);
uep_t rt_usbd_find_endpoint(udevice_t device, uclass_t* pcls, rt_uint8_t ep_addr);
uclass_t rt_usbd_class_mstorage_create(udevice_t device);