Module: xenomai-forge
Branch: next
Commit: ccacefe39f4531079bc58534c1bcd76ba46e769a
URL:    
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=ccacefe39f4531079bc58534c1bcd76ba46e769a

Author: Philippe Gerum <r...@xenomai.org>
Date:   Sat May 17 18:58:44 2014 +0200

cobalt/rtdm: fixup tracepoints after RTDM API changes

---

 include/cobalt/kernel/rtdm/driver.h |   49 ++---------------
 include/cobalt/kernel/rtdm/fd.h     |   33 ++++++------
 kernel/cobalt/rtdm/core.c           |   13 +++--
 kernel/cobalt/rtdm/device.c         |    2 +-
 kernel/cobalt/rtdm/drvlib.c         |   54 ++++++++++++++-----
 kernel/cobalt/rtdm/fd.c             |   67 +++++++++--------------
 kernel/cobalt/trace/cobalt-rtdm.h   |  101 ++++++++++++++++-------------------
 7 files changed, 143 insertions(+), 176 deletions(-)

diff --git a/include/cobalt/kernel/rtdm/driver.h 
b/include/cobalt/kernel/rtdm/driver.h
index e3ccc9c..6c805d8 100644
--- a/include/cobalt/kernel/rtdm/driver.h
+++ b/include/cobalt/kernel/rtdm/driver.h
@@ -1466,22 +1466,9 @@ void rtdm_event_signal(rtdm_event_t *event);
 
 void rtdm_event_clear(rtdm_event_t *event);
 
-#ifndef DOXYGEN_CPP /* Avoid static inline tags for RTDM in doxygen */
-void __rtdm_synch_flush(struct xnsynch *synch, unsigned long reason);
-
-static inline void rtdm_event_pulse(rtdm_event_t *event)
-{
-       trace_cobalt_driver_event_pulse(event);
-       __rtdm_synch_flush(&event->synch_base, 0);
-}
+void rtdm_event_pulse(rtdm_event_t *event);
 
-static inline void rtdm_event_destroy(rtdm_event_t *event)
-{
-       trace_cobalt_driver_event_destroy(event);
-       __rtdm_synch_flush(&event->synch_base, XNRMID);
-       xnselect_destroy(&event->select_block);
-}
-#endif /* !DOXYGEN_CPP */
+void rtdm_event_destroy(rtdm_event_t *event);
 
 /* --- semaphore services --- */
 
@@ -1499,14 +1486,7 @@ int rtdm_sem_timeddown(rtdm_sem_t *sem, nanosecs_rel_t 
timeout,
                       rtdm_toseq_t *timeout_seq);
 void rtdm_sem_up(rtdm_sem_t *sem);
 
-#ifndef DOXYGEN_CPP /* Avoid static inline tags for RTDM in doxygen */
-static inline void rtdm_sem_destroy(rtdm_sem_t *sem)
-{
-       trace_cobalt_driver_sem_destroy(sem);
-       __rtdm_synch_flush(&sem->synch_base, XNRMID);
-       xnselect_destroy(&sem->select_block);
-}
-#endif /* !DOXYGEN_CPP */
+void rtdm_sem_destroy(rtdm_sem_t *sem);
 
 /* --- mutex services --- */
 
@@ -1518,27 +1498,8 @@ void rtdm_mutex_init(rtdm_mutex_t *mutex);
 int rtdm_mutex_lock(rtdm_mutex_t *mutex);
 int rtdm_mutex_timedlock(rtdm_mutex_t *mutex, nanosecs_rel_t timeout,
                         rtdm_toseq_t *timeout_seq);
