add default smack label using udev rule and revise brightness_by_lux's param. submit/trunk/20130320.090347
authorjy910.yun <jy910.yun@samsung.com>
Wed, 20 Mar 2013 08:47:31 +0000 (17:47 +0900)
committerjy910.yun <jy910.yun@samsung.com>
Wed, 20 Mar 2013 08:49:19 +0000 (17:49 +0900)
add 51-devices-priv.rules for controling default device node
change the position to add smack label to udev rules file

Change-Id: I4285b5897cb80d1bd5ca4d3bf7edf75f9cdda2fb

devices/display.c
include/devman_plugin_intf.h
packaging/libdevice-node.spec
smack_device_labeling
udev/rules.d/51-devices-priv.rules [new file with mode: 0644]
udev/rules.d/95-devices.rules [new file with mode: 0644]
udev/rules.d/95-permissions-slp.rules [deleted file]

index f4355ff5fefdfbcbb284cc14b2faa61110d0f5ab..57bb71363e8dabb672fd2b69f58781568d4ce862 100644 (file)
@@ -28,6 +28,7 @@ static int display_get_prop(int __prop, int *val)
 {
        int prop = PROPERTY_PROP(__prop);
        int index = PROPERTY_INDEX(__prop);
+       int lux = index;
        int ps_stat;
        int ps_disp_stat;
        int disp_cnt;
@@ -39,9 +40,11 @@ static int display_get_prop(int __prop, int *val)
                return -1;
        }
 
