diff options
Diffstat (limited to 'firmware/target/arm/s3c2440/mini2440/button-mini2440.c')
-rw-r--r-- | firmware/target/arm/s3c2440/mini2440/button-mini2440.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/firmware/target/arm/s3c2440/mini2440/button-mini2440.c b/firmware/target/arm/s3c2440/mini2440/button-mini2440.c index 787c04d1ef..0435f47559 100644 --- a/firmware/target/arm/s3c2440/mini2440/button-mini2440.c +++ b/firmware/target/arm/s3c2440/mini2440/button-mini2440.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include "system.h" | 24 | #include "system.h" |
25 | #include "button.h" | 25 | #include "button.h" |
26 | #include "kernel.h" | 26 | #include "kernel.h" |
27 | #include "touchscreen-target.h" | ||
27 | 28 | ||
28 | void button_init_device(void) | 29 | void button_init_device(void) |
29 | { | 30 | { |
@@ -50,6 +51,8 @@ void button_init_device(void) | |||
50 | S3C2440_GPIO_PULLUP (GPGUP, 9, GPIO_PULLUP_ENABLE); | 51 | S3C2440_GPIO_PULLUP (GPGUP, 9, GPIO_PULLUP_ENABLE); |
51 | S3C2440_GPIO_PULLUP (GPGUP, 10, GPIO_PULLUP_ENABLE); | 52 | S3C2440_GPIO_PULLUP (GPGUP, 10, GPIO_PULLUP_ENABLE); |
52 | 53 | ||
54 | /* init touchscreen */ | ||
55 | touchscreen_init_device(); | ||
53 | } | 56 | } |
54 | 57 | ||
55 | inline bool button_hold(void) | 58 | inline bool button_hold(void) |
@@ -57,12 +60,18 @@ inline bool button_hold(void) | |||
57 | return 0; | 60 | return 0; |
58 | } | 61 | } |
59 | 62 | ||
60 | int button_read_device(void) | 63 | int button_read_device(int* data) |
61 | { | 64 | { |
62 | int btn = BUTTON_NONE; | 65 | int btn = BUTTON_NONE; |
66 | static int old_data = 0; | ||
67 | |||
68 | *data = old_data; | ||
63 | 69 | ||
64 | /* Read the buttons - active low */ | 70 | /* Read the buttons - active low */ |
65 | btn = (GPGDAT & BUTTON_MAIN) ^ BUTTON_MAIN; | 71 | btn = (GPGDAT & BUTTON_MAIN) ^ BUTTON_MAIN; |
72 | |||
73 | /* read touchscreen */ | ||
74 | btn |= touchscreen_read_device(data, &old_data); | ||
66 | 75 | ||
67 | return btn; | 76 | return btn; |
68 | } | 77 | } |