diff options
author | Krzysztof Opasiak <k.opasiak@samsung.com> | 2016-08-11 19:39:10 +0200 |
---|---|---|
committer | Krzysztof Opasiak <k.opasiak@samsung.com> | 2016-09-05 15:27:11 +0200 |
commit | 8994a1cad12684c4058a08e8d8ea09df5f5c2ec1 (patch) | |
tree | bfd5e8abd6215ebbee1b6465ad74d902239a9c9d /hw | |
parent | d52b16382cccd1df1d827ed6339acceebdb410ec (diff) | |
download | libdevice-node-8994a1cad12684c4058a08e8d8ea09df5f5c2ec1.tar.gz libdevice-node-8994a1cad12684c4058a08e8d8ea09df5f5c2ec1.tar.bz2 libdevice-node-8994a1cad12684c4058a08e8d8ea09df5f5c2ec1.zip |
Add usb_client HAL APIsubmit/tizen_3.0_wearable/20161015.000003submit/tizen_3.0_tv/20161015.000003submit/tizen_3.0_mobile/20161015.000003submit/tizen_3.0_ivi/20161010.000003submit/tizen/20160920.044232accepted/tizen/wearable/20160920.231835accepted/tizen/tv/20160920.231824accepted/tizen/mobile/20160920.231811accepted/tizen/ivi/20160920.231845accepted/tizen/common/20160920.132114accepted/tizen/3.0/wearable/20161015.083243accepted/tizen/3.0/tv/20161016.005029accepted/tizen/3.0/mobile/20161015.033528accepted/tizen/3.0/ivi/20161011.044351
This API allows to apply abstract gadget description
received from USB gadget HAL to usb gadget subsystem in Kernel
via system infrastructure available on this particular device.
Change-Id: Ibf05b3ec7c8abfed357f886eada5864dca514051
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/usb_client.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/hw/usb_client.h b/hw/usb_client.h new file mode 100644 index 0000000..4b4ffae --- /dev/null +++ b/hw/usb_client.h @@ -0,0 +1,58 @@ +/* + * libdevice-node + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __HW_USB_CLIENT_H__ +#define __HW_USB_CLIENT_H__ + +#include <hw/common.h> +#include <hw/usb_gadget.h> + +#include <stdbool.h> + +/** + * The id of this device + */ +#define USB_CLIENT_HARDWARE_DEVICE_ID "usb_client" + +/** + * The version of this device + */ +#define USB_CLIENT_HARDWARE_DEVICE_VERSION MAKE_VERSION(0,1) + +struct usb_client { + struct hw_common common; + + int (*get_current_gadget)(struct usb_client *usb, + struct usb_gadget **gadget); + + int (*reconfigure_gadget)(struct usb_client *usb, + struct usb_gadget *gadget); + + bool (*is_gadget_supported)(struct usb_client *usb, + struct usb_gadget *gadget); + + bool (*is_function_supported)(struct usb_client *usb, + struct usb_function *func); + + int (*enable)(struct usb_client *usb); + int (*disable)(struct usb_client *usb); + + void (*free_gadget)(struct usb_gadget *gadget); +}; + +#endif |