]> rtime.felk.cvut.cz Git - frescor/frsh.git/commitdiff
Merge branch 'master' of git://rtime.felk.cvut.cz/frescor/frsh_forb/dario
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 10 May 2009 16:15:59 +0000 (18:15 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 10 May 2009 18:14:14 +0000 (20:14 +0200)
Conflicts:
frsh_api/Makefile.omk
frsh_api/frsh_contract.c
frsh_api/frsh_power.c
resources/acpi_cpu/Makefile.omk
resources/acpi_lcd/Makefile.omk

1  2 
frsh_api/frsh_contract.c
frsh_api/frsh_power.c
resources/acpi_cpu/Makefile.omk
resources/acpi_lcd/Makefile.omk
resources/acpi_lcd/fra_acpi_lcd.h
resources/cpu_aquosa/lib/aqcpu_fra.c

index 790d6099b71429f76c9612b52b918a4aba74c0a1,c98b27ca3a6b68e299535c2c15e7686fa18be1f5..38a5fef81364d8e752e53eb3477aac4bc30999d7
@@@ -338,25 -361,8 +362,14 @@@ int frsh_contract_negotiat
                goto err;
        }
  
-       p = fres_contract_get_power_management(*contract);
-       if (p && !fosa_rel_time_is_null(p->min_expiration)) {
-               frsh_abs_time_t req_time, exp_time;
-               fosa_clock_get_time(FOSA_CLOCK_REALTIME, &req_time);
-               req_time = fosa_abs_time_incr(req_time, p->min_expiration);
-               frsh_battery_get_expiration(&exp_time);
-               if (fosa_abs_time_smaller(req_time, exp_time)) {
-                       ret = FRSH_ERR_CONTRACT_REJECTED;
-                       goto err;
-               }
-       }
 +      /* TODO: Battery time check should be moved to
 +       * FCB. Implementation of FRSH API is meant only as a thin
 +       * wrapper of FRES framework and the FRES framework could
 +       * theoretically be used without FRSH API. Moreover, if there
 +       * is some logging mechanism in FCB, this contract rejection
 +       * will not be logged. */
+       ret = __contract_check_min_expiration(contract);
+       if (ret) goto err;
  
        /* Activate allocator */
        r = fres_contract_get_resource(*contract);
index 4bcf6c2d97ed51ef198561d01a79cd51aef9d234,50d215c5640a33de72ffd328cea5dedd0cd28184..cd155ffc538400b47767528ad8166c42c720794b
  #include <fcb.h>
  #include <fra_generic.h>
  #include <frsh_forb.h>
 -
 -#include "fra_acpi_cpu.h"
 +#include "frsh_resources.h"
 +#ifdef CONFIG_ACPI_CPU
 +#  include <fra_acpi_cpu.h>
 +#endif
+ #include "fra_acpi_battery.h"
 -#include "fra_acpi_lcd.h"
 -
 +#ifdef CONFIG_ACPI_LCD
 +#  include <fra_acpi_lcd.h>
 +#endif
  #include <frsh.h>
  
- static inline int __is_a_valid_power(level)
+ static inline int __is_a_valid_power(int level)
  {
-       if (level >=0 && level < 3 )
+       if (level >= 0 && level < 3 )
                return 1;
  
        return 0;
@@@ -192,41 -214,39 +227,42 @@@ int frsh_resource_set_power_leve
     frsh_resource_id_t resource_id,
     frsh_power_level_t power_level)
  {
 -      int ret;
  
+       if (!__is_a_valid_power(power_level))
+               return FRSH_ERR_BAD_ARGUMENT;
        switch(resource_type)
        {
 +#ifdef CONFIG_ACPI_CPU
                case FRSH_RT_PROCESSOR:
                {
-                       ret = fra_CPU_frequency_init(resource_id);
 +                      int ret;
 -                      if (ret) goto err;
+                       ret = fra_CPU_power_init(resource_id);
-                       ret = fra_CPU_set_frequency(resource_id, power_level);
 +                      if (ret) return FRSH_ERR_INTERNAL_ERROR;
 -                      if (ret) goto err;
+                       ret = fra_CPU_set_power(resource_id, power_level);
 +                      if (ret) return FRSH_ERR_INTERNAL_ERROR;
  
                        /**
                         * @TODO:
                         * if (i budget sono effettivamente diversi)
                         *      rinegozia i contratti coi nuovi valori
                         **/
 -      
                        break;
                }
 +#endif
 +#ifdef CONFIG_ACPI_LCD
                case FRSH_RT_LCD:
                {
-                       ret = fra_LCD_brightness_init(resource_id);
 +                      int ret;
 -                      if (ret) goto err;
+                       ret = fra_LCD_power_init(resource_id);
-                       ret = fra_LCD_set_brightness(resource_id, power_level);
 +                      if (ret) return FRSH_ERR_INTERNAL_ERROR;
 -                      if (ret) goto err;
 -
+                       ret = fra_LCD_set_power(resource_id, power_level);
 +                      if (ret) return FRSH_ERR_INTERNAL_ERROR;
                        break;
                }
 +#endif
                default:
 -                      goto err;
 +                      return FRSH_ERR_NOT_IMPLEMENTED;
        }
  
        return FRSH_NO_ERROR;
@@@ -237,26 -259,23 +273,26 @@@ int frsh_resource_get_power_leve
     frsh_resource_id_t resource_id,
     frsh_power_level_t *power_level)
  {
 -      int ret;
 -
        switch(resource_type)
        {
 +#ifdef CONFIG_ACPI_CPU
                case FRSH_RT_PROCESSOR:
                {
-                       ret = fra_CPU_get_level(resource_id,
 +                      int ret;
+                       ret = fra_CPU_get_power(resource_id,
                                                (int*) power_level);
 -                      if (ret) goto err;
 +                      if (ret) return FRSH_ERR_INTERNAL_ERROR;
  
                        break;
                }
 +#endif
 +#ifdef CONFIG_ACPI_LCD
                case FRSH_RT_LCD:
                {
-                       ret = fra_LCD_get_level(resource_id,
 +                      int ret;
+                       ret = fra_LCD_get_power(resource_id,
                                                (int*) power_level);
 -                      if (ret) goto err;
 +                      if (ret) return FRSH_ERR_INTERNAL_ERROR;
  
                        break;
                }
@@@ -295,9 -347,7 +364,10 @@@ int frsh_battery_get_expiration(frsh_ab
        fosa_clock_get_time(FOSA_CLOCK_REALTIME, expiration);
        *expiration = fosa_abs_time_incr(*expiration, interval);
  
+ out:
        return FRSH_NO_ERROR;
 +#else
 +      return FRSH_ERR_NOT_IMPLEMENTED;        
 +#endif
  }
  
index bc77ebb28fd05436a72ddb923c07ce4c5b91cceb,84c8c1451b901cdb8177429e0550e15e2d806fdf..cbea2a4285a0de5354bf217b20044a0c962d5e8e
@@@ -8,6 -5,5 +8,6 @@@ acpi_cpu_LIBS += fosa rt m cpufre
  
  include_HEADERS = fra_acpi_cpu.h
  
+ SUBDIRS=tests
  
- #SUBDIRS=
 +endif
index 0809562c3c0b411b7fb8a194658f68ee0b520301,2218d967ac22226573cfa53d63f3e885d4c75094..5f5dc57ad480516507ddddf263fe952ac26cc149
@@@ -8,4 -5,5 +8,6 @@@ acpi_lcd_LIBS += fosa rt m acp
  
  include_HEADERS = fra_acpi_lcd.h
  
+ SUBDIRS=tests
 +endif
index acc0b91fbc63937f9813c6516db5c28501dc6ee4,0607af9800cf60bc324ec9edfc93ec905867b465..bbe79e4f57500ed9e5547ca914efcfbd1583099b
@@@ -1,19 -1,33 +1,33 @@@
 -#ifndef ACPI_CPU
 -#define ACPI_CPU
 +#ifndef ACPI_LCD
 +#define ACPI_LCD
  
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
  #include <string.h>
  #include <math.h>
- #include <libacpi.h>
  
- #include <fosa_clocks_and_timers.h>
  #include <fosa.h>
  
- int fra_LCD_brightness_init(int lcd);
+ #define PROC_LCD_PATH_1       "/proc/acpi/video/VID/LCD/"
+ #define PROC_LCD_PATH_2       "/proc/acpi/video/VID1/LCD/"
+ #define SYS_LCD_PATH_1        "/sys/class/backlight/acpi_video0/"
  
- int fra_LCD_get_brightness(int lcd, int level, unsigned long *bight);
+ typedef enum lcd_type {
+       NONE = 0,
+       PROC_1 = 1,
+       PROC_2 = 2,
+       SYS_1 = 3,
+       NV = 4
+ } lcd_type_t;
  
- int fra_LCD_set_brightness(int lcd, int level);
+ int fra_LCD_power_init(int lcd);
  
- int fra_LCD_get_level(int lcd, int *level);
+ int fra_LCD_get_power(int lcd, int *level);
+ int fra_LCD_set_power(int lcd, int level);
  
  #endif
Simple merge