OSDN Git Service

Add missing include of linux/iio/types.h
[android-x86/hardware-intel-libsensors.git] / control.c
index 1a5cd4d..c36085e 100644 (file)
--- a/control.c
+++ b/control.c
@@ -1,6 +1,18 @@
 /*
- * Copyright (C) 2014-2015 Intel Corporation.
- */
+// Copyright (c) 2015 Intel Corporation
+//
+// 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 <stdlib.h>
 #include <ctype.h>
 #include "calibration.h"
 #include "description.h"
 #include "filtering.h"
+#ifndef __NO_EVENTS__
 #include <linux/iio/events.h>
+#include <linux/iio/types.h>
+#endif
+#include <errno.h>
+
 /* Currently active sensors count, per device */
 static int poll_sensors_per_dev[MAX_DEVICES];          /* poll-mode sensors                            */
 static int trig_sensors_per_dev[MAX_DEVICES];          /* trigger, event based                         */
@@ -1093,6 +1110,9 @@ int sensor_activate (int s, int enabled, int from_virtual)
                        }
 
                        /* Note: poll-mode fds are not readable */
+#ifdef __NO_EVENTS__
+               }
+#else
                } else if (sensor[s].mode == MODE_EVENT) {
                        event_fd = events_fd[dev_num];
 
@@ -1124,6 +1144,7 @@ int sensor_activate (int s, int enabled, int from_virtual)
                                device_fd[dev_num] = -1;
                        }
                }
+#endif
        }
 
        /* Ensure that on-change sensors send at least one event after enable */
@@ -1301,6 +1322,7 @@ static int integrate_device_report_from_dev(int dev_num, int fd)
        return 0;
 }
 
+#ifndef __NO_EVENTS__
 static int integrate_device_report_from_event(int dev_num, int fd)
 {
        int len, s;
@@ -1339,6 +1361,7 @@ static int integrate_device_report_from_event(int dev_num, int fd)
                }
        return 0;
 }
+#endif
 
 static int integrate_device_report(int dev_num)
 {
@@ -1349,11 +1372,13 @@ static int integrate_device_report(int dev_num)
                return -1;
        }
 
+#ifndef __NO_EVENTS__
        if (events_fd[dev_num] != -1) {
                ret = integrate_device_report_from_event(dev_num, events_fd[dev_num]);
                if (ret < 0)
                        return ret;
        }
+#endif
 
        if (device_fd[dev_num] != -1)
                ret = integrate_device_report_from_dev(dev_num, device_fd[dev_num]);
@@ -1407,6 +1432,7 @@ static int propagate_sensor_report (int s, sensors_event_t *data)
        data->type      = sensor_desc[s].type;  /* sensor_desc[s].type can differ from sensor[s].type ; internal types are remapped */
        data->timestamp = sensor[s].report_ts;
 
+#ifndef __NO_EVENTS__
        if (sensor[s].mode == MODE_EVENT) {
                ALOGV("Reporting event\n");
                /* Android requires events to return 1.0 */
@@ -1427,6 +1453,7 @@ static int propagate_sensor_report (int s, sensors_event_t *data)
                data->data[2] = 0.0;
                return 1;
        }
+#endif
 
        /* Convert the data into the expected Android-level format */