Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/char/i8042/i8042.c

    rca4730a5 r1ae74c6  
    6363#define i8042_AUX_DISABLE    0x20
    6464#define i8042_KBD_TRANSLATE  0x40  /* Use this to switch to XT scancodes */
     65
     66#define CHECK_RET_DESTROY(ret, msg...) \
     67        do { \
     68                if (ret != EOK) { \
     69                        ddf_msg(LVL_ERROR, msg); \
     70                        if (dev->kbd_fun) { \
     71                                dev->kbd_fun->driver_data = NULL; \
     72                                ddf_fun_destroy(dev->kbd_fun); \
     73                        } \
     74                        if (dev->aux_fun) { \
     75                                dev->aux_fun->driver_data = NULL; \
     76                                ddf_fun_destroy(dev->aux_fun); \
     77                        } \
     78                } \
     79        } while (0)
     80
     81#define CHECK_RET_UNBIND_DESTROY(ret, msg...) \
     82        do { \
     83                if (ret != EOK) { \
     84                        ddf_msg(LVL_ERROR, msg); \
     85                        if (dev->kbd_fun) { \
     86                                ddf_fun_unbind(dev->kbd_fun); \
     87                                dev->kbd_fun->driver_data = NULL; \
     88                                ddf_fun_destroy(dev->kbd_fun); \
     89                        } \
     90                        if (dev->aux_fun) { \
     91                                ddf_fun_unbind(dev->aux_fun); \
     92                                dev->aux_fun->driver_data = NULL; \
     93                                ddf_fun_destroy(dev->aux_fun); \
     94                        } \
     95                } \
     96        } while (0)
    6597
    6698void default_handler(ddf_fun_t *, ipc_callid_t, ipc_call_t *);
Note: See TracChangeset for help on using the changeset viewer.