drivers: sensor: use k_thread_create()
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
d26cf2dc33
commit
33f80d7c85
32 changed files with 98 additions and 57 deletions
|
@ -132,6 +132,7 @@ struct bma280_data {
|
|||
|
||||
#if defined(CONFIG_BMA280_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_BMA280_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem gpio_sem;
|
||||
#elif defined(CONFIG_BMA280_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
|
|
|
@ -262,9 +262,11 @@ int bma280_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_BMA280_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_BMA280_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)bma280_thread, POINTER_TO_INT(dev), 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_BMA280_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_BMA280_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)bma280_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_BMA280_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_BMA280_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = bma280_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -118,6 +118,7 @@ struct bmc150_magn_data {
|
|||
|
||||
#if defined(CONFIG_BMC150_MAGN_TRIGGER)
|
||||
char __stack thread_stack[CONFIG_BMC150_MAGN_TRIGGER_THREAD_STACK];
|
||||
struct k_thread thread;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BMC150_MAGN_TRIGGER_DRDY)
|
||||
|
|
|
@ -136,10 +136,10 @@ int bmc150_magn_init_interrupt(struct device *dev)
|
|||
|
||||
k_sem_init(&data->sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(data->thread_stack,
|
||||
CONFIG_BMC150_MAGN_TRIGGER_THREAD_STACK,
|
||||
bmc150_magn_thread_main, dev, NULL, NULL,
|
||||
K_PRIO_COOP(10), 0, 0);
|
||||
k_thread_create(&data->thread, data->thread_stack,
|
||||
CONFIG_BMC150_MAGN_TRIGGER_THREAD_STACK,
|
||||
bmc150_magn_thread_main, dev, NULL, NULL,
|
||||
K_PRIO_COOP(10), 0, 0);
|
||||
|
||||
data->gpio_drdy = device_get_binding(config->gpio_drdy_dev_name);
|
||||
if (!data->gpio_drdy) {
|
||||
|
|
|
@ -164,6 +164,7 @@ static void bmg160_handle_int(void *arg)
|
|||
|
||||
#ifdef CONFIG_BMG160_TRIGGER_OWN_THREAD
|
||||
static char __stack bmg160_thread_stack[CONFIG_BMG160_THREAD_STACK_SIZE];
|
||||
static struct k_thread bmg160_thread;
|
||||
|
||||
static void bmg160_thread_main(void *arg1, void *arg2, void *arg3)
|
||||
{
|
||||
|
@ -228,8 +229,9 @@ int bmg160_trigger_init(struct device *dev)
|
|||
|
||||
#if defined(CONFIG_BMG160_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&bmg160->trig_sem, 0, UINT_MAX);
|
||||
k_thread_spawn(bmg160_thread_stack, CONFIG_BMG160_THREAD_STACK_SIZE,
|
||||
bmg160_thread_main, dev, NULL, NULL, K_PRIO_COOP(10), 0, 0);
|
||||
k_thread_create(&bmg160_thread, bmg160_thread_stack,
|
||||
CONFIG_BMG160_THREAD_STACK_SIZE, bmg160_thread_main,
|
||||
dev, NULL, NULL, K_PRIO_COOP(10), 0, 0);
|
||||
|
||||
#elif defined(CONFIG_BMG160_TRIGGER_GLOBAL_THREAD)
|
||||
bmg160->work.handler = bmg160_work_cb;
|
||||
|
|
|
@ -78,6 +78,7 @@ static void bmi160_handle_interrupts(void *arg)
|
|||
|
||||
#ifdef CONFIG_BMI160_TRIGGER_OWN_THREAD
|
||||
static char __stack bmi160_thread_stack[CONFIG_BMI160_THREAD_STACK_SIZE];
|
||||
static struct k_thread bmi160_thread;
|
||||
|
||||
static void bmi160_thread_main(void *arg1, void *unused1, void *unused2)
|
||||
{
|
||||
|
@ -281,9 +282,10 @@ int bmi160_trigger_mode_init(struct device *dev)
|
|||
#if defined(CONFIG_BMI160_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&bmi160->sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(bmi160_thread_stack, CONFIG_BMI160_THREAD_STACK_SIZE,
|
||||
bmi160_thread_main, dev, NULL, NULL,
|
||||
K_PRIO_COOP(CONFIG_BMI160_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&bmi160_thread, bmi160_thread_stack,
|
||||
CONFIG_BMI160_THREAD_STACK_SIZE,
|
||||
bmi160_thread_main, dev, NULL, NULL,
|
||||
K_PRIO_COOP(CONFIG_BMI160_THREAD_PRIORITY), 0, 0);
|
||||
#elif defined(CONFIG_BMI160_TRIGGER_GLOBAL_THREAD)
|
||||
bmi160->work.handler = bmi160_work_handler;
|
||||
bmi160->dev = dev;
|
||||
|
|
|
@ -83,6 +83,7 @@ struct fxas21002_data {
|
|||
#endif
|
||||
#ifdef CONFIG_FXAS21002_TRIGGER_OWN_THREAD
|
||||
char __stack thread_stack[CONFIG_FXAS21002_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem trig_sem;
|
||||
#endif
|
||||
#ifdef CONFIG_FXAS21002_TRIGGER_GLOBAL_THREAD
|
||||
|
|
|
@ -171,9 +171,10 @@ int fxas21002_trigger_init(struct device *dev)
|
|||
|
||||
#if defined(CONFIG_FXAS21002_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&data->trig_sem, 0, UINT_MAX);
|
||||
k_thread_spawn(data->thread_stack, CONFIG_FXAS21002_THREAD_STACK_SIZE,
|
||||
fxas21002_thread_main, dev, 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_FXAS21002_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&data->thread, data->thread_stack,
|
||||
CONFIG_FXAS21002_THREAD_STACK_SIZE,
|
||||
fxas21002_thread_main, dev, 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_FXAS21002_THREAD_PRIORITY), 0, 0);
|
||||
#elif defined(CONFIG_FXAS21002_TRIGGER_GLOBAL_THREAD)
|
||||
data->work.handler = fxas21002_work_handler;
|
||||
data->dev = dev;
|
||||
|
|
|
@ -125,6 +125,7 @@ struct fxos8700_data {
|
|||
#endif
|
||||
#ifdef CONFIG_FXOS8700_TRIGGER_OWN_THREAD
|
||||
char __stack thread_stack[CONFIG_FXOS8700_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem trig_sem;
|
||||
#endif
|
||||
#ifdef CONFIG_FXOS8700_TRIGGER_GLOBAL_THREAD
|
||||
|
|
|
@ -262,9 +262,10 @@ int fxos8700_trigger_init(struct device *dev)
|
|||
|
||||
#if defined(CONFIG_FXOS8700_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&data->trig_sem, 0, UINT_MAX);
|
||||
k_thread_spawn(data->thread_stack, CONFIG_FXOS8700_THREAD_STACK_SIZE,
|
||||
fxos8700_thread_main, dev, 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_FXOS8700_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&data->thread, data->thread_stack,
|
||||
CONFIG_FXOS8700_THREAD_STACK_SIZE,
|
||||
fxos8700_thread_main, dev, 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_FXOS8700_THREAD_PRIORITY), 0, 0);
|
||||
#elif defined(CONFIG_FXOS8700_TRIGGER_GLOBAL_THREAD)
|
||||
data->work.handler = fxos8700_work_handler;
|
||||
data->dev = dev;
|
||||
|
|
|
@ -62,6 +62,7 @@ struct hmc5883l_data {
|
|||
|
||||
#if defined(CONFIG_HMC5883L_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_HMC5883L_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem gpio_sem;
|
||||
#elif defined(CONFIG_HMC5883L_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
|
|
|
@ -118,9 +118,11 @@ int hmc5883l_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_HMC5883L_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_HMC5883L_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)hmc5883l_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_HMC5883L_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_HMC5883L_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)hmc5883l_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_HMC5883L_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_HMC5883L_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = hmc5883l_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -60,6 +60,7 @@ struct hts221_data {
|
|||
|
||||
#if defined(CONFIG_HTS221_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_HTS221_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem gpio_sem;
|
||||
#elif defined(CONFIG_HTS221_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
|
|
|
@ -125,9 +125,11 @@ int hts221_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_HTS221_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_HTS221_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)hts221_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_HTS221_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_HTS221_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)hts221_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_HTS221_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_HTS221_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = hts221_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -123,6 +123,7 @@ struct isl29035_driver_data {
|
|||
|
||||
#if defined(CONFIG_ISL29035_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_ISL29035_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem gpio_sem;
|
||||
#elif defined(CONFIG_ISL29035_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
|
|
|
@ -169,9 +169,11 @@ int isl29035_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_ISL29035_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_ISL29035_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)isl29035_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_ISL29035_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_ISL29035_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)isl29035_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_ISL29035_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_ISL29035_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = isl29035_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -202,6 +202,7 @@ struct lis2dh_data {
|
|||
|
||||
#if defined(CONFIG_LIS2DH_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_LIS2DH_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem gpio_sem;
|
||||
#elif defined(CONFIG_LIS2DH_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
|
|
|
@ -392,9 +392,10 @@ int lis2dh_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_LIS2DH_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&lis2dh->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(lis2dh->thread_stack, CONFIG_LIS2DH_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)lis2dh_thread, dev, NULL, NULL,
|
||||
K_PRIO_COOP(CONFIG_LIS2DH_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&lis2dh->thread, lis2dh->thread_stack,
|
||||
CONFIG_LIS2DH_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)lis2dh_thread, dev, NULL, NULL,
|
||||
K_PRIO_COOP(CONFIG_LIS2DH_THREAD_PRIORITY), 0, 0);
|
||||
#elif defined(CONFIG_LIS2DH_TRIGGER_GLOBAL_THREAD)
|
||||
lis2dh->work.handler = lis2dh_work_cb;
|
||||
lis2dh->dev = dev;
|
||||
|
|
|
@ -94,6 +94,7 @@ struct lis3dh_data {
|
|||
|
||||
#if defined(CONFIG_LIS3DH_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_LIS3DH_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem gpio_sem;
|
||||
#elif defined(CONFIG_LIS3DH_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
|
|
|
@ -131,9 +131,11 @@ int lis3dh_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_LIS3DH_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_LIS3DH_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)lis3dh_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_LIS3DH_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_LIS3DH_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)lis3dh_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_LIS3DH_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_LIS3DH_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = lis3dh_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -109,6 +109,7 @@ struct lis3mdl_data {
|
|||
#if defined(CONFIG_LIS3MDL_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_LIS3MDL_THREAD_STACK_SIZE];
|
||||
struct k_sem gpio_sem;
|
||||
struct k_thread thread;
|
||||
#elif defined(CONFIG_LIS3MDL_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
struct device *dev;
|
||||
|
|
|
@ -131,9 +131,11 @@ int lis3mdl_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_LIS3MDL_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_LIS3MDL_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)lis3mdl_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_LIS3MDL_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_LIS3MDL_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)lis3mdl_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_LIS3MDL_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_LIS3MDL_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = lis3mdl_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -230,6 +230,7 @@ struct lsm9ds0_gyro_data {
|
|||
|
||||
#if defined(CONFIG_LSM9DS0_GYRO_TRIGGER_DRDY)
|
||||
char __stack thread_stack[CONFIG_LSM9DS0_GYRO_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct device *dev;
|
||||
|
||||
struct device *gpio_drdy;
|
||||
|
|
|
@ -97,10 +97,10 @@ int lsm9ds0_gyro_init_interrupt(struct device *dev)
|
|||
|
||||
k_sem_init(&data->sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(data->thread_stack,
|
||||
CONFIG_LSM9DS0_GYRO_THREAD_STACK_SIZE,
|
||||
lsm9ds0_gyro_thread_main, dev, NULL, NULL,
|
||||
K_PRIO_COOP(10), 0, 0);
|
||||
k_thread_create(&data->thread, data->thread_stack,
|
||||
CONFIG_LSM9DS0_GYRO_THREAD_STACK_SIZE,
|
||||
lsm9ds0_gyro_thread_main, dev, NULL, NULL,
|
||||
K_PRIO_COOP(10), 0, 0);
|
||||
|
||||
data->gpio_drdy = device_get_binding(config->gpio_drdy_dev_name);
|
||||
if (!data->gpio_drdy) {
|
||||
|
|
|
@ -127,7 +127,7 @@ static void mcp9808_thread_main(int arg1, int arg2)
|
|||
}
|
||||
|
||||
static char __stack mcp9808_thread_stack[CONFIG_MCP9808_THREAD_STACK_SIZE];
|
||||
|
||||
static struct k_thread mcp9808_thread;
|
||||
#else /* CONFIG_MCP9808_TRIGGER_GLOBAL_THREAD */
|
||||
|
||||
static void mcp9808_gpio_cb(struct device *dev,
|
||||
|
@ -168,10 +168,10 @@ void mcp9808_setup_interrupt(struct device *dev)
|
|||
#ifdef CONFIG_MCP9808_TRIGGER_OWN_THREAD
|
||||
k_sem_init(&data->sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(mcp9808_thread_stack,
|
||||
CONFIG_MCP9808_THREAD_STACK_SIZE,
|
||||
mcp9808_thread_main, POINTER_TO_INT(dev), 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_MCP9808_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&mcp9808_thread, mcp9808_thread_stack,
|
||||
CONFIG_MCP9808_THREAD_STACK_SIZE,
|
||||
mcp9808_thread_main, POINTER_TO_INT(dev), 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_MCP9808_THREAD_PRIORITY), 0, 0);
|
||||
#else /* CONFIG_MCP9808_TRIGGER_GLOBAL_THREAD */
|
||||
data->work.handler = mcp9808_gpio_thread_cb;
|
||||
data->dev = dev;
|
||||
|
|
|
@ -62,6 +62,7 @@ struct mpu6050_data {
|
|||
|
||||
#if defined(CONFIG_MPU6050_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_MPU6050_THREAD_STACK_SIZE];
|
||||
struct k_thread thread;
|
||||
struct k_sem gpio_sem;
|
||||
#elif defined(CONFIG_MPU6050_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
|
|
|
@ -126,9 +126,11 @@ int mpu6050_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_MPU6050_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_MPU6050_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)mpu6050_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_MPU6050_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_MPU6050_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)mpu6050_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_MPU6050_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_MPU6050_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = mpu6050_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -77,6 +77,7 @@ struct sht3xd_data {
|
|||
#if defined(CONFIG_SHT3XD_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_SHT3XD_THREAD_STACK_SIZE];
|
||||
struct k_sem gpio_sem;
|
||||
struct k_thread thread;
|
||||
#elif defined(CONFIG_SHT3XD_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
struct device *dev;
|
||||
|
|
|
@ -206,9 +206,11 @@ int sht3xd_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_SHT3XD_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_SHT3XD_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)sht3xd_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_SHT3XD_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_SHT3XD_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)sht3xd_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_SHT3XD_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_SHT3XD_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = sht3xd_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
|
||||
#ifdef CONFIG_SX9500_TRIGGER_OWN_THREAD
|
||||
static char __stack sx9500_thread_stack[CONFIG_SX9500_THREAD_STACK_SIZE];
|
||||
static struct k_thread sx9500_thread;
|
||||
#endif
|
||||
|
||||
int sx9500_trigger_set(struct device *dev,
|
||||
|
@ -171,9 +172,10 @@ int sx9500_setup_interrupt(struct device *dev)
|
|||
gpio_pin_enable_callback(gpio, CONFIG_SX9500_GPIO_PIN);
|
||||
|
||||
#ifdef CONFIG_SX9500_TRIGGER_OWN_THREAD
|
||||
k_thread_spawn(sx9500_thread_stack, CONFIG_SX9500_THREAD_STACK_SIZE,
|
||||
sx9500_thread_main, POINTER_TO_INT(dev), 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_SX9500_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&sx9500_thread, sx9500_thread_stack,
|
||||
CONFIG_SX9500_THREAD_STACK_SIZE,
|
||||
sx9500_thread_main, POINTER_TO_INT(dev), 0, NULL,
|
||||
K_PRIO_COOP(CONFIG_SX9500_THREAD_PRIORITY), 0, 0);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -50,6 +50,7 @@ struct tmp007_data {
|
|||
#if defined(CONFIG_TMP007_TRIGGER_OWN_THREAD)
|
||||
char __stack thread_stack[CONFIG_TMP007_THREAD_STACK_SIZE];
|
||||
struct k_sem gpio_sem;
|
||||
struct k_thread thread;
|
||||
#elif defined(CONFIG_TMP007_TRIGGER_GLOBAL_THREAD)
|
||||
struct k_work work;
|
||||
struct device *dev;
|
||||
|
|
|
@ -164,9 +164,11 @@ int tmp007_init_interrupt(struct device *dev)
|
|||
#if defined(CONFIG_TMP007_TRIGGER_OWN_THREAD)
|
||||
k_sem_init(&drv_data->gpio_sem, 0, UINT_MAX);
|
||||
|
||||
k_thread_spawn(drv_data->thread_stack, CONFIG_TMP007_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)tmp007_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_TMP007_THREAD_PRIORITY), 0, 0);
|
||||
k_thread_create(&drv_data->thread, drv_data->thread_stack,
|
||||
CONFIG_TMP007_THREAD_STACK_SIZE,
|
||||
(k_thread_entry_t)tmp007_thread, POINTER_TO_INT(dev),
|
||||
0, NULL, K_PRIO_COOP(CONFIG_TMP007_THREAD_PRIORITY),
|
||||
0, 0);
|
||||
#elif defined(CONFIG_TMP007_TRIGGER_GLOBAL_THREAD)
|
||||
drv_data->work.handler = tmp007_work_cb;
|
||||
drv_data->dev = dev;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue