Changeset ad7a6c9 in mainline for uspace/srv/hid/console/console.c


Ignore:
Timestamp:
2011-03-30T13:10:24Z (14 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4ae90f9
Parents:
6e50466 (diff), d6b81941 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/console/console.c

    r6e50466 rad7a6c9  
    3434
    3535#include <libc.h>
    36 #include <ipc/ipc.h>
    3736#include <ipc/kbd.h>
    3837#include <io/keycode.h>
     
    4039#include <ipc/fb.h>
    4140#include <ipc/services.h>
     41#include <ipc/ns.h>
    4242#include <errno.h>
    4343#include <ipc/console.h>
     
    116116static void curs_hide_sync(void)
    117117{
    118         ipc_call_sync_1_0(fb_info.phone, FB_CURSOR_VISIBILITY, false);
     118        async_req_1_0(fb_info.phone, FB_CURSOR_VISIBILITY, false);
    119119}
    120120
     
    131131static void screen_yield(void)
    132132{
    133         ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_YIELD);
     133        async_req_0_0(fb_info.phone, FB_SCREEN_YIELD);
    134134}
    135135
    136136static void screen_reclaim(void)
    137137{
    138         ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_RECLAIM);
     138        async_req_0_0(fb_info.phone, FB_SCREEN_RECLAIM);
    139139}
    140140
    141141static void kbd_yield(void)
    142142{
    143         ipc_call_sync_0_0(kbd_phone, KBD_YIELD);
     143        async_req_0_0(kbd_phone, KBD_YIELD);
    144144}
    145145
    146146static void kbd_reclaim(void)
    147147{
    148         ipc_call_sync_0_0(kbd_phone, KBD_RECLAIM);
     148        async_req_0_0(kbd_phone, KBD_RECLAIM);
    149149}
    150150
     
    437437                        retval = ENOENT;
    438438                }
    439                 ipc_answer_0(callid, retval);
     439                async_answer_0(callid, retval);
    440440        }
    441441}
     
    472472                }
    473473
    474                 ipc_answer_0(callid, retval);
     474                async_answer_0(callid, retval);
    475475        }
    476476}
     
    483483       
    484484        if (rc != EOK) {
    485                 ipc_answer_0(rid, rc);
     485                async_answer_0(rid, rc);
    486486                return;
    487487        }
     
    498498       
    499499        gcons_notify_char(cons->index);
    500         ipc_answer_1(rid, EOK, size);
     500        async_answer_1(rid, EOK, size);
    501501       
    502502        free(buf);
     
    508508        size_t size;
    509509        if (!async_data_read_receive(&callid, &size)) {
    510                 ipc_answer_0(callid, EINVAL);
    511                 ipc_answer_0(rid, EINVAL);
     510                async_answer_0(callid, EINVAL);
     511                async_answer_0(rid, EINVAL);
    512512                return;
    513513        }
     
    515515        char *buf = (char *) malloc(size);
    516516        if (buf == NULL) {
    517                 ipc_answer_0(callid, ENOMEM);
    518                 ipc_answer_0(rid, ENOMEM);
     517                async_answer_0(callid, ENOMEM);
     518                async_answer_0(rid, ENOMEM);
    519519                return;
    520520        }
     
    534534        if (pos == size) {
    535535                (void) async_data_read_finalize(callid, buf, size);
    536                 ipc_answer_1(rid, EOK, size);
     536                async_answer_1(rid, EOK, size);
    537537                free(buf);
    538538        } else {
     
    552552recheck:
    553553        if (keybuffer_pop(&cons->keybuffer, &ev)) {
    554                 ipc_answer_4(rid, EOK, ev.type, ev.key, ev.mods, ev.c);
     554                async_answer_4(rid, EOK, ev.type, ev.key, ev.mods, ev.c);
    555555        } else {
    556556                fibril_condvar_wait(&input_cv, &input_mutex);
     
    578578       
    579579        if (cons == NULL) {
    580                 ipc_answer_0(iid, ENOENT);
     580                async_answer_0(iid, ENOENT);
    581581                return;
    582582        }
     
    597597       
    598598        /* Accept the connection */
    599         ipc_answer_0(iid, EOK);
     599        async_answer_0(iid, EOK);
    600600       
    601601        while (true) {
     
    657657                        rc = ccap_fb_to_con(fb_info.color_cap, &arg1);
    658658                        if (rc != EOK) {
    659                                 ipc_answer_0(callid, rc);
     659                                async_answer_0(callid, rc);
    660660                                continue;
    661661                        }
     
    701701                        break;
    702702                }
    703                 ipc_answer_3(callid, EOK, arg1, arg2, arg3);
     703                async_answer_3(callid, EOK, arg1, arg2, arg3);
    704704        }
    705705}
     
    726726       
    727727        /* NB: The callback connection is slotted for removal */
    728         sysarg_t phonehash;
    729         if (ipc_connect_to_me(kbd_phone, SERVICE_CONSOLE, 0, 0, &phonehash) != 0) {
     728        if (async_connect_to_me(kbd_phone, SERVICE_CONSOLE, 0, 0, keyboard_events)
     729            != 0) {
    730730                printf(NAME ": Failed to create callback from input device\n");
    731731                return false;
    732732        }
    733        
    734         async_new_connection(phonehash, 0, NULL, keyboard_events);
    735733       
    736734        /* Connect to mouse device */
     
    749747        }
    750748       
    751         if (ipc_connect_to_me(mouse_phone, SERVICE_CONSOLE, 0, 0, &phonehash) != 0) {
     749        if (async_connect_to_me(mouse_phone, SERVICE_CONSOLE, 0, 0, mouse_events)
     750            != 0) {
    752751                printf(NAME ": Failed to create callback from mouse device\n");
    753752                mouse_phone = -1;
     
    755754        }
    756755       
    757         async_new_connection(phonehash, 0, NULL, mouse_events);
    758756skip_mouse:
    759757       
    760758        /* Connect to framebuffer driver */
    761         fb_info.phone = ipc_connect_me_to_blocking(PHONE_NS, SERVICE_VIDEO, 0, 0);
     759        fb_info.phone = service_connect_blocking(SERVICE_VIDEO, 0, 0);
    762760        if (fb_info.phone < 0) {
    763761                printf(NAME ": Failed to connect to video service\n");
     
    816814                       
    817815                        if (devmap_device_register(vc, &consoles[i].devmap_handle) != EOK) {
    818                                 devmap_hangup_phone(DEVMAP_DRIVER);
    819816                                printf(NAME ": Unable to register device %s\n", vc);
    820817                                return false;
     
    836833       
    837834        /* Receive kernel notifications */
     835        async_set_interrupt_received(interrupt_received);
    838836        if (event_subscribe(EVENT_KCONSOLE, 0) != EOK)
    839837                printf(NAME ": Error registering kconsole notifications\n");
    840        
    841         async_set_interrupt_received(interrupt_received);
    842838       
    843839        return true;
Note: See TracChangeset for help on using the changeset viewer.