include: usb: add iterable section in ram for usb_cfg_data

Add iterable section in ram for struct usb_cfg_data and
new makro USBD_DEFINE_CFG_DATA which should be used to
define usb_cfg_date structures.

Deprecate makro USBD_CFG_DATA_DEFINE.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This commit is contained in:
Johann Fischer 2021-12-09 00:06:09 +01:00 committed by Maureen Helm
commit b1356e969d
3 changed files with 11 additions and 2 deletions

View file

@ -75,6 +75,11 @@ Removed APIs in this release:
is changed so that it more closely mimics the real UART controller, is changed so that it more closely mimics the real UART controller,
option is no longer necessary. option is no longer necessary.
Deprecated in this release:
* :c:macro:`USBD_CFG_DATA_DEFINE` is deprecated in favor of utilizing
:c:macro:`USBD_DEFINE_CFG_DATA`
Stable API changes in this release Stable API changes in this release
================================== ==================================

View file

@ -129,6 +129,7 @@
KEEP(*(SORT_BY_NAME(".usb.data*"))) KEEP(*(SORT_BY_NAME(".usb.data*")))
__usb_data_end = .; __usb_data_end = .;
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION) } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
ITERABLE_SECTION_RAM(usb_cfg_data, 4)
#endif /* CONFIG_USB_DEVICE_STACK */ #endif /* CONFIG_USB_DEVICE_STACK */
#if defined(CONFIG_USB_DEVICE_BOS) #if defined(CONFIG_USB_DEVICE_BOS)

View file

@ -67,8 +67,11 @@ extern "C" {
* This macro should be used to place the struct usb_cfg_data * This macro should be used to place the struct usb_cfg_data
* inside usb data section in the RAM. * inside usb data section in the RAM.
*/ */
#define USBD_CFG_DATA_DEFINE(p, name) \ #define USBD_DEFINE_CFG_DATA(name) \
static __in_section(usb, data_##p, name) __used __aligned(4) static STRUCT_SECTION_ITERABLE(usb_cfg_data, name)
#define USBD_CFG_DATA_DEFINE(p, name) __DEPRECATED_MACRO \
static __in_section(_usb_cfg_data, static, p##_name) __used __aligned(4)
/************************************************************************* /*************************************************************************
* USB configuration * USB configuration