|
@@ -1,147 +0,0 @@
|
|
|
-Description: This patch fixes the "multiple definition of" errors with gcc10
|
|
|
-
|
|
|
-Signed-off-by: Michael Fischer <mf@go-sys.de>
|
|
|
-
|
|
|
-diff -purN python-rpi-gpio.org/source/common.c python-rpi-gpio/source/common.c
|
|
|
---- python-rpi-gpio.org/source/common.c 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/common.c 2020-08-07 09:31:33.948575964 +0200
|
|
|
-@@ -28,6 +28,9 @@
|
|
|
- const int pin_to_gpio_rev1[41] = {-1, -1, -1, 0, -1, 1, -1, 4, 14, -1, 15, 17, 18, 21, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
|
|
|
- const int pin_to_gpio_rev2[41] = {-1, -1, -1, 2, -1, 3, -1, 4, 14, -1, 15, 17, 18, 27, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
|
|
|
- const int pin_to_gpio_rev3[41] = {-1, -1, -1, 2, -1, 3, -1, 4, 14, -1, 15, 17, 18, 27, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, 5, -1, 6, 12, 13, -1, 19, 16, 26, 20, -1, 21 };
|
|
|
-+const int (*pin_to_gpio)[41];
|
|
|
-+int gpio_direction[54];
|
|
|
-+rpi_info rpiinfo;
|
|
|
- int setup_error = 0;
|
|
|
- int module_setup = 0;
|
|
|
-
|
|
|
-diff -purN python-rpi-gpio.org/source/common.h python-rpi-gpio/source/common.h
|
|
|
---- python-rpi-gpio.org/source/common.h 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/common.h 2020-08-07 09:31:33.948575964 +0200
|
|
|
-@@ -30,14 +30,14 @@ SOFTWARE.
|
|
|
- #define I2C 42
|
|
|
- #define PWM 43
|
|
|
-
|
|
|
--int gpio_mode;
|
|
|
--const int pin_to_gpio_rev1[41];
|
|
|
--const int pin_to_gpio_rev2[41];
|
|
|
--const int pin_to_gpio_rev3[41];
|
|
|
--const int (*pin_to_gpio)[41];
|
|
|
--int gpio_direction[54];
|
|
|
--rpi_info rpiinfo;
|
|
|
--int setup_error;
|
|
|
--int module_setup;
|
|
|
-+extern int gpio_mode;
|
|
|
-+extern const int pin_to_gpio_rev1[41];
|
|
|
-+extern const int pin_to_gpio_rev2[41];
|
|
|
-+extern const int pin_to_gpio_rev3[41];
|
|
|
-+extern const int (*pin_to_gpio)[41];
|
|
|
-+extern int gpio_direction[54];
|
|
|
-+extern rpi_info rpiinfo;
|
|
|
-+extern int setup_error;
|
|
|
-+extern int module_setup;
|
|
|
- int check_gpio_priv(void);
|
|
|
- int get_gpio_number(int channel, unsigned int *gpio);
|
|
|
-diff -purN python-rpi-gpio.org/source/constants.c python-rpi-gpio/source/constants.c
|
|
|
---- python-rpi-gpio.org/source/constants.c 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/constants.c 2020-08-07 09:32:15.522196618 +0200
|
|
|
-@@ -21,6 +21,7 @@
|
|
|
- */
|
|
|
-
|
|
|
- #include "Python.h"
|
|
|
-+#define CONSTANTS_C
|
|
|
- #include "constants.h"
|
|
|
- #include "common.h"
|
|
|
- #include "c_gpio.h"
|
|
|
-diff -purN python-rpi-gpio.org/source/constants.h python-rpi-gpio/source/constants.h
|
|
|
---- python-rpi-gpio.org/source/constants.h 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/constants.h 2020-08-07 09:32:15.522196618 +0200
|
|
|
-@@ -23,22 +23,28 @@ SOFTWARE.
|
|
|
- #define PY_PUD_CONST_OFFSET 20
|
|
|
- #define PY_EVENT_CONST_OFFSET 30
|
|
|
-
|
|
|
--PyObject *high;
|
|
|
--PyObject *low;
|
|
|
--PyObject *input;
|
|
|
--PyObject *output;
|
|
|
--PyObject *pwm;
|
|
|
--PyObject *serial;
|
|
|
--PyObject *i2c;
|
|
|
--PyObject *spi;
|
|
|
--PyObject *unknown;
|
|
|
--PyObject *board;
|
|
|
--PyObject *bcm;
|
|
|
--PyObject *pud_off;
|
|
|
--PyObject *pud_up;
|
|
|
--PyObject *pud_down;
|
|
|
--PyObject *rising_edge;
|
|
|
--PyObject *falling_edge;
|
|
|
--PyObject *both_edge;
|
|
|
-+#ifdef CONSTANTS_C
|
|
|
-+#define MAYBE_EXTERN
|
|
|
-+#else
|
|
|
-+#define MAYBE_EXTERN extern
|
|
|
-+#endif
|
|
|
-+
|
|
|
-+MAYBE_EXTERN PyObject *high;
|
|
|
-+MAYBE_EXTERN PyObject *low;
|
|
|
-+MAYBE_EXTERN PyObject *input;
|
|
|
-+MAYBE_EXTERN PyObject *output;
|
|
|
-+MAYBE_EXTERN PyObject *pwm;
|
|
|
-+MAYBE_EXTERN PyObject *serial;
|
|
|
-+MAYBE_EXTERN PyObject *i2c;
|
|
|
-+MAYBE_EXTERN PyObject *spi;
|
|
|
-+MAYBE_EXTERN PyObject *unknown;
|
|
|
-+MAYBE_EXTERN PyObject *board;
|
|
|
-+MAYBE_EXTERN PyObject *bcm;
|
|
|
-+MAYBE_EXTERN PyObject *pud_off;
|
|
|
-+MAYBE_EXTERN PyObject *pud_up;
|
|
|
-+MAYBE_EXTERN PyObject *pud_down;
|
|
|
-+MAYBE_EXTERN PyObject *rising_edge;
|
|
|
-+MAYBE_EXTERN PyObject *falling_edge;
|
|
|
-+MAYBE_EXTERN PyObject *both_edge;
|
|
|
-
|
|
|
- void define_constants(PyObject *module);
|
|
|
-diff -purN python-rpi-gpio.org/source/event_gpio.c python-rpi-gpio/source/event_gpio.c
|
|
|
---- python-rpi-gpio.org/source/event_gpio.c 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/event_gpio.c 2020-08-07 09:42:05.564483136 +0200
|
|
|
-@@ -57,7 +57,7 @@ struct callback
|
|
|
- };
|
|
|
- struct callback *callbacks = NULL;
|
|
|
-
|
|
|
--pthread_t threads;
|
|
|
-+static pthread_t threads;
|
|
|
- int event_occurred[54] = { 0 };
|
|
|
- int thread_running = 0;
|
|
|
- int epfd_thread = -1;
|
|
|
-diff -purN python-rpi-gpio.org/source/py_pwm.h python-rpi-gpio/source/py_pwm.h
|
|
|
---- python-rpi-gpio.org/source/py_pwm.h 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/py_pwm.h 2020-08-07 09:38:49.445646807 +0200
|
|
|
-@@ -20,5 +20,5 @@ OUT OF OR IN CONNECTION WITH THE SOFTWAR
|
|
|
- SOFTWARE.
|
|
|
- */
|
|
|
-
|
|
|
--PyTypeObject PWMType;
|
|
|
-+extern PyTypeObject PWMType;
|
|
|
- PyTypeObject *PWM_init_PWMType(void);
|
|
|
-diff -purN python-rpi-gpio.org/source/soft_pwm.c python-rpi-gpio/source/soft_pwm.c
|
|
|
---- python-rpi-gpio.org/source/soft_pwm.c 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/soft_pwm.c 2020-08-07 09:42:40.753160437 +0200
|
|
|
-@@ -25,7 +25,7 @@ SOFTWARE.
|
|
|
- #include <time.h>
|
|
|
- #include "c_gpio.h"
|
|
|
- #include "soft_pwm.h"
|
|
|
--pthread_t threads;
|
|
|
-+static pthread_t threads;
|
|
|
-
|
|
|
- struct pwm
|
|
|
- {
|
|
|
-diff -purN python-rpi-gpio.org/source/soft_pwm.h python-rpi-gpio/source/soft_pwm.h
|
|
|
---- python-rpi-gpio.org/source/soft_pwm.h 2019-07-21 14:41:22.000000000 +0200
|
|
|
-+++ python-rpi-gpio/source/soft_pwm.h 2020-08-07 09:39:25.916811352 +0200
|
|
|
-@@ -26,4 +26,4 @@ void pwm_set_duty_cycle(unsigned int gpi
|
|
|
- void pwm_set_frequency(unsigned int gpio, float freq);
|
|
|
- void pwm_start(unsigned int gpio);
|
|
|
- void pwm_stop(unsigned int gpio);
|
|
|
--int pwm_exists(unsigned int gpio);
|
|
|
-+extern int pwm_exists(unsigned int gpio);
|