projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of /home/trondmy/repositories/git/linux-2.6/
[powerpc.git]
/
include
/
linux
/
gameport.h
diff --git
a/include/linux/gameport.h
b/include/linux/gameport.h
index
9c8e6da
..
afad952
100644
(file)
--- a/
include/linux/gameport.h
+++ b/
include/linux/gameport.h
@@
-9,8
+9,10
@@
* the Free Software Foundation.
*/
* the Free Software Foundation.
*/
+#ifdef __KERNEL__
#include <asm/io.h>
#include <linux/list.h>
#include <asm/io.h>
#include <linux/list.h>
+#include <linux/mutex.h>
#include <linux/device.h>
#include <linux/timer.h>
#include <linux/device.h>
#include <linux/timer.h>
@@
-40,7
+42,7
@@
struct gameport {
struct gameport *parent, *child;
struct gameport_driver *drv;
struct gameport *parent, *child;
struct gameport_driver *drv;
- struct
semaphore drv_sem;
/* protects serio->drv so attributes can pin driver */
+ struct
mutex drv_mutex;
/* protects serio->drv so attributes can pin driver */
struct device dev;
unsigned int registered; /* port has been fully registered with driver core */
struct device dev;
unsigned int registered; /* port has been fully registered with driver core */
@@
-103,7
+105,7
@@
static inline void gameport_set_phys(struct gameport *gameport,
static inline struct gameport *gameport_allocate_port(void)
{
static inline struct gameport *gameport_allocate_port(void)
{
- struct gameport *gameport = k
calloc(1,
sizeof(struct gameport), GFP_KERNEL);
+ struct gameport *gameport = k
zalloc(
sizeof(struct gameport), GFP_KERNEL);
return gameport;
}
return gameport;
}
@@
-137,12
+139,12
@@
static inline void gameport_set_drvdata(struct gameport *gameport, void *data)
*/
static inline int gameport_pin_driver(struct gameport *gameport)
{
*/
static inline int gameport_pin_driver(struct gameport *gameport)
{
- return
down_interruptible(&gameport->drv_sem
);
+ return
mutex_lock_interruptible(&gameport->drv_mutex
);
}
static inline void gameport_unpin_driver(struct gameport *gameport)
{
}
static inline void gameport_unpin_driver(struct gameport *gameport)
{
-
up(&gameport->drv_sem
);
+
mutex_unlock(&gameport->drv_mutex
);
}
void __gameport_register_driver(struct gameport_driver *drv, struct module *owner);
}
void __gameport_register_driver(struct gameport_driver *drv, struct module *owner);
@@
-153,6
+155,8
@@
static inline void gameport_register_driver(struct gameport_driver *drv)
void gameport_unregister_driver(struct gameport_driver *drv);
void gameport_unregister_driver(struct gameport_driver *drv);
+#endif /* __KERNEL__ */
+
#define GAMEPORT_MODE_DISABLED 0
#define GAMEPORT_MODE_RAW 1
#define GAMEPORT_MODE_COOKED 2
#define GAMEPORT_MODE_DISABLED 0
#define GAMEPORT_MODE_RAW 1
#define GAMEPORT_MODE_COOKED 2
@@
-168,6
+172,8
@@
void gameport_unregister_driver(struct gameport_driver *drv);
#define GAMEPORT_ID_VENDOR_GRAVIS 0x0009
#define GAMEPORT_ID_VENDOR_GUILLEMOT 0x000a
#define GAMEPORT_ID_VENDOR_GRAVIS 0x0009
#define GAMEPORT_ID_VENDOR_GUILLEMOT 0x000a
+#ifdef __KERNEL__
+
static inline void gameport_trigger(struct gameport *gameport)
{
if (gameport->trigger)
static inline void gameport_trigger(struct gameport *gameport)
{
if (gameport->trigger)
@@
-218,4
+224,5
@@
static inline void gameport_set_poll_interval(struct gameport *gameport, unsigne
void gameport_start_polling(struct gameport *gameport);
void gameport_stop_polling(struct gameport *gameport);
void gameport_start_polling(struct gameport *gameport);
void gameport_stop_polling(struct gameport *gameport);
+#endif /* __KERNEL__ */
#endif
#endif