SET(SRCS
src/device_manager_io.c
- src/device_manager_plugin_emul.c)
+ src/device_manager_plugin_maru.c)
IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
SET(CMAKE_BUILD_TYPE "Release")
-device-manager-plugin-emul (0.0.1-1) unstable; urgency=low
+device-manager-plugin-maru (0.0.1-6) unstable; urgency=low
- * Initial release.
+ * add 'set_display_frame_rate' function pointer
+ * Git: slp/pkgs/d/device-manager-plugin-maru.git
+ * Tag: device-manager-plugin-maru_0.0.1-6
- -- Dohyung Hong <don.hong@samsung.com> Tue, 10 Apr 2012 20:06:04 +0900
+ -- Jihye Kim <jihye1128.kim@samsung.com> Mon, 21 May 2012 21:30:37 +0900
+
+device-manager-plugin-maru (0.0.1-5) unstable; urgency=low
+
+ * change backlight-brightness and add 'set_display_frame_rate' function
+ * Git: slp/pkgs/d/device-manager-plugin-maru.git
+ * Tag: device-manager-plugin-maru_0.0.1-5
+
+ -- Sangjin Kim <sangjin3.kim@samsung.com> Wed, 16 May 2012 16:00:37 +0900
+
+device-manager-plugin-maru (0.0.1-4) unstable; urgency=low
+
+ * Add OBS build.
+ * Git: slp/pkgs/d/device-manager-plugin-maru.git
+ * Tag: device-manager-plugin-maru_0.0.1-4
+
+ -- Sangjin Kim <sangjin3.kim@samsung.com> Wed, 18 Apr 2012 13:15:37 +0900
+
+device-manager-plugin-maru (0.0.1-3) unstable; urgency=low
+
+ * Change "Architecture" of the control file as "i386"
+ * Git: slp/pkgs/d/device-manager-plugin-maru.git
+ * Tag: device-manager-plugin-maru_0.0.1-3
+
+ -- Dohyung Hong <don.hong@samsung.com> Thu, 08 Mar 2012 11:01:42 +0900
+
+device-manager-plugin-maru (0.0.1-2) unstable; urgency=low
+
+ * Add tag to upload source package
+ * Git: slp/pkgs/d/device-manager-plugin-maru.git
+ * Tag: device-manager-plugin-maru_0.0.1-2
+
+ -- Dohyung Hong <don.hong@samsung.com> Wed, 07 Mar 2012 18:04:00 +0900
+
+device-manager-plugin-maru (0.0.1-1) unstable; urgency=low
+
+ * Initial release
+ * Git: slp/pkgs/d/device-manager-plugin-maru.git
+ * Based on slp/pkgs/d/device-manager-plugin-c210.git
+
+ -- Dohyung Hong <don.hong@samsung.com> Mon, 05 Mar 2012 15:11:57 +0900
-Source: device-manager-plugin-emul
+Source: device-manager-plugin-maru
Section: libs
Priority: extra
Maintainer: Dohyung Hong <don.hong@samsung.com>
Build-Depends: debhelper (>= 5), libdevman-plugin-dev
Standards-Version: 3.7.2
-Package: device-manager-plugin-emul
+Package: device-manager-plugin-maru
Section: libs
Architecture: i386
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Samsung linux platform device manager plugin
-Package: device-manager-plugin-emul-dbg
+Package: device-manager-plugin-maru-dbg
Section: debug
Architecture: i386
-Depends: ${shlibs:Depends}, ${misc:Depends}, device-manager-plugin-emul (= ${Source-Version})
+Depends: ${shlibs:Depends}, ${misc:Depends}, device-manager-plugin-maru (= ${Source-Version})
Description: Samsung linux platform device manager plugin (unstripped)
+++ /dev/null
-@PREFIX@/lib/*
dh_installman
dh_link
# dh_strip
- dh_strip --dbg-package=device-manager-plugin-emul-dbg
+ dh_strip --dbg-package=device-manager-plugin-maru-dbg
dh_compress
dh_fixperms
# dh_perl
-/*
-Copyright 2012 Samsung Electronics Co., Ltd
-
-Licensed under the Flora License, Version 1.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.tizenopensource.org/license
-
-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 __DEVMAN_DEFINE_NODE_PATH_H
#define __DEVMAN_DEFINE_NODE_PATH_H
#define BACKLIGHT_PATH "/sys/class/backlight/"
+#define BACKLIGHT_MIN_BRIGHTNESS_PATH BACKLIGHT_PATH"%s/min_brightness"
#define BACKLIGHT_MAX_BRIGHTNESS_PATH BACKLIGHT_PATH"%s/max_brightness"
#define BACKLIGHT_BRIGHTNESS_PATH BACKLIGHT_PATH"%s/brightness"
+#define BACKLIGHT_DIMMING_PATH BACKLIGHT_PATH"%s/dimming"
#define LCD_PATH "/sys/class/lcd/"
#define LCD_ACL_CONTROL_PATH LCD_PATH"%s/acl_control"
#define LCD_POWER_PATH LCD_PATH"%s/lcd_power"
+//#define DISPLAY_FRAME_RATE_PATH "/sys/devices/platform/maru-display/devfreq/maru-display/max_freq"
+
#define UART_PATH "/sys/devices/platform/uart-select/path"
#define USB_PATH "/sys/devices/platform/usb-switch/path"
#define JACK_USB_ONLINE_PATH "/sys/devices/platform/jack/usb_online"
#define JACK_CRADLE_ONLINE_PATH "/sys/devices/platform/jack/cradle_online"
#define JACK_TVOUT_ONLINE_PATH "/sys/devices/platform/jack/tvout_online"
-#define JACK_KEYBOARD_ONLINE_PATH "/sys/devices/platform/jack/keyboard_online"
+#define JACK_KEYBOARD_ONLINE_PATH "/sys/devices/platform/jack/keyboard_online"
#define LEDS_TORCH_MAX_BRIGHTNESS_PATH "/sys/class/leds/leds-torch/max_brightness"
#define LEDS_TORCH_BRIGHTNESS_PATH "/sys/class/leds/leds-torch/brightness"
/*
-Copyright 2012 Samsung Electronics Co., Ltd
-
-Licensed under the Flora License, Version 1.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.tizenopensource.org/license
-
-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.
+ * devman
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: DongGi Jang <dg0402.jang@samsung.com>
+ *
+ * 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 __DEVMAN_PLUGIN_INTF_H__
#define __DEVMAN_PLUGIN_INTF_H__
typedef struct {
int (*OEM_sys_get_display_count) (int *value);
+ int (*OEM_sys_get_backlight_min_brightness) (int index, int *value);
int (*OEM_sys_get_backlight_max_brightness) (int index, int *value);
- int (*OEM_sys_get_backlight_brightness) (int index, int *value);
- int (*OEM_sys_set_backlight_brightness) (int index, int value);
+ int (*OEM_sys_get_backlight_brightness) (int index, int *value, int power_saving);
+ int (*OEM_sys_set_backlight_brightness) (int index, int value, int power_saving);
+
+ int (*OEM_sys_set_backlight_dimming) (int index, int value);
int (*OEM_sys_get_backlight_acl_control) (int index, int *value);
int (*OEM_sys_set_backlight_acl_control) (int index, int value);
int (*OEM_sys_get_image_enhance_tune) (int *value);
int (*OEM_sys_set_image_enhance_tune) (int value);
+ int (*OEM_sys_image_enhance_info) (int *value);
+
+ int (*OEM_sys_set_display_frame_rate) (int value);
int (*OEM_sys_get_uart_path) (int *value);
int (*OEM_sys_set_uart_path) (int value);
int (*OEM_sys_set_haptic_vibetones_oneshot) (int value);
int (*OEM_sys_get_battery_capacity) (int *value);
+ int (*OEM_sys_get_battery_capacity_raw) (int *value);
int (*OEM_sys_get_battery_charge_full) (int *value);
int (*OEM_sys_get_battery_charge_now) (int *value);
int (*OEM_sys_get_battery_present) (int *value);
--- /dev/null
+Name: device-manager-plugin-maru
+Summary: device-manager-plugin-maru
+Version: 0.0.5
+Release: 1
+Group: TO_BE/FILLED_IN
+License: TO_BE/FILLED_IN
+Source0: %{name}-%{version}.tar.gz
+ExclusiveArch: %{ix86}
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+BuildRequires: cmake
+BuildRequires: pkgconfig(devman_plugin)
+
+%description
+device-manager-plugin-maru.
+
+%prep
+%setup -q
+
+%build
+export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
+
+make
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+%post
+/sbin/ldconfig
+
+%postun
+/sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%{_libdir}/libslp_devman_plugin.so
+
+++ /dev/null
-Name: device-manager-plugin-emul
-Summary: device-manager-plugin-emul
-Version: 0.0.1
-Release: 1
-Group: libs
-License: Flora Software License
-Source0: %{name}-%{version}.tar.gz
-Source1: device-manager-plugin-emul.install.in
-ExclusiveArch: %{ix86}
-BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(devman)
-BuildRequires: pkgconfig(devman_plugin)
-BuildRequires: cmake
-Requires(post): /sbin/ldconfig
-%description
-device-manager-plugin-emul.
-
-%prep
-%setup -q
-
-%package devel
-Summary: Download agent
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-
-%description devel
-device-manager-plugin-emul (devel)
-
-
-%build
-export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
-
-make
-
-%install
-
-
-%make_install
-
-
-
-%post
-
-%postun
-
-%files
-%defattr(-,root,root,-)
-%{_libdir}/*
-
-%files devel
-%defattr(-,root,root,-)
-%{_libdir}/*
/*
-Copyright 2012 Samsung Electronics Co., Ltd
-
-Licensed under the Flora License, Version 1.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.tizenopensource.org/license
-
-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.
+ * device-manager-plugin-maru
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: DongGi Jang <dg0402.jang@samsung.com>
+ *
+ * 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.
+ *
*/
+/*
+ * 2012-03-05 Dohyung Hong <don.hong@samsung.com> Changed package name for the maru board of emulator
+ */
+
#include <unistd.h>
#include <stdio.h>
#include <string.h>
/*
-Copyright 2012 Samsung Electronics Co., Ltd
-
-Licensed under the Flora License, Version 1.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.tizenopensource.org/license
-
-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.
+ * device-manager-plugin-maru
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Dohyung Hong <don.hong@samsung.com>
+ *
+ * Based on slp/pkgs/d/device-manager-plugin-c210/device_manager_plugin-c210.c
+ * Modified to support the maru board of emulator
+ *
+ * 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 <string.h>
char lcd_name[MAX_NAME]; /* lcd name */
};
+#define MAX_CANDELA_CRITERION 300
+#define PWR_SAVING_CANDELA_CRITERION 20
+
/* FIXME:!! change to global_ctx */
int lcd_index;
struct display_info disp_info[DISP_MAX];
return ret;
}
-int OEM_sys_get_backlight_brightness(int index, int *value)
+int OEM_sys_get_backlight_brightness(int index, int *value, int power_saving)
{
int ret = -1;
char path[MAX_NAME+1];
+ int max_brightness;
+ int pwr_saving_offset;
if (index >= DISP_MAX) {
devmgr_log("supports %d display node", DISP_MAX);
snprintf(path, MAX_NAME, BACKLIGHT_BRIGHTNESS_PATH, disp_info[index].bl_name);
ret = sys_get_int(path, value);
- devmgr_log("path[%s]value[%d]", path, *value);
+ devmgr_log("path[%s]value[%d]power_saving[%d]", path, *value, power_saving);
+
+ if (power_saving){
+ snprintf(path, MAX_NAME, BACKLIGHT_MAX_BRIGHTNESS_PATH, disp_info[index].bl_name);
+ ret = sys_get_int(path, &max_brightness);
+ if (ret)
+ {
+ devmgr_log("Can't read max_brightness node[%s]", path);
+ return ret;
+ }
+ pwr_saving_offset = (PWR_SAVING_CANDELA_CRITERION * max_brightness / MAX_CANDELA_CRITERION) + 0.5;
+
+ if (*value > max_brightness - pwr_saving_offset)
+ *value = max_brightness;
+ else
+ *value = *value + pwr_saving_offset;
+
+ devmgr_log("power_saving result[%d]", *value);
+ }
return ret;
}
-int OEM_sys_set_backlight_brightness(int index, int value)
+int OEM_sys_set_backlight_brightness(int index, int value, int power_saving)
{
int ret = -1;
char path[MAX_NAME+1];
+ int max_brightness;
+ int pwr_saving_offset;
if (index >= DISP_MAX) {
devmgr_log("supports %d display node", DISP_MAX);
return ret;
}
+ devmgr_log("path[%s]value[%d]power_saving[%d]", path, value, power_saving);
+
+ if (power_saving){
+ snprintf(path, MAX_NAME, BACKLIGHT_MAX_BRIGHTNESS_PATH, disp_info[index].bl_name);
+ ret = sys_get_int(path, &max_brightness);
+ if (ret)
+ {
+ devmgr_log("Can't read max_brightness node[%s]", path);
+ return ret;
+ }
+ pwr_saving_offset = (PWR_SAVING_CANDELA_CRITERION * max_brightness / MAX_CANDELA_CRITERION) + 0.5;
+
+ if (value < pwr_saving_offset)
+ value = 0;
+ else
+ value = value - pwr_saving_offset;
+
+ devmgr_log("power_saving result[%d]", value);
+ }
+
snprintf(path, MAX_NAME, BACKLIGHT_BRIGHTNESS_PATH, disp_info[index].bl_name);
- devmgr_log("path[%s]value[%d]", path, value);
ret = sys_set_int(path, value);
return ret;
return ret;
}
+int OEM_sys_get_backlight_min_brightness(int index, int *value)
+{
+ int ret = -1;
+ char path[MAX_NAME+1];
+
+ if (index >= DISP_MAX) {
+ devmgr_log("supports %d display node", DISP_MAX);
+ return ret;
+ }
+
+ snprintf(path, MAX_NAME, BACKLIGHT_MIN_BRIGHTNESS_PATH, disp_info[index].bl_name);
+ ret = sys_get_int(path, value);
+ devmgr_log("path[%s]value[%d]", path, *value);
+
+ return ret;
+}
+
+int OEM_sys_set_backlight_dimming(int index, int value)
+{
+ int ret = -1;
+ char path[MAX_NAME+1];
+
+ if (index >= DISP_MAX) {
+ devmgr_log("supports %d display node", DISP_MAX);
+ return ret;
+ }
+
+ snprintf(path, MAX_NAME, BACKLIGHT_DIMMING_PATH, disp_info[index].lcd_name);
+ devmgr_log("path[%s]value[%d]", path, value);
+ ret = sys_set_int(path, value);
+
+ return ret;
+}
+
/* image_enhance */
int OEM_sys_get_image_enhance_save(void *image_enhance)
{
return ret;
}
+int OEM_sys_set_display_frame_rate(int value)
+{
+/*
+ if(value){
+ devmgr_log("Display frame rate limited to 40Hz");
+ return sys_set_str(DISPLAY_FRAME_RATE_PATH, "40");
+ }else{
+ devmgr_log("Display frame rate change 40Hz and 60Hz");
+ return sys_set_str(DISPLAY_FRAME_RATE_PATH, "60");
+ }
+*/
+ return -1;
+}
+
GENERATE_ACCESSORS_INT_RW(haptic_vibetones_level, HAPTIC_VIBETONES_LEVEL_PATH)
GENERATE_ACCESSORS_INT_R(haptic_vibetones_level_max, HAPTIC_VIBETONES_LEVEL_MAX_PATH)
GENERATE_ACCESSORS_INT_W(haptic_vibetones_enable, HAPTIC_VIBETONES_ENABLE_PATH)
return -1;
}
+int OEM_sys_get_battery_capacity_raw(int *value)
+{
+ return 0;
+}
+
+int OEM_sys_image_enhance_info(int *value)
+{
+ return 0;
+}
+
GENERATE_ACCESSORS_INT_R(jack_charger_online, JACK_CHARGER_ONLINE_PATH)
GENERATE_ACCESSORS_INT_R(jack_earjack_online, JACK_EARJACK_ONLINE_PATH)
GENERATE_ACCESSORS_INT_R(jack_earkey_online, JACK_EARKEY_ONLINE_PATH)
OEM_sys_get_image_enhance_tune,
OEM_sys_set_image_enhance_tune,
+ OEM_sys_image_enhance_info,
+
+ OEM_sys_set_display_frame_rate,
OEM_sys_get_uart_path,
OEM_sys_set_uart_path,
OEM_sys_set_haptic_vibetones_oneshot,
OEM_sys_get_battery_capacity,
+ OEM_sys_get_battery_capacity_raw,
OEM_sys_get_battery_charge_full,
OEM_sys_get_battery_charge_now,
OEM_sys_get_battery_present,