For the entire patch set: Reviewed-by: Petri Savolainen <petri.savolai...@linaro.org>
> -----Original Message----- > From: lng-odp [mailto:lng-odp-boun...@lists.linaro.org] On Behalf Of Bill > Fischofer > Sent: Tuesday, June 13, 2017 3:55 PM > To: lng-odp@lists.linaro.org > Subject: [lng-odp] [API-NEXT PATCHv7 1/5] api: feature: add odp feature > bits > > Add new odp_feature_t bits that permit other APIs/components to > refer to various ODP features. > > Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org> > --- > include/odp/api/spec/feature.h | 69 > ++++++++++++++++++++++++ > include/odp_api.h | 1 + > platform/Makefile.inc | 1 + > platform/linux-generic/Makefile.am | 3 +- > platform/linux-generic/include/odp/api/feature.h | 34 ++++++++++++ > 5 files changed, 107 insertions(+), 1 deletion(-) > create mode 100644 include/odp/api/spec/feature.h > create mode 100644 platform/linux-generic/include/odp/api/feature.h > > diff --git a/include/odp/api/spec/feature.h > b/include/odp/api/spec/feature.h > new file mode 100644 > index 00000000..0cfc141d > --- /dev/null > +++ b/include/odp/api/spec/feature.h > @@ -0,0 +1,69 @@ > +/* Copyright (c) 2017, Linaro Limited > + * All rights reserved. > + * > + * SPDX-License-Identifier: BSD-3-Clause > + */ > + > +/** > + * @file > + * > + * ODP features. > + * Define various ODP feature sets that can be referenced by other > + * components. > + */ > + > +#ifndef ODP_API_FEATURE_H_ > +#define ODP_API_FEATURE_H_ > +#include <odp/visibility_begin.h> > + > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +#include <odp/api/std_types.h> > + > +/** @defgroup odp_features ODP_FEATURE > + * ODP feature definitions > + * @{ > + */ > + > +/** Definition of ODP features */ > +typedef union odp_feature_t { > + /** All features */ > + uint32_t all_feat; > + > + /** Individual feature bits */ > + struct { > + /** Classifier APIs, e.g., odp_cls_xxx(), > odp_cos_xxx() */ > + uint32_t cls:1; > + > + /** Crypto APIs, e.g., odp_crypto_xxx() */ > + uint32_t crypto:1; > + > + /** IPsec APIs, e.g., odp_ipsec_xxx() */ > + uint32_t ipsec:1; > + > + /** Scheduler APIs, e.g., odp_schedule_xxx() */ > + uint32_t schedule:1; > + > + /** Time APIs are, e.g., odp_time_xxx() */ > + uint32_t time:1; > + > + /** Timer APIs, e.g., odp_timer_xxx(), > odp_timeout_xxx() */ > + uint32_t timer:1; > + > + /** Traffic Manager APIs, e.g., odp_tm_xxx() */ > + uint32_t tm:1; > + } feat; > +} odp_feature_t; > + > +/** > + * @} > + */ > + > +#ifdef __cplusplus > +} > +#endif > + > +#include <odp/visibility_end.h> > +#endif > diff --git a/include/odp_api.h b/include/odp_api.h > index 8146e024..86232ee1 100644 > --- a/include/odp_api.h > +++ b/include/odp_api.h > @@ -32,6 +32,7 @@ extern "C" { > #include <odp/api/barrier.h> > #include <odp/api/spinlock.h> > #include <odp/api/atomic.h> > +#include <odp/api/feature.h> > #include <odp/api/init.h> > #include <odp/api/system_info.h> > #include <odp/api/thread.h> > diff --git a/platform/Makefile.inc b/platform/Makefile.inc > index 3d609aa7..9f856a15 100644 > --- a/platform/Makefile.inc > +++ b/platform/Makefile.inc > @@ -32,6 +32,7 @@ odpapispecinclude_HEADERS = \ > $(top_srcdir)/include/odp/api/spec/deprecated.h \ > $(top_srcdir)/include/odp/api/spec/errno.h \ > $(top_srcdir)/include/odp/api/spec/event.h \ > + $(top_srcdir)/include/odp/api/spec/feature.h \ > $(top_srcdir)/include/odp/api/spec/support.h \ > $(top_srcdir)/include/odp/api/spec/hash.h \ > $(top_srcdir)/include/odp/api/spec/hints.h \ > diff --git a/platform/linux-generic/Makefile.am b/platform/linux- > generic/Makefile.am > index 58c73767..b4bbd07e 100644 > --- a/platform/linux-generic/Makefile.am > +++ b/platform/linux-generic/Makefile.am > @@ -38,7 +38,7 @@ odpapiinclude_HEADERS = \ > $(srcdir)/include/odp/api/deprecated.h \ > $(srcdir)/include/odp/api/errno.h \ > $(srcdir)/include/odp/api/event.h \ > - $(srcdir)/include/odp/api/support.h \ > + $(srcdir)/include/odp/api/feature.h \ > $(srcdir)/include/odp/api/hash.h \ > $(srcdir)/include/odp/api/hints.h \ > $(srcdir)/include/odp/api/init.h \ > @@ -59,6 +59,7 @@ odpapiinclude_HEADERS = \ > $(srcdir)/include/odp/api/spinlock_recursive.h \ > $(srcdir)/include/odp/api/std_clib.h \ > $(srcdir)/include/odp/api/std_types.h \ > + $(srcdir)/include/odp/api/support.h \ > $(srcdir)/include/odp/api/sync.h \ > $(srcdir)/include/odp/api/system_info.h \ > $(srcdir)/include/odp/api/thread.h \ > diff --git a/platform/linux-generic/include/odp/api/feature.h > b/platform/linux-generic/include/odp/api/feature.h > new file mode 100644 > index 00000000..55a86a83 > --- /dev/null > +++ b/platform/linux-generic/include/odp/api/feature.h > @@ -0,0 +1,34 @@ > +/* Copyright (c) 2017, Linaro Limited > + * All rights reserved. > + * > + * SPDX-License-Identifier: BSD-3-Clause > + */ > + > +/** > + * @file > + * > + * ODP features. > + */ > + > +#ifndef ODP_PLAT_FEATURE_H_ > +#define ODP_PLAT_FEATURE_H_ > + > +#ifdef __cplusplus > +extern "C" { > +#endif > + > +/** @ingroup odp_feature > + * @{ > + */ > + > +/** > + * @} > + */ > + > +#include <odp/api/spec/feature.h> > + > +#ifdef __cplusplus > +} > +#endif > + > +#endif > -- > 2.11.0