Hi Tom. On 25/10/2014 13:38, Tom Rini wrote: > The pmic_spi_free function isn't ever used, and as the frameworks stand > today, cannot be, so remove it.
That's right - it was originally implemented to have a symmetric interface, but never used. > Integrate the probe function into > pmic_reg as it's not really a "probe" today. Finally, add an err label > for the common failure cases. > > Cc: Lukasz Majewski <[email protected]> > Cc: Przemyslaw Marczak <[email protected]> > Cc: Stefano Babic <[email protected]> > Signed-off-by: Tom Rini <[email protected]> > --- > drivers/power/power_spi.c | 33 ++++++++++----------------------- > 1 file changed, 10 insertions(+), 23 deletions(-) > > diff --git a/drivers/power/power_spi.c b/drivers/power/power_spi.c > index fb455a00..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 @@ static u32 pmic_reg(struct pmic *p, u32 reg, u32 *val, > u32 write) > 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) > Acked-by: Stefano Babic <[email protected]> Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: [email protected] ===================================================================== _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

