summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/shared/console/console.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/shared/console/console.c')
-rw-r--r--c/src/lib/libbsp/powerpc/shared/console/console.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/console/console.c b/c/src/lib/libbsp/powerpc/shared/console/console.c
index b6d9b73095..4fcef5a2a9 100644
--- a/c/src/lib/libbsp/powerpc/shared/console/console.c
+++ b/c/src/lib/libbsp/powerpc/shared/console/console.c
@@ -257,11 +257,24 @@ console_write(rtems_device_major_number major,
* Handle ioctl request.
*/
rtems_device_driver
-console_control(rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
+console_control(rtems_device_major_number major,
+ rtems_device_minor_number minor,
+ void *arg
)
{
+/* does the BSP support break callbacks ? */
+#if defined(BIOCSETBREAKCB) && defined(BIOCGETBREAKCB)
+rtems_libio_ioctl_args_t *ioa=arg;
+ switch (ioa->command) {
+ case BIOCSETBREAKCB:
+ return BSP_uart_set_break_cb(minor, ioa);
+ case BIOCGETBREAKCB:
+ return BSP_uart_get_break_cb(minor, ioa);
+
+ default:
+ break;
+ }
+#endif
return rtems_termios_ioctl (arg);
}