-
-#ifndef DOXYGEN_CPP /* Avoid static inline tags for RTDM in doxygen */
-static inline void rtdm_mutex_unlock(rtdm_mutex_t *mutex)
-{
-       if (!XENO_ASSERT(RTDM, !xnsched_interrupt_p()))
-               return;
-
-       trace_cobalt_driver_mutex_release(mutex);
-
-       if (unlikely(xnsynch_release(&mutex->synch_base,
-                                    xnsched_current_thread()) != NULL))
-               xnsched_run();
-}
-
-static inline void rtdm_mutex_destroy(rtdm_mutex_t *mutex)
-{
-       trace_cobalt_driver_mutex_destroy(mutex);
-
-       __rtdm_synch_flush(&mutex->synch_base, XNRMID);
-}
-#endif /* !DOXYGEN_CPP */
+void rtdm_mutex_unlock(rtdm_mutex_t *mutex);
+void rtdm_mutex_destroy(rtdm_mutex_t *mutex);
 
 /* --- utility functions --- */
 
diff --git a/include/cobalt/kernel/rtdm/fd.h b/include/cobalt/kernel/rtdm/fd.h
index f137b00..a107315 100644
--- a/include/cobalt/kernel/rtdm/fd.h
+++ b/include/cobalt/kernel/rtdm/fd.h
@@ -125,15 +125,15 @@ struct rtdm_fd_ops {
        rtdm_fd_sendmsg_t *sendmsg_rt;
        rtdm_fd_sendmsg_t *sendmsg_nrt;
        int (*select_bind)(struct rtdm_fd *fd, struct xnselector *selector,
-                       unsigned type, unsigned index);
+                       unsigned int type, unsigned int index);
        void (*close)(struct rtdm_fd *fd);
 };
 
 struct rtdm_fd {
-       unsigned magic;
+       unsigned int magic;
        struct rtdm_fd_ops *ops;
        struct xnsys_ppd *cont;
-       unsigned refs;
+       unsigned int refs;
        struct list_head cleanup;
 };
 
@@ -150,9 +150,10 @@ static inline struct xnsys_ppd *rtdm_fd_owner(struct 
rtdm_fd *fd)
 }
 
 int rtdm_fd_enter(struct xnsys_ppd *p, struct rtdm_fd *rtdm_fd, int ufd,
-       unsigned magic, struct rtdm_fd_ops *ops);
+                 unsigned int magic, struct rtdm_fd_ops *ops);
 
-struct rtdm_fd *rtdm_fd_get(struct xnsys_ppd *p, int ufd, unsigned magic);
+struct rtdm_fd *rtdm_fd_get(struct xnsys_ppd *p,
+                           int ufd, unsigned int magic);
 
 int rtdm_fd_lock(struct rtdm_fd *fd);
 
@@ -160,24 +161,26 @@ void rtdm_fd_put(struct rtdm_fd *fd);
 
 void rtdm_fd_unlock(struct rtdm_fd *fd);
 
-int rtdm_fd_ioctl(struct xnsys_ppd *p, int fd, unsigned request, ...);
+int rtdm_fd_ioctl(struct xnsys_ppd *p, int fd, unsigned int request, ...);
 
-ssize_t rtdm_fd_read(struct xnsys_ppd *p, int fd, void __user *buf, size_t 
size);
+ssize_t rtdm_fd_read(struct xnsys_ppd *p, int fd,
+                    void __user *buf, size_t size);
 
-ssize_t
-rtdm_fd_write(struct xnsys_ppd *p, int fd, const void __user *buf, size_t 
size);
+ssize_t rtdm_fd_write(struct xnsys_ppd *p, int fd,
+                     const void __user *buf, size_t size);
 
-int rtdm_fd_close(struct xnsys_ppd *p, int fd, unsigned magic);
+int rtdm_fd_close(struct xnsys_ppd *p, int fd, unsigned int magic);
 
-ssize_t
-rtdm_fd_recvmsg(struct xnsys_ppd *p, int fd, struct msghdr *msg, int flags);
+ssize_t rtdm_fd_recvmsg(struct xnsys_ppd *p, int fd,
+                       struct msghdr *msg, int flags);
 
-ssize_t
-rtdm_fd_sendmsg(struct xnsys_ppd *p, int fd, const struct msghdr *msg, int 
flags);
+ssize_t rtdm_fd_sendmsg(struct xnsys_ppd *p, int fd,
+                       const struct msghdr *msg, int flags);
 
 int rtdm_fd_valid_p(int ufd);
 
