Skip to content

Commit 92cc452

Browse files
committed
iio: adc: ad7768: simplify probe
Simply probe making use of the following headers: * spi_get_device_match_data(); * devm_clk_get_enabled(); * devm_regulator_get_enable(). Signed-off-by: Nuno Sa <nuno.sa@analog.com>
1 parent 12c259b commit 92cc452

File tree

1 file changed

+5
-35
lines changed

1 file changed

+5
-35
lines changed

drivers/iio/adc/ad7768.c

Lines changed: 5 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -592,20 +592,6 @@ static const struct axiadc_chip_info ad7768_4_conv_chip_info = {
592592

593593
static const unsigned long ad7768_available_scan_masks[] = { 0xFF, 0x00 };
594594

595-
static void ad7768_reg_disable(void *data)
596-
{
597-
struct regulator *reg = data;
598-
599-
regulator_disable(reg);
600-
}
601-
602-
static void ad7768_clk_disable(void *data)
603-
{
604-
struct clk *clk = data;
605-
606-
clk_disable_unprepare(clk);
607-
}
608-
609595
static int ad7768_datalines_from_dt(struct ad7768_state *st)
610596
{
611597
const unsigned int *available_datalines;
@@ -816,33 +802,17 @@ static int ad7768_probe(struct spi_device *spi)
816802

817803
st = iio_priv(indio_dev);
818804

819-
st->chip_info = device_get_match_data(&spi->dev);
820-
if (!st->chip_info) {
821-
st->chip_info = (void *)spi_get_device_id(spi)->driver_data;
822-
if (!st->chip_info)
823-
return PTR_ERR(st->chip_info);
824-
}
825-
826-
st->vref = devm_regulator_get(&spi->dev, "vref");
827-
if (IS_ERR(st->vref))
828-
return PTR_ERR(st->vref);
829-
ret = regulator_enable(st->vref);
830-
if (ret)
831-
return ret;
805+
st->chip_info = spi_get_device_match_data(spi);
806+
if (!st->chip_info)
807+
return -ENODEV;
832808

833-
ret = devm_add_action_or_reset(&spi->dev, ad7768_reg_disable, st->vref);
809+
ret = devm_regulator_get_enable(&spi->dev, "vref");
834810
if (ret)
835811
return ret;
836812

837-
st->mclk = devm_clk_get(&spi->dev, "mclk");
813+
st->mclk = devm_clk_get_enabled(&spi->dev, "mclk");
838814
if (IS_ERR(st->mclk))
839815
return PTR_ERR(st->mclk);
840-
ret = clk_prepare_enable(st->mclk);
841-
if (ret < 0)
842-
return ret;
843-
ret = devm_add_action_or_reset(&spi->dev, ad7768_clk_disable, st->mclk);
844-
if (ret)
845-
return ret;
846816

847817
st->spi = spi;
848818

0 commit comments

Comments
 (0)