Pointer arithmetic should not be done on void pointers.
circ_buf.c: In function ‘circ_read’:
circ_buf.c:104:25: warning: pointer of type ‘void *’ used in subtraction [-Wpointer-arith]
104 | return (void*)p - buf;
| ^
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Code should avoid comparing signed and unsigned integers, because of
implicit case.
circ_buf.c: In function ‘circ_fill’:
circ_buf.c:69:20: warning: comparison of integer expressions of different signedness: ‘ssize_t’ {aka ‘long int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
69 | } while (n != space);
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Pointer arithmetic should not be done on void pointers.
cdba.c: In function ‘fastboot_work_fn’:
cdba.c:377:38: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
377 | memcpy(msg->data, work->data + work->offset, left);
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Pointer arithmetic should not be done on void pointers.
fastboot.c:223:37: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
223 | ptr += USB_DT_SS_EP_COMP_SIZE;
| ^~
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fixes:
ftdi-gpio.c: In function ‘ftdi_gpio_parse_config’:
ftdi-gpio.c:146:58: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘unsigned int’ [-Wformat=]
146 | errx(1, "GPIOs offset invalid: '%d'", gpio_offset);
| ~^ ~~~~~~~~~~~
| | |
| int unsigned int
| %d
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fixes:
ftdi-gpio.c: In function ‘ftdi_gpio_open’:
ftdi-gpio.c:190:9: warning: implicit declaration of function ‘usleep’ [-Wimplicit-function-declaration]
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Correct parsing of 'B' interface name from config and also fix:
ftdi-gpio.c: In function ‘ftdi_gpio_parse_config’:
ftdi-gpio.c:104:31: warning: logical ‘and’ of equal expressions [-Wlogical-op]
104 | if (*interface != 'A' &&
| ^~
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Add Continuous Integration using Github actions, re-using similar setup
from linux-nfc/neard [1] (dropped Alpine, Ubuntu i386, sanitizers and
few others action steps). Since I copied most files, I retained all
original copyrights.
The CI will build cdba for several different distros and architectures.
[1] https://github.com/linux-nfc/neard
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This permits driving a board controlled by GPIOs on an FTDI
interface.
Also add a sample 99-libftdi.rules to permit using the FTDI device.
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Introduce some scripts to allow storing users public keys in a git and
some hooks such that when this is pushed to the server the
authorized_keys file is re-generated.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Notify users of cdba-server when fastboot connection is opened to ease
remote debugging of issues.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Transfering the image to cdba server takes time (especially when working
with over the network). Notify users before actually booting the board
to ease detecting early boot issues.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Opening the lock files fails on one of my boards if the files exists and
are owned by someone else, if O_CREAT is set. This doesn't make sense,
but hack around it for now by first creating the file if it's not there,
ignoring any errors and then just opening it O_RDONLY.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
For debug purposes it's useful to install a user-local version of the
cdba-server and invoke this instead, rather then having to change the
code add a flag to support specifying this on the command line.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
For some reason the SC8180x Primus often fails to detect the attached
USB stick if USB is toggled as part of a power cycle, so let's continue
to support the property of not toggling it.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
In the case that we quit without actually having opened a device this
would dereference a NULL pointer, so check the device before doing so.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Allow the control device to implement things such as flushing the
command buffer as part of the close operation. This used to be done to
ensure that any lingering power/usb off requests really where sent to
the device as we closed the control tty.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
The fastboot_key function is no longer used, drop the remains in the
alpaca implementation.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
As cdba-server exits it turns off power, which used to cut VBUS as well,
but since the refactoring only cuts power. Reintroduce the VBUS toggle
to ensure the device doesn't stay powered through USB after use.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
The power key dance is useful outside of alpaca, move it to device and
modify the device interface to better suite this.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Squash the power_on and power_off into a single "power" function, to
harmonize the code wrt the USB handling.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>