Changeset 7edfde9 in mainline for uspace/lib


Ignore:
Timestamp:
2015-05-13T02:22:50Z (10 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0683992
Parents:
6d81e1e
Message:

fix the device driver regressions in a generic way
therefore the previous fix (revision 2329) can be reverted
the root cause of the regression was a forgotten fallback to default_ucode that disappeared in the refactoring of revision 2170 (mea culpa)

Location:
uspace/lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/irq.c

    r6d81e1e r7edfde9  
    3535#include <ipc/irq.h>
    3636#include <libc.h>
     37#include <stdlib.h>
     38#include <macros.h>
     39
     40static irq_cmd_t default_cmds[] = {
     41        {
     42                .cmd = CMD_ACCEPT
     43        }
     44};
     45
     46static const irq_code_t default_ucode = {
     47        0,
     48        NULL,
     49        ARRAY_SIZE(default_cmds),
     50        default_cmds
     51};
    3752
    3853/** Subscribe to IRQ notification.
     
    4964    const irq_code_t *ucode)
    5065{
     66        if (ucode == NULL)
     67                ucode = &default_ucode;
     68       
    5169        return __SYSCALL4(SYS_IPC_IRQ_SUBSCRIBE, inr, devno, method,
    5270            (sysarg_t) ucode);
  • uspace/lib/drv/generic/interrupt.c

    r6d81e1e r7edfde9  
    4444#include "private/driver.h"
    4545
    46 static irq_cmd_t default_cmds[] = {
    47         {
    48                 .cmd = CMD_ACCEPT
    49         }
    50 };
    51 
    52 static const irq_code_t default_pseudocode = {
    53         0,
    54         NULL,
    55         ARRAY_SIZE(default_cmds),
    56         default_cmds
    57 };
    58 
    5946int register_interrupt_handler(ddf_dev_t *dev, int irq,
    6047    interrupt_handler_t *handler, const irq_code_t *pseudocode)
Note: See TracChangeset for help on using the changeset viewer.