drivers: can: stm32: assume can_send() always provides callback

Given the recent change to the CAN controller can_send() API wrapper,
assume that a callback is always provided at the driver level.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
diff --git a/drivers/can/can_stm32.c b/drivers/can/can_stm32.c
index 1b1b74d..c67ea40 100644
--- a/drivers/can/can_stm32.c
+++ b/drivers/can/can_stm32.c
@@ -56,11 +56,7 @@
 
 static void can_stm32_signal_tx_complete(const struct device *dev, struct can_stm32_mailbox *mb)
 {
-	if (mb->tx_callback) {
-		mb->tx_callback(dev, mb->error, mb->callback_arg);
-	} else  {
-		k_sem_give(&mb->tx_int_sem);
-	}
+	mb->tx_callback(dev, mb->error, mb->callback_arg);
 }
 
 static void can_stm32_rx_fifo_pop(CAN_FIFOMailBox_TypeDef *mbox, struct can_frame *frame)
@@ -561,9 +557,6 @@
 	k_mutex_init(&filter_mutex);
 	k_mutex_init(&data->inst_mutex);
 	k_sem_init(&data->tx_int_sem, 0, 1);
-	k_sem_init(&data->mb0.tx_int_sem, 0, 1);
-	k_sem_init(&data->mb1.tx_int_sem, 0, 1);
-	k_sem_init(&data->mb2.tx_int_sem, 0, 1);
 
 	if (cfg->phy != NULL) {
 		if (!device_is_ready(cfg->phy)) {
@@ -741,6 +734,7 @@
 		    "standard" : "extended"
 		    , frame->rtr == CAN_DATAFRAME ? "no" : "yes");
 
+	__ASSERT_NO_MSG(callback != NULL);
 	__ASSERT(frame->dlc == 0U || frame->data != NULL, "Dataptr is null");
 
 	if (frame->dlc > CAN_MAX_DLC) {
@@ -784,7 +778,6 @@
 
 	mb->tx_callback = callback;
 	mb->callback_arg = user_data;
-	k_sem_reset(&mb->tx_int_sem);
 
 	/* mailbox identifier register setup */
 	mailbox->TIR &= CAN_TI0R_TXRQ;
@@ -809,11 +802,6 @@
 	mailbox->TIR |= CAN_TI0R_TXRQ;
 	k_mutex_unlock(&data->inst_mutex);
 
-	if (callback == NULL) {
-		k_sem_take(&mb->tx_int_sem, K_FOREVER);
-		return mb->error;
-	}
-
 	return 0;
 }
 
diff --git a/drivers/can/can_stm32.h b/drivers/can/can_stm32.h
index 5f79ee4..8e315d7 100644
--- a/drivers/can/can_stm32.h
+++ b/drivers/can/can_stm32.h
@@ -25,7 +25,6 @@
 struct can_stm32_mailbox {
 	can_tx_callback_t tx_callback;
 	void *callback_arg;
-	struct k_sem tx_int_sem;
 	int error;
 };