---
 freebsd/sys/dev/usb/input/ukbd.c            | 6 ++++++
 rtemsbsd/include/rtems/bsd/local/opt_kbd.h  | 1 +
 rtemsbsd/include/rtems/bsd/local/opt_ukbd.h | 1 +
 3 files changed, 8 insertions(+)
 create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_kbd.h
 create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_ukbd.h

diff --git a/freebsd/sys/dev/usb/input/ukbd.c b/freebsd/sys/dev/usb/input/ukbd.c
index 5c6f558..2d64ae2 100644
--- a/freebsd/sys/dev/usb/input/ukbd.c
+++ b/freebsd/sys/dev/usb/input/ukbd.c
@@ -447,7 +447,11 @@ ukbd_do_poll(struct ukbd_softc *sc, uint8_t wait)
                         * Give USB threads a chance to run.  Note that
                         * kern_yield performs DROP_GIANT + PICKUP_GIANT.
                         */
+#ifndef __rtems__
                        kern_yield(PRI_UNCHANGED);
+#else /* __rtems__ */
+                       sched_yield();
+#endif /* __rtems__ */
                        if (!wait)
                                break;
                }
@@ -1994,8 +1998,10 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
        /*
         * XXX Check if someone is calling us from a critical section:
         */
+#ifndef __rtems__
        if (curthread->td_critnest != 0)
                return (EDEADLK);
+#endif /* __rtems__ */
 
        /*
         * XXX KDGKBSTATE, KDSKBSTATE and KDSETLED can be called from any
diff --git a/rtemsbsd/include/rtems/bsd/local/opt_kbd.h 
b/rtemsbsd/include/rtems/bsd/local/opt_kbd.h
new file mode 100644
index 0000000..a068675
--- /dev/null
+++ b/rtemsbsd/include/rtems/bsd/local/opt_kbd.h
@@ -0,0 +1 @@
+#define KBD_INSTALL_CDEV 1
diff --git a/rtemsbsd/include/rtems/bsd/local/opt_ukbd.h 
b/rtemsbsd/include/rtems/bsd/local/opt_ukbd.h
new file mode 100644
index 0000000..936ffd8
--- /dev/null
+++ b/rtemsbsd/include/rtems/bsd/local/opt_ukbd.h
@@ -0,0 +1 @@
+/* EMPTY */
-- 
1.9.1

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to