118 lines
3.8 KiB
Diff
118 lines
3.8 KiB
Diff
|
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.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.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,22 @@ 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;
|
||
|
+extern PyObject *high;
|
||
|
+extern PyObject *low;
|
||
|
+extern PyObject *input;
|
||
|
+extern PyObject *output;
|
||
|
+extern PyObject *pwm;
|
||
|
+extern PyObject *serial;
|
||
|
+extern PyObject *i2c;
|
||
|
+extern PyObject *spi;
|
||
|
+extern PyObject *unknown;
|
||
|
+extern PyObject *board;
|
||
|
+extern PyObject *bcm;
|
||
|
+extern PyObject *pud_off;
|
||
|
+extern PyObject *pud_up;
|
||
|
+extern PyObject *pud_down;
|
||
|
+extern PyObject *rising_edge;
|
||
|
+extern PyObject *falling_edge;
|
||
|
+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);
|