-       if (index >= disp_cnt) {
-               DEVERR("Invalid Argument: index(%d) > max(%d)", index, disp_cnt);
-               return -1;
+       if (prop != PROP_DISPLAY_BRIGHTNESS_BY_LUX) {
+               if (index >= disp_cnt) {
+                       DEVERR("Invalid Argument: index(%d) > max(%d)", index, disp_cnt);
+                       return -1;
+               }
        }
 
        switch (prop) {
@@ -61,7 +64,7 @@ static int display_get_prop(int __prop, int *val)
        case PROP_DISPLAY_ONOFF:
                return PLUGIN_GET(lcd_power)(index, val);
        case PROP_DISPLAY_BRIGHTNESS_BY_LUX:
-               return PLUGIN_GET(backlight_brightness_by_lux)(val);
+               return PLUGIN_GET(backlight_brightness_by_lux)(lux, val);
        case PROP_DISPLAY_IMAGE_ENHANCE_MODE:
                return PLUGIN_GET(image_enhance_mode)(val);
        case PROP_DISPLAY_IMAGE_ENHANCE_SCENARIO:
index 7053c3a7040705bb8b786bfabb2b45e224b904cb..15e88af4ed8de47a400e2013fff8c82d902d7c51 100644 (file)
@@ -161,7 +161,7 @@ typedef struct {
        int     (*OEM_sys_get_cpufreq_scaling_min_freq) (int *value);
        int     (*OEM_sys_set_cpufreq_scaling_min_freq) (int value);
 
-       int     (*OEM_sys_get_backlight_brightness_by_lux) (int lux);
+       int     (*OEM_sys_get_backlight_brightness_by_lux) (int lux, int *value);
 
        int     (*OEM_sys_get_whitemagic_mode) (int index, int *value);
        int     (*OEM_sys_set_whitemagic_mode) (int index, int value);
index c8a9640b67ea550b9bf2a43b2e4d5936af74c8fa..50a1336e152f514c06e45b3baf117a224c03d175 100644 (file)
@@ -1,11 +1,11 @@
 Name:       libdevice-node
 Summary:    Library to control OAL APIs
 Version:    0.1.0
-Release:    0
+Release:    1
 Group:      System/Libraries
 License:    Apache License, Version 2.0
 Source0:    %{name}-%{version}.tar.gz
-Source1:       %{name}.manifest
+Source1:    %{name}.manifest
 BuildRequires:  cmake
 BuildRequires:  pkgconfig(vconf)
 BuildRequires:  pkgconfig(dlog)
index 0e33a210ca1dd91a0c846091ac75886bcd332306..952783ea509f3f9bc768936ab7a44f91d58f7518 100755 (executable)
@@ -1,32 +1,6 @@
 #!/bin/sh
 
 # Set device node permissions for security
-chsmack -a 'device::camera' /dev/video1
-chsmack -a 'device::camera' /dev/s3c-jpg
-chsmack -a 'device::app_logging' /dev/log_main
-chsmack -a 'device::app_logging' /dev/log_events
-chsmack -a 'device::app_logging' /dev/log_radio
-chsmack -a 'device::sys_logging' /dev/log_system
-chsmack -a 'device::audio' /dev/snd/
-chsmack -a 'device::audio' /dev/snd/controlC0
-chsmack -a 'device::audio' /dev/snd/pcmC0D0p
-chsmack -a 'device::audio' /dev/snd/pcmC0D1p
-chsmack -a 'device::audio' /dev/snd/pcmC0D2p
-chsmack -a 'device::audio' /dev/snd/pcmC0D3p
-chsmack -a 'device::audio' /dev/snd/timer
-chsmack -a 'device::recording' /dev/snd/pcmC0D0c
-chsmack -a 'device::recording' /dev/snd/pcmC0D1c
-chsmack -a 'device::recording' /dev/snd/pcmC0D2c
-chsmack -a 'device::recording' /dev/snd/pcmC0D3c
-chsmack -a 'device::hwcodec' /dev/s3c-mfc
-chsmack -a 'device::hwcodec' /dev/video5
-chsmack -a 'device::hwcodec' /dev/video6
-chsmack -a 'device::video' /dev/fb0
-chsmack -a 'device::video' /dev/video0
-chsmack -a 'device::video' /dev/video2
-chsmack -a 'device::video' /dev/video3
-chsmack -a 'device::video' /dev/s3c-mem
-chsmack -a 'device::radio' /dev/radio0
 chsmack -a 'device::bklight' /sys/class/backlight/*/brightness
 chsmack -a 'device::led' /sys/class/camera/flash/rear_flash
 chsmack -a 'device::led' /sys/class/camera/flash/max_brightness
diff --git a/udev/rules.d/51-devices-priv.rules b/udev/rules.d/51-devices-priv.rules
new file mode 100644 (file)
index 0000000..a4b3741
--- /dev/null
@@ -0,0 +1,28 @@
+# this part is extracted from 50-udev-default.rules file only to add smack label
+
+SUBSYSTEM=="tty", KERNEL=="ptmx", SMACK="*"
+SUBSYSTEM=="tty", KERNEL=="tty", SMACK="*"
+SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", SMACK="*"
+SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", SMACK="*"
+
+# serial
+KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", SMACK="*"
+
+# video4linux
+SUBSYSTEM=="video4linux", SMACK="*"
+
+# graphics
+SUBSYSTEM=="drm", MODE="0666", SMACK="*"
+
+# 'libusb' device nodes
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", SMACK="*"
+
+KERNEL=="fuse", SMACK="*"
+
+# this part is high priority udev rules
+
+KERNEL=="null|zero|full|random|urandom", SMACK="*"
+KERNEL=="uinput", MODE="0666", SMACK="*"
+KERNEL=="ump", MODE="0666", SMACK="*"
+KERNEL=="mali", MODE="0666", SMACK="*"
+KERNEL=="slp_global_lock", MODE="0666", SMACK="*"
diff --git a/udev/rules.d/95-devices.rules b/udev/rules.d/95-devices.rules
new file mode 100644 (file)
index 0000000..d6ddade
--- /dev/null
@@ -0,0 +1,67 @@
+ACTION=="remove", GOTO="devices_end"
+
+KERNEL=="fb[0-9]", MODE="0660", GROUP="video", SMACK="device::video"
+KERNEL=="s3c-mem", MODE="0660", GROUP="video", SMACK="device::video"
+KERNEL=="umts_csd", MODE="0660", GROUP="video_tel", SMACK="*"
+KERNEL=="s3c-jpeg", MODE="0660", GROUP="camera", SMACK="device::camera"
+KERNEL=="s5p-jpeg", MODE="0660", GROUP="camera", SMACK="device::camera"
+KERNEL=="s3c-jpg", MODE="0660", GROUP="camera", SMACK="device::camera"
+KERNEL=="srp", MODE="0660", GROUP="hwcodec", SMACK="*"
+KERNEL=="s3c-mfc", MODE="0660", GROUP="hwcodec", SMACK="device::hwcodec"
+KERNEL=="s5p-mfc", MODE="0660", GROUP="hwcodec", SMACK="*"
+KERNEL=="radio[0-9]", MODE="0660", GROUP="radio", SMACK="device::radio"
+KERNEL=="pcmC[0-9]D[0-9]c", MODE="0660", GROUP="recording", SMACK="device::recording"
+KERNEL=="pcmC[0-9]D[0-9]p", MODE="0660", GROUP="audio", SMACK="device::audio"
+KERNEL=="controlC[0-9]", MODE="0660", GROUP="audio", SMACK="device::audio"
+KERNEL=="timer", SUBSYSTEM=="sound", MODE="0660", GROUP="audio", SMACK="device::audio"
+
+KERNEL=="log_main", MODE="0660", GROUP="app_logging", SMACK="device::app_logging"
+KERNEL=="log_events", MODE="0660", GROUP="app_logging", SMACK="device::app_logging"
+KERNEL=="log_radio", MODE="0660", GROUP="app_logging", SMACK="device::app_logging"
+KERNEL=="log_system", MODE="0660", GROUP="sys_logging", SMACK="device::sys_logging"
+
+KERNEL=="pvrsrvkm", MODE="0666", SMACK="*"
+KERNEL=="usb_mtp_gadget", MODE="0666", SMACK="*"
+KERNEL=="usb_accessory", MODE="0666", SMACK="*"
+
+# Marvell
+KERNEL=="uio[0-9]", MODE="0666", SMACK="*"
+
+# Brightness control
+SUBSYSTEM=="leds", ATTR{brightness}=="?*", RUN+="/bin/chmod 0664 %S/%p/brightness", RUN+="/bin/chown :system_torch %S/%p/brightness"
+SUBSYSTEM=="backlight", ATTR{brightness}=="?*", RUN+="/bin/chmod 0664 %S/%p/brightness", RUN+="/bin/chown :system_bklight %S/%p/brightness"
+
+# flash (7/16 added)
+SUBSYSTEM=="camera", RUN+="/bin/chmod 0666 %S/%p/rear_flash"
+SUBSYSTEM=="camera", RUN+="/bin/chmod 0666 %S/%p/max_brightness"
+
+# mDNIe
+DRIVER=="mdnie", RUN+="/bin/chmod 0666 %S/%p/mode"
+DRIVER=="mdnie", RUN+="/bin/chmod 0666 %S/%p/scenario"
+DRIVER=="mdnie", RUN+="/bin/chmod 0666 %S/%p/tone"
+DRIVER=="mdnie", RUN+="/bin/chmod 0666 %S/%p/outdoor"
+DRIVER=="mdnie", RUN+="/bin/chmod 0666 %S/%p/tune"
+
+# haptic
+SUBSYSTEM=="haptic", RUN+="/bin/chmod 0666 %S/%p/level"
+SUBSYSTEM=="haptic", RUN+="/bin/chmod 0666 %S/%p/enable"
+SUBSYSTEM=="haptic", RUN+="/bin/chmod 0666 %S/%p/oneshot"
+
+# Video4Linux
+SUBSYSTEM!="video4linux", GOTO="v4l_end"
+IMPORT{program}="uname_env kernel-release"
+
+KERNEL=="video0", ENV{UNAME_KERNEL_RELEASE}=="3.0.*", GROUP="camera", MODE="0660", SMACK="device::camera", GOTO="v4l_end"
+KERNEL=="video1", ENV{UNAME_KERNEL_RELEASE}=="3.4.*", GROUP="camera", MODE="0660", SMACK="device::camera", GOTO="v4l_end"
+KERNEL=="video3", ENV{UNAME_KERNEL_RELEASE}=="3.4.*", GROUP="camera", MODE="0660", SMACK="device::camera", GOTO="v4l_end"
+
+# Remaining video devices
+KERNEL=="video[0-9]", MODE="0660", GROUP="video", SMACK="device::video"
+LABEL="v4l_end"
+
+KERNEL=="video1", GROUP="camera", MODE="0660", SMACK="device::camera"
+KERNEL=="video[6-7]", GROUP="hwcodec", MODE="0660", SMACK="device::hwcodec"
+KERNEL=="video11", GROUP="hwcodec", MODE="0660", SMACK="device::hwcodec"
+KERNEL=="video12", GROUP="hwcodec", MODE="0660", SMACK="device::hwcodec"
+
+LABEL="devices_end"
diff --git a/udev/rules.d/95-permissions-slp.rules b/udev/rules.d/95-permissions-slp.rules
deleted file mode 100644 (file)
index f092b12..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-ACTION=="remove", GOTO="permissions_slp_end"
-
-KERNEL=="s3c-jpeg",            MODE="0660", GROUP="camera"
-KERNEL=="s5p-jpeg",            MODE="0660", GROUP="camera"
-KERNEL=="radio[0-9]",          MODE="0660", GROUP="radio"
-KERNEL=="s5p-mfc",             MODE="0660", GROUP="hwcodec"
-KERNEL=="s3c-mfc",             MODE="0660", GROUP="hwcodec"
-KERNEL=="srp",                 MODE="0660", GROUP="hwcodec"
-KERNEL=="log_main",            MODE="0660", GROUP="app_logging"
-KERNEL=="log_events",          MODE="0660", GROUP="app_logging"
-KERNEL=="log_radio",           MODE="0660", GROUP="app_logging"
-KERNEL=="log_system",          MODE="0660", GROUP="sys_logging"
-KERNEL=="controlC0D[0-9]c",    MODE="0660", GROUP="recording"
-KERNEL=="pcmC0D[0-9]c",                MODE="0660", GROUP="recording"
-KERNEL=="controlC0",           MODE="0660", GROUP="audio"
-KERNEL=="pcmC0D[0-9]p",                MODE="0660", GROUP="audio"
-KERNEL=="fb[0-9]",             MODE="0660", GROUP="video"
-KERNEL=="s3c-mem",             MODE="0660", GROUP="video"
-KERNEL=="umts_csd",            MODE="0660", GROUP="video_tel"
-
-KERNEL=="pvrsrvkm",            MODE="0666"
-KERNEL=="ump",                 MODE="0666"
-KERNEL=="mali",                        MODE="0666"
-KERNEL=="slp_global_lock",     MODE="0666"
-KERNEL=="usb_mtp_gadget",      MODE="0666"
-KERNEL=="usb_accessory",       MODE="0666"
-SUBSYSTEM=="drm",              MODE="0666"
-
-# Marvell
-KERNEL=="uio[0-9]",            MODE="0666"
-
-# Brightness control
-SUBSYSTEM=="leds",      ATTR{brightness}=="?*", RUN+="/bin/chmod 0664 %S/%p/brightness", RUN+="/bin/chown :system_torch %S/%p/brightness"
-SUBSYSTEM=="backlight", ATTR{brightness}=="?*", RUN+="/bin/chmod 0664 %S/%p/brightness", RUN+="/bin/chown :system_bklight %S/%p/brightness"
-
-# flash (7/16 added)
-SUBSYSTEM=="camera",    RUN+="/bin/chmod 0666 %S/%p/rear_flash"
-SUBSYSTEM=="camera",    RUN+="/bin/chmod 0666 %S/%p/max_brightness"
-
-# mDNIe
-DRIVER=="mdnie",       RUN+="/bin/chmod 0666 %S/%p/mode"
-DRIVER=="mdnie",       RUN+="/bin/chmod 0666 %S/%p/scenario"
-DRIVER=="mdnie",       RUN+="/bin/chmod 0666 %S/%p/tone"
-DRIVER=="mdnie",       RUN+="/bin/chmod 0666 %S/%p/outdoor"
-DRIVER=="mdnie",       RUN+="/bin/chmod 0666 %S/%p/tune"
-
-# haptic
-SUBSYSTEM=="haptic",   RUN+="/bin/chmod 0666 %S/%p/level"
-SUBSYSTEM=="haptic",   RUN+="/bin/chmod 0666 %S/%p/enable"
-SUBSYSTEM=="haptic",   RUN+="/bin/chmod 0666 %S/%p/oneshot"
-
-# Video4Linux
-SUBSYSTEM!="video4linux", GOTO="v4l_slp_end"
-IMPORT{program}="uname_env kernel-release"
-
-KERNEL=="video0", ENV{UNAME_KERNEL_RELEASE}=="3.0.*", GROUP="camera", MODE="0660", GOTO="v4l_slp_end"
-KERNEL=="video1", ENV{UNAME_KERNEL_RELEASE}=="3.4.*", GROUP="camera", MODE="0660", GOTO="v4l_slp_end"
-KERNEL=="video3", ENV{UNAME_KERNEL_RELEASE}=="3.4.*", GROUP="camera", MODE="0660", GOTO="v4l_slp_end"
-
-# Remaining video devices
-KERNEL=="video[0-9]", MODE="0660", GROUP="video"
-LABEL="v4l_slp_end"
-
-LABEL="permissions_slp_end"