diff --git a/sound/soc/intel/sst/sst.c b/sound/soc/intel/sst/sst.c
index d88cdd9..fa34217 100644
--- a/sound/soc/intel/sst/sst.c
+++ b/sound/soc/intel/sst/sst.c
@@ -167,7 +167,7 @@
 int sst_driver_ops(struct intel_sst_drv *sst)
 {
 
-	switch (sst->pci_id) {
+	switch (sst->dev_id) {
 	case SST_MRFLD_PCI_ID:
 		sst->tstamp = SST_TIME_STAMP_MRFLD;
 		sst->ops = &mrfld_ops;
@@ -175,7 +175,7 @@
 
 	default:
 		dev_err(sst->dev,
-			"SST Driver capablities missing for pci_id: %x", sst->pci_id);
+			"SST Driver capablities missing for dev_id: %x", sst->dev_id);
 		return -EINVAL;
 	};
 }
@@ -210,7 +210,7 @@
 		return -ENOMEM;
 
 	sst_drv_ctx->dev = &pci->dev;
-	sst_drv_ctx->pci_id = pci->device;
+	sst_drv_ctx->dev_id = pci->device;
 	if (!sst_pdata)
 		return -EINVAL;
 
@@ -278,7 +278,7 @@
 
 	/* map registers */
 	/* DDR base */
-	if (sst_drv_ctx->pci_id == SST_MRFLD_PCI_ID) {
+	if (sst_drv_ctx->dev_id == SST_MRFLD_PCI_ID) {
 		sst_drv_ctx->ddr_base = pci_resource_start(pci, 0);
 		/* check that the relocated IMR base matches with FW Binary */
 		ddr_base = relocate_imr_addr_mrfld(sst_drv_ctx->ddr_base);
@@ -357,7 +357,7 @@
 	dev_dbg(sst_drv_ctx->dev, "Registered IRQ 0x%x\n", pci->irq);
 
 	/* default intr are unmasked so set this as masked */
-	if (sst_drv_ctx->pci_id == SST_MRFLD_PCI_ID)
+	if (sst_drv_ctx->dev_id == SST_MRFLD_PCI_ID)
 		sst_shim_write64(sst_drv_ctx->shim, SST_IMRX, 0xFFFF0038);
 
 	pci_set_drvdata(pci, sst_drv_ctx);
diff --git a/sound/soc/intel/sst/sst.h b/sound/soc/intel/sst/sst.h
index bfcf51a..b65b9c0 100644
--- a/sound/soc/intel/sst/sst.h
+++ b/sound/soc/intel/sst/sst.h
@@ -337,7 +337,8 @@
  * struct intel_sst_drv - driver ops
  *
  * @sst_state : current sst device state
- * @pci_id : PCI device id loaded
+ * @dev_id : device identifier, pci_id for pci devices and acpi_id for acpi
+ * 	     devices
  * @shim : SST shim pointer
  * @mailbox : SST mailbox pointer
  * @iram : SST IRAM pointer
@@ -371,7 +372,7 @@
 struct intel_sst_drv {
 	int			sst_state;
 	int			irq_num;
-	unsigned int		pci_id;
+	unsigned int		dev_id;
 	void __iomem		*ddr;
 	void __iomem		*shim;
 	void __iomem		*mailbox;
diff --git a/sound/soc/intel/sst/sst_pvt.c b/sound/soc/intel/sst/sst_pvt.c
index 9e5f69b..1c2e081 100644
--- a/sound/soc/intel/sst/sst_pvt.c
+++ b/sound/soc/intel/sst/sst_pvt.c
@@ -115,7 +115,7 @@
 {
 	unsigned long long val = 0;
 
-	switch (sst->pci_id) {
+	switch (sst->dev_id) {
 	case SST_MRFLD_PCI_ID:
 		val = sst_shim_read64(sst->shim, addr);
 		break;
@@ -126,7 +126,7 @@
 void write_shim_data(struct intel_sst_drv *sst, int addr,
 				unsigned long long data)
 {
-	switch (sst->pci_id) {
+	switch (sst->dev_id) {
 	case SST_MRFLD_PCI_ID:
 		sst_shim_write64(sst->shim, addr, (u64) data);
 		break;
