Module: xenomai-gch Branch: for-forge Commit: 1c20691202e1d5200c02f6fd5617103a8f5e2637 URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=1c20691202e1d5200c02f6fd5617103a8f5e2637
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Fri Nov 11 19:07:31 2011 +0100 nucleus: remove /proc/xenomai/interfaces --- include/cobalt/nucleus/shadow.h | 8 --- kernel/cobalt/nucleus/pod.c | 2 - kernel/cobalt/nucleus/shadow.c | 96 --------------------------------------- 3 files changed, 0 insertions(+), 106 deletions(-) diff --git a/include/cobalt/nucleus/shadow.h b/include/cobalt/nucleus/shadow.h index fb72be7..ddbe03b 100644 --- a/include/cobalt/nucleus/shadow.h +++ b/include/cobalt/nucleus/shadow.h @@ -97,12 +97,4 @@ void xnshadow_demote(struct xnthread *thread); } #endif -#ifdef CONFIG_XENO_OPT_VFILE -void xnshadow_init_proc(void); -void xnshadow_cleanup_proc(void); -#else /* !CONFIG_XENO_OPT_VFILE */ -static inline void xnshadow_init_proc(void) { } -static inline void xnshadow_cleanup_proc(void) { } -#endif /* CONFIG_XENO_OPT_VFILE */ - #endif /* !_XENO_NUCLEUS_SHADOW_H */ diff --git a/kernel/cobalt/nucleus/pod.c b/kernel/cobalt/nucleus/pod.c index 17cdf4c..f7420ee 100644 --- a/kernel/cobalt/nucleus/pod.c +++ b/kernel/cobalt/nucleus/pod.c @@ -3148,7 +3148,6 @@ int __init xnpod_init_proc(void) xntimer_init_proc(); xnheap_init_proc(); xnintr_init_proc(); - xnshadow_init_proc(); xnvfile_init_regular("latency", &latency_vfile, &nkvfroot); xnvfile_init_regular("version", &version_vfile, &nkvfroot); @@ -3177,7 +3176,6 @@ void xnpod_cleanup_proc(void) xnvfile_destroy_regular(&version_vfile); xnvfile_destroy_regular(&latency_vfile); - xnshadow_cleanup_proc(); xnintr_cleanup_proc(); xnheap_cleanup_proc(); xntimer_cleanup_proc(); diff --git a/kernel/cobalt/nucleus/shadow.c b/kernel/cobalt/nucleus/shadow.c index c28c845..991438b 100644 --- a/kernel/cobalt/nucleus/shadow.c +++ b/kernel/cobalt/nucleus/shadow.c @@ -76,10 +76,6 @@ EXPORT_SYMBOL_GPL(nkmmptd); struct xnskin_slot { struct xnskin_props *props; - atomic_counter_t refcnt; -#ifdef CONFIG_XENO_OPT_VFILE - struct xnvfile_regular vfile; -#endif } skins[XENOMAI_SKINS_NR]; static int lostage_apc; @@ -336,20 +332,6 @@ static inline void unlock_timers(void) clrbits(nkclock.status, XNTBLCK); } -static void xnshadow_dereference_skin(unsigned magic) -{ - struct xnskin_slot *sslt; - int muxid; - - for (muxid = 0; muxid < XENOMAI_SKINS_NR; muxid++) { - sslt = skins + muxid; - if (sslt->props && sslt->props->magic == magic) { - xnarch_atomic_dec(&sslt->refcnt); - break; - } - } -} - static void lostage_handler(void *cookie) { int cpu, reqnum, type, arg, sig, sigarg; @@ -375,8 +357,6 @@ static void lostage_handler(void *cookie) switch (type) { case LO_UNMAP_REQ: - xnshadow_dereference_skin(arg); - /* fall through */ case LO_WAKEUP_REQ: xnpod_schedule(); @@ -960,8 +940,6 @@ int xnshadow_map(xnthread_t *thread, xncompletion_t __user *u_completion, struct xnthread_start_attr attr; xnarch_cpumask_t affinity; struct xnsys_ppd *sys_ppd; - unsigned int muxid, magic; - struct xnskin_slot *sslt; unsigned long *u_mode; xnheap_t *sem_heap; spl_t s; @@ -990,17 +968,6 @@ int xnshadow_map(xnthread_t *thread, xncompletion_t __user *u_completion, return ret; #endif /* CONFIG_MMU */ - /* Increment the interface reference count. */ - magic = xnthread_get_magic(thread); - - for (muxid = 0; muxid < XENOMAI_SKINS_NR; muxid++) { - sslt = skins + muxid; - if (sslt->props && sslt->props->magic == magic) { - xnarch_atomic_inc(&sslt->refcnt); - break; - } - } - xnlock_get_irqsave(&nklock, s); sys_ppd = xnsys_ppd_get(0); xnlock_put_irqrestore(&nklock, s); @@ -1870,7 +1837,6 @@ static void *xnshadow_sys_event(int event, void *data) return ERR_PTR(-ENOMEM); } - xnarch_atomic_set(&p->refcnt, 1); exe_path = get_exe_path(current); if (IS_ERR(exe_path)) { printk(KERN_WARNING @@ -1880,14 +1846,11 @@ static void *xnshadow_sys_event(int event, void *data) } p->exe_path = exe_path; - xnarch_atomic_inc(&skins[0].refcnt); - return &p->ppd; case XNSHADOW_CLIENT_DETACH: p = ppd2sys(data); xnheap_destroy_mapped(&p->sem_heap, post_ppd_release, NULL); - xnarch_atomic_dec(&skins[0].refcnt); if (p->exe_path) kfree(p->exe_path); @@ -2283,7 +2246,6 @@ static inline void do_taskexit_event(struct task_struct *p) if (!xnarch_atomic_get(&sys_ppd->refcnt)) ppd_remove_mm(xnshadow_mm(p), &detach_ppd); - xnshadow_dereference_skin(magic); trace_mark(xn_nucleus, shadow_exit, "thread %p thread_name %s", thread, xnthread_name(thread)); } @@ -2480,47 +2442,6 @@ static inline void do_cleanup_event(struct mm_struct *mm) RTHAL_DECLARE_CLEANUP_EVENT(cleanup_event); -#ifdef CONFIG_XENO_OPT_VFILE - -static struct xnvfile_directory iface_vfroot; - -static int iface_vfile_show(struct xnvfile_regular_iterator *it, void *data) -{ - struct xnskin_slot *sslt; - int refcnt; - - sslt = container_of(it->vfile, struct xnskin_slot, vfile); - refcnt = xnarch_atomic_get(&sslt->refcnt); - xnvfile_printf(it, "%d\n", refcnt); - - return 0; -} - -static struct xnvfile_regular_ops iface_vfile_ops = { - .show = iface_vfile_show, -}; - -void xnshadow_init_proc(void) -{ - xnvfile_init_dir("interfaces", &iface_vfroot, &nkvfroot); -} - -void xnshadow_cleanup_proc(void) -{ - struct xnskin_slot *sslt; - int muxid; - - for (muxid = 0; muxid < XENOMAI_SKINS_NR; muxid++) { - sslt = skins + muxid; - if (sslt->props && sslt->props->name) - xnvfile_destroy_regular(&sslt->vfile); - } - - xnvfile_destroy_dir(&iface_vfroot); -} - -#endif /* CONFIG_XENO_OPT_VFILE */ - /* * xnshadow_register_interface() -- Register a new skin/interface. * NOTE: an interface can be registered without its pod being @@ -2564,7 +2485,6 @@ int xnshadow_register_interface(struct xnskin_props *props) sslt = skins + muxid; if (sslt->props == NULL) { sslt->props = props; - xnarch_atomic_set(&sslt->refcnt, 0); break; } } @@ -2576,13 +2496,6 @@ int xnshadow_register_interface(struct xnskin_props *props) return -EAGAIN; } -#ifdef CONFIG_XENO_OPT_VFILE - memset(&sslt->vfile, 0, sizeof(sslt->vfile)); - sslt->vfile.ops = &iface_vfile_ops; - xnvfile_init_regular(props->name, &sslt->vfile, - &iface_vfroot); -#endif - up(®istration_mutex); return muxid; @@ -2609,19 +2522,10 @@ int xnshadow_unregister_interface(int muxid) xnlock_get_irqsave(&nklock, s); - if (xnarch_atomic_get(&sslt->refcnt) > 0) { - xnlock_put_irqrestore(&nklock, s); - up(®istration_mutex); - return -EBUSY; - } sslt->props = NULL; xnlock_put_irqrestore(&nklock, s); -#ifdef CONFIG_XENO_OPT_VFILE - xnvfile_destroy_regular(&sslt->vfile); -#endif - up(®istration_mutex); return 0; _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git