Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15744090 authored by Jonathan Cameron's avatar Jonathan Cameron Committed by Greg Kroah-Hartman
Browse files

staging: iio: Add and convert drivers to use iio_alloc_pollfunc

parent 3c9bbf58
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -241,13 +241,10 @@ int adis16209_configure_ring(struct iio_dev *indio_dev)
	ring->predisable = &adis16209_data_rdy_ring_predisable;
	ring->owner = THIS_MODULE;

	indio_dev->pollfunc = kzalloc(sizeof(*indio_dev->pollfunc), GFP_KERNEL);
	if (indio_dev->pollfunc == NULL) {
		ret = -ENOMEM;
		goto error_iio_sw_rb_free;;
	}
	indio_dev->pollfunc->poll_func_main = &adis16209_poll_func_th;
	indio_dev->pollfunc->private_data = indio_dev;
	ret = iio_alloc_pollfunc(indio_dev, NULL, &adis16209_poll_func_th);
	if (ret)
		goto error_iio_sw_rb_free;

	indio_dev->modes |= INDIO_RING_TRIGGERED;
	return 0;

+4 −7
Original line number Diff line number Diff line
@@ -229,13 +229,10 @@ int adis16240_configure_ring(struct iio_dev *indio_dev)
	ring->predisable = &adis16240_data_rdy_ring_predisable;
	ring->owner = THIS_MODULE;

	indio_dev->pollfunc = kzalloc(sizeof(*indio_dev->pollfunc), GFP_KERNEL);
	if (indio_dev->pollfunc == NULL) {
		ret = -ENOMEM;
		goto error_iio_sw_rb_free;;
	}
	indio_dev->pollfunc->poll_func_main = &adis16240_poll_func_th;
	indio_dev->pollfunc->private_data = indio_dev;
	ret = iio_alloc_pollfunc(indio_dev, NULL, &adis16240_poll_func_th);
	if (ret)
		goto error_iio_sw_rb_free;

	indio_dev->modes |= INDIO_RING_TRIGGERED;
	return 0;

+3 −6
Original line number Diff line number Diff line
@@ -566,13 +566,9 @@ int lis3l02dq_configure_ring(struct iio_dev *indio_dev)
	ring->predisable = &lis3l02dq_data_rdy_ring_predisable;
	ring->owner = THIS_MODULE;

	indio_dev->pollfunc = kzalloc(sizeof(*indio_dev->pollfunc), GFP_KERNEL);
	if (indio_dev->pollfunc == NULL) {
		ret = -ENOMEM;
	ret = iio_alloc_pollfunc(indio_dev, NULL, &lis3l02dq_poll_func_th);
	if (ret)
		goto error_iio_sw_rb_free;;
	}
	indio_dev->pollfunc->poll_func_main = &lis3l02dq_poll_func_th;
	indio_dev->pollfunc->private_data = indio_dev;
	indio_dev->modes |= INDIO_RING_TRIGGERED;
	return 0;

@@ -592,3 +588,4 @@ void lis3l02dq_uninitialize_ring(struct iio_ring_buffer *ring)
}


+2 −7
Original line number Diff line number Diff line
@@ -223,14 +223,9 @@ int max1363_register_ring_funcs_and_init(struct iio_dev *indio_dev)
	}
	/* Effectively select the ring buffer implementation */
	iio_ring_sw_register_funcs(&st->indio_dev->ring->access);
	indio_dev->pollfunc = kzalloc(sizeof(*indio_dev->pollfunc), GFP_KERNEL);
	if (indio_dev->pollfunc == NULL) {
		ret = -ENOMEM;
	ret = iio_alloc_pollfunc(indio_dev, NULL, &max1363_poll_func_th);
	if (ret)
		goto error_deallocate_sw_rb;
	}
	/* Configure the polling function called on trigger interrupts */
	indio_dev->pollfunc->poll_func_main = &max1363_poll_func_th;
	indio_dev->pollfunc->private_data = indio_dev;

	/* Ring buffer functions - here trigger setup related */
	indio_dev->ring->postenable = &max1363_ring_postenable;
+4 −7
Original line number Diff line number Diff line
@@ -231,13 +231,10 @@ int adis16260_configure_ring(struct iio_dev *indio_dev)
	ring->predisable = &adis16260_data_rdy_ring_predisable;
	ring->owner = THIS_MODULE;

	indio_dev->pollfunc = kzalloc(sizeof(*indio_dev->pollfunc), GFP_KERNEL);
	if (indio_dev->pollfunc == NULL) {
		ret = -ENOMEM;
		goto error_iio_sw_rb_free;;
	}
	indio_dev->pollfunc->poll_func_main = &adis16260_poll_func_th;
	indio_dev->pollfunc->private_data = indio_dev;
	ret = iio_alloc_pollfunc(indio_dev, NULL, &adis16260_poll_func_th);
	if (ret)
		goto error_iio_sw_rb_free;

	indio_dev->modes |= INDIO_RING_TRIGGERED;
	return 0;

Loading