notaz.gp2x.de
/
ginge.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
do yet more path wrapping
[ginge.git]
/
loader
/
override.c
diff --git
a/loader/override.c
b/loader/override.c
index
c5b0a09
..
f98a4db
100644
(file)
--- a/
loader/override.c
+++ b/
loader/override.c
@@
-41,12
+41,14
@@
static const struct dev_fd_t takeover_devs[] = {
{ "/dev/mmuhack", FAKEDEV_MMUHACK },
{ "/dev/tty", FAKEDEV_TTY0 },
{ "/dev/tty0", FAKEDEV_TTY0 },
{ "/dev/mmuhack", FAKEDEV_MMUHACK },
{ "/dev/tty", FAKEDEV_TTY0 },
{ "/dev/tty0", FAKEDEV_TTY0 },
+ { "/dev/touchscreen/wm97xx", FAKEDEV_WM97XX },
+ { "/etc/pointercal", FAKEDEV_WM97XX_P },
#ifdef PND
{ "/dev/input/event*", -1 }, // hide for now, may cause dupe events
#endif
};
#ifdef PND
{ "/dev/input/event*", -1 }, // hide for now, may cause dupe events
#endif
};
-
static
long w_open_raw(const char *pathname, int flags, mode_t mode)
+long w_open_raw(const char *pathname, int flags, mode_t mode)
{
long ret;
int i;
{
long ret;
int i;
@@
-68,8
+70,11
@@
static long w_open_raw(const char *pathname, int flags, mode_t mode)
}
}
}
}
- if (i == ARRAY_SIZE(takeover_devs))
- ret = g_open_raw(pathname, flags, mode);
+ if (i == ARRAY_SIZE(takeover_devs)) {
+ const char *w_path = emu_wrap_path(pathname);
+ ret = g_open_raw(w_path, flags, mode);
+ emu_wrap_path_free(w_path, pathname);
+ }
if (ret >= 0) {
for (i = 0; emu_interesting_fds[i].name != NULL; i++) {
if (ret >= 0) {
for (i = 0; emu_interesting_fds[i].name != NULL; i++) {
@@
-137,12
+142,12
@@
long w_read_raw(int fd, void *buf, size_t count)
{
long ret;
{
long ret;
- if (
fd == FAKEDEV_GPIO
)
- ret = emu_
read_gpiodev(
buf, count);
+ if (
FAKEDEV_MEM <= fd && fd < FAKEDEV_FD_BOUNDARY
)
+ ret = emu_
do_read(fd,
buf, count);
else
ret = g_read_raw(fd, buf, count);
else
ret = g_read_raw(fd, buf, count);
- //strace("read(%d, %p, %
l
d) = %ld\n", fd, buf, count, ret);
+ //strace("read(%d, %p, %
z
d) = %ld\n", fd, buf, count, ret);
return ret;
}
return ret;
}