diff options
Diffstat (limited to 'led')
-rw-r--r-- | led/Android.mk | 13 | ||||
-rw-r--r-- | led/led_qemu.c | 23 | ||||
-rw-r--r-- | led/led_sardine.c | 17 | ||||
-rw-r--r-- | led/led_stub.c | 44 | ||||
-rw-r--r-- | led/led_trout.c | 17 |
5 files changed, 107 insertions, 7 deletions
diff --git a/led/Android.mk b/led/Android.mk index 3ecaff8..2b6ac0b 100644 --- a/led/Android.mk +++ b/led/Android.mk @@ -1,12 +1,15 @@ # Copyright 2006 The Android Open Source Project -ifeq ($(TARGET_PRODUCT),sooner) +ifeq ($(TARGET_DEVICE),sooner) LOCAL_SRC_FILES += led/led_sardine.c -else -ifeq ($(TARGET_PRODUCT),dream) +LOCAL_CFLAGS += -DCONFIG_LED_SARDINE +endif +ifeq ($(TARGET_DEVICE),dream) LOCAL_SRC_FILES += led/led_trout.c -else -LOCAL_SRC_FILES += led/led_stub.c +LOCAL_CFLAGS += -DCONFIG_LED_TROUT endif +ifeq ($(QEMU_HARDWARE),true) +LOCAL_CFLAGS += -DCONFIG_LED_QEMU endif +LOCAL_SRC_FILES += led/led_stub.c diff --git a/led/led_qemu.c b/led/led_qemu.c new file mode 100644 index 0000000..c98402b --- /dev/null +++ b/led/led_qemu.c @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "qemu.h" + +int +qemu_set_led_state(unsigned color, int on, int off) +{ + qemu_control_command( "set_led_state:%08x:%d:%d", color, on, off ); + return 0; +} diff --git a/led/led_sardine.c b/led/led_sardine.c index a53729f..a5e6fad 100644 --- a/led/led_sardine.c +++ b/led/led_sardine.c @@ -1,3 +1,18 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ #include <hardware/led.h> #include <sys/types.h> #include <sys/stat.h> @@ -27,7 +42,7 @@ write_string(const char* file, const char* string, int len) return amt >= 0 ? 0 : errno; } -int set_led_state(unsigned colorARGB, int onMS, int offMS) +int sardine_set_led_state(unsigned colorARGB, int onMS, int offMS) { int len; char buf[30]; diff --git a/led/led_stub.c b/led/led_stub.c index 644efe3..1deac2f 100644 --- a/led/led_stub.c +++ b/led/led_stub.c @@ -1,7 +1,51 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ #include <hardware/led.h> +typedef int (*LedFunc)(unsigned, int, int); + +#ifdef CONFIG_LED_SARDINE +extern int sardine_set_led_state(unsigned, int, int); +# define HW_LED_FUNC sardine_set_led_state +#endif + +#ifdef CONFIG_LED_TROUT +extern int trout_set_led_state(unsigned, int, int); +# define HW_LED_FUNC trout_set_led_state +#endif + +#ifdef CONFIG_LED_QEMU +#include "qemu.h" +static int +qemu_set_led_state(unsigned color, int on, int off) +{ + qemu_control_command( "set_led_state:%08x:%d:%d", color, on, off ); + return 0; +} +#endif + int set_led_state(unsigned color, int on, int off) { +#ifdef CONFIG_LED_QEMU + QEMU_FALLBACK(set_led_state(color,on,off)); +#endif +#ifdef HW_LED_FUNC + return HW_LED_FUNC(color, on, off); +#else return 0; +#endif } diff --git a/led/led_trout.c b/led/led_trout.c index 847b6bc..99d6bb0 100644 --- a/led/led_trout.c +++ b/led/led_trout.c @@ -1,3 +1,18 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ #include <hardware/led.h> #include <sys/types.h> #include <sys/stat.h> @@ -38,7 +53,7 @@ write_string(const char* file, const char* string, int len) return amt >= 0 ? 0 : errno; } -int set_led_state(unsigned colorARGB, int onMS, int offMS) +int trout_set_led_state(unsigned colorARGB, int onMS, int offMS) { int len; char buf[30]; |