Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d591c46 authored by Linus Walleij's avatar Linus Walleij
Browse files

tools/gpio: create GPIO tools



This creates GPIO tools under tools/gpio/* and adds a single
example program to list the GPIOs on a system. When proper
devices are created it provides this minimal output:

Cc: Johan Hovold <johan@kernel.org>
Cc: Michael Welling <mwelling@ieee.org>
Cc: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 3c702e99
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4820,6 +4820,7 @@ F: include/linux/gpio/
F:	include/linux/gpio.h
F:	include/asm-generic/gpio.h
F:	include/uapi/linux/gpio.h
F:	tools/gpio/

GRE DEMULTIPLEXER DRIVER
M:	Dmitry Kozlov <xeb@mail.ru>
+5 −3
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ help:
	@echo '  cpupower               - a tool for all things x86 CPU power'
	@echo '  firewire               - the userspace part of nosy, an IEEE-1394 traffic sniffer'
	@echo '  freefall               - laptop accelerometer program for disk protection'
	@echo '  gpio                   - GPIO tools'
	@echo '  hv                     - tools used when in Hyper-V clients'
	@echo '  iio                    - IIO tools'
	@echo '  lguest                 - a minimal 32-bit x86 hypervisor'
@@ -53,7 +54,7 @@ acpi: FORCE
cpupower: FORCE
	$(call descend,power/$@)

cgroup firewire hv guest spi usb virtio vm net iio: FORCE
cgroup firewire hv guest spi usb virtio vm net iio gpio: FORCE
	$(call descend,$@)

liblockdep: FORCE
@@ -119,7 +120,7 @@ acpi_clean:
cpupower_clean:
	$(call descend,power/cpupower,clean)

cgroup_clean hv_clean firewire_clean lguest_clean spi_clean usb_clean virtio_clean vm_clean net_clean iio_clean:
cgroup_clean hv_clean firewire_clean lguest_clean spi_clean usb_clean virtio_clean vm_clean net_clean iio_clean gpio_clean:
	$(call descend,$(@:_clean=),clean)

liblockdep_clean:
@@ -155,6 +156,7 @@ build_clean:
clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean lguest_clean \
		perf_clean selftests_clean turbostat_clean spi_clean usb_clean virtio_clean \
		vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
		freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean
		freefall_clean build_clean libbpf_clean libsubcmd_clean liblockdep_clean \
		gpio_clean

.PHONY: FORCE

tools/gpio/Makefile

0 → 100644
+12 −0
Original line number Diff line number Diff line
CC = $(CROSS_COMPILE)gcc
CFLAGS += -Wall -g -D_GNU_SOURCE

all: lsgpio

lsgpio: lsgpio.o gpio-utils.o

%.o: %.c gpio-utils.h

.PHONY: clean
clean:
	rm -f *.o lsgpio
+11 −0
Original line number Diff line number Diff line
/*
 * GPIO tools - helpers library for the GPIO tools
 *
 * Copyright (C) 2015 Linus Walleij
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published by
 * the Free Software Foundation.
 */

#include "gpio-utils.h"
+25 −0
Original line number Diff line number Diff line
/*
 * GPIO tools - utility helpers library for the GPIO tools
 *
 * Copyright (C) 2015 Linus Walleij
 *
 * Portions copied from iio_utils and lssio:
 * Copyright (c) 2010 Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
 * Copyright (c) 2008 Jonathan Cameron
 * *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published by
 * the Free Software Foundation.
 */
#ifndef _GPIO_UTILS_H_
#define _GPIO_UTILS_H_

#include <string.h>

static inline int check_prefix(const char *str, const char *prefix)
{
	return strlen(str) > strlen(prefix) &&
		strncmp(str, prefix, strlen(prefix)) == 0;
}

#endif /* _GPIO_UTILS_H_ */
Loading