summaryrefslogtreecommitdiff
path: root/include/device-internal.h
diff options
context:
space:
mode:
authorjy910.yun <jy910.yun@samsung.com>2013-02-26 16:06:47 +0900
committerjy910.yun <jy910.yun@samsung.com>2013-02-26 16:07:44 +0900
commitf440d7952681e9bf4540f795cc709c9010c7024d (patch)
tree216eda99728aba84d4820fcfb194e054a6dd32dd /include/device-internal.h
parentcdefbf11af164d3f3a7fbfebb7dfa8ff76e2b436 (diff)
downloadlibdevice-node-f440d7952681e9bf4540f795cc709c9010c7024d.tar.gz
libdevice-node-f440d7952681e9bf4540f795cc709c9010c7024d.tar.bz2
libdevice-node-f440d7952681e9bf4540f795cc709c9010c7024d.zip
Create new Library to control OAL APIssubmit/trunk/20130226.073610
separate some code about OAL from devman This module is a Library to control OAL APIs only used by system f/w Change-Id: I8ea27904950f402922d4df315c02881c70fb65ac
Diffstat (limited to 'include/device-internal.h')
-rw-r--r--include/device-internal.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/include/device-internal.h b/include/device-internal.h
new file mode 100644
index 0000000..7e3dbb7
--- /dev/null
+++ b/include/device-internal.h
@@ -0,0 +1,65 @@
+/*
+ * device-node
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd.
+ *
+ * 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 __DEVICE_INTERNAL_H__
+#define __DEVICE_INTERNAL_H__
+
+#include "device-node.h"
+
+#ifndef __CONSTRUCTOR__
+#define __CONSTRUCTOR__ __attribute__ ((constructor))
+#endif
+
+#ifndef __DESTRUCTOR__
+#define __DESTRUCTOR__ __attribute__ ((destructor))
+#endif
+
+#define FEATURE_DEVICE_NODE_DLOG
+#ifdef FEATURE_DEVICE_NODE_DLOG
+#define LOG_TAG "DEVICE_NODE"
+#include <dlog.h>
+#define DEVLOG(fmt, args...) SLOGD(fmt, ##args)
+#define DEVERR(fmt, args...) SLOGE(fmt, ##args)
+#else
+#define DEVLOG(x, ...) do { } while (0)
+#define DEVERR(x, ...) do { } while (0)
+#endif
+
+#define DEVMAN_PLUGIN_PATH "/usr/lib/libslp_devman_plugin.so"
+
+#ifndef PLUGIN_DEFINE
+#define PLUGIN_DEFINE
+#define PLUGIN_SYS(node) plugin_intf->OEM_sys_##node
+#define PLUGIN_GET(node) plugin_intf->OEM_sys_get_##node
+#define PLUGIN_SET(node) plugin_intf->OEM_sys_set_##node
+#endif
+
+struct device {
+ enum device_type type;
+ char *name;
+ int (*set_prop) (int property, int val);
+ int (*get_prop) (int property, int *val);
+};
+
+void add_device(enum device_type *devtype);
+void remove_device(enum device_type *devtype);
+
+extern const OEM_sys_devman_plugin_interface *plugin_intf;
+extern const OEM_sys_devman_plugin_interface default_plugin;
+
+#endif /* __DEVICE_INTERNAL_H__ */