diff --git a/Android.bp b/Android.bp index 09cb428..437a84b 100644 --- a/Android.bp +++ b/Android.bp @@ -56,6 +56,7 @@ cc_library_shared { cflags: [ "-UNDEBUG", "-DANDROID", + "-DDEVMEM", "-Wno-return-type", ], diff --git a/wiringPi/Makefile.am b/wiringPi/Makefile.am index aa0df83..0cf32ab 100644 --- a/wiringPi/Makefile.am +++ b/wiringPi/Makefile.am @@ -46,7 +46,8 @@ libwiringPi_la_SOURCES = \ libwiringPi_la_CFLAGS = \ @EXTRA_CFLAGS@ \ - $(LIBCRYPT_CFLAGS) + $(LIBCRYPT_CFLAGS) \ + -DDEVMEM libwiringPi_la_LDFLAGS = \ -version-info @LIBWIRINGPI_VERSION@ \ diff --git a/wiringPi/odroidm1.c b/wiringPi/odroidm1.c index ccf0acf..38f846b 100644 --- a/wiringPi/odroidm1.c +++ b/wiringPi/odroidm1.c @@ -31,22 +31,22 @@ along with this program. If not, see . #include #include #include -#include /*----------------------------------------------------------------------------*/ #include "softPwm.h" #include "softTone.h" /*----------------------------------------------------------------------------*/ #include "wiringPi.h" #include "odroidm1.h" + +#if !defined(DEVMEM) +#include /*----------------------------------------------------------------------------*/ // libgpiod define /*----------------------------------------------------------------------------*/ static struct gpiod_chip *chip; static struct gpiod_line *gpiod; -/*----------------------------------------------------------------------------*/ -// select mode WIRINGPI or LIBGPIOD -/*----------------------------------------------------------------------------*/ -#define MODE WIRINGPI +#endif + /*----------------------------------------------------------------------------*/ // wiringPi gpio map define /*----------------------------------------------------------------------------*/ @@ -145,6 +145,8 @@ static int _digitalWrite (int pin, int value); static int _analogRead (int pin); static int _digitalWriteByte (const unsigned int value); static unsigned int _digitalReadByte (void); + +#if !defined(DEVMEM) /*----------------------------------------------------------------------------*/ // libgpiod core function /*----------------------------------------------------------------------------*/ @@ -153,6 +155,8 @@ static int _digitalRead_gpiod (int pin); static int _digitalWrite_gpiod (int pin, int value); static int _digitalWriteByte_gpiod (const unsigned int value); static unsigned int _digitalReadByte_gpiod (void); +#endif + /*----------------------------------------------------------------------------*/ // board init function /*----------------------------------------------------------------------------*/ @@ -347,6 +351,8 @@ __attribute__ ((unused))static int _pinMode (int pin, int mode) return 0; } + +#if !defined(DEVMEM) /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static int _pinMode_gpiod (int pin, int mode) { @@ -427,6 +433,8 @@ __attribute__ ((unused))static int _pinMode_gpiod (int pin, int mode) return 0; } +#endif + /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static int _getDrive(int pin) { @@ -744,6 +752,8 @@ __attribute__ ((unused))static int _digitalRead (int pin) return ret; } + +#if !defined(DEVMEM) /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static int _digitalRead_gpiod (int pin) { @@ -796,6 +806,8 @@ __attribute__ ((unused))static int _digitalRead_gpiod (int pin) return ret; } +#endif + /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static int _digitalWrite (int pin, int value) { @@ -845,6 +857,8 @@ __attribute__ ((unused))static int _digitalWrite (int pin, int value) return 0; } + +#if !defined(DEVMEM) /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static int _digitalWrite_gpiod (int pin, int value) { @@ -915,6 +929,8 @@ __attribute__ ((unused))static int _digitalWrite_gpiod (int pin, int value) return 0; } +#endif + /*----------------------------------------------------------------------------*/ static int _analogRead (int pin) { @@ -995,6 +1011,8 @@ __attribute__ ((unused))static int _digitalWriteByte (const unsigned int value) return 0; } + +#if !defined(DEVMEM) /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static int _digitalWriteByte_gpiod (const unsigned int value) { @@ -1057,6 +1075,8 @@ __attribute__ ((unused))static int _digitalWriteByte_gpiod (const unsigned int v return 0; } +#endif + /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static unsigned int _digitalReadByte (void) { @@ -1100,6 +1120,8 @@ __attribute__ ((unused))static unsigned int _digitalReadByte (void) return value; } + +#if !defined(DEVMEM) /*----------------------------------------------------------------------------*/ __attribute__ ((unused))static unsigned int _digitalReadByte_gpiod (void) { @@ -1161,6 +1183,8 @@ __attribute__ ((unused))static unsigned int _digitalReadByte_gpiod (void) return value; } +#endif + /*----------------------------------------------------------------------------*/ static void init_gpio_mmap (void) { @@ -1247,7 +1271,7 @@ void init_odroidm1 (struct libodroid *libwiring) init_gpio_mmap(); init_adc_fds(); -#if MODE == WIRINGPI +#if defined(DEVMEM) /* wiringPi Core function initialize */ libwiring->getModeToGpio = _getModeToGpio; libwiring->pinMode = _pinMode; @@ -1261,7 +1285,7 @@ void init_odroidm1 (struct libodroid *libwiring) libwiring->analogRead = _analogRead; libwiring->digitalWriteByte = _digitalWriteByte; libwiring->digitalReadByte = _digitalReadByte; -#elif MODE == LIBGPIOD +#else /* wiringPi-libgpiod Core function initialize */ libwiring->getModeToGpio = _getModeToGpio; libwiring->pinMode = _pinMode_gpiod;