-int rtdm_fd_select_bind(int ufd, struct xnselector *selector, unsigned type);
+int rtdm_fd_select_bind(int ufd, struct xnselector *selector,
+                       unsigned int type);
 
 void rtdm_fd_cleanup(struct xnsys_ppd *p);
 
diff --git a/kernel/cobalt/rtdm/core.c b/kernel/cobalt/rtdm/core.c
index 97cfe7e..c05d80d 100644
--- a/kernel/cobalt/rtdm/core.c
+++ b/kernel/cobalt/rtdm/core.c
@@ -60,11 +60,10 @@ void __rt_dev_close(struct rtdm_fd *fd)
 {
        struct rtdm_dev_context *context = rtdm_fd_to_context(fd);
        context->reserved.close(fd);
-       trace_cobalt_fd_closed(context);
        cleanup_instance(context->device, context);
 }
 
-void __rt_dev_unref(struct rtdm_fd *fd, unsigned idx)
+void __rt_dev_unref(struct rtdm_fd *fd, unsigned int idx)
 {
        if (fd->magic != RTDM_FD_MAGIC)
                return;
@@ -158,7 +157,7 @@ int __rt_dev_open(struct xnsys_ppd *p, int ufd, const char 
*path, int oflag)
                goto cleanup_out;
        ufd = ret;
 
-       trace_cobalt_fd_open(current, context, oflag);
+       trace_cobalt_fd_open(current, &context->fd, ufd, oflag);
 
        ret = device->open(&context->fd, oflag);
 
@@ -168,7 +167,7 @@ int __rt_dev_open(struct xnsys_ppd *p, int ufd, const char 
*path, int oflag)
        if (unlikely(ret < 0))
                goto cleanup_out;
 
-       trace_cobalt_fd_created(context);
+       trace_cobalt_fd_created(&context->fd, ufd);
 
        return ufd;
 
@@ -197,7 +196,7 @@ int __rt_dev_socket(struct xnsys_ppd *p, int ufd, int 
protocol_family,
                goto cleanup_out;
        ufd = ret;
 
-       trace_cobalt_fd_socket(current, context, protocol_family);
+       trace_cobalt_fd_socket(current, &context->fd, ufd, protocol_family);
 
        ret = device->socket(&context->fd, protocol);
 
@@ -207,7 +206,7 @@ int __rt_dev_socket(struct xnsys_ppd *p, int ufd, int 
protocol_family,
        if (unlikely(ret < 0))
                goto cleanup_out;
 
-       trace_cobalt_fd_created(context);
+       trace_cobalt_fd_created(&context->fd, ufd);
 
        return ufd;
 
@@ -220,7 +219,7 @@ err_out:
 EXPORT_SYMBOL_GPL(__rt_dev_socket);
 
 int
-__rt_dev_ioctl_fallback(struct rtdm_fd *fd, unsigned request, void __user *arg)
+__rt_dev_ioctl_fallback(struct rtdm_fd *fd, unsigned int request, void __user 
*arg)
 {
        struct rtdm_device *dev = rtdm_fd_device(fd);
        struct rtdm_device_info dev_info;
diff --git a/kernel/cobalt/rtdm/device.c b/kernel/cobalt/rtdm/device.c
index b91c237..d1332bf 100644
--- a/kernel/cobalt/rtdm/device.c
+++ b/kernel/cobalt/rtdm/device.c
@@ -64,7 +64,7 @@ int rtdm_no_support(void)
 
 int rtdm_select_bind_no_support(struct rtdm_fd *fd,
                                struct xnselector *selector,
-                               unsigned type, unsigned index)
+                               unsigned int type, unsigned int index)
 {
        return -EBADF;
 }
diff --git a/kernel/cobalt/rtdm/drvlib.c b/kernel/cobalt/rtdm/drvlib.c
index 1cd76bc..515f4a3 100644
--- a/kernel/cobalt/rtdm/drvlib.c
+++ b/kernel/cobalt/rtdm/drvlib.c
@@ -787,7 +787,6 @@ void rtdm_event_init(rtdm_event_t *event, unsigned long 
pending)
 
 EXPORT_SYMBOL_GPL(rtdm_event_init);
 
-#ifdef DOXYGEN_CPP /* Only used for doxygen doc generation */
 /**
  * @brief Destroy an event
  *
@@ -803,7 +802,13 @@ EXPORT_SYMBOL_GPL(rtdm_event_init);
  *
  * Rescheduling: possible.
  */
-void rtdm_event_destroy(rtdm_event_t *event);
+void rtdm_event_destroy(rtdm_event_t *event)
+{
+       trace_cobalt_driver_event_destroy(event);
+       __rtdm_synch_flush(&event->synch_base, XNRMID);
+       xnselect_destroy(&event->select_block);
+}
+EXPORT_SYMBOL_GPL(rtdm_event_destroy);
 
 /**
  * @brief Signal an event occurrence to currently listening waiters
@@ -825,8 +830,12 @@ void rtdm_event_destroy(rtdm_event_t *event);
  *
  * Rescheduling: possible.
  */
-void rtdm_event_pulse(rtdm_event_t *event);
-#endif /* DOXYGEN_CPP */
+void rtdm_event_pulse(rtdm_event_t *event)
+{
+       trace_cobalt_driver_event_pulse(event);
+       __rtdm_synch_flush(&event->synch_base, 0);
+}
+EXPORT_SYMBOL_GPL(rtdm_event_pulse);
 
 /**
  * @brief Signal an event occurrence
@@ -1063,7 +1072,7 @@ EXPORT_SYMBOL_GPL(rtdm_event_clear);
  * Rescheduling: never.
  */
 int rtdm_event_select_bind(rtdm_event_t *event, rtdm_selector_t *selector,
-                          enum rtdm_selecttype type, unsigned fd_index)
+                          enum rtdm_selecttype type, unsigned int fd_index)
 {
        struct xnselect_binding *binding;
        int err;
@@ -1128,7 +1137,6 @@ void rtdm_sem_init(rtdm_sem_t *sem, unsigned long value)
 
 EXPORT_SYMBOL_GPL(rtdm_sem_init);
 
-#ifdef DOXYGEN_CPP /* Only used for doxygen doc generation */
 /**
  * @brief Destroy a semaphore
  *
@@ -1144,8 +1152,13 @@ EXPORT_SYMBOL_GPL(rtdm_sem_init);
  *
  * Rescheduling: possible.
  */
-void rtdm_sem_destroy(rtdm_sem_t *sem);
-#endif /* DOXYGEN_CPP */
+void rtdm_sem_destroy(rtdm_sem_t *sem)
+{
+       trace_cobalt_driver_sem_destroy(sem);
+       __rtdm_synch_flush(&sem->synch_base, XNRMID);
+       xnselect_destroy(&sem->select_block);
+}
+EXPORT_SYMBOL_GPL(rtdm_sem_destroy);
 
 /**
  * @brief Decrement a semaphore
@@ -1338,7 +1351,7 @@ EXPORT_SYMBOL_GPL(rtdm_sem_up);
  * Rescheduling: never.
  */
 int rtdm_sem_select_bind(rtdm_sem_t *sem, rtdm_selector_t *selector,
-                        enum rtdm_selecttype type, unsigned fd_index)
+                        enum rtdm_selecttype type, unsigned int fd_index)
 {
        struct xnselect_binding *binding;
        int err;
@@ -1403,7 +1416,6 @@ void rtdm_mutex_init(rtdm_mutex_t *mutex)
 
 EXPORT_SYMBOL_GPL(rtdm_mutex_init);
 
-#ifdef DOXYGEN_CPP /* Only used for doxygen doc generation */
 /**
  * @brief Destroy a mutex
  *
@@ -1419,7 +1431,13 @@ EXPORT_SYMBOL_GPL(rtdm_mutex_init);
  *
  * Rescheduling: possible.
  */
-void rtdm_mutex_destroy(rtdm_mutex_t *mutex);
+void rtdm_mutex_destroy(rtdm_mutex_t *mutex)
+{
+       trace_cobalt_driver_mutex_destroy(mutex);
+
+       __rtdm_synch_flush(&mutex->synch_base, XNRMID);
+}
+EXPORT_SYMBOL_GPL(rtdm_mutex_destroy);
 
 /**
  * @brief Release a mutex
@@ -1438,8 +1456,18 @@ void rtdm_mutex_destroy(rtdm_mutex_t *mutex);
  *
  * Rescheduling: possible.
  */
-void rtdm_mutex_unlock(rtdm_mutex_t *mutex);
-#endif /* DOXYGEN_CPP */
+void rtdm_mutex_unlock(rtdm_mutex_t *mutex)
+{
+       if (!XENO_ASSERT(RTDM, !xnsched_interrupt_p()))
+               return;
+
+       trace_cobalt_driver_mutex_release(mutex);
+
+       if (unlikely(xnsynch_release(&mutex->synch_base,
+                                    xnsched_current_thread()) != NULL))
+               xnsched_run();
+}
+EXPORT_SYMBOL_GPL(rtdm_mutex_unlock);
 
 /**
  * @brief Request a mutex
diff --git a/kernel/cobalt/rtdm/fd.c b/kernel/cobalt/rtdm/fd.c
index 5cc2716..15ca4cb 100644
--- a/kernel/cobalt/rtdm/fd.c
+++ b/kernel/cobalt/rtdm/fd.c
@@ -35,9 +35,10 @@ static DEFINE_XNLOCK(__rtdm_fd_lock);
 static LIST_HEAD(rtdm_fd_cleanup_queue);
 static struct semaphore rtdm_fd_cleanup_sem;
 
-extern int
-__rt_dev_ioctl_fallback(struct rtdm_fd *fd, unsigned request, void __user 
*arg);
-extern void __rt_dev_unref(struct rtdm_fd *fd, unsigned idx);
+int __rt_dev_ioctl_fallback(struct rtdm_fd *fd,
+                           unsigned int request, void __user *arg);
+
+void __rt_dev_unref(struct rtdm_fd *fd, unsigned int idx);
 
 static int enosys(void)
 {
@@ -73,7 +74,7 @@ static struct rtdm_fd *rtdm_fd_fetch(struct xnsys_ppd *p, int 
ufd)
 }
 
 int rtdm_fd_enter(struct xnsys_ppd *p, struct rtdm_fd *fd, int ufd,
-       unsigned magic, struct rtdm_fd_ops *ops)
+       unsigned int magic, struct rtdm_fd_ops *ops)
 {
        struct rtdm_fd_index *idx;
        spl_t s;
@@ -169,7 +170,7 @@ int rtdm_fd_enter(struct xnsys_ppd *p, struct rtdm_fd *fd, 
int ufd,
        return err;
 }
 
-struct rtdm_fd *rtdm_fd_get(struct xnsys_ppd *p, int ufd, unsigned magic)
+struct rtdm_fd *rtdm_fd_get(struct xnsys_ppd *p, int ufd, unsigned int magic)
 {
        struct rtdm_fd *res;
        spl_t s;
@@ -300,7 +301,7 @@ void rtdm_fd_unlock(struct rtdm_fd *fd)
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_unlock);
 
-int rtdm_fd_ioctl(struct xnsys_ppd *p, int ufd, unsigned request, ...)
+int rtdm_fd_ioctl(struct xnsys_ppd *p, int ufd, unsigned int request, ...)
 {
        void __user *arg;
        struct rtdm_fd *fd;
@@ -317,9 +318,7 @@ int rtdm_fd_ioctl(struct xnsys_ppd *p, int ufd, unsigned 
request, ...)
                goto out;
        }
 
-#if 0
-       trace_cobalt_fd_ioctl(current, fd, request, arg);
-#endif
+       trace_cobalt_fd_ioctl(current, fd, ufd, request);
 
        if (ipipe_root_p)
                err = fd->ops->ioctl_nrt(fd, request, arg);
@@ -337,10 +336,9 @@ int rtdm_fd_ioctl(struct xnsys_ppd *p, int ufd, unsigned 
request, ...)
 
        rtdm_fd_put(fd);
   out:
-#if 0
        if (err < 0)
-               trace_cobalt_fd_ioctl_status(current, fd, err);
-#endif
+               trace_cobalt_fd_ioctl_status(current, fd, ufd, err);
+
        return err;
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_ioctl);
@@ -357,9 +355,7 @@ rtdm_fd_read(struct xnsys_ppd *p, int ufd, void __user 
*buf, size_t size)
                goto out;
        }
 
-#if 0
-       trace_cobalt_fd_read(current, fd, size);
-#endif
+       trace_cobalt_fd_read(current, fd, ufd, size);
 
        if (ipipe_root_p)
                err = fd->ops->read_nrt(fd, buf, size);
@@ -372,10 +368,9 @@ rtdm_fd_read(struct xnsys_ppd *p, int ufd, void __user 
*buf, size_t size)
        rtdm_fd_put(fd);
 
   out:
-#if 0
        if (err < 0)
-               trace_cobalt_fd_read_status(current, fd, err);
-#endif
+               trace_cobalt_fd_read_status(current, fd, ufd, err);
+
        return err;
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_read);
@@ -392,9 +387,7 @@ ssize_t rtdm_fd_write(struct xnsys_ppd *p, int ufd,
                goto out;
        }
 
-#if 0
-       trace_cobalt_fd_write(current, fd, size);
-#endif
+       trace_cobalt_fd_write(current, fd, ufd, size);
 
        if (ipipe_root_p)
                err = fd->ops->write_nrt(fd, buf, size);
@@ -407,10 +400,9 @@ ssize_t rtdm_fd_write(struct xnsys_ppd *p, int ufd,
        rtdm_fd_put(fd);
 
   out:
-#if 0
        if (err < 0)
-               trace_cobalt_fd_write_status(current, fd, err);
-#endif
+               trace_cobalt_fd_write_status(current, fd, ufd, err);
+
        return err;
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_write);
@@ -427,9 +419,7 @@ rtdm_fd_recvmsg(struct xnsys_ppd *p, int ufd, struct msghdr 
*msg, int flags)
                goto out;
        }
 
-#if 0
-       trace_cobalt_fd_recvmsg(current, fd, flags);
-#endif
+       trace_cobalt_fd_recvmsg(current, fd, ufd, flags);
 
        if (ipipe_root_p)
                err = fd->ops->recvmsg_nrt(fd, msg, flags);
@@ -442,10 +432,9 @@ rtdm_fd_recvmsg(struct xnsys_ppd *p, int ufd, struct 
msghdr *msg, int flags)
        rtdm_fd_put(fd);
 
   out:
-#if 0
        if (err < 0)
-               trace_cobalt_fd_recvmsg_status(current, fd, err);
-#endif
+               trace_cobalt_fd_recvmsg_status(current, fd, ufd, err);
+
        return err;
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_recvmsg);
@@ -462,9 +451,7 @@ rtdm_fd_sendmsg(struct xnsys_ppd *p, int ufd, const struct 
msghdr *msg, int flag
                goto out;
        }
 
-#if 0
-       trace_cobalt_fd_sendmsg(current, fd, flags);
-#endif
+       trace_cobalt_fd_sendmsg(current, fd, ufd, flags);
 
        if (ipipe_root_p)
                err = fd->ops->sendmsg_nrt(fd, msg, flags);
@@ -477,10 +464,9 @@ rtdm_fd_sendmsg(struct xnsys_ppd *p, int ufd, const struct 
msghdr *msg, int flag
        rtdm_fd_put(fd);
 
   out:
-#if 0
        if (err < 0)
-               trace_cobalt_fd_sendmsg_status(current, fd, err);
-#endif
+               trace_cobalt_fd_sendmsg_status(current, fd, ufd, err);
+
        return err;
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_sendmsg);
@@ -494,7 +480,7 @@ rtdm_fd_close_inner(struct xnsys_ppd *p, struct 
rtdm_fd_index *idx, spl_t s)
        kfree(idx);
 }
 
-int rtdm_fd_close(struct xnsys_ppd *p, int ufd, unsigned magic)
+int rtdm_fd_close(struct xnsys_ppd *p, int ufd, unsigned int magic)
 {
        struct rtdm_fd_index *idx;
        struct rtdm_fd *fd;
@@ -512,9 +498,7 @@ int rtdm_fd_close(struct xnsys_ppd *p, int ufd, unsigned 
magic)
                return -EBADF;
        }
 
-#if 0
-       trace_cobalt_fd_close(current, fd, fd->refs);
-#endif
+       trace_cobalt_fd_close(current, fd, ufd, fd->refs);
 
        __rt_dev_unref(fd, xnid_id(&idx->id));
        rtdm_fd_close_inner(p, idx, s);
@@ -564,7 +548,8 @@ int rtdm_fd_valid_p(int ufd)
  *
  * Rescheduling: never.
  */
-int rtdm_fd_select_bind(int ufd, struct xnselector *selector, unsigned type)
+int rtdm_fd_select_bind(int ufd, struct xnselector *selector,
+                       unsigned int type)
 {
        struct xnsys_ppd *p;
        struct rtdm_fd *fd;
diff --git a/kernel/cobalt/trace/cobalt-rtdm.h 
b/kernel/cobalt/trace/cobalt-rtdm.h
index 1828fc7..3f364ef 100644
--- a/kernel/cobalt/trace/cobalt-rtdm.h
+++ b/kernel/cobalt/trace/cobalt-rtdm.h
@@ -14,74 +14,70 @@ struct rtdm_device;
 struct rtdm_dev_context;
 
 DECLARE_EVENT_CLASS(fd_event,
-       TP_PROTO(struct rtdm_dev_context *context),
-       TP_ARGS(context),
+       TP_PROTO(struct rtdm_fd *fd, int ufd),
+       TP_ARGS(fd, ufd),
 
        TP_STRUCT__entry(
                __field(struct rtdm_device *, device)
-               __field(int, fd)
+               __field(int, ufd)
        ),
 
        TP_fast_assign(
-               __entry->device = context->device;
-               __entry->fd = context->fd;
+               __entry->device = rtdm_fd_to_context(fd)->device;
+               __entry->ufd = ufd;
        ),
 
        TP_printk("device=%p fd=%d",
-                 __entry->device, __entry->fd)
+                 __entry->device, __entry->ufd)
 );
 
 DECLARE_EVENT_CLASS(fd_request,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context, unsigned long arg),
-       TP_ARGS(task, context, arg),
+                struct rtdm_fd *fd, int ufd, unsigned long arg),
+       TP_ARGS(task, fd, ufd, arg),
 
        TP_STRUCT__entry(
-               __field(struct task_struct *, task)
                __array(char, comm, TASK_COMM_LEN)
                __field(pid_t, pid)
                __field(struct rtdm_device *, device)
-               __field(int, fd)
+               __field(int, ufd)
                __field(unsigned long, arg)
        ),
 
        TP_fast_assign(
-               __entry->task = task;
                memcpy(__entry->comm, task->comm, TASK_COMM_LEN);
                __entry->pid = task->pid;
-               __entry->device = context->device;
-               __entry->fd = context->fd;
+               __entry->device = rtdm_fd_to_context(fd)->device;
+               __entry->ufd = ufd;
                __entry->arg = arg;
        ),
 
        TP_printk("device=%p fd=%d arg=%#lx pid=%d comm=%s",
-                 __entry->device, __entry->fd, __entry->arg,
+                 __entry->device, __entry->ufd, __entry->arg,
                  __entry->pid, __entry->comm)
 );
 
 DECLARE_EVENT_CLASS(fd_request_status,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context, int status),
-       TP_ARGS(task, context, status),
+                struct rtdm_fd *fd, int ufd, int status),
+       TP_ARGS(task, fd, ufd, status),
 
        TP_STRUCT__entry(
-               __field(struct task_struct *, task)
                __array(char, comm, TASK_COMM_LEN)
                __field(pid_t, pid)
                __field(struct rtdm_device *, device)
-               __field(int, fd)
+               __field(int, ufd)
        ),
 
        TP_fast_assign(
-               __entry->task = task;
                memcpy(__entry->comm, task->comm, TASK_COMM_LEN);
                __entry->pid = task->pid;
-               __entry->device = context->device;
-               __entry->fd = context->fd;
+               __entry->device = rtdm_fd_to_context(fd)->device;
+               __entry->ufd = ufd;
        ),
 
        TP_printk("device=%p fd=%d pid=%d comm=%s",
-                 __entry->device, __entry->fd, __entry->pid, __entry->comm)
+                 __entry->device, __entry->ufd, __entry->pid, __entry->comm)
 );
 
 DECLARE_EVENT_CLASS(task_op,
@@ -199,104 +195,99 @@ TRACE_EVENT(cobalt_device_unregister,
 );
 
 DEFINE_EVENT(fd_event, cobalt_fd_created,
-       TP_PROTO(struct rtdm_dev_context *context),
-       TP_ARGS(context)
-);
-
-DEFINE_EVENT(fd_event, cobalt_fd_closed,
-       TP_PROTO(struct rtdm_dev_context *context),
-       TP_ARGS(context)
+       TP_PROTO(struct rtdm_fd *fd, int ufd),
+       TP_ARGS(fd, ufd)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_open,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long oflags),
-       TP_ARGS(task, context, oflags)
+       TP_ARGS(task, fd, ufd, oflags)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_close,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long lock_count),
-       TP_ARGS(task, context, lock_count)
+       TP_ARGS(task, fd, ufd, lock_count)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_socket,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long protocol_family),
-       TP_ARGS(task, context, protocol_family)
+       TP_ARGS(task, fd, ufd, protocol_family)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_read,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long len),
-       TP_ARGS(task, context, len)
+       TP_ARGS(task, fd, ufd, len)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_write,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long len),
-       TP_ARGS(task, context, len)
+       TP_ARGS(task, fd, ufd, len)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_ioctl,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long request),
-       TP_ARGS(task, context, request)
+       TP_ARGS(task, fd, ufd, request)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_sendmsg,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long flags),
-       TP_ARGS(task, context, flags)
+       TP_ARGS(task, fd, ufd, flags)
 );
 
 DEFINE_EVENT(fd_request, cobalt_fd_recvmsg,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 unsigned long flags),
-       TP_ARGS(task, context, flags)
+       TP_ARGS(task, fd, ufd, flags)
 );
 
 DEFINE_EVENT(fd_request_status, cobalt_fd_ioctl_status,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 int status),
-       TP_ARGS(task, context, status)
+       TP_ARGS(task, fd, ufd, status)
 );
 
 DEFINE_EVENT(fd_request_status, cobalt_fd_read_status,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 int status),
-       TP_ARGS(task, context, status)
+       TP_ARGS(task, fd, ufd, status)
 );
 
 DEFINE_EVENT(fd_request_status, cobalt_fd_write_status,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 int status),
-       TP_ARGS(task, context, status)
+       TP_ARGS(task, fd, ufd, status)
 );
 
 DEFINE_EVENT(fd_request_status, cobalt_fd_recvmsg_status,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 int status),
-       TP_ARGS(task, context, status)
+       TP_ARGS(task, fd, ufd, status)
 );
 
 DEFINE_EVENT(fd_request_status, cobalt_fd_sendmsg_status,
        TP_PROTO(struct task_struct *task,
-                struct rtdm_dev_context *context,
+                struct rtdm_fd *fd, int ufd,
                 int status),
-       TP_ARGS(task, context, status)
+       TP_ARGS(task, fd, ufd, status)
 );
 
 DEFINE_EVENT(task_op, cobalt_driver_task_join,


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to