diff --git a/src/soc/amd/stoneyridge/BiosCallOuts.c b/src/soc/amd/stoneyridge/BiosCallOuts.c
index b94f3a6..b00f916a 100644
--- a/src/soc/amd/stoneyridge/BiosCallOuts.c
+++ b/src/soc/amd/stoneyridge/BiosCallOuts.c
@@ -37,7 +37,6 @@
 							void *ConfigPtr)
 {
 	AMD_CONFIG_PARAMS *StdHeader = ConfigPtr;
-	const struct device *dev = pcidev_path_on_root(SATA_DEVFN);
 
 	if (StdHeader->Func == AMD_INIT_ENV) {
 		FCH_DATA_BLOCK *FchParams_env = (FCH_DATA_BLOCK *)FchData;
@@ -52,7 +51,7 @@
 
 		/* SATA configuration */
 		FchParams_env->Sata.SataClass = CONFIG_STONEYRIDGE_SATA_MODE;
-		if (dev && dev->enabled) {
+		if (is_dev_enabled(DEV_PTR(sata))) {
 			switch ((SATA_CLASS)CONFIG_STONEYRIDGE_SATA_MODE) {
 			case SataRaid:
 			case SataAhci:
diff --git a/src/soc/amd/stoneyridge/fch.c b/src/soc/amd/stoneyridge/fch.c
index 176c263..3013500 100644
--- a/src/soc/amd/stoneyridge/fch.c
+++ b/src/soc/amd/stoneyridge/fch.c
@@ -125,8 +125,6 @@
 
 static void set_sb_aoac(struct aoac_devs *aoac)
 {
-	const struct device *sd, *sata;
-
 	aoac->ic0e = is_aoac_device_enabled(FCH_AOAC_DEV_I2C0);
 	aoac->ic1e = is_aoac_device_enabled(FCH_AOAC_DEV_I2C1);
 	aoac->ic2e = is_aoac_device_enabled(FCH_AOAC_DEV_I2C2);
@@ -137,10 +135,8 @@
 	aoac->xhce = is_aoac_device_enabled(FCH_AOAC_DEV_USB3);
 
 	/* Rely on these being in sync with devicetree */
-	sd = pcidev_path_on_root(SD_DEVFN);
-	aoac->sd_e = sd && sd->enabled ? 1 : 0;
-	sata = pcidev_path_on_root(SATA_DEVFN);
-	aoac->st_e = sata && sata->enabled ? 1 : 0;
+	aoac->sd_e = is_dev_enabled(DEV_PTR(sdhci)) ? 1 : 0;
+	aoac->st_e = is_dev_enabled(DEV_PTR(sata)) ? 1 : 0;
 	aoac->espi = 1;
 }
 
diff --git a/src/soc/amd/stoneyridge/fch_agesa.c b/src/soc/amd/stoneyridge/fch_agesa.c
index ee6ab91..179999a 100644
--- a/src/soc/amd/stoneyridge/fch_agesa.c
+++ b/src/soc/amd/stoneyridge/fch_agesa.c
@@ -26,9 +26,8 @@
 
 void SetFchResetParams(FCH_RESET_INTERFACE *params)
 {
-	const struct device *dev = pcidev_path_on_root(SATA_DEVFN);
 	params->Xhci0Enable = CONFIG(STONEYRIDGE_XHCI_ENABLE);
-	if (dev && dev->enabled) {
+	if (is_dev_enabled(DEV_PTR(sata))) {
 		params->SataEnable = sb_sata_enable();
 		params->IdeEnable = sb_ide_enable();
 	} else {
@@ -39,10 +38,9 @@
 
 void SetFchEnvParams(FCH_INTERFACE *params)
 {
-	const struct device *dev = pcidev_path_on_root(SATA_DEVFN);
 	params->AzaliaController = AzEnable;
 	params->SataClass = CONFIG_STONEYRIDGE_SATA_MODE;
-	if (dev && dev->enabled) {
+	if (is_dev_enabled(DEV_PTR(sata))) {
 		params->SataEnable = is_sata_config();
 		params->IdeEnable = !params->SataEnable;
 		params->SataIdeMode = (CONFIG_STONEYRIDGE_SATA_MODE ==
diff --git a/src/soc/amd/stoneyridge/northbridge.c b/src/soc/amd/stoneyridge/northbridge.c
index ef53b2e..bf2f992 100644
--- a/src/soc/amd/stoneyridge/northbridge.c
+++ b/src/soc/amd/stoneyridge/northbridge.c
@@ -322,8 +322,7 @@
 
 void SetNbEnvParams(GNB_ENV_CONFIGURATION *params)
 {
-	const struct device *dev = SOC_IOMMU_DEV;
-	params->IommuSupport = dev && dev->enabled;
+	params->IommuSupport = is_dev_enabled(DEV_PTR(iommu));
 	set_board_env_params(params);
 }
 
