From b9d40a9d5583a530372b4e1888e4f643ed05aca6 Mon Sep 17 00:00:00 2001 From: Jonathan Cameron Date: Wed, 18 May 2011 14:40:56 +0100 Subject: [PATCH] staging:iio: remove legacy event chrdev for the buffers part of sca3000 driver temporarily disabled (buffer won't run anyway). This section is replaced later in this patch set. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/staging/iio/accel/sca3000_ring.c | 2 + drivers/staging/iio/iio.h | 14 ------ drivers/staging/iio/industrialio-core.c | 4 +- drivers/staging/iio/industrialio-ring.c | 58 +----------------------- drivers/staging/iio/ring_generic.h | 25 ---------- drivers/staging/iio/ring_sw.c | 5 -- 6 files changed, 5 insertions(+), 103 deletions(-) diff --git a/drivers/staging/iio/accel/sca3000_ring.c b/drivers/staging/iio/accel/sca3000_ring.c index c20bfe04d414..44f9a56b8f8b 100644 --- a/drivers/staging/iio/accel/sca3000_ring.c +++ b/drivers/staging/iio/accel/sca3000_ring.c @@ -357,6 +357,7 @@ void sca3000_register_ring_funcs(struct iio_dev *indio_dev) **/ void sca3000_ring_int_process(u8 val, struct iio_ring_buffer *ring) { + /* if (val & SCA3000_INT_STATUS_THREE_QUARTERS) iio_push_ring_event(ring, IIO_EVENT_CODE_RING_75_FULL, @@ -364,4 +365,5 @@ void sca3000_ring_int_process(u8 val, struct iio_ring_buffer *ring) else if (val & SCA3000_INT_STATUS_HALF) iio_push_ring_event(ring, IIO_EVENT_CODE_RING_50_FULL, 0); + */ } diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h index 1663220981f0..7e4463914868 100644 --- a/drivers/staging/iio/iio.h +++ b/drivers/staging/iio/iio.h @@ -399,20 +399,6 @@ int __iio_push_event(struct iio_event_interface *ev_int, int ev_code, s64 timestamp); -/** - * iio_setup_ev_int() - configure an event interface (chrdev) - * @name: name used for resulting sysfs directory etc. - * @ev_int: interface we are configuring - * @owner: module that is responsible for registering this ev_int - * @dev: device whose ev_int this is - **/ -int iio_setup_ev_int(struct iio_event_interface *ev_int, - const char *name, - struct module *owner, - struct device *dev); - -void iio_free_ev_int(struct iio_event_interface *ev_int); - /** * iio_allocate_chrdev() - Allocate a chrdev * @handler: struct that contains relevant file handling for chrdev diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c index 24ce21675b50..9ddd6a639ac4 100644 --- a/drivers/staging/iio/industrialio-core.c +++ b/drivers/staging/iio/industrialio-core.c @@ -393,7 +393,7 @@ void iio_device_free_chrdev_minor(int val) spin_unlock(&iio_ida_lock); } -int iio_setup_ev_int(struct iio_event_interface *ev_int, +static int iio_setup_ev_int(struct iio_event_interface *ev_int, const char *name, struct module *owner, struct device *dev) @@ -445,7 +445,7 @@ error_device_put: return ret; } -void iio_free_ev_int(struct iio_event_interface *ev_int) +static void iio_free_ev_int(struct iio_event_interface *ev_int) { device_unregister(&ev_int->dev); put_device(&ev_int->dev); diff --git a/drivers/staging/iio/industrialio-ring.c b/drivers/staging/iio/industrialio-ring.c index 5c3f4660c49f..559d613e7e18 100644 --- a/drivers/staging/iio/industrialio-ring.c +++ b/drivers/staging/iio/industrialio-ring.c @@ -23,16 +23,6 @@ #include "iio.h" #include "ring_generic.h" -int iio_push_ring_event(struct iio_ring_buffer *ring_buf, - int event_code, - s64 timestamp) -{ - return __iio_push_event(&ring_buf->ev_int, - event_code, - timestamp); -} -EXPORT_SYMBOL(iio_push_ring_event); - /** * iio_ring_open() - chrdev file open for ring buffer access * @@ -116,43 +106,6 @@ static const struct file_operations iio_ring_fileops = { .llseek = noop_llseek, }; -/** - * __iio_request_ring_buffer_event_chrdev() - allocate ring event chrdev - * @buf: ring buffer whose event chrdev we are allocating - * @id: id of this ring buffer (typically 0) - * @owner: the module who owns the ring buffer (for ref counting) - * @dev: device with which the chrdev is associated - **/ -static inline int -__iio_request_ring_buffer_event_chrdev(struct iio_ring_buffer *buf, - int id, - struct module *owner, - struct device *dev) -{ - int ret; - - snprintf(buf->ev_int._name, sizeof(buf->ev_int._name), - "%s:event%d", - dev_name(&buf->dev), - id); - ret = iio_setup_ev_int(&(buf->ev_int), - buf->ev_int._name, - owner, - dev); - if (ret) - goto error_ret; - return 0; - -error_ret: - return ret; -} - -static inline void -__iio_free_ring_buffer_event_chrdev(struct iio_ring_buffer *buf) -{ - iio_free_ev_int(&(buf->ev_int)); -} - static void iio_ring_access_release(struct device *dev) { struct iio_ring_buffer *buf @@ -227,7 +180,6 @@ void iio_ring_buffer_init(struct iio_ring_buffer *ring, if (ring->access.mark_param_change) ring->access.mark_param_change(ring); ring->indio_dev = dev_info; - ring->ev_int.private = ring; ring->access_handler.private = ring; init_waitqueue_head(&ring->pollq); } @@ -399,19 +351,12 @@ int iio_ring_buffer_register_ex(struct iio_ring_buffer *ring, int id, if (ret) goto error_ret; - ret = __iio_request_ring_buffer_event_chrdev(ring, - 0, - ring->owner, - &ring->dev); - if (ret) - goto error_remove_device; - ret = __iio_request_ring_buffer_access_chrdev(ring, 0, ring->owner); if (ret) - goto error_ret; + goto error_remove_device; if (ring->scan_el_attrs) { ret = sysfs_create_group(&ring->dev.kobj, @@ -462,7 +407,6 @@ void iio_ring_buffer_unregister(struct iio_ring_buffer *ring) { __iio_ring_attr_cleanup(ring); __iio_free_ring_buffer_access_chrdev(ring); - __iio_free_ring_buffer_event_chrdev(ring); device_del(&ring->dev); } EXPORT_SYMBOL(iio_ring_buffer_unregister); diff --git a/drivers/staging/iio/ring_generic.h b/drivers/staging/iio/ring_generic.h index 0640a8ae8b51..3a1a872c43fb 100644 --- a/drivers/staging/iio/ring_generic.h +++ b/drivers/staging/iio/ring_generic.h @@ -15,29 +15,6 @@ struct iio_ring_buffer; -/** - * iio_push_ring_event() - ring buffer specific push to event chrdev - * @ring_buf: ring buffer that is the event source - * @event_code: event indentification code - * @timestamp: time of event - **/ -int iio_push_ring_event(struct iio_ring_buffer *ring_buf, - int event_code, - s64 timestamp); -/** - * iio_push_or_escallate_ring_event() - escalate or add as appropriate - * @ring_buf: ring buffer that is the event source - * @event_code: event indentification code - * @timestamp: time of event - * - * Typical usecase is to escalate a 50% ring full to 75% full if no one has yet - * read the first event. Clearly the 50% full is no longer of interest in - * typical use case. - **/ -int iio_push_or_escallate_ring_event(struct iio_ring_buffer *ring_buf, - int event_code, - s64 timestamp); - /** * struct iio_ring_access_funcs - access functions for ring buffers. * @mark_in_use: reference counting, typically to prevent module removal @@ -106,7 +83,6 @@ struct iio_ring_access_funcs { * @scan_mask: [INTERN] bitmask used in masking scan mode elements * @scan_timestamp: [INTERN] does the scan mode include a timestamp * @access_handler: [INTERN] chrdev access handling - * @ev_int: [INTERN] chrdev interface for the event chrdev * @access: [DRIVER] ring access functions associated with the * implementation. * @preenable: [DRIVER] function to run prior to marking ring enabled @@ -130,7 +106,6 @@ struct iio_ring_buffer { u32 scan_mask; bool scan_timestamp; struct iio_handler access_handler; - struct iio_event_interface ev_int; struct iio_ring_access_funcs access; int (*preenable)(struct iio_dev *); int (*postenable)(struct iio_dev *); diff --git a/drivers/staging/iio/ring_sw.c b/drivers/staging/iio/ring_sw.c index 53c677434071..a429a3d4a461 100644 --- a/drivers/staging/iio/ring_sw.c +++ b/drivers/staging/iio/ring_sw.c @@ -69,7 +69,6 @@ static int iio_store_to_sw_ring(struct iio_sw_ring_buffer *ring, unsigned char *data, s64 timestamp) { int ret = 0; - int code; unsigned char *temp_ptr, *change_test_ptr; /* initial store */ @@ -133,10 +132,6 @@ static int iio_store_to_sw_ring(struct iio_sw_ring_buffer *ring, if (ring->half_p == ring->data + ring->buf.length*ring->buf.bytes_per_datum) ring->half_p = ring->data; if (ring->half_p == ring->read_p) { - code = IIO_EVENT_CODE_RING_50_FULL; - ret = __iio_push_event(&ring->buf.ev_int, - code, - timestamp); ring->buf.stufftoread = true; wake_up_interruptible(&ring->buf.pollq); }