mirror of
https://github.com/team-infusion-developers/android_hardware_samsung.git
synced 2024-11-06 21:55:41 +00:00
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>
This commit is contained in:
parent
a7a0ecde63
commit
464c0c98bd
3 changed files with 56 additions and 26 deletions
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
47
consumerir/include/samsung_consumerir.h
Normal file
47
consumerir/include/samsung_consumerir.h
Normal file
|
@ -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
|
Loading…
Reference in a new issue