[Xenomai-git] Philippe Gerum : cobalt/rtdm: fixup tracepoints after RTDM API changes
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
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
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