]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/beaglelogic/beaglelogic_native.c
scpi-pps: Add support for Owon P4000 series.
[libsigrok.git] / src / hardware / beaglelogic / beaglelogic_native.c
index b907b1cdc4f09458904367526ac5e9458c9eafad..af5e650f30dbdb89ef034a6d5f96d31e0ae6616c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the libsigrok project.
  *
- * Copyright (C) 20142017 Kumar Abhishek <abhishek@theembeddedkitchen.net>
+ * Copyright (C) 2014-2017 Kumar Abhishek <abhishek@theembeddedkitchen.net>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #include "protocol.h"
 #include "beaglelogic.h"
 
-static int beaglelogic_open_nonblock(struct dev_context *devc) {
+static int beaglelogic_open_nonblock(struct dev_context *devc)
+{
        devc->fd = open(BEAGLELOGIC_DEV_NODE, O_RDONLY | O_NONBLOCK);
-       return (devc->fd == -1 ? SR_ERR : SR_OK);
+
+       return ((devc->fd == -1) ? SR_ERR : SR_OK);
 }
 
-static int beaglelogic_close(struct dev_context *devc) {
+static int beaglelogic_close(struct dev_context *devc)
+{
        return close(devc->fd);
 }
 
-static int beaglelogic_get_buffersize(struct dev_context *devc) {
+static int beaglelogic_get_buffersize(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_GET_BUFFER_SIZE, &devc->buffersize);
 }
 
-static int beaglelogic_set_buffersize(struct dev_context *devc) {
+static int beaglelogic_set_buffersize(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_SET_BUFFER_SIZE, devc->buffersize);
 }
 
 /* This is treated differently as it gets a uint64_t while a uint32_t is read */
-static int beaglelogic_get_samplerate(struct dev_context *devc) {
+static int beaglelogic_get_samplerate(struct dev_context *devc)
+{
        uint32_t arg, err;
+
        err = ioctl(devc->fd, IOCTL_BL_GET_SAMPLE_RATE, &arg);
        devc->cur_samplerate = arg;
+
        return err;
 }
 
-static int beaglelogic_set_samplerate(struct dev_context *devc) {
+static int beaglelogic_set_samplerate(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_SET_SAMPLE_RATE,
                        (uint32_t)devc->cur_samplerate);
 }
 
-static int beaglelogic_get_sampleunit(struct dev_context *devc) {
+static int beaglelogic_get_sampleunit(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_GET_SAMPLE_UNIT, &devc->sampleunit);
 }
 
-static int beaglelogic_set_sampleunit(struct dev_context *devc) {
+static int beaglelogic_set_sampleunit(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_SET_SAMPLE_UNIT, devc->sampleunit);
 }
 
-static int beaglelogic_get_triggerflags(struct dev_context *devc) {
+static int beaglelogic_get_triggerflags(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_GET_TRIGGER_FLAGS, &devc->triggerflags);
 }
 
-static int beaglelogic_set_triggerflags(struct dev_context *devc) {
+static int beaglelogic_set_triggerflags(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_SET_TRIGGER_FLAGS, devc->triggerflags);
 }
 
-static int beaglelogic_get_lasterror(struct dev_context *devc) {
+static int beaglelogic_get_lasterror(struct dev_context *devc)
+{
        int fd;
        char buf[16];
        int ret;
@@ -74,40 +88,49 @@ static int beaglelogic_get_lasterror(struct dev_context *devc) {
        if ((fd = open(BEAGLELOGIC_SYSFS_ATTR(lasterror), O_RDONLY)) == -1)
                return SR_ERR;
 
-       if ((ret = read(fd, buf, 16)) < 0)
+       ret = read(fd, buf, 16);
+       close(fd);
+
+       if (ret)
                return SR_ERR;
 
-       close(fd);
        devc->last_error = strtoul(buf, NULL, 10);
 
        return SR_OK;
 }
 
-static int beaglelogic_start(struct dev_context *devc) {
+static int beaglelogic_start(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_START);
 }
 
-static int beaglelogic_stop(struct dev_context *devc) {
+static int beaglelogic_stop(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_STOP);
 }
 
-static int beaglelogic_get_bufunitsize(struct dev_context *devc) {
+static int beaglelogic_get_bufunitsize(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_GET_BUFUNIT_SIZE, &devc->bufunitsize);
 }
 
-static int beaglelogic_set_bufunitsize(struct dev_context *devc) {
+static int beaglelogic_set_bufunitsize(struct dev_context *devc)
+{
        return ioctl(devc->fd, IOCTL_BL_SET_BUFUNIT_SIZE, devc->bufunitsize);
 }
 
-static int beaglelogic_mmap(struct dev_context *devc) {
+static int beaglelogic_mmap(struct dev_context *devc)
+{
        if (!devc->buffersize)
                beaglelogic_get_buffersize(devc);
        devc->sample_buf = mmap(NULL, devc->buffersize,
                        PROT_READ, MAP_SHARED, devc->fd, 0);
-       return (devc->sample_buf == MAP_FAILED ? -1 : SR_OK);
+
+       return ((devc->sample_buf == MAP_FAILED) ? -1 : SR_OK);
 }
 
-static int beaglelogic_munmap(struct dev_context *devc) {
+static int beaglelogic_munmap(struct dev_context *devc)
+{
        return munmap(devc->sample_buf, devc->buffersize);
 }