예제 #1
0
파일: prussdrv.c 프로젝트: flaub/tikitank
int prussdrv_open(unsigned int pru_evtout_num)
{
    char name[128];
    sprintf(name, "/dev/uio%d", pru_evtout_num);
    prussdrv.fd[pru_evtout_num] = open(name, O_RDWR | O_SYNC);
    return __prussdrv_memmap_init();

}
예제 #2
0
int prussdrv_open(unsigned int pru_evtout_num)
{
    char name[PRUSS_UIO_PRAM_PATH_LEN];
    if (!prussdrv.fd[pru_evtout_num]) {
        sprintf(name, "/dev/uio%d", pru_evtout_num);
        prussdrv.fd[pru_evtout_num] = open(name, O_RDWR | O_SYNC);
        return __prussdrv_memmap_init();
    } else {
        return -1;

    }
}
예제 #3
0
int prussdrv_open(unsigned int host_interrupt)
{
    char name[PRUSS_UIO_PRAM_PATH_LEN];
    if (!prussdrv.fd[host_interrupt]) {
        sprintf(name, "/dev/uio%d", host_interrupt);
        prussdrv.fd[host_interrupt] = open(name, O_RDWR | O_SYNC);
        return __prussdrv_memmap_init();
    } else {
        return -1;

    }
}
예제 #4
0
int prussdrv_open(unsigned int host_interrupt)
{
    int i, fd;

    char name[PRUSS_UIO_PRAM_PATH_LEN];
    if (!prussdrv.fd[host_interrupt]) {
        sprintf(name, "/dev/uio%d", host_interrupt);
        for (i=0; i<UIO_OPEN_TIMEOUT; i++) {
            if ((fd = open(name, O_RDWR | O_SYNC)) >= 0)
                break;
            sleep(1);
        }
        if (i==UIO_OPEN_TIMEOUT) {
            DEBUG_PRINTF("open %s: timeout\n", name);
            return -1;
        }
        prussdrv.fd[host_interrupt] = fd;
        return __prussdrv_memmap_init();
    } else {
        return -1;

    }
}