From 8540d5d19ebac6a3f30d82f36ff33f19d728f10b Mon Sep 17 00:00:00 2001 From: kaloz Date: Mon, 2 Jun 2008 08:22:56 +0000 Subject: add generic 2.6.26 patches/files git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11323 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../files-2.6.26/include/linux/gpio_buttons.h | 35 ++++++++++++++ .../files-2.6.26/include/linux/gpio_dev.h | 11 +++++ .../files-2.6.26/include/linux/spi/spi_gpio.h | 53 ++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 target/linux/generic-2.6/files-2.6.26/include/linux/gpio_buttons.h create mode 100644 target/linux/generic-2.6/files-2.6.26/include/linux/gpio_dev.h create mode 100644 target/linux/generic-2.6/files-2.6.26/include/linux/spi/spi_gpio.h (limited to 'target/linux/generic-2.6/files-2.6.26/include') diff --git a/target/linux/generic-2.6/files-2.6.26/include/linux/gpio_buttons.h b/target/linux/generic-2.6/files-2.6.26/include/linux/gpio_buttons.h new file mode 100644 index 000000000..f5e629725 --- /dev/null +++ b/target/linux/generic-2.6/files-2.6.26/include/linux/gpio_buttons.h @@ -0,0 +1,35 @@ +/* + * Definitions for the GPIO buttons interface driver + * + * Copyright (C) 2007,2008 Gabor Juhos + * + * This file was based on: /include/linux/gpio_keys.h + * The original gpio_keys.h seems not to have a license. + * + * 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_BUTTONS_H_ +#define _GPIO_BUTTONS_H_ + +struct gpio_button { + int gpio; /* GPIO line number */ + int active_low; + char *desc; /* button description */ + int type; /* input event type (EV_KEY, EV_SW) */ + int code; /* input event code (KEY_*, SW_*) */ + int count; + int threshold; /* count threshold */ +}; + +struct gpio_buttons_platform_data { + struct gpio_button *buttons; + int nbuttons; /* number of buttons */ + int poll_interval; /* polling interval */ +}; + +#endif /* _GPIO_BUTTONS_H_ */ + diff --git a/target/linux/generic-2.6/files-2.6.26/include/linux/gpio_dev.h b/target/linux/generic-2.6/files-2.6.26/include/linux/gpio_dev.h new file mode 100644 index 000000000..3f3c9c772 --- /dev/null +++ b/target/linux/generic-2.6/files-2.6.26/include/linux/gpio_dev.h @@ -0,0 +1,11 @@ +#ifndef _GPIODEV_H__ +#define _GPIODEV_H__ + +#define IOC_GPIODEV_MAGIC 'B' +#define GPIO_GET _IO(IOC_GPIODEV_MAGIC, 10) +#define GPIO_SET _IO(IOC_GPIODEV_MAGIC, 11) +#define GPIO_CLEAR _IO(IOC_GPIODEV_MAGIC, 12) +#define GPIO_DIR_IN _IO(IOC_GPIODEV_MAGIC, 13) +#define GPIO_DIR_OUT _IO(IOC_GPIODEV_MAGIC, 14) + +#endif diff --git a/target/linux/generic-2.6/files-2.6.26/include/linux/spi/spi_gpio.h b/target/linux/generic-2.6/files-2.6.26/include/linux/spi/spi_gpio.h new file mode 100644 index 000000000..8e7d4b189 --- /dev/null +++ b/target/linux/generic-2.6/files-2.6.26/include/linux/spi/spi_gpio.h @@ -0,0 +1,53 @@ +/* + * spi_gpio interface to platform code + * + * Copyright (c) 2008 Piotr Skamruk + * + * 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 _LINUX_SPI_SPI_GPIO +#define _LINUX_SPI_SPI_GPIO + +#include +#include + + +/** struct spi_gpio_platform_data - Data definitions for a SPI-GPIO device. + * This structure holds information about a GPIO-based SPI device. + * + * @pin_clk: The GPIO pin number of the CLOCK pin. + * + * @pin_miso: The GPIO pin number of the MISO pin. + * + * @pin_mosi: The GPIO pin number of the MOSI pin. + * + * @pin_cs: The GPIO pin number of the CHIPSELECT pin. + * + * @cs_activelow: If true, the chip is selected when the CS line is low. + * + * @no_spi_delay: If true, no delay is done in the lowlevel bitbanging. + * Note that doing no delay is not standards compliant, + * but it might be needed to speed up transfers on some + * slow embedded machines. + * + * @boardinfo_setup: This callback is called after the + * SPI master device was registered, but before the + * device is registered. + * @boardinfo_setup_data: Data argument passed to boardinfo_setup(). + */ +struct spi_gpio_platform_data { + unsigned int pin_clk; + unsigned int pin_miso; + unsigned int pin_mosi; + unsigned int pin_cs; + bool cs_activelow; + bool no_spi_delay; + int (*boardinfo_setup)(struct spi_board_info *bi, + struct spi_master *master, + void *data); + void *boardinfo_setup_data; +}; + +#endif /* _LINUX_SPI_SPI_GPIO */ -- cgit v1.2.3