[Xenomai-git] Philippe Gerum : cobalt/rtdm: fixup tracepoints after RTDM API changes

2014-05-18 Thread git repository hosting
Module: xenomai-forge
Branch: master
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);

[Xenomai-git] Philippe Gerum : cobalt/rtdm: fixup tracepoints after RTDM API changes

2014-05-17 Thread git repository hosting
Module: xenomai-forge
Branch: next
Commit: a42ea99d4b50ac9da062d3e009ec47c75525a4b9
URL:
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=a42ea99d4b50ac9da062d3e009ec47c75525a4b9

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/fd.h   |   33 ++--
 kernel/cobalt/rtdm/core.c |   13 +++--
 kernel/cobalt/rtdm/device.c   |2 +-
 kernel/cobalt/rtdm/drvlib.c   |4 +-
 kernel/cobalt/rtdm/fd.c   |   67 ++--
 kernel/cobalt/trace/cobalt-rtdm.h |  101 +
 6 files changed, 99 insertions(+), 121 deletions(-)

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 = 

[Xenomai-git] Philippe Gerum : cobalt/rtdm: fixup tracepoints after RTDM API changes

2014-05-17 Thread git repository hosting
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