diff --git a/drivers/power/power_spi.c b/drivers/power/power_spi.c
index fb455a0..1e55446 100644
--- a/drivers/power/power_spi.c
+++ b/drivers/power/power_spi.c
@@ -17,27 +17,14 @@
 
 static struct spi_slave *slave;
 
-void pmic_spi_free(struct spi_slave *slave)
-{
-	if (slave)
-		spi_free_slave(slave);
-}
-
-struct spi_slave *pmic_spi_probe(struct pmic *p)
-{
-	return spi_setup_slave(p->bus,
-		p->hw.spi.cs,
-		p->hw.spi.clk,
-		p->hw.spi.mode);
-}
-
 static u32 pmic_reg(struct pmic *p, u32 reg, u32 *val, u32 write)
 {
 	u32 pmic_tx, pmic_rx;
 	u32 tmp;
 
 	if (!slave) {
-		slave = pmic_spi_probe(p);
+		slave = spi_setup_slave(p->bus, p->hw.spi.cs, p->hw.spi.clk,
+					p->hw.spi.mode);
 
 		if (!slave)
 			return -1;
@@ -54,25 +41,25 @@
 	tmp = cpu_to_be32(pmic_tx);
 
 	if (spi_xfer(slave, pmic_spi_bitlen, &tmp, &pmic_rx,
-			pmic_spi_flags)) {
-		spi_release_bus(slave);
-		return -1;
-	}
+			pmic_spi_flags))
+		goto err;
 
 	if (write) {
 		pmic_tx = p->hw.spi.prepare_tx(reg, val, 0);
 		tmp = cpu_to_be32(pmic_tx);
 		if (spi_xfer(slave, pmic_spi_bitlen, &tmp, &pmic_rx,
-			pmic_spi_flags)) {
-			spi_release_bus(slave);
-			return -1;
-		}
+			pmic_spi_flags))
+			goto err;
 	}
 
 	spi_release_bus(slave);
 	*val = cpu_to_be32(pmic_rx);
 
 	return 0;
+
+err:
+	spi_release_bus(slave);
+	return -1;
 }
 
 int pmic_reg_write(struct pmic *p, u32 reg, u32 val)
