drivers/sensor: lis2dw12: Fix the logic to set TAP interrupt

The lis2dw12 sensor can generate the TAP interrupt only on INT1,
while DRDY can be generated on both. The int-pin DT property
specifiy on which pin the DRDY (and not the TAP) can be generated.

This commit fix the way the trigger is set: first the driver checks
the trigger type (DRDY or TAP), then it uses the int-pin information
only in DRDY case but allows setting TAP regardless of int-pin (it
always routes it on INT1).

The previous code was first checking int-pin: if it was INT2 then
the driver refused setting TAP triggers.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
diff --git a/drivers/sensor/lis2dw12/lis2dw12_trigger.c b/drivers/sensor/lis2dw12/lis2dw12_trigger.c
index c9b26e8..1bd74a2 100644
--- a/drivers/sensor/lis2dw12/lis2dw12_trigger.c
+++ b/drivers/sensor/lis2dw12/lis2dw12_trigger.c
@@ -29,44 +29,47 @@
 	stmdev_ctx_t *ctx = (stmdev_ctx_t *)&cfg->ctx;
 	lis2dw12_reg_t int_route;
 
-	if (cfg->int_pin == 1U) {
-		/* set interrupt for pin INT1 */
-		lis2dw12_pin_int1_route_get(ctx, &int_route.ctrl4_int1_pad_ctrl);
-
-		switch (type) {
-		case SENSOR_TRIG_DATA_READY:
+	switch (type) {
+	case SENSOR_TRIG_DATA_READY:
+		if (cfg->int_pin == 1) {
+			/* set interrupt for pin INT1 */
+			lis2dw12_pin_int1_route_get(ctx,
+					&int_route.ctrl4_int1_pad_ctrl);
 			int_route.ctrl4_int1_pad_ctrl.int1_drdy = enable;
-			break;
-#ifdef CONFIG_LIS2DW12_TAP
-		case SENSOR_TRIG_TAP:
-			int_route.ctrl4_int1_pad_ctrl.int1_single_tap = enable;
-			break;
-		case SENSOR_TRIG_DOUBLE_TAP:
-			int_route.ctrl4_int1_pad_ctrl.int1_tap = enable;
-			break;
-#endif /* CONFIG_LIS2DW12_TAP */
-		default:
-			LOG_ERR("Unsupported trigger interrupt route");
-			return -ENOTSUP;
+
+			return lis2dw12_pin_int1_route_set(ctx,
+					&int_route.ctrl4_int1_pad_ctrl);
+		} else {
+			/* set interrupt for pin INT2 */
+			lis2dw12_pin_int2_route_get(ctx,
+					&int_route.ctrl5_int2_pad_ctrl);
+			int_route.ctrl5_int2_pad_ctrl.int2_drdy = enable;
+
+			return lis2dw12_pin_int2_route_set(ctx,
+					&int_route.ctrl5_int2_pad_ctrl);
 		}
+		break;
+#ifdef CONFIG_LIS2DW12_TAP
+	case SENSOR_TRIG_TAP:
+		/* set interrupt for pin INT1 */
+		lis2dw12_pin_int1_route_get(ctx,
+				&int_route.ctrl4_int1_pad_ctrl);
+		int_route.ctrl4_int1_pad_ctrl.int1_single_tap = enable;
 
 		return lis2dw12_pin_int1_route_set(ctx,
 				&int_route.ctrl4_int1_pad_ctrl);
-	} else {
-		/* set interrupt for pin INT2 */
-		lis2dw12_pin_int2_route_get(ctx, &int_route.ctrl5_int2_pad_ctrl);
+	case SENSOR_TRIG_DOUBLE_TAP:
+		/* set interrupt for pin INT1 */
+		lis2dw12_pin_int1_route_get(ctx,
+				&int_route.ctrl4_int1_pad_ctrl);
+		int_route.ctrl4_int1_pad_ctrl.int1_tap = enable;
 
-		switch (type) {
-		case SENSOR_TRIG_DATA_READY:
-			int_route.ctrl5_int2_pad_ctrl.int2_drdy = enable;
-			break;
-		default:
-			LOG_ERR("Unsupported trigger interrupt route");
-			return -ENOTSUP;
-		}
-
-		return lis2dw12_pin_int2_route_set(ctx,
-				&int_route.ctrl5_int2_pad_ctrl);
+		return lis2dw12_pin_int1_route_set(ctx,
+				&int_route.ctrl4_int1_pad_ctrl);
+#endif /* CONFIG_LIS2DW12_TAP */
+	default:
+		LOG_ERR("Unsupported trigger interrupt route %d", type);
+		return -ENOTSUP;
 	}
 }