@@ -62,7 +62,8 @@ static void lis2mdl_handle_interrupt(void *arg)
6262 lis2mdl -> handler_drdy (dev , & drdy_trigger );
6363 }
6464
65- gpio_pin_enable_callback (lis2mdl -> gpio , config -> gpio_pin );
65+ gpio_pin_interrupt_configure (lis2mdl -> gpio , config -> gpio_pin ,
66+ GPIO_INT_EDGE_TO_ACTIVE );
6667}
6768
6869static void lis2mdl_gpio_callback (struct device * dev ,
@@ -74,7 +75,7 @@ static void lis2mdl_gpio_callback(struct device *dev,
7475
7576 ARG_UNUSED (pins );
7677
77- gpio_pin_disable_callback (dev , config -> gpio_pin );
78+ gpio_pin_interrupt_configure (dev , config -> gpio_pin , GPIO_INT_DISABLE );
7879
7980#if defined(CONFIG_LIS2MDL_TRIGGER_OWN_THREAD )
8081 k_sem_give (& lis2mdl -> gpio_sem );
@@ -134,8 +135,7 @@ int lis2mdl_init_interrupt(struct device *dev)
134135#endif
135136
136137 gpio_pin_configure (lis2mdl -> gpio , config -> gpio_pin ,
137- GPIO_DIR_IN | GPIO_INT | GPIO_INT_EDGE |
138- GPIO_INT_ACTIVE_HIGH | GPIO_INT_DEBOUNCE );
138+ GPIO_INPUT | config -> gpio_flags );
139139
140140 gpio_init_callback (& lis2mdl -> gpio_cb ,
141141 lis2mdl_gpio_callback ,
@@ -146,5 +146,6 @@ int lis2mdl_init_interrupt(struct device *dev)
146146 return - EIO ;
147147 }
148148
149- return gpio_pin_enable_callback (lis2mdl -> gpio , config -> gpio_pin );
149+ return gpio_pin_interrupt_configure (lis2mdl -> gpio , config -> gpio_pin ,
150+ GPIO_INT_EDGE_TO_ACTIVE );
150151}
0 commit comments