diff options
author | Paul Keith <javelinanddart@gmail.com> | 2016-12-10 09:30:32 -0600 |
---|---|---|
committer | Paul Keith <javelinanddart@gmail.com> | 2016-12-14 10:49:26 -0600 |
commit | 464c0c98bd0752ab44f16988b20ff801bc901549 (patch) | |
tree | 65f7f40239de0f3663c31a20dbdb74330cdebeb2 | |
parent | a7a0ecde6374b51be209cd166122ae0a8c5d1259 (diff) | |
download | android_hardware_samsung-464c0c98bd0752ab44f16988b20ff801bc901549.tar.gz android_hardware_samsung-464c0c98bd0752ab44f16988b20ff801bc901549.tar.bz2 android_hardware_samsung-464c0c98bd0752ab44f16988b20ff801bc901549.zip |
consumerir: Allow devices to override default configs
* This is cleaner than hacking up makefiles
* This brings us closer to what other hals
in this repo are doing (e.g. lights, power)
and this is done following their example
* As a note, haggertk suggested this when we
added the inital unified hal, but I never
got around to doing it
Change-Id: I7c911c5afc2b67308d7135b50a4863a6a9480035
Signed-off-by: Paul Keith <javelinanddart@gmail.com>
-rw-r--r-- | consumerir/Android.mk | 18 | ||||
-rw-r--r-- | consumerir/consumerir.c | 17 | ||||
-rw-r--r-- | consumerir/include/samsung_consumerir.h | 47 |
3 files changed, 56 insertions, 26 deletions
diff --git a/consumerir/Android.mk b/consumerir/Android.mk index cd8fd38..b5cbcca 100644 --- a/consumerir/Android.mk +++ b/consumerir/Android.mk @@ -15,9 +15,15 @@ # HAL module implementation stored in # hw/<POWERS_HARDWARE_MODULE_ID>.<ro.hardware>.so +include $(CLEAR_VARS) + LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) +LOCAL_SRC_FILES := consumerir.c + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include + +LOCAL_SHARED_LIBRARIES := liblog libcutils ifeq ($(IR_HAL_SUFFIX),) IR_HAL_SUFFIX := $(TARGET_BOARD_PLATFORM) @@ -25,16 +31,6 @@ endif LOCAL_MODULE := consumerir.$(IR_HAL_SUFFIX) LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_SRC_FILES := consumerir.c -LOCAL_SHARED_LIBRARIES := liblog libcutils LOCAL_MODULE_TAGS := optional -ifeq ($(BOARD_IR_HAS_ONE_FREQ_RANGE),true) -LOCAL_CFLAGS += -DUSE_ONE_FREQ_RANGE -endif - -ifeq ($(BOARD_USES_MS_IR_SIGNAL),true) -LOCAL_CFLAGS += -DMS_IR_SIGNAL -endif - include $(BUILD_SHARED_LIBRARY) diff --git a/consumerir/consumerir.c b/consumerir/consumerir.c index e41d447..f9ec588 100644 --- a/consumerir/consumerir.c +++ b/consumerir/consumerir.c @@ -28,27 +28,14 @@ #include <string.h> #include <unistd.h> +#include <samsung_consumerir.h> + #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) #define UNUSED __attribute__((unused)) -#define IR_PATH "/sys/class/sec/sec_ir/ir_send" - static int fd = 0; static pthread_mutex_t g_mtx; -static const consumerir_freq_range_t consumerir_freqs[] = { -#ifdef USE_ONE_FREQ_RANGE - {.min = 16000, .max = 60000}, -#else - {.min = 30000, .max = 30000}, - {.min = 33000, .max = 33000}, - {.min = 36000, .max = 36000}, - {.min = 38000, .max = 38000}, - {.min = 40000, .max = 40000}, - {.min = 56000, .max = 56000}, -#endif -}; - static bool try_append_number(char *buffer, int *len, int size, int number) { int stored; diff --git a/consumerir/include/samsung_consumerir.h b/consumerir/include/samsung_consumerir.h new file mode 100644 index 0000000..6e4edc5 --- /dev/null +++ b/consumerir/include/samsung_consumerir.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2016 The CyanogenMod 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. + */ + +#ifndef SAMSUNG_CONSUMERIR_H +#define SAMSUNG_CONSUMERIR_H + +/* + * Board specific nodes + * + * If your kernel exposes these controls in another place, you can either + * symlink to the locations given here, or override this header in your + * device tree. + */ +#define IR_PATH "/sys/class/sec/sec_ir/ir_send" + +/* + * Board specific configs + * + * If your device needs a different configuration, you + * can override this header in your device tree + */ +// Some devices need MS_IR_SIGNAL to avoid ms to pulses conversionn +//#define MS_IR_SIGNAL + +static const consumerir_freq_range_t consumerir_freqs[] = { + {.min = 30000, .max = 30000}, + {.min = 33000, .max = 33000}, + {.min = 36000, .max = 36000}, + {.min = 38000, .max = 38000}, + {.min = 40000, .max = 40000}, + {.min = 56000, .max = 56000}, +}; + +#endif // SAMSUNG_CONSUMERIR_H |