X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fbeaglelogic%2Fbeaglelogic_native.c;h=af5e650f30dbdb89ef034a6d5f96d31e0ae6616c;hb=5dfa77b54a45b7a767b03c4dce41ea41e62816eb;hp=92caa4dd1ce34e823b0cd38e6176b38fa6c823d6;hpb=a31010b3e4222c4d1c404c1f3d0a7c2d09e0cfd5;p=libsigrok.git diff --git a/src/hardware/beaglelogic/beaglelogic_native.c b/src/hardware/beaglelogic/beaglelogic_native.c index 92caa4dd..af5e650f 100644 --- a/src/hardware/beaglelogic/beaglelogic_native.c +++ b/src/hardware/beaglelogic/beaglelogic_native.c @@ -1,7 +1,7 @@ /* * This file is part of the libsigrok project. * - * Copyright (C) 2014-17 Kumar Abhishek + * Copyright (C) 2014-2017 Kumar Abhishek * * 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 @@ -23,7 +23,8 @@ 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) @@ -45,8 +46,10 @@ static int beaglelogic_set_buffersize(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; } @@ -85,10 +88,12 @@ 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; @@ -120,7 +125,8 @@ static int beaglelogic_mmap(struct dev_context *devc) 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)