bfin: remove inline keyword
[xenomai-head.git] / include / asm-nios2 / bits / bind.h
blobd2cc1d6f8b2feffe5cec0425c7d475ea93c98087
1 #ifndef _XENO_ASM_NIOS2_BIND_H
2 #define _XENO_ASM_NIOS2_BIND_H
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <sys/types.h>
7 #include <sys/stat.h>
8 #include <sys/mman.h>
9 #include <fcntl.h>
10 #include <unistd.h>
11 #include <limits.h>
13 #include <asm-generic/xenomai/bind.h>
15 volatile void *xeno_nios2_hrclock = NULL;
17 static inline void xeno_nios2_features_check(struct xnfeatinfo *finfo)
19 unsigned long pa = finfo->feat_arch.hrclock_membase;
20 unsigned int pagesz;
21 void *p;
22 int fd;
24 fd = open("/dev/mem", O_RDWR | O_SYNC);
25 if (fd == -1) {
26 perror("Xenomai init: open(/dev/mem)");
27 exit(EXIT_FAILURE);
30 pagesz = sysconf(_SC_PAGESIZE);
31 p = mmap(NULL, pagesz, PROT_READ | PROT_WRITE, MAP_SHARED, fd, pa & ~(pagesz - 1));
32 if (p == MAP_FAILED) {
33 perror("Xenomai init: mmap(/dev/mem)");
34 exit(EXIT_FAILURE);
36 close(fd);
38 xeno_nios2_hrclock = (volatile void *)(p + (pa & (pagesz - 1)));
41 #define xeno_arch_features_check(finfo) xeno_nios2_features_check(finfo)
43 #endif /* _XENO_ASM_NIOS2_BIND_H */