]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for INPUT_CONF
authorLionel Sambuc <lionel@minix3.org>
Mon, 19 May 2014 07:39:57 +0000 (09:39 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:44 +0000 (17:05 +0200)
Change-Id: Ib25bd7e9717f203316e303d4f5a411d314ce46ed

include/minix/com.h
include/minix/ipc.h
lib/libinputdriver/inputdriver.c
servers/input/input.c

index 84e5816b912c096c697490bc737beb46ae5165bb..daf95b79c85bd899aa0528c42449be2ecbe651e3 100644 (file)
 #define INPUT_RS_BASE 0x1580   /* from input driver to input server */
 
 #define INPUT_CONF             (INPUT_RQ_BASE + 0)     /* configure driver */
-#  define INPUT_KBD_ID         m7_i1   /* keyboard device ID */
-#  define INPUT_MOUSE_ID       m7_i2   /* mouse device ID */
-#  define INPUT_RSVD1_ID       m7_i3   /* ID for as yet unallocated type */
-#  define INPUT_RSVD2_ID       m7_i4   /* ID for as yet unallocated type */
 
 #define INPUT_SETLEDS          (INPUT_RQ_BASE + 1)     /* set keyboard LEDs */
 #  define INPUT_LED_MASK       m7_i1   /* status mask of LEDs */
index 12bc0f460f2b2e232b0fe22694ef213ac95569c0..0c9a7f662be457df74dc9ffb07cbbd8394a5e276 100644 (file)
@@ -630,6 +630,16 @@ typedef struct {
 } mess_i2c_li2cdriver_busc_i2c_reserve;
 _ASSERT_MSG_SIZE(mess_i2c_li2cdriver_busc_i2c_reserve);
 
+typedef struct {
+       int kbd_id;
+       int mouse_id;
+       int rsvd1_id;
+       int rsvd2_id;
+
+       uint8_t padding[40];
+} mess_input_linputdriver_input_conf;
+_ASSERT_MSG_SIZE(mess_input_linputdriver_input_conf);
+
 typedef struct {
        uint32_t flags;
        endpoint_t endpoint;
@@ -1249,6 +1259,8 @@ typedef struct {
                mess_i2c_li2cdriver_busc_i2c_exec m_i2c_li2cdriver_busc_i2c_exec;
                mess_i2c_li2cdriver_busc_i2c_reserve m_i2c_li2cdriver_busc_i2c_reserve;
 
+               mess_input_linputdriver_input_conf m_input_linputdriver_input_conf;
+
                mess_lc_pm_exec         m_lc_pm_exec;
                mess_lc_pm_exit         m_lc_pm_exit;
                mess_lc_pm_getsid       m_lc_pm_getsid;
index fd0ef1b9a279308b88d9233beeec5ed1a0feece1..74c1f38dae3aaf41c3153e7392964c73293258d5 100644 (file)
@@ -102,8 +102,8 @@ do_conf(message *m_ptr)
 
        /* Save the new state. */
        input_endpt = m_ptr->m_source;
-       kbd_id = m_ptr->INPUT_KBD_ID;
-       mouse_id = m_ptr->INPUT_MOUSE_ID;
+       kbd_id = m_ptr->m_input_linputdriver_input_conf.kbd_id;
+       mouse_id = m_ptr->m_input_linputdriver_input_conf.mouse_id;
 
        /* If the input server is "full" there's nothing for us to do. */
        if (kbd_id == INVALID_INPUT_ID && mouse_id == INVALID_INPUT_ID)
index b35cd4dbbc7756da9d376107b74c2f27edbce5d7..1b06edaefc8cb68ce0efb802e3025766bee5f56b 100644 (file)
@@ -506,10 +506,10 @@ input_connect(endpoint_t owner, char *labelp, int typemask)
        memset(&m, 0, sizeof(m));
 
        m.m_type = INPUT_CONF;
-       m.INPUT_KBD_ID = kbd_id;
-       m.INPUT_MOUSE_ID = mouse_id;
-       m.INPUT_RSVD1_ID = INVALID_INPUT_ID;    /* reserved (joystick?) */
-       m.INPUT_RSVD2_ID = INVALID_INPUT_ID;    /* reserved for future use */
+       m.m_input_linputdriver_input_conf.kbd_id = kbd_id;
+       m.m_input_linputdriver_input_conf.mouse_id = mouse_id;
+       m.m_input_linputdriver_input_conf.rsvd1_id = INVALID_INPUT_ID;  /* reserved (joystick?) */
+       m.m_input_linputdriver_input_conf.rsvd2_id = INVALID_INPUT_ID;  /* reserved for future use */
 
        if ((r = asynsend3(owner, &m, AMF_NOREPLY)) != OK)
                printf("INPUT: asynsend to %u failed (%d)\n", owner, r);