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;