summaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/files-2.6.26/include
diff options
context:
space:
mode:
authorkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-06-02 08:22:56 +0000
committerkaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-06-02 08:22:56 +0000
commit8540d5d19ebac6a3f30d82f36ff33f19d728f10b (patch)
treea3141c916b391658ab197350ee398aace4ad9f35 /target/linux/generic-2.6/files-2.6.26/include
parentd2cb36d9c515ecd3f94864082cfe86f75796eeaf (diff)
add generic 2.6.26 patches/files
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11323 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.6/files-2.6.26/include')
-rw-r--r--target/linux/generic-2.6/files-2.6.26/include/linux/gpio_buttons.h35
-rw-r--r--target/linux/generic-2.6/files-2.6.26/include/linux/gpio_dev.h11
-rw-r--r--target/linux/generic-2.6/files-2.6.26/include/linux/spi/spi_gpio.h53
3 files changed, 99 insertions, 0 deletions
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 <juhosg at openwrt.org>
+ *
+ * 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 <linux/types.h>
+#include <linux/spi/spi.h>
+
+
+/** 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 */