Loading drivers/staging/iio/accel/sca3000_ring.c +2 −0 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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); */ } drivers/staging/iio/iio.h +0 −14 Original line number Diff line number Diff line Loading @@ -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 Loading drivers/staging/iio/industrialio-core.c +2 −2 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -445,7 +445,7 @@ int iio_setup_ev_int(struct iio_event_interface *ev_int, 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); Loading drivers/staging/iio/industrialio-ring.c +1 −57 Original line number Diff line number Diff line Loading @@ -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 * Loading Loading @@ -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 Loading Loading @@ -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); } Loading Loading @@ -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, Loading Loading @@ -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); Loading drivers/staging/iio/ring_generic.h +0 −25 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 *); Loading Loading
drivers/staging/iio/accel/sca3000_ring.c +2 −0 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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); */ }
drivers/staging/iio/iio.h +0 −14 Original line number Diff line number Diff line Loading @@ -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 Loading
drivers/staging/iio/industrialio-core.c +2 −2 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -445,7 +445,7 @@ int iio_setup_ev_int(struct iio_event_interface *ev_int, 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); Loading
drivers/staging/iio/industrialio-ring.c +1 −57 Original line number Diff line number Diff line Loading @@ -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 * Loading Loading @@ -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 Loading Loading @@ -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); } Loading Loading @@ -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, Loading Loading @@ -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); Loading
drivers/staging/iio/ring_generic.h +0 −25 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 *); Loading