static int ad9910_probe(struct spi_device *spi) { struct ad9910_state *st; struct iio_dev *idev; int ret = 0; idev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); if (!idev) return -ENOMEM; spi_set_drvdata(spi, idev); st = iio_priv(idev); mutex_init(&st->lock); st->sdev = spi; idev->dev.parent = &spi->dev; idev->info = &ad9910_info; idev->modes = INDIO_DIRECT_MODE; ret = iio_device_register(idev); if (ret) return ret; spi->max_speed_hz = 2000000; spi->mode = SPI_MODE_3; spi->bits_per_word = 8; spi_setup(spi); ad9910_init(st); return 0; }
static int __devinit ad9910_probe(struct spi_device *spi) { struct ad9910_state *st; struct iio_dev *idev; int ret = 0; idev = iio_device_alloc(sizeof(*st)); if (idev == NULL) { ret = -ENOMEM; goto error_ret; } spi_set_drvdata(spi, idev); st = iio_priv(idev); mutex_init(&st->lock); st->sdev = spi; idev->dev.parent = &spi->dev; idev->info = &ad9910_info; idev->modes = INDIO_DIRECT_MODE; ret = iio_device_register(idev); if (ret) goto error_free_dev; spi->max_speed_hz = 2000000; spi->mode = SPI_MODE_3; spi->bits_per_word = 8; spi_setup(spi); ad9910_init(st); return 0; error_free_dev: iio_device_free(idev); error_ret: return ret; }
static int __devinit ad9910_probe(struct spi_device *spi) { struct ad9910_state *st; int ret = 0; st = kzalloc(sizeof(*st), GFP_KERNEL); if (st == NULL) { ret = -ENOMEM; goto error_ret; } spi_set_drvdata(spi, st); mutex_init(&st->lock); st->sdev = spi; st->idev = iio_allocate_device(0); if (st->idev == NULL) { ret = -ENOMEM; goto error_free_st; } st->idev->dev.parent = &spi->dev; st->idev->info = &ad9910_info; st->idev->dev_data = (void *)(st); st->idev->modes = INDIO_DIRECT_MODE; ret = iio_device_register(st->idev); if (ret) goto error_free_dev; spi->max_speed_hz = 2000000; spi->mode = SPI_MODE_3; spi->bits_per_word = 8; spi_setup(spi); ad9910_init(st); return 0; error_free_dev: iio_free_device(st->idev); error_free_st: kfree(st); error_ret: return ret; }