drivers: sensor: stts751: Update driver to use gpio_dt_spec

Simplify driver by using gpio_dt_spec for bus access.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
diff --git a/drivers/sensor/stts751/stts751.c b/drivers/sensor/stts751/stts751.c
index a0282ea..65fb15b 100644
--- a/drivers/sensor/stts751/stts751.c
+++ b/drivers/sensor/stts751/stts751.c
@@ -202,9 +202,7 @@
 static const struct stts751_config stts751_config = {
 	COND_CODE_1(DT_INST_ON_BUS(0, i2c), (.i2c = I2C_DT_SPEC_INST_GET(0),), ())
 #ifdef CONFIG_STTS751_TRIGGER
-	.event_port	= DT_INST_GPIO_LABEL(0, drdy_gpios),
-	.event_pin	= DT_INST_GPIO_PIN(0, drdy_gpios),
-	.int_flags	= DT_INST_GPIO_FLAGS(0, drdy_gpios),
+	.int_gpio = GPIO_DT_SPEC_INST_GET(0, drdy_gpios),
 #endif
 #if DT_ANY_INST_ON_BUS_STATUS_OKAY(i2c)
 	.bus_init = stts751_i2c_init,
diff --git a/drivers/sensor/stts751/stts751.h b/drivers/sensor/stts751/stts751.h
index e6a3084..e311b09 100644
--- a/drivers/sensor/stts751/stts751.h
+++ b/drivers/sensor/stts751/stts751.h
@@ -25,9 +25,7 @@
 #endif
 	int (*bus_init)(const struct device *dev);
 #ifdef CONFIG_STTS751_TRIGGER
-	const char *event_port;
-	uint8_t event_pin;
-	uint8_t int_flags;
+	struct gpio_dt_spec int_gpio;
 #endif
 };
 
@@ -42,8 +40,6 @@
 #endif
 
 #ifdef CONFIG_STTS751_TRIGGER
-	const struct device *gpio;
-	uint32_t pin;
 	struct gpio_callback gpio_cb;
 
 	struct sensor_trigger data_ready_trigger;
diff --git a/drivers/sensor/stts751/stts751_trigger.c b/drivers/sensor/stts751/stts751_trigger.c
index 0adbaaa..0bf0f73 100644
--- a/drivers/sensor/stts751/stts751_trigger.c
+++ b/drivers/sensor/stts751/stts751_trigger.c
@@ -71,8 +71,7 @@
 		stts751->thsld_handler(dev, &thsld_trigger);
 	}
 
-	gpio_pin_interrupt_configure(stts751->gpio, cfg->event_pin,
-				     GPIO_INT_EDGE_TO_ACTIVE);
+	gpio_pin_interrupt_configure_dt(&cfg->int_gpio, GPIO_INT_EDGE_TO_ACTIVE);
 }
 
 static void stts751_gpio_callback(const struct device *dev,
@@ -84,7 +83,7 @@
 
 	ARG_UNUSED(pins);
 
-	gpio_pin_interrupt_configure(dev, cfg->event_pin, GPIO_INT_DISABLE);
+	gpio_pin_interrupt_configure_dt(&cfg->int_gpio, GPIO_INT_DISABLE);
 
 #if defined(CONFIG_STTS751_TRIGGER_OWN_THREAD)
 	k_sem_give(&stts751->gpio_sem);
@@ -119,11 +118,9 @@
 	const struct stts751_config *cfg = dev->config;
 	int ret;
 
-	/* setup data ready gpio interrupt */
-	stts751->gpio = device_get_binding(cfg->event_port);
-	if (stts751->gpio == NULL) {
-		LOG_DBG("Cannot get pointer to %s device", cfg->event_port);
-		return -EINVAL;
+	if (!device_is_ready(cfg->int_gpio.port)) {
+		LOG_ERR("GPIO device not ready");
+		return -ENODEV;
 	}
 
 #if defined(CONFIG_STTS751_TRIGGER_OWN_THREAD)
@@ -138,17 +135,15 @@
 	stts751->work.handler = stts751_work_cb;
 #endif /* CONFIG_STTS751_TRIGGER_OWN_THREAD */
 
-	ret = gpio_pin_configure(stts751->gpio, cfg->event_pin,
-				 GPIO_INPUT | cfg->int_flags);
+	ret = gpio_pin_configure_dt(&cfg->int_gpio, GPIO_INPUT);
 	if (ret < 0) {
 		LOG_DBG("Could not configure gpio");
 		return ret;
 	}
 
-	gpio_init_callback(&stts751->gpio_cb, stts751_gpio_callback,
-			   BIT(cfg->event_pin));
+	gpio_init_callback(&stts751->gpio_cb, stts751_gpio_callback, BIT(cfg->int_gpio.pin));
 
-	if (gpio_add_callback(stts751->gpio, &stts751->gpio_cb) < 0) {
+	if (gpio_add_callback(cfg->int_gpio.port, &stts751->gpio_cb) < 0) {
 		LOG_DBG("Could not set gpio callback");
 		return -EIO;
 	}
@@ -163,6 +158,5 @@
 	stts751_low_temperature_threshold_set(stts751->ctx,
 					stts751_from_celsius_to_lsb(temp_lo));
 
-	return gpio_pin_interrupt_configure(stts751->gpio, cfg->event_pin,
-					    GPIO_INT_EDGE_TO_ACTIVE);
+	return gpio_pin_interrupt_configure_dt(&cfg->int_gpio, GPIO_INT_EDGE_TO_ACTIVE);
 }