1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2008 by Frank Gevaerts
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
26 #include "usb_charging_only.h"
27 #include "usb_class_driver.h"
29 /*#define LOGF_ENABLE*/
32 /* charging_only interface */
33 static struct usb_interface_descriptor
__attribute__((aligned(2)))
34 interface_descriptor
=
36 .bLength
= sizeof(struct usb_interface_descriptor
),
37 .bDescriptorType
= USB_DT_INTERFACE
,
38 .bInterfaceNumber
= 0,
39 .bAlternateSetting
= 0,
41 .bInterfaceClass
= USB_CLASS_VENDOR_SPEC
,
42 .bInterfaceSubClass
= 0,
43 .bInterfaceProtocol
= 0,
47 static int usb_interface
;
49 int usb_charging_only_request_endpoints(struct usb_class_driver
*drv
)
55 int usb_charging_only_set_first_interface(int interface
)
57 usb_interface
= interface
;
61 int usb_charging_only_get_config_descriptor(unsigned char *dest
,int max_packet_size
)
63 (void)max_packet_size
;
64 unsigned char *orig_dest
= dest
;
66 interface_descriptor
.bInterfaceNumber
=usb_interface
;
67 PACK_DATA(&dest
, interface_descriptor
);
69 return (dest
-orig_dest
);