diff --git a/drivers/adc/adc_lmp90xxx.c b/drivers/adc/adc_lmp90xxx.c
index f4258d9..7ecb2c6 100644
--- a/drivers/adc/adc_lmp90xxx.c
+++ b/drivers/adc/adc_lmp90xxx.c
@@ -940,7 +940,7 @@
 	/* Force INST1 + UAB on first access */
 	data->ura = LMP90XXX_INVALID_URA;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/adc/adc_mcp320x.c b/drivers/adc/adc_mcp320x.c
index 9863fca..b5ff94a 100644
--- a/drivers/adc/adc_mcp320x.c
+++ b/drivers/adc/adc_mcp320x.c
@@ -274,7 +274,7 @@
 
 	k_sem_init(&data->sem, 0, 1);
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/bluetooth/hci/spi.c b/drivers/bluetooth/hci/spi.c
index 9aa21dd..d3232d2 100644
--- a/drivers/bluetooth/hci/spi.c
+++ b/drivers/bluetooth/hci/spi.c
@@ -521,7 +521,7 @@
 {
 	ARG_UNUSED(unused);
 
-	if (!spi_is_ready(&bus)) {
+	if (!spi_is_ready_dt(&bus)) {
 		LOG_ERR("SPI device not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/can/can_mcp2515.c b/drivers/can/can_mcp2515.c
index c45ea23..bfe1f23 100644
--- a/drivers/can/can_mcp2515.c
+++ b/drivers/can/can_mcp2515.c
@@ -953,7 +953,7 @@
 		}
 	}
 
-	if (!spi_is_ready(&dev_cfg->bus)) {
+	if (!spi_is_ready_dt(&dev_cfg->bus)) {
 		LOG_ERR("SPI bus %s not ready", dev_cfg->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/dac/dac_dacx0508.c b/drivers/dac/dac_dacx0508.c
index 3b9932e..c061608 100644
--- a/drivers/dac/dac_dacx0508.c
+++ b/drivers/dac/dac_dacx0508.c
@@ -330,7 +330,7 @@
 	struct dacx0508_data *data = dev->data;
 	int ret;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/display/display_ili9xxx.c b/drivers/display/display_ili9xxx.c
index 81e2d37..abfaa27 100644
--- a/drivers/display/display_ili9xxx.c
+++ b/drivers/display/display_ili9xxx.c
@@ -351,7 +351,7 @@
 
 	int r;
 
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("SPI device is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/display/display_max7219.c b/drivers/display/display_max7219.c
index 76c9268..6613e4c 100644
--- a/drivers/display/display_max7219.c
+++ b/drivers/display/display_max7219.c
@@ -314,7 +314,7 @@
 	struct max7219_data *dev_data = dev->data;
 	int ret;
 
-	if (!spi_is_ready(&dev_config->spi)) {
+	if (!spi_is_ready_dt(&dev_config->spi)) {
 		LOG_ERR("SPI device not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/display/display_st7735r.c b/drivers/display/display_st7735r.c
index b5e8bd2..6748ca8 100644
--- a/drivers/display/display_st7735r.c
+++ b/drivers/display/display_st7735r.c
@@ -449,7 +449,7 @@
 	const struct st7735r_config *config = dev->config;
 	int ret;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/display/display_st7789v.c b/drivers/display/display_st7789v.c
index c2ef119..e44b5db 100644
--- a/drivers/display/display_st7789v.c
+++ b/drivers/display/display_st7789v.c
@@ -347,7 +347,7 @@
 {
 	const struct st7789v_config *config = dev->config;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI device not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/display/ls0xx.c b/drivers/display/ls0xx.c
index 6fe1b4b..cdb74bd 100644
--- a/drivers/display/ls0xx.c
+++ b/drivers/display/ls0xx.c
@@ -264,7 +264,7 @@
 {
 	const struct ls0xx_config *config = dev->config;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/display/ssd1306.c b/drivers/display/ssd1306.c
index c413b46..42f40d7 100644
--- a/drivers/display/ssd1306.c
+++ b/drivers/display/ssd1306.c
@@ -93,7 +93,7 @@
 		return false;
 	}
 
-	return spi_is_ready(&config->bus);
+	return spi_is_ready_dt(&config->bus);
 }
 
 static inline int ssd1306_write_bus(const struct device *dev,
diff --git a/drivers/display/ssd16xx.c b/drivers/display/ssd16xx.c
index e5817b8..103fe52 100644
--- a/drivers/display/ssd16xx.c
+++ b/drivers/display/ssd16xx.c
@@ -844,7 +844,7 @@
 
 	LOG_DBG("");
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/display/uc81xx.c b/drivers/display/uc81xx.c
index 1d6011d..f610fc0 100644
--- a/drivers/display/uc81xx.c
+++ b/drivers/display/uc81xx.c
@@ -618,7 +618,7 @@
 
 	LOG_DBG("");
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/eeprom/eeprom_at2x.c b/drivers/eeprom/eeprom_at2x.c
index 81fca84..21e934c 100644
--- a/drivers/eeprom/eeprom_at2x.c
+++ b/drivers/eeprom/eeprom_at2x.c
@@ -353,7 +353,7 @@
 {
 	const struct eeprom_at2x_config *config = dev->config;
 
-	return spi_is_ready(&config->bus.spi);
+	return spi_is_ready_dt(&config->bus.spi);
 }
 
 static int eeprom_at25_rdsr(const struct device *dev, uint8_t *status)
diff --git a/drivers/ethernet/dsa_ksz8xxx.c b/drivers/ethernet/dsa_ksz8xxx.c
index 8f72c54..e071e0c 100644
--- a/drivers/ethernet/dsa_ksz8xxx.c
+++ b/drivers/ethernet/dsa_ksz8xxx.c
@@ -675,7 +675,7 @@
 #endif
 
 #if defined(CONFIG_DSA_SPI)
-	if (!spi_is_ready(&pdev->spi)) {
+	if (!spi_is_ready_dt(&pdev->spi)) {
 		LOG_ERR("SPI bus %s is not ready",
 			pdev->spi.bus->name);
 		return -ENODEV;
diff --git a/drivers/ethernet/eth_enc28j60.c b/drivers/ethernet/eth_enc28j60.c
index 7428f32..fb4cc2b 100644
--- a/drivers/ethernet/eth_enc28j60.c
+++ b/drivers/ethernet/eth_enc28j60.c
@@ -782,7 +782,7 @@
 	struct eth_enc28j60_runtime *context = dev->data;
 
 	/* SPI config */
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("SPI master port %s not ready", config->spi.bus->name);
 		return -EINVAL;
 	}
diff --git a/drivers/ethernet/eth_enc424j600.c b/drivers/ethernet/eth_enc424j600.c
index 89a5b8f..d5402ab 100644
--- a/drivers/ethernet/eth_enc424j600.c
+++ b/drivers/ethernet/eth_enc424j600.c
@@ -656,7 +656,7 @@
 	context->dev = dev;
 
 	/* SPI config */
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("SPI master port %s not ready", config->spi.bus->name);
 		return -EINVAL;
 	}
diff --git a/drivers/ethernet/eth_w5500.c b/drivers/ethernet/eth_w5500.c
index d5c1651..6cdec80 100644
--- a/drivers/ethernet/eth_w5500.c
+++ b/drivers/ethernet/eth_w5500.c
@@ -473,7 +473,7 @@
 	const struct w5500_config *config = dev->config;
 	struct w5500_runtime *ctx = dev->data;
 
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("SPI master port %s not ready", config->spi.bus->name);
 		return -EINVAL;
 	}
diff --git a/drivers/flash/spi_flash_at45.c b/drivers/flash/spi_flash_at45.c
index 17f19ab..978b03a 100644
--- a/drivers/flash/spi_flash_at45.c
+++ b/drivers/flash/spi_flash_at45.c
@@ -542,7 +542,7 @@
 	const struct spi_flash_at45_config *dev_config = dev->config;
 	int err;
 
-	if (!spi_is_ready(&dev_config->bus)) {
+	if (!spi_is_ready_dt(&dev_config->bus)) {
 		LOG_ERR("SPI bus %s not ready", dev_config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/flash/spi_nor.c b/drivers/flash/spi_nor.c
index 818bbf9..3b07c68 100644
--- a/drivers/flash/spi_nor.c
+++ b/drivers/flash/spi_nor.c
@@ -1139,7 +1139,7 @@
 	int rc;
 
 	/* Validate bus and CS is ready */
-	if (!spi_is_ready(&cfg->spi)) {
+	if (!spi_is_ready_dt(&cfg->spi)) {
 		return -ENODEV;
 	}
 
diff --git a/drivers/gpio/gpio_mcp23s17.c b/drivers/gpio/gpio_mcp23s17.c
index 63008df..8860fbc 100644
--- a/drivers/gpio/gpio_mcp23s17.c
+++ b/drivers/gpio/gpio_mcp23s17.c
@@ -359,7 +359,7 @@
 	const struct mcp23s17_config *config = dev->config;
 	struct mcp23s17_drv_data *drv_data = dev->data;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/gpio/gpio_mcp23sxx.c b/drivers/gpio/gpio_mcp23sxx.c
index 864f2e6..6566274 100644
--- a/drivers/gpio/gpio_mcp23sxx.c
+++ b/drivers/gpio/gpio_mcp23sxx.c
@@ -105,7 +105,7 @@
 {
 	const struct mcp23xxx_config *config = dev->config;
 
-	if (!spi_is_ready(&config->bus.spi)) {
+	if (!spi_is_ready_dt(&config->bus.spi)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.spi.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/gpio/gpio_sn74hc595.c b/drivers/gpio/gpio_sn74hc595.c
index 9127261..15abcfc 100644
--- a/drivers/gpio/gpio_sn74hc595.c
+++ b/drivers/gpio/gpio_sn74hc595.c
@@ -165,7 +165,7 @@
 	const struct gpio_sn74hc595_config *config = dev->config;
 	struct gpio_sn74hc595_drv_data *drv_data = dev->data;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/ieee802154/ieee802154_cc1200.c b/drivers/ieee802154/ieee802154_cc1200.c
index a6fbd00..5d747e1 100644
--- a/drivers/ieee802154/ieee802154_cc1200.c
+++ b/drivers/ieee802154/ieee802154_cc1200.c
@@ -744,7 +744,7 @@
 	}
 	gpio_pin_configure_dt(&config->interrupt, GPIO_INPUT);
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI bus %s is not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/ieee802154/ieee802154_cc2520.c b/drivers/ieee802154/ieee802154_cc2520.c
index d46da6a..27d3343 100644
--- a/drivers/ieee802154/ieee802154_cc2520.c
+++ b/drivers/ieee802154/ieee802154_cc2520.c
@@ -989,7 +989,7 @@
 		return -EIO;
 	}
 
-	if (!spi_is_ready(&cfg->bus)) {
+	if (!spi_is_ready_dt(&cfg->bus)) {
 		LOG_ERR("SPI bus %s not ready", cfg->bus.bus->name);
 		return -EIO;
 	}
diff --git a/drivers/ieee802154/ieee802154_dw1000.c b/drivers/ieee802154/ieee802154_dw1000.c
index 8c85135..0f18fc2 100644
--- a/drivers/ieee802154/ieee802154_dw1000.c
+++ b/drivers/ieee802154/ieee802154_dw1000.c
@@ -1494,7 +1494,7 @@
 	memcpy(&ctx->spi_cfg_slow, &hi_cfg->bus.config, sizeof(ctx->spi_cfg_slow));
 	ctx->spi_cfg_slow.frequency = DWT_SPI_SLOW_FREQ;
 
-	if (!spi_is_ready(&hi_cfg->bus)) {
+	if (!spi_is_ready_dt(&hi_cfg->bus)) {
 		LOG_ERR("SPI device not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/ieee802154/ieee802154_mcr20a.c b/drivers/ieee802154/ieee802154_mcr20a.c
index ba14e77..e82512a 100644
--- a/drivers/ieee802154/ieee802154_mcr20a.c
+++ b/drivers/ieee802154/ieee802154_mcr20a.c
@@ -1381,7 +1381,7 @@
 		return -EIO;
 	}
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("Configuring SPI failed");
 		return -EIO;
 	}
diff --git a/drivers/ieee802154/ieee802154_rf2xx.c b/drivers/ieee802154/ieee802154_rf2xx.c
index 25fa38e..6619feb 100644
--- a/drivers/ieee802154/ieee802154_rf2xx.c
+++ b/drivers/ieee802154/ieee802154_rf2xx.c
@@ -964,7 +964,7 @@
 {
 	const struct rf2xx_config *conf = dev->config;
 
-	if (!spi_is_ready(&conf->spi)) {
+	if (!spi_is_ready_dt(&conf->spi)) {
 		LOG_ERR("SPI bus %s is not ready",
 			conf->spi.bus->name);
 		return -ENODEV;
diff --git a/drivers/led_strip/apa102.c b/drivers/led_strip/apa102.c
index 8586dff..8cb4ed4 100644
--- a/drivers/led_strip/apa102.c
+++ b/drivers/led_strip/apa102.c
@@ -84,7 +84,7 @@
 {
 	const struct apa102_config *config = dev->config;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		return -ENODEV;
 	}
 
diff --git a/drivers/led_strip/lpd880x.c b/drivers/led_strip/lpd880x.c
index ba17bbf..bb5211c 100644
--- a/drivers/led_strip/lpd880x.c
+++ b/drivers/led_strip/lpd880x.c
@@ -129,7 +129,7 @@
 {
 	const struct lpd880x_config *config = dev->config;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI device %s not ready", config->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/led_strip/tlc5971.c b/drivers/led_strip/tlc5971.c
index 37f9296..448d92f 100644
--- a/drivers/led_strip/tlc5971.c
+++ b/drivers/led_strip/tlc5971.c
@@ -292,7 +292,7 @@
 	const struct tlc5971_config *cfg = dev->config;
 	struct tlc5971_data *data = dev->data;
 
-	if (!spi_is_ready(&cfg->bus)) {
+	if (!spi_is_ready_dt(&cfg->bus)) {
 		LOG_ERR("%s: SPI device %s not ready", dev->name, cfg->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/led_strip/ws2812_spi.c b/drivers/led_strip/ws2812_spi.c
index 40f4889..c562d5c 100644
--- a/drivers/led_strip/ws2812_spi.c
+++ b/drivers/led_strip/ws2812_spi.c
@@ -167,7 +167,7 @@
 	const struct ws2812_spi_cfg *cfg = dev_cfg(dev);
 	uint8_t i;
 
-	if (!spi_is_ready(&cfg->bus)) {
+	if (!spi_is_ready_dt(&cfg->bus)) {
 		LOG_ERR("SPI device %s not ready", cfg->bus.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/lora/sx126x.c b/drivers/lora/sx126x.c
index b70194e..227acb5 100644
--- a/drivers/lora/sx126x.c
+++ b/drivers/lora/sx126x.c
@@ -449,7 +449,7 @@
 		return ret;
 	}
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_ERR("SPI device not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/lora/sx127x.c b/drivers/lora/sx127x.c
index 135058d..78a8e48 100644
--- a/drivers/lora/sx127x.c
+++ b/drivers/lora/sx127x.c
@@ -582,7 +582,7 @@
 	int ret;
 	uint8_t regval;
 
-	if (!spi_is_ready(&dev_config.bus)) {
+	if (!spi_is_ready_dt(&dev_config.bus)) {
 		LOG_ERR("SPI device not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/misc/ft8xx/ft8xx_drv.c b/drivers/misc/ft8xx/ft8xx_drv.c
index 0e56e23..745f60e 100644
--- a/drivers/misc/ft8xx/ft8xx_drv.c
+++ b/drivers/misc/ft8xx/ft8xx_drv.c
@@ -55,7 +55,7 @@
 {
 	int ret;
 
-	if (!spi_is_ready(&spi)) {
+	if (!spi_is_ready_dt(&spi)) {
 		LOG_ERR("SPI bus %s not ready", spi.bus->name);
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/adxl345/adxl345.c b/drivers/sensor/adxl345/adxl345.c
index d5ead35..14015bb 100644
--- a/drivers/sensor/adxl345/adxl345.c
+++ b/drivers/sensor/adxl345/adxl345.c
@@ -39,7 +39,7 @@
 #if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
 static bool adxl345_bus_is_ready_spi(const union adxl345_bus *bus)
 {
-	return spi_is_ready(&bus->spi);
+	return spi_is_ready_dt(&bus->spi);
 }
 
 static int adxl345_reg_access_spi(const struct device *dev, uint8_t cmd, uint8_t reg_addr,
diff --git a/drivers/sensor/adxl362/adxl362.c b/drivers/sensor/adxl362/adxl362.c
index 55eac7c..b203bda 100644
--- a/drivers/sensor/adxl362/adxl362.c
+++ b/drivers/sensor/adxl362/adxl362.c
@@ -708,7 +708,7 @@
 	uint8_t value;
 	int err;
 
-	if (!spi_is_ready(&config->bus)) {
+	if (!spi_is_ready_dt(&config->bus)) {
 		LOG_DBG("spi device not ready: %s", config->bus.bus->name);
 		return -EINVAL;
 	}
diff --git a/drivers/sensor/adxl372/adxl372_spi.c b/drivers/sensor/adxl372/adxl372_spi.c
index aebdcd6..7271f67 100644
--- a/drivers/sensor/adxl372/adxl372_spi.c
+++ b/drivers/sensor/adxl372/adxl372_spi.c
@@ -109,7 +109,7 @@
 
 	data->hw_tf = &adxl372_spi_transfer_fn;
 
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		return -ENODEV;
 	}
 
diff --git a/drivers/sensor/bme280/bme280_spi.c b/drivers/sensor/bme280/bme280_spi.c
index c24920a..e44ad50 100644
--- a/drivers/sensor/bme280/bme280_spi.c
+++ b/drivers/sensor/bme280/bme280_spi.c
@@ -19,7 +19,7 @@
 
 static int bme280_bus_check_spi(const union bme280_bus *bus)
 {
-	return spi_is_ready(&bus->spi) ? 0 : -ENODEV;
+	return spi_is_ready_dt(&bus->spi) ? 0 : -ENODEV;
 }
 
 static int bme280_reg_read_spi(const union bme280_bus *bus,
diff --git a/drivers/sensor/bme680/bme680_spi.c b/drivers/sensor/bme680/bme680_spi.c
index 18dba24..54840a7 100644
--- a/drivers/sensor/bme680/bme680_spi.c
+++ b/drivers/sensor/bme680/bme680_spi.c
@@ -20,7 +20,7 @@
 
 static int bme680_bus_check_spi(const union bme680_bus *bus)
 {
-	return spi_is_ready(&bus->spi) ? 0 : -ENODEV;
+	return spi_is_ready_dt(&bus->spi) ? 0 : -ENODEV;
 }
 
 static inline int bme680_set_mem_page(const struct device *dev, uint8_t addr)
diff --git a/drivers/sensor/bmi160/bmi160.c b/drivers/sensor/bmi160/bmi160.c
index f846e7f..f8ba3da 100644
--- a/drivers/sensor/bmi160/bmi160.c
+++ b/drivers/sensor/bmi160/bmi160.c
@@ -60,7 +60,7 @@
 {
 	const struct bmi160_cfg *cfg = dev->config;
 
-	return spi_is_ready(&cfg->bus.spi);
+	return spi_is_ready_dt(&cfg->bus.spi);
 }
 
 int bmi160_read_spi(const struct device *dev,
diff --git a/drivers/sensor/bmi270/bmi270_spi.c b/drivers/sensor/bmi270/bmi270_spi.c
index dc5ac5f..960309b 100644
--- a/drivers/sensor/bmi270/bmi270_spi.c
+++ b/drivers/sensor/bmi270/bmi270_spi.c
@@ -16,7 +16,7 @@
 
 static int bmi270_bus_check_spi(const union bmi270_bus *bus)
 {
-	return spi_is_ready(&bus->spi) ? 0 : -ENODEV;
+	return spi_is_ready_dt(&bus->spi) ? 0 : -ENODEV;
 }
 
 static int bmi270_reg_read_spi(const union bmi270_bus *bus,
diff --git a/drivers/sensor/bmp388/bmp388.c b/drivers/sensor/bmp388/bmp388.c
index e390808..4c915d9 100644
--- a/drivers/sensor/bmp388/bmp388.c
+++ b/drivers/sensor/bmp388/bmp388.c
@@ -605,7 +605,7 @@
 #if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
 	/* Verify the SPI bus */
 	if (is_spi) {
-		if (!spi_is_ready(&cfg->spi)) {
+		if (!spi_is_ready_dt(&cfg->spi)) {
 			LOG_ERR("SPI bus is not ready");
 			return -ENODEV;
 		}
diff --git a/drivers/sensor/i3g4250d/i3g4250d_spi.c b/drivers/sensor/i3g4250d/i3g4250d_spi.c
index 70f049f..4407b3f 100644
--- a/drivers/sensor/i3g4250d/i3g4250d_spi.c
+++ b/drivers/sensor/i3g4250d/i3g4250d_spi.c
@@ -92,7 +92,7 @@
 	struct i3g4250d_data *i3g4250d = dev->data;
 	const struct i3g4250d_device_config *cfg = dev->config;
 
-	if (!spi_is_ready(&cfg->spi)) {
+	if (!spi_is_ready_dt(&cfg->spi)) {
 		LOG_ERR("spi not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/icm42605/icm42605.c b/drivers/sensor/icm42605/icm42605.c
index 1bd19f2..82d3af8 100644
--- a/drivers/sensor/icm42605/icm42605.c
+++ b/drivers/sensor/icm42605/icm42605.c
@@ -392,7 +392,7 @@
 	struct icm42605_data *drv_data = dev->data;
 	const struct icm42605_config *cfg = dev->config;
 
-	if (!spi_is_ready(&cfg->spi)) {
+	if (!spi_is_ready_dt(&cfg->spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/icm42670/icm42670.c b/drivers/sensor/icm42670/icm42670.c
index 5d46367..34f64b7 100644
--- a/drivers/sensor/icm42670/icm42670.c
+++ b/drivers/sensor/icm42670/icm42670.c
@@ -621,7 +621,7 @@
 	struct icm42670_data *data = dev->data;
 	const struct icm42670_config *cfg = dev->config;
 
-	if (!spi_is_ready(&cfg->spi)) {
+	if (!spi_is_ready_dt(&cfg->spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/iis2dh/iis2dh_spi.c b/drivers/sensor/iis2dh/iis2dh_spi.c
index 6168847..3eb183d 100644
--- a/drivers/sensor/iis2dh/iis2dh_spi.c
+++ b/drivers/sensor/iis2dh/iis2dh_spi.c
@@ -92,7 +92,7 @@
 	struct iis2dh_data *data = dev->data;
 	const struct iis2dh_device_config *config = dev->config;
 
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("Bus device is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/iis2mdc/iis2mdc_spi.c b/drivers/sensor/iis2mdc/iis2mdc_spi.c
index 566a916..f3c7934 100644
--- a/drivers/sensor/iis2mdc/iis2mdc_spi.c
+++ b/drivers/sensor/iis2mdc/iis2mdc_spi.c
@@ -95,7 +95,7 @@
 	struct iis2mdc_data *data = dev->data;
 	const struct iis2mdc_dev_config *const cfg = dev->config;
 
-	if (!spi_is_ready(&cfg->spi)) {
+	if (!spi_is_ready_dt(&cfg->spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/iis3dhhc/iis3dhhc.c b/drivers/sensor/iis3dhhc/iis3dhhc.c
index c90a3ba..432bd13 100644
--- a/drivers/sensor/iis3dhhc/iis3dhhc.c
+++ b/drivers/sensor/iis3dhhc/iis3dhhc.c
@@ -194,7 +194,7 @@
 {
 	const struct iis3dhhc_config * const config = dev->config;
 
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/iis3dhhc/iis3dhhc_spi.c b/drivers/sensor/iis3dhhc/iis3dhhc_spi.c
index 32f28ff..cbc13a0 100644
--- a/drivers/sensor/iis3dhhc/iis3dhhc_spi.c
+++ b/drivers/sensor/iis3dhhc/iis3dhhc_spi.c
@@ -91,7 +91,7 @@
 	struct iis3dhhc_data *data = dev->data;
 	const struct iis3dhhc_config *config = dev->config;
 
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	};
diff --git a/drivers/sensor/ism330dhcx/ism330dhcx_spi.c b/drivers/sensor/ism330dhcx/ism330dhcx_spi.c
index 935d624..7ad6d7f 100644
--- a/drivers/sensor/ism330dhcx/ism330dhcx_spi.c
+++ b/drivers/sensor/ism330dhcx/ism330dhcx_spi.c
@@ -97,7 +97,7 @@
 	struct ism330dhcx_data *data = dev->data;
 	const struct ism330dhcx_config *cfg = dev->config;
 
-	if (!spi_is_ready(&cfg->spi)) {
+	if (!spi_is_ready_dt(&cfg->spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	};
diff --git a/drivers/sensor/lis2dh/lis2dh_spi.c b/drivers/sensor/lis2dh/lis2dh_spi.c
index 4c0fb54..50c7f67 100644
--- a/drivers/sensor/lis2dh/lis2dh_spi.c
+++ b/drivers/sensor/lis2dh/lis2dh_spi.c
@@ -155,7 +155,7 @@
 
 	data->hw_tf = &lis2dh_spi_transfer_fn;
 
-	if (!spi_is_ready(&cfg->bus_cfg.spi)) {
+	if (!spi_is_ready_dt(&cfg->bus_cfg.spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/lsm6dsl/lsm6dsl_spi.c b/drivers/sensor/lsm6dsl/lsm6dsl_spi.c
index 650a833..b04a6cf 100644
--- a/drivers/sensor/lsm6dsl/lsm6dsl_spi.c
+++ b/drivers/sensor/lsm6dsl/lsm6dsl_spi.c
@@ -135,7 +135,7 @@
 
 	data->hw_tf = &lsm6dsl_spi_transfer_fn;
 
-	if (!spi_is_ready(&cfg->bus_cfg.spi)) {
+	if (!spi_is_ready_dt(&cfg->bus_cfg.spi)) {
 		return -ENODEV;
 	}
 
diff --git a/drivers/sensor/max6675/max6675.c b/drivers/sensor/max6675/max6675.c
index d1f933a..f7320ca 100644
--- a/drivers/sensor/max6675/max6675.c
+++ b/drivers/sensor/max6675/max6675.c
@@ -91,7 +91,7 @@
 {
 	const struct max6675_config *config = dev->config;
 
-	if (!spi_is_ready(&config->spi)) {
+	if (!spi_is_ready_dt(&config->spi)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/sensor/ms5607/ms5607_spi.c b/drivers/sensor/ms5607/ms5607_spi.c
index 0e962ba..64994b3 100644
--- a/drivers/sensor/ms5607/ms5607_spi.c
+++ b/drivers/sensor/ms5607/ms5607_spi.c
@@ -140,7 +140,7 @@
 
 static int ms5607_spi_check(const struct ms5607_config *config)
 {
-	if (!spi_is_ready(&config->bus_cfg.spi)) {
+	if (!spi_is_ready_dt(&config->bus_cfg.spi)) {
 		LOG_DBG("SPI bus not ready");
 		return -ENODEV;
 	}
diff --git a/drivers/wifi/eswifi/eswifi_bus_spi.c b/drivers/wifi/eswifi/eswifi_bus_spi.c
index b22668a..b8acd1e 100644
--- a/drivers/wifi/eswifi/eswifi_bus_spi.c
+++ b/drivers/wifi/eswifi/eswifi_bus_spi.c
@@ -242,7 +242,7 @@
 	gpio_pin_configure_dt(&cfg->dr, GPIO_INPUT);
 
 	/* SPI BUS */
-	if (!spi_is_ready(&cfg->bus)) {
+	if (!spi_is_ready_dt(&cfg->bus)) {
 		LOG_ERR("SPI bus is not ready");
 		return -ENODEV;
 	};
diff --git a/drivers/wifi/winc1500/wifi_winc1500_nm_bus_wrapper.c b/drivers/wifi/winc1500/wifi_winc1500_nm_bus_wrapper.c
index 3745230..683dc5e 100644
--- a/drivers/wifi/winc1500/wifi_winc1500_nm_bus_wrapper.c
+++ b/drivers/wifi/winc1500/wifi_winc1500_nm_bus_wrapper.c
@@ -109,7 +109,7 @@
 	/* Not implemented */
 #elif defined CONF_WINC_USE_SPI
 	/* setup SPI device */
-	if (!spi_is_ready(&winc1500_config.spi)) {
+	if (!spi_is_ready_dt(&winc1500_config.spi)) {
 		LOG_ERR("spi device binding");
 		return -ENODEV;
 	}
diff --git a/tests/drivers/spi/spi_loopback/src/spi.c b/tests/drivers/spi/spi_loopback/src/spi.c
index 5390f9a..28eb768 100644
--- a/tests/drivers/spi/spi_loopback/src/spi.c
+++ b/tests/drivers/spi/spi_loopback/src/spi.c
@@ -543,7 +543,7 @@
 					  &async_evt, &caller, NULL,
 					  K_PRIO_COOP(7), 0, K_NO_WAIT);
 #endif
-	zassert_true(spi_is_ready(&spi_slow), "Slow spi lookback device is not ready");
+	zassert_true(spi_is_ready_dt(&spi_slow), "Slow spi lookback device is not ready");
 
 	LOG_INF("SPI test slow config");
 
@@ -560,7 +560,7 @@
 		goto end;
 	}
 
-	zassert_true(spi_is_ready(&spi_fast), "Fast spi lookback device is not ready");
+	zassert_true(spi_is_ready_dt(&spi_fast), "Fast spi lookback device is not ready");
 
 	LOG_INF("SPI test fast config");
 
