usb: make usb_disconnect() weak
usb_disconnect() is board/platform specific for chips that don't have built-in handling for this. Allow the application to provide its own version of usb_disconnect() to handle this. See https://github.com/libopencm3/libopencm3/pull/924
This commit is contained in:
parent
343cff4675
commit
ebcf197810
@ -160,7 +160,12 @@ extern void usbd_register_set_altsetting_callback(usbd_device *usbd_dev,
|
||||
/* Functions to be provided by the hardware abstraction layer */
|
||||
extern void usbd_poll(usbd_device *usbd_dev);
|
||||
|
||||
/** Disconnect, if supported by the driver */
|
||||
/** Disconnect, if supported by the driver
|
||||
*
|
||||
* This function is implemented as weak function and can be replaced by an
|
||||
* application specific version to handle chips that don't have built-in
|
||||
* handling for this (e.g. STM32F1.)
|
||||
*/
|
||||
extern void usbd_disconnect(usbd_device *usbd_dev, bool disconnected);
|
||||
|
||||
/** Setup an endpoint
|
||||
|
@ -112,7 +112,8 @@ void usbd_poll(usbd_device *usbd_dev)
|
||||
usbd_dev->driver->poll(usbd_dev);
|
||||
}
|
||||
|
||||
void usbd_disconnect(usbd_device *usbd_dev, bool disconnected)
|
||||
__attribute__((weak)) void usbd_disconnect(usbd_device *usbd_dev,
|
||||
bool disconnected)
|
||||
{
|
||||
/* not all drivers support disconnection */
|
||||
if (usbd_dev->driver->disconnect) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user