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"
31 #ifdef USB_CHARGING_ONLY
33 /* charging_only interface */
34 static struct usb_interface_descriptor
__attribute__((aligned(2)))
35 interface_descriptor
=
37 .bLength
= sizeof(struct usb_interface_descriptor
),
38 .bDescriptorType
= USB_DT_INTERFACE
,
39 .bInterfaceNumber
= 0,
40 .bAlternateSetting
= 0,
42 .bInterfaceClass
= USB_CLASS_VENDOR_SPEC
,
43 .bInterfaceSubClass
= 0,
44 .bInterfaceProtocol
= 0,
49 static int usb_interface
;
51 int usb_charging_only_request_endpoints(struct usb_class_driver
*drv
)
57 int usb_charging_only_set_first_interface(int interface
)
59 usb_interface
= interface
;
63 int usb_charging_only_get_config_descriptor(unsigned char *dest
,int max_packet_size
)
65 (void)max_packet_size
;
66 unsigned char *orig_dest
= dest
;
68 interface_descriptor
.bInterfaceNumber
=usb_interface
;
69 memcpy(dest
,&interface_descriptor
,sizeof(struct usb_interface_descriptor
));
71 dest
+=sizeof(struct usb_interface_descriptor
);
73 return (dest
-orig_dest
);
76 #endif /*USB_CHARGING_ONLY*/