From 38de7819de75c078a957a50039cabe27ecdc84e2 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 30 Jul 2019 19:27:26 +0000 Subject: [PATCH] Buster I2C updates. The i2c headers and libraries have been split in buster. This change configures the code for building and linking under buster. --- .../any/onlp/src/onlplib/module/auto/onlplib.yml | 4 ++++ .../onlp/src/onlplib/module/inc/onlplib/i2c.h | 9 +++++++++ .../onlplib/module/inc/onlplib/onlplib_config.h | 10 ++++++++++ .../base/any/onlp/src/onlplib/module/make.mk | 16 ++++++++++------ .../base/any/onlp/src/onlplib/module/src/i2c.c | 6 ------ .../onlp/src/onlplib/module/src/onlplib_config.c | 5 +++++ 6 files changed, 38 insertions(+), 12 deletions(-) diff --git a/packages/base/any/onlp/src/onlplib/module/auto/onlplib.yml b/packages/base/any/onlp/src/onlplib/module/auto/onlplib.yml index b9ab6110..518c454f 100644 --- a/packages/base/any/onlp/src/onlplib/module/auto/onlplib.yml +++ b/packages/base/any/onlp/src/onlplib/module/auto/onlplib.yml @@ -59,6 +59,10 @@ cdefs: &cdefs doc: "Include the custom i2c header (include/linux/i2c-devices.h) to avoid conflicts with the kernel and i2c-dev packages." default: 1 +- ONLPLIB_CONFIG_I2C_INCLUDE_SMBUS: + doc: "Include " + default: 0 + definitions: cdefs: ONLPLIB_CONFIG_HEADER: diff --git a/packages/base/any/onlp/src/onlplib/module/inc/onlplib/i2c.h b/packages/base/any/onlp/src/onlplib/module/inc/onlplib/i2c.h index 3c41c881..8af45370 100644 --- a/packages/base/any/onlp/src/onlplib/module/inc/onlplib/i2c.h +++ b/packages/base/any/onlp/src/onlplib/module/inc/onlplib/i2c.h @@ -29,6 +29,7 @@ #if ONLPLIB_CONFIG_INCLUDE_I2C == 1 + /** * Use TENBIT mode. Default is to disable TENBIT mode. */ @@ -350,7 +351,15 @@ extern onlp_i2c_mux_driver_t onlp_i2c_mux_driver_pca9548; +#if ONLPLIB_CONFIG_I2C_USE_CUSTOM_HEADER == 1 +#include +#else +#include +#endif +#if ONLPLIB_CONFIG_I2C_INCLUDE_SMBUS == 1 +#include +#endif #endif /* ONLPLIB_CONFIG_INCLUDE_I2C */ diff --git a/packages/base/any/onlp/src/onlplib/module/inc/onlplib/onlplib_config.h b/packages/base/any/onlp/src/onlplib/module/inc/onlplib/onlplib_config.h index 06084d02..fe278fc9 100644 --- a/packages/base/any/onlp/src/onlplib/module/inc/onlplib/onlplib_config.h +++ b/packages/base/any/onlp/src/onlplib/module/inc/onlplib/onlplib_config.h @@ -155,6 +155,16 @@ #define ONLPLIB_CONFIG_I2C_USE_CUSTOM_HEADER 1 #endif +/** + * ONLPLIB_CONFIG_INCLUDE_I2C_SMBUS + * + * Include */ + + +#ifndef ONLPLIB_CONFIG_INCLUDE_I2C_SMBUS +#define ONLPLIB_CONFIG_INCLUDE_I2C_SMBUS 0 +#endif + /** diff --git a/packages/base/any/onlp/src/onlplib/module/make.mk b/packages/base/any/onlp/src/onlplib/module/make.mk index 846afa4f..12269c44 100644 --- a/packages/base/any/onlp/src/onlplib/module/make.mk +++ b/packages/base/any/onlp/src/onlplib/module/make.mk @@ -1,21 +1,21 @@ ############################################################ # -# -# Copyright 2014, 2015 Big Switch Networks, Inc. -# +# +# Copyright 2014, 2015 Big Switch Networks, Inc. +# # Licensed under the Eclipse Public License, Version 1.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at -# +# # http://www.eclipse.org/legal/epl-v10.html -# +# # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, # either express or implied. See the License for the specific # language governing permissions and limitations under the # License. -# +# # ############################################################ # @@ -28,3 +28,7 @@ onlplib_INCLUDES := -I $(THIS_DIR)inc onlplib_INTERNAL_INCLUDES := -I $(THIS_DIR)src onlplib_DEPENDMODULE_ENTRIES := init:onlplib +ifeq ($(ONL_DEBIAN_SUITE),buster) +GLOBAL_CFLAGS += -DONLPLIB_CONFIG_I2C_INCLUDE_SMBUS=1 +GLOBAL_LINK_LIBS += -li2c +endif diff --git a/packages/base/any/onlp/src/onlplib/module/src/i2c.c b/packages/base/any/onlp/src/onlplib/module/src/i2c.c index f5d06955..6b2057e4 100644 --- a/packages/base/any/onlp/src/onlplib/module/src/i2c.c +++ b/packages/base/any/onlp/src/onlplib/module/src/i2c.c @@ -30,12 +30,6 @@ #include #include -#if ONLPLIB_CONFIG_I2C_USE_CUSTOM_HEADER == 1 -#include -#else -#include -#endif - #include #include #include diff --git a/packages/base/any/onlp/src/onlplib/module/src/onlplib_config.c b/packages/base/any/onlp/src/onlplib/module/src/onlplib_config.c index e7756e39..5c0ac2fe 100644 --- a/packages/base/any/onlp/src/onlplib/module/src/onlplib_config.c +++ b/packages/base/any/onlp/src/onlplib/module/src/onlplib_config.c @@ -84,6 +84,11 @@ onlplib_config_settings_t onlplib_config_settings[] = { __onlplib_config_STRINGIFY_NAME(ONLPLIB_CONFIG_I2C_USE_CUSTOM_HEADER), __onlplib_config_STRINGIFY_VALUE(ONLPLIB_CONFIG_I2C_USE_CUSTOM_HEADER) }, #else { ONLPLIB_CONFIG_I2C_USE_CUSTOM_HEADER(__onlplib_config_STRINGIFY_NAME), "__undefined__" }, +#endif +#ifdef ONLPLIB_CONFIG_INCLUDE_I2C_SMBUS + { __onlplib_config_STRINGIFY_NAME(ONLPLIB_CONFIG_INCLUDE_I2C_SMBUS), __onlplib_config_STRINGIFY_VALUE(ONLPLIB_CONFIG_INCLUDE_I2C_SMBUS) }, +#else +{ ONLPLIB_CONFIG_INCLUDE_I2C_SMBUS(__onlplib_config_STRINGIFY_NAME), "__undefined__" }, #endif { NULL, NULL } };