Imported Upstream version 1.15.1
[deb_xorg-server.git] / hw / kdrive / fbdev / fbinit.c
1 /*
2 * Copyright © 1999 Keith Packard
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of Keith Packard not be used in
9 * advertising or publicity pertaining to distribution of the software without
10 * specific, written prior permission. Keith Packard makes no
11 * representations about the suitability of this software for any purpose. It
12 * is provided "as is" without express or implied warranty.
13 *
14 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THIS SOFTWARE.
21 */
22
23 #ifdef HAVE_CONFIG_H
24 #include <kdrive-config.h>
25 #endif
26 #include <fbdev.h>
27
28 void
29 InitCard(char *name)
30 {
31 KdCardInfoAdd(&fbdevFuncs, 0);
32 }
33
34 void
35 InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
36 {
37 KdInitOutput(pScreenInfo, argc, argv);
38 }
39
40 void
41 InitInput(int argc, char **argv)
42 {
43 KdOsAddInputDrivers();
44 KdInitInput();
45 }
46
47 void
48 CloseInput(void)
49 {
50 KdCloseInput();
51 }
52
53 void
54 ddxUseMsg(void)
55 {
56 KdUseMsg();
57 ErrorF("\nXfbdev Device Usage:\n");
58 ErrorF
59 ("-fb path Framebuffer device to use. Defaults to /dev/fb0\n");
60 ErrorF("\n");
61 }
62
63 int
64 ddxProcessArgument(int argc, char **argv, int i)
65 {
66 if (!strcmp(argv[i], "-fb")) {
67 if (i + 1 < argc) {
68 fbdevDevicePath = argv[i + 1];
69 return 2;
70 }
71 UseMsg();
72 exit(1);
73 }
74
75 return KdProcessArgument(argc, argv, i);
76 }
77
78 KdCardFuncs fbdevFuncs = {
79 fbdevCardInit, /* cardinit */
80 fbdevScreenInit, /* scrinit */
81 fbdevInitScreen, /* initScreen */
82 fbdevFinishInitScreen, /* finishInitScreen */
83 fbdevCreateResources, /* createRes */
84 fbdevPreserve, /* preserve */
85 fbdevEnable, /* enable */
86 fbdevDPMS, /* dpms */
87 fbdevDisable, /* disable */
88 fbdevRestore, /* restore */
89 fbdevScreenFini, /* scrfini */
90 fbdevCardFini, /* cardfini */
91
92 0, /* initCursor */
93 0, /* enableCursor */
94 0, /* disableCursor */
95 0, /* finiCursor */
96 0, /* recolorCursor */
97
98 0, /* initAccel */
99 0, /* enableAccel */
100 0, /* disableAccel */
101 0, /* finiAccel */
102
103 fbdevGetColors, /* getColors */
104 fbdevPutColors, /* putColors */
105 };