diff options
Diffstat (limited to 'qte/qte-2.3.7/devfs.patch')
-rw-r--r-- | qte/qte-2.3.7/devfs.patch | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/qte/qte-2.3.7/devfs.patch b/qte/qte-2.3.7/devfs.patch index e69de29bb2..822faa7fd1 100644 --- a/qte/qte-2.3.7/devfs.patch +++ b/qte/qte-2.3.7/devfs.patch @@ -0,0 +1,164 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +--- qt-2.3.7/configure~devfs ++++ qt-2.3.7/configure +@@ -402,6 +402,9 @@ + -tslib) + TSLIB=yes + ;; ++ -devfs) ++ DEVFS=yes ++ ;; + -no-g++-exceptions) + GPLUSPLUS_EXCEPTIONS=no + ;; +@@ -1261,6 +1264,8 @@ + -tslib ............. Use the TSLib (touchscreen access library) mouse handler + by default, instead of the normal device default. + ++ -devfs ............. Use devfs /dev paths. ++ + -no-g++-exceptions . Disable exceptions on platforms using the GNU C++ + compiler by using the -fno-exceptions flag. + +@@ -1327,6 +1332,11 @@ + QT_LIBS="${QT_LIBS} -lts" + fi + ++if [ "x$DEVFS" = "xyes" ] ++then ++ QT_CXX="${QT_CXX} -DQT_QWS_DEVFS" ++fi ++ + if [ "x$THREAD" = "xyes" ] + then + cat >src-mt.mk <<EOF +--- qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp~devfs ++++ qt-2.3.7/src/kernel/qgfxlinuxfb_qws.cpp +@@ -101,11 +101,19 @@ + bool QLinuxFbScreen::connect( const QString &displaySpec ) + { + // Check for explicitly specified device ++#ifdef QT_QWS_DEVFS ++ QRegExp r( "/dev/fb/[0-9]+" ); ++#else + QRegExp r( "/dev/fb[0-9]+" ); ++#endif + int len; + int m = r.match( displaySpec, 0, &len ); + ++#ifdef QT_QWS_DEVFS ++ QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb/0"); ++#else + QString dev = (m>=0) ? displaySpec.mid( m, len ) : QString("/dev/fb0"); ++#endif + + fd=open( dev.latin1(), O_RDWR ); + if (fd<0) { +@@ -121,14 +129,22 @@ + + /* Get fixed screen information */ + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) { ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else + perror("reading /dev/fb0"); ++#endif + qWarning("Error reading fixed information"); + return FALSE; + } + + /* Get variable screen information */ + if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo)) { ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else + perror("reading /dev/fb0"); ++#endif + qWarning("Error reading variable information"); + return FALSE; + } +@@ -165,7 +181,11 @@ + data += dataoffset; + + if ((int)data == -1) { +- perror("mapping /dev/fb0"); ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else ++ perror("reading /dev/fb0"); ++#endif + qWarning("Error: failed to map framebuffer device to memory."); + return FALSE; + } +@@ -229,7 +249,11 @@ + + static void writeTerm(const char* termctl, int sizeof_termctl) + { ++#ifdef QT_QWS_DEVFS ++ const char* tt[]={"/dev/vc/1","/dev/console","/dev/tty",0}; ++#else + const char* tt[]={"/dev/console","/dev/tty","/dev/tty0",0}; ++#endif + const char** dev=tt; + while (*dev) { + int tty=::open(*dev,O_WRONLY); +@@ -792,7 +816,11 @@ + fb_var_screeninfo vinfo; + + if (ioctl(fd, FBIOGET_FSCREENINFO, &finfo)) { ++#ifdef QT_QWS_DEVFS ++ perror("reading /dev/fb/0"); ++#else + perror("reading /dev/fb0"); ++#endif + qFatal("Error reading fixed information"); + } + +--- qt-2.3.7/src/kernel/qkeyboard_qws.cpp~devfs ++++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp +@@ -1017,7 +1017,11 @@ + + QWSTtyKeyboardHandler::QWSTtyKeyboardHandler(const QString& device) + { ++#ifdef QT_QWS_DEVFS ++ kbdFD=open(device.isEmpty() ? "/dev/vc/1" : device.latin1(), O_RDWR | O_NDELAY, 0); ++#else + kbdFD=open(device.isEmpty() ? "/dev/tty0" : device.latin1(), O_RDWR | O_NDELAY, 0); ++#endif + + if ( kbdFD >= 0 ) { + QSocketNotifier *notifier; +--- qt-2.3.7/src/kernel/qwindowsystem_qws.cpp~devfs ++++ qt-2.3.7/src/kernel/qwindowsystem_qws.cpp +@@ -762,7 +762,11 @@ + void openDevice() + { + if ( !sn ) { ++#ifdef QT_QWS_DEVFS ++ int fd = ::open("/dev/sound/dsp",O_RDWR); ++#else + int fd = ::open("/dev/dsp",O_RDWR); ++#endif + if ( fd < 0 ) { + // For debugging purposes - defined QT_NO_SOUND if you + // don't have sound hardware! +--- qt-2.3.7/src/kernel/qsoundqss_qws.cpp~devfs ++++ qt-2.3.7/src/kernel/qsoundqss_qws.cpp +@@ -388,7 +388,12 @@ + // + // Don't block open right away. + // +- if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) { ++#ifdef QT_QWS_DEVFS ++ if ((fd = ::open("/dev/sound/dsp", O_WRONLY|O_NONBLOCK)) != -1) ++#else ++ if ((fd = ::open("/dev/dsp", O_WRONLY|O_NONBLOCK)) != -1) ++#endif ++ { + int flags = fcntl(fd, F_GETFL); + flags &= ~O_NONBLOCK; + if (fcntl(fd, F_SETFL, flags) != 0) { |