X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Ffb-param.c;h=22f988c6d42d3a03effd32c04704893a96d7ba6f;hb=1ddc0f01053b355c5805df3659866e11d50d60d0;hp=0ad576db8b89110a22c3d7ae34c8199d657d69c4;hpb=bcc82bcf6f70d8de01afdc4084df993d21bf2ddb;p=libucw.git diff --git a/ucw/fb-param.c b/ucw/fb-param.c index 0ad576db..22f988c6 100644 --- a/ucw/fb-param.c +++ b/ucw/fb-param.c @@ -25,10 +25,21 @@ struct fb_params fbpar_def = { static char * fbpar_cf_commit(struct fb_params *p UNUSED) { -#ifndef CONFIG_UCW_THREADS if (p->type == FB_DIRECT) - return "Direct I/O is supported only with CONFIG_UCW_THREADS"; + { +#ifndef CONFIG_UCW_THREADS + return "Direct I/O is supported only with CONFIG_UCW_THREADS"; +#endif +#ifdef CONFIG_DARWIN + return "Direct I/O is not supported on darwin"; #endif +#ifndef CONFIG_DIRECT_IO + return "Direct I/O disabled by configure switch -CONFIG_DIRECT_IO"; +#endif +#ifndef CONFIG_UCW_FB_DIRECT + return "Direct I/O disabled by configure switch -CONFIG_UCW_FB_DIRECT"; +#endif + } return NULL; } @@ -72,7 +83,7 @@ bopen_fd_internal(int fd, struct fb_params *params, uns mode, const char *name) struct fastbuf *fb; switch (params->type) { -#ifdef CONFIG_UCW_THREADS +#ifdef CONFIG_UCW_FB_DIRECT case FB_DIRECT: fb = fbdir_open_fd_internal(fd, name, params->asio, params->buffer_size ? : fbpar_def.buffer_size, @@ -102,13 +113,13 @@ bopen_file_internal(const char *name, int mode, struct fb_params *params, int tr { if (!params) params = &fbpar_def; -#ifdef CONFIG_UCW_THREADS +#ifdef CONFIG_UCW_FB_DIRECT if (params->type == FB_DIRECT && !fbdir_cheat) mode |= O_DIRECT; #endif if (params->type == FB_MMAP && (mode & O_ACCMODE) == O_WRONLY) mode = (mode & ~O_ACCMODE) | O_RDWR; - int fd = sh_open(name, mode, 0666); + int fd = ucw_open(name, mode, 0666); if (fd < 0) if (try) return NULL;