diff --git a/arch/x86/cpu/ivybridge/bd82x6x.c b/arch/x86/cpu/ivybridge/bd82x6x.c
index 16796de..66a8414 100644
--- a/arch/x86/cpu/ivybridge/bd82x6x.c
+++ b/arch/x86/cpu/ivybridge/bd82x6x.c
@@ -170,7 +170,7 @@
 	return 0;
 }
 
-static int bd82x6x_pch_get_sbase(struct udevice *dev, ulong *sbasep)
+static int bd82x6x_pch_get_spi_base(struct udevice *dev, ulong *sbasep)
 {
 	u32 rcba;
 
@@ -201,7 +201,7 @@
 }
 
 static const struct pch_ops bd82x6x_pch_ops = {
-	.get_sbase	= bd82x6x_pch_get_sbase,
+	.get_spi_base	= bd82x6x_pch_get_spi_base,
 	.set_spi_protect = bd82x6x_set_spi_protect,
 };
 
diff --git a/drivers/pch/pch-uclass.c b/drivers/pch/pch-uclass.c
index cae4f50..b33d502 100644
--- a/drivers/pch/pch-uclass.c
+++ b/drivers/pch/pch-uclass.c
@@ -12,15 +12,15 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-int pch_get_sbase(struct udevice *dev, ulong *sbasep)
+int pch_get_spi_base(struct udevice *dev, ulong *sbasep)
 {
 	struct pch_ops *ops = pch_get_ops(dev);
 
 	*sbasep = 0;
-	if (!ops->get_sbase)
+	if (!ops->get_spi_base)
 		return -ENOSYS;
 
-	return ops->get_sbase(dev, sbasep);
+	return ops->get_spi_base(dev, sbasep);
 }
 
 int pch_set_spi_protect(struct udevice *dev, bool protect)
diff --git a/drivers/pch/pch7.c b/drivers/pch/pch7.c
index 7c6a2ca..fe1fb85 100644
--- a/drivers/pch/pch7.c
+++ b/drivers/pch/pch7.c
@@ -10,7 +10,7 @@
 
 #define BIOS_CTRL	0xd8
 
-static int pch7_get_sbase(struct udevice *dev, ulong *sbasep)
+static int pch7_get_spi_base(struct udevice *dev, ulong *sbasep)
 {
 	u32 rcba;
 
@@ -38,7 +38,7 @@
 }
 
 static const struct pch_ops pch7_ops = {
-	.get_sbase	= pch7_get_sbase,
+	.get_spi_base	= pch7_get_spi_base,
 	.set_spi_protect = pch7_set_spi_protect,
 };
 
diff --git a/drivers/pch/pch9.c b/drivers/pch/pch9.c
index 27a9fda..5ac2e8a 100644
--- a/drivers/pch/pch9.c
+++ b/drivers/pch/pch9.c
@@ -10,7 +10,7 @@
 
 #define SBASE_ADDR	0x54
 
-static int pch9_get_sbase(struct udevice *dev, ulong *sbasep)
+static int pch9_get_spi_base(struct udevice *dev, ulong *sbasep)
 {
 	uint32_t sbase_addr;
 
@@ -21,7 +21,7 @@
 }
 
 static const struct pch_ops pch9_ops = {
-	.get_sbase	= pch9_get_sbase,
+	.get_spi_base	= pch9_get_spi_base,
 };
 
 static const struct udevice_id pch9_ids[] = {
diff --git a/drivers/spi/ich.c b/drivers/spi/ich.c
index 1acdc88..00b2fed 100644
--- a/drivers/spi/ich.c
+++ b/drivers/spi/ich.c
@@ -119,7 +119,7 @@
 	void *sbase;
 
 	/* SBASE is similar */
-	pch_get_sbase(dev->parent, &sbase_addr);
+	pch_get_spi_base(dev->parent, &sbase_addr);
 	sbase = (void *)sbase_addr;
 	debug("%s: sbase=%p\n", __func__, sbase);
 
diff --git a/include/pch.h b/include/pch.h
index f3899d8..c04cfa3 100644
--- a/include/pch.h
+++ b/include/pch.h
@@ -15,13 +15,13 @@
 /* Operations for the Platform Controller Hub */
 struct pch_ops {
 	/**
-	 * get_sbase() - get the address of SPI base
+	 * get_spi_base() - get the address of SPI base
 	 *
 	 * @dev:	PCH device to check
 	 * @sbasep:	Returns address of SPI base if available, else 0
 	 * @return 0 if OK, -ve on error (e.g. there is no SPI base)
 	 */
-	int (*get_sbase)(struct udevice *dev, ulong *sbasep);
+	int (*get_spi_base)(struct udevice *dev, ulong *sbasep);
 
 	/**
 	 * set_spi_protect() - set whether SPI flash is protected or not
@@ -37,13 +37,13 @@
 #define pch_get_ops(dev)        ((struct pch_ops *)(dev)->driver->ops)
 
 /**
- * pch_get_sbase() - get the address of SPI base
+ * pch_get_spi_base() - get the address of SPI base
  *
  * @dev:	PCH device to check
  * @sbasep:	Returns address of SPI base if available, else 0
  * @return 0 if OK, -ve on error (e.g. there is no SPI base)
  */
-int pch_get_sbase(struct udevice *dev, ulong *sbasep);
+int pch_get_spi_base(struct udevice *dev, ulong *sbasep);
 
 /**
  * set_spi_protect() - set whether SPI flash is protected or not
