Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hw/irc/i8259/i8259.c

    r1558d85 r9a2eb14  
    3636 */
    3737
    38 #include <ipc/services.h>
    3938#include <ipc/irc.h>
    40 #include <ns.h>
     39#include <loc.h>
    4140#include <sysinfo.h>
    4241#include <as.h>
     
    4746#include <async.h>
    4847#include <stdio.h>
    49 #include <ipc/loc.h>
    5048
    5149#define NAME  "i8259"
     
    120118                        async_answer_0(callid, pic_enable_irq(IPC_GET_ARG1(call)));
    121119                        break;
     120                case IRC_DISABLE_INTERRUPT:
     121                        /* XXX TODO */
     122                        async_answer_0(callid, EOK);
     123                        break;
    122124                case IRC_CLEAR_INTERRUPT:
    123125                        /* Noop */
     
    137139{
    138140        sysarg_t i8259;
     141        category_id_t irc_cat;
     142        service_id_t svc_id;
     143        int rc;
    139144       
    140145        if ((sysinfo_get_value("i8259", &i8259) != EOK) || (!i8259)) {
     
    152157       
    153158        async_set_fallback_port_handler(i8259_connection, NULL);
    154         service_register(SERVICE_IRC);
     159
     160        rc = loc_server_register(NAME);
     161        if (rc != EOK) {
     162                printf("%s: Failed registering server. (%d)\n", NAME, rc);
     163                return false;
     164        }
     165
     166        rc = loc_service_register("irc/" NAME, &svc_id);
     167        if (rc != EOK) {
     168                printf("%s: Failed registering service. (%d)\n", NAME, rc);
     169                return false;
     170        }
     171
     172        rc = loc_category_get_id("irc", &irc_cat, IPC_FLAG_BLOCKING);
     173        if (rc != EOK) {
     174                printf("%s: Failed resolving category 'iplink' (%d).\n", NAME,
     175                    rc);
     176                return false;
     177        }
     178
     179        rc = loc_service_add_to_cat(svc_id, irc_cat);
     180        if (rc != EOK) {
     181                printf("%s: Failed adding service to category (%d).\n", NAME,
     182                    rc);
     183                return false;
     184        }
    155185       
    156186        return true;
Note: See TracChangeset for help on using the changeset viewer.