Changeset 46b881c in mainline for uspace/srv/hw/irc/obio/obio.c


Ignore:
Timestamp:
2011-01-29T11:36:41Z (13 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0b6931a, 8add9ca5
Parents:
e26a4633 (diff), ffa2c8ef (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:

IPC/async: strictly isolate the use of low-level IPC methods (ipc_*) and async framework methods (async_*) in user code, do not allow a mixture of both in a single source file

Benefits for future plans

  • The async framework could use different communication style under the hood, but keeping the same high-level API
  • The async framework can be integrated more tightly with sessions without potential problems of intermixing session-aware async methods with session-unaware low-level methods in user code
  • The async_serialize_start()/_end() can be deprecated more easily
File:
1 edited

Legend:

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

    re26a4633 r46b881c  
    2727 */
    2828
    29 /** @addtogroup obio 
     29/** @addtogroup obio
    3030 * @{
    31  */ 
     31 */
    3232
    3333/**
    34  * @file        obio.c
    35  * @brief       OBIO driver.
     34 * @file obio.c
     35 * @brief OBIO driver.
    3636 *
    3737 * OBIO is a short for on-board I/O. On UltraSPARC IIi and systems with U2P,
     
    4242 */
    4343
    44 #include <ipc/ipc.h>
    4544#include <ipc/services.h>
    4645#include <ipc/irc.h>
     
    8685         * Answer the first IPC_M_CONNECT_ME_TO call.
    8786         */
    88         ipc_answer_0(iid, EOK);
     87        async_answer_0(iid, EOK);
    8988
    9089        while (1) {
     
    9594                case IRC_ENABLE_INTERRUPT:
    9695                        /* Noop */
    97                         ipc_answer_0(callid, EOK);
     96                        async_answer_0(callid, EOK);
    9897                        break;
    9998                case IRC_CLEAR_INTERRUPT:
    10099                        inr = IPC_GET_ARG1(call);
    101100                        base_virt[OBIO_CIR(inr & INO_MASK)] = 0;
    102                         ipc_answer_0(callid, EOK);
     101                        async_answer_0(callid, EOK);
    103102                        break;
    104103                default:
    105                         ipc_answer_0(callid, EINVAL);
     104                        async_answer_0(callid, EINVAL);
    106105                        break;
    107106                }
Note: See TracChangeset for help on using the changeset viewer.