OSDN Git Service

Merge branch 'lineage-16.0' of https://github.com/me176c-dev/android_hardware_iio...
[android-x86/hardware-intel-libsensors.git] / description.c
index e001671..60a0b1e 100644 (file)
@@ -482,6 +482,7 @@ int sensor_get_order (int s, unsigned char map[MAX_CHANNELS])
 int sensor_get_available_frequencies (int s)
 {
        int dev_num = sensor[s].dev_num, err, i;
+       const char *prefix = sensor_catalog[sensor[s].catalog_index].tag;
        char avail_sysfs_path[PATH_MAX], freqs_buf[100];
        char *p, *end;
        float f;
@@ -492,8 +493,12 @@ int sensor_get_available_frequencies (int s)
        sprintf(avail_sysfs_path, DEVICE_AVAIL_FREQ_PATH, dev_num);
 
        err = sysfs_read_str(avail_sysfs_path, freqs_buf, sizeof(freqs_buf));
-       if (err < 0)
-               return 0;
+       if (err < 0) {
+               sprintf(avail_sysfs_path, SENSOR_AVAIL_FREQ_PATH, dev_num, prefix);
+               err = sysfs_read_str(avail_sysfs_path, freqs_buf, sizeof(freqs_buf));
+               if (err < 0)
+                       return 0;
+       }
 
        for (p = freqs_buf, f = strtof(p, &end); p != end; p = end, f = strtof(p, &end))
                sensor[s].avail_freqs_count++;
@@ -660,7 +665,7 @@ static int get_cdd_freq (int s, int must)
  */
 max_delay_t sensor_get_max_delay (int s)
 {
-       int dev_num = sensor[s].dev_num, i;
+       int i;
        float min_supported_rate;
        float rate_cap;
 
@@ -738,7 +743,7 @@ float sensor_get_max_static_freq(int s)
 
 int32_t sensor_get_min_delay (int s)
 {
-       int dev_num = sensor[s].dev_num, i;
+       int i;
        float max_supported_rate = 0;
        float max_from_prop = sensor_get_max_freq(s);