Subversion Repositories shark

Rev

Rev 522 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
519 mauro 1
/*
2
 * Project: S.Ha.R.K.
3
 *
4
 * Coordinators:
5
 *   Giorgio Buttazzo    <giorgio@sssup.it>
6
 *   Paolo Gai           <pj@gandalf.sssup.it>
7
 *
8
 * Authors     :
9
 *   Mauro Marinoni      <mauro.marinoni@unipv.it>
10
 *   (see the web pages for full authors list)
11
 *
12
 * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
13
 *
14
 * http://www.sssup.it
15
 * http://retis.sssup.it
16
 * http://shark.sssup.it
17
 */
18
 
19
/*
20
 * Copyright (C) 2000 Paolo Gai
21
 *
22
 * This program is free software; you can redistribute it and/or modify
23
 * it under the terms of the GNU General Public License as published by
24
 * the Free Software Foundation; either version 2 of the License, or
25
 * (at your option) any later version.
26
 *
27
 * This program is distributed in the hope that it will be useful,
28
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
29
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
30
 * GNU General Public License for more details.
31
 *
32
 * You should have received a copy of the GNU General Public License
33
 * along with this program; if not, write to the Free Software
34
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
35
 *
36
 */
37
 
38
#define __MOUSE_DEBUG__
39
 
40
#include <kernel/kern.h>
41
 
42
#include "../include/drivers/shark_input26.h"
43
#include "../include/drivers/shark_mouse26.h"
44
 
45
/* Devices */
46
extern int psmouse_init(void);
47
extern int psmouse_exit(void);
48
 
49
/* Handlers */
50
extern int  mouse_init(void);
51
extern void mouse_exit(void);
52
 
53
extern int input_installed;
54
 
55
/* Mouse driver currently installed */
56
static int mouse_installed = FALSE;
57
 
58
/*static PID mouse_pid = NIL;*/
59
 
60
 
61
/*
62
 * Start mouseProc Task
63
 */
64
void shark_mouse_task(void)
65
{
66
        //task_activate(mousebpid);
67
}
68
 
69
 
70
/* Init the Linux Speaker Driver */
71
int MOUSE26_init(void)
72
{
73
        int status = 0;
74
 
75
        if (mouse_installed == TRUE) return 0;
76
 
77
        if (input_installed == FALSE) {
78
                status = INPUT26_init();
79
                if (status) {
80
                        printk(KERN_ERR "shark_mouse.c: Unable to open Input SubSystem.\n");
81
                        return -1;
82
                }
83
        }
84
 
85
        status = psmouse_init();
86
        if (status) {
87
                printk(KERN_ERR "shark_mouse.c: PsMouse_Init return: %d\n", status);
88
                return -1;
89
        }
90
 
91
        status = mouse_init();
92
        if (status) {
93
                printk(KERN_ERR "shark_mouse.c: Mouse_Init return: %d\n", status);
94
                return -1;
95
        }
96
 
97
        mouse_installed = TRUE;
98
 
99
        return status;
100
}
101
 
102
int MOUSE26_close()
103
{
104
        if (!mouse_installed)
105
                return -1;
106
 
107
        mouse_exit();
108
        psmouse_exit();
109
 
110
        mouse_installed = FALSE;
111
 
112
        return 0;
113
}
114