diff options
author | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2001-05-23 17:28:39 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2001-05-23 17:28:39 +0000 |
commit | 0e1a49a7dd00ae494d92ab480d9776ec5320cb3e (patch) | |
tree | dde232159906d4b7179b793aaf3c56c350b77caa /hw/kdrive/ipaq | |
parent | 85d827f5329fa93dea1125788457fac6835cd134 (diff) |
add missing pieces for the pcmcia driver
Diffstat (limited to 'hw/kdrive/ipaq')
-rw-r--r-- | hw/kdrive/ipaq/Imakefile | 13 | ||||
-rw-r--r-- | hw/kdrive/ipaq/ipaq.c | 90 |
2 files changed, 103 insertions, 0 deletions
diff --git a/hw/kdrive/ipaq/Imakefile b/hw/kdrive/ipaq/Imakefile new file mode 100644 index 000000000..1c09a15a0 --- /dev/null +++ b/hw/kdrive/ipaq/Imakefile @@ -0,0 +1,13 @@ +XCOMM $XFree86$ +KDRIVE=.. +#include "../Kdrive.tmpl" + +SRCS = ipaq.c + +OBJS = ipaq.o + +INCLUDES = -I. $(KDINCS) -I$(KDRIVE)/fbdev -I$(KDRIVE)/pcmcia + +NormalLibraryObjectRule() +NormalLibraryTarget(ipaq,$(OBJS)) +DependTarget() diff --git a/hw/kdrive/ipaq/ipaq.c b/hw/kdrive/ipaq/ipaq.c new file mode 100644 index 000000000..fae416157 --- /dev/null +++ b/hw/kdrive/ipaq/ipaq.c @@ -0,0 +1,90 @@ +/* + * Copyright © 1999 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * + * Adapted from ts300.c by Alan Hourihane <alanh@fairlite.demon.co.uk> + * For the Compaq IPAQ handheld, with the HP VGA Out Card (F1252A). + */ +/* $XFree86: $ */ + +#include "pcmcia.h" + +extern KdCardFuncs pcmciaFuncs; +extern KdCardFuncs fbdevFuncs; + +void +InitCard (char *name) +{ + KdCardAttr attr; + if (name && !strcmp(name, "pcmcia")) + KdCardInfoAdd (&pcmciaFuncs, &attr, 0); + else + KdCardInfoAdd (&fbdevFuncs, &attr, 0); +} + +void +InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) +{ + KdInitOutput (pScreenInfo, argc, argv); +} + +void +InitInput (int argc, char **argv) +{ +#ifdef __powerpc__ + KdInitInput (&BusMouseFuncs, &LinuxKeyboardFuncs); +#else + KdInitInput (&Ps2MouseFuncs, &LinuxKeyboardFuncs); +#endif +#ifdef TOUCHSCREEN + KdInitTouchScreen (&TsFuncs); +#endif +} + +extern pcmciaDisplayModeRec pcmciaDefaultModes[]; + +int +ddxProcessArgument (int argc, char **argv, int i) +{ + int ret; + + if (!strcmp (argv[i], "-listmodes")) + { + int j = 0, bpp = 0; + ErrorF("Valid modes are....\n\n"); + + for (bpp = 8; bpp < 24; bpp += 8) { + while (pcmciaDefaultModes[j].Width != 0) { + if ((pcmciaDefaultModes[j].Width * + pcmciaDefaultModes[j].Height * bpp/8) <= 512 * 1024) { + ErrorF("%dx%dx%dx%d\n", + pcmciaDefaultModes[j].Width, + pcmciaDefaultModes[j].Height, + bpp, + pcmciaDefaultModes[j].Refresh); + } + j++; + } + j = 0; + } + exit(1); + } + return KdProcessArgument (argc, argv, i); +} |