diff options
author | Florian Fainelli <florian@openwrt.org> | 2009-04-24 14:35:19 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2009-04-24 14:35:19 +0000 |
commit | 08e832b7f8ec1018b39eb8e8bc7cddc37c461155 (patch) | |
tree | fff548c19736b6ba88806ca170c45f245f905bbc /target/linux/generic-2.6/patches-2.6.24/922-w1_gpio_driver_backport.patch | |
parent | 7477ccec2848a590bbfe8cd091a08fed2ea357f0 (diff) | |
download | master-187ad058-08e832b7f8ec1018b39eb8e8bc7cddc37c461155.tar.gz master-187ad058-08e832b7f8ec1018b39eb8e8bc7cddc37c461155.tar.bz2 master-187ad058-08e832b7f8ec1018b39eb8e8bc7cddc37c461155.zip |
[kernel] remove 2.6.24, no target is relying on it
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15388 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.24/922-w1_gpio_driver_backport.patch')
-rw-r--r-- | target/linux/generic-2.6/patches-2.6.24/922-w1_gpio_driver_backport.patch | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.24/922-w1_gpio_driver_backport.patch b/target/linux/generic-2.6/patches-2.6.24/922-w1_gpio_driver_backport.patch deleted file mode 100644 index dc5aadfbcf..0000000000 --- a/target/linux/generic-2.6/patches-2.6.24/922-w1_gpio_driver_backport.patch +++ /dev/null @@ -1,178 +0,0 @@ ---- a/drivers/w1/masters/Kconfig -+++ b/drivers/w1/masters/Kconfig -@@ -42,5 +42,15 @@ config W1_MASTER_DS1WM - in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like - hx4700. - -+config W1_MASTER_GPIO -+ tristate "GPIO 1-wire busmaster" -+ depends on GENERIC_GPIO -+ help -+ Say Y here if you want to communicate with your 1-wire devices using -+ GPIO pins. This driver uses the GPIO API to control the wire. -+ -+ This support is also available as a module. If so, the module -+ will be called w1-gpio.ko. -+ - endmenu - ---- a/drivers/w1/masters/Makefile -+++ b/drivers/w1/masters/Makefile -@@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_MATROX) += matro - obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o - obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o - obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o -+obj-$(CONFIG_W1_MASTER_GPIO) += w1-gpio.o ---- /dev/null -+++ b/drivers/w1/masters/w1-gpio.c -@@ -0,0 +1,124 @@ -+/* -+ * w1-gpio - GPIO w1 bus master driver -+ * -+ * Copyright (C) 2007 Ville Syrjala <syrjala@sci.fi> -+ * -+ * 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 <linux/init.h> -+#include <linux/module.h> -+#include <linux/platform_device.h> -+#include <linux/w1-gpio.h> -+ -+#include "../w1.h" -+#include "../w1_int.h" -+ -+#include <asm/gpio.h> -+ -+static void w1_gpio_write_bit_dir(void *data, u8 bit) -+{ -+ struct w1_gpio_platform_data *pdata = data; -+ -+ if (bit) -+ gpio_direction_input(pdata->pin); -+ else -+ gpio_direction_output(pdata->pin, 0); -+} -+ -+static void w1_gpio_write_bit_val(void *data, u8 bit) -+{ -+ struct w1_gpio_platform_data *pdata = data; -+ -+ gpio_set_value(pdata->pin, bit); -+} -+ -+static u8 w1_gpio_read_bit(void *data) -+{ -+ struct w1_gpio_platform_data *pdata = data; -+ -+ return gpio_get_value(pdata->pin); -+} -+ -+static int __init w1_gpio_probe(struct platform_device *pdev) -+{ -+ struct w1_bus_master *master; -+ struct w1_gpio_platform_data *pdata = pdev->dev.platform_data; -+ int err; -+ -+ if (!pdata) -+ return -ENXIO; -+ -+ master = kzalloc(sizeof(struct w1_bus_master), GFP_KERNEL); -+ if (!master) -+ return -ENOMEM; -+ -+ err = gpio_request(pdata->pin, "w1"); -+ if (err) -+ goto free_master; -+ -+ master->data = pdata; -+ master->read_bit = w1_gpio_read_bit; -+ -+ if (pdata->is_open_drain) { -+ gpio_direction_output(pdata->pin, 1); -+ master->write_bit = w1_gpio_write_bit_val; -+ } else { -+ gpio_direction_input(pdata->pin); -+ master->write_bit = w1_gpio_write_bit_dir; -+ } -+ -+ err = w1_add_master_device(master); -+ if (err) -+ goto free_gpio; -+ -+ platform_set_drvdata(pdev, master); -+ -+ return 0; -+ -+ free_gpio: -+ gpio_free(pdata->pin); -+ free_master: -+ kfree(master); -+ -+ return err; -+} -+ -+static int __exit w1_gpio_remove(struct platform_device *pdev) -+{ -+ struct w1_bus_master *master = platform_get_drvdata(pdev); -+ struct w1_gpio_platform_data *pdata = pdev->dev.platform_data; -+ -+ w1_remove_master_device(master); -+ gpio_free(pdata->pin); -+ kfree(master); -+ -+ return 0; -+} -+ -+static struct platform_driver w1_gpio_driver = { -+ .driver = { -+ .name = "w1-gpio", -+ .owner = THIS_MODULE, -+ }, -+ .remove = __exit_p(w1_gpio_remove), -+}; -+ -+static int __init w1_gpio_init(void) -+{ -+ return platform_driver_probe(&w1_gpio_driver, w1_gpio_probe); -+} -+ -+static void __exit w1_gpio_exit(void) -+{ -+ platform_driver_unregister(&w1_gpio_driver); -+} -+ -+module_init(w1_gpio_init); -+module_exit(w1_gpio_exit); -+ -+MODULE_DESCRIPTION("GPIO w1 bus master driver"); -+MODULE_AUTHOR("Ville Syrjala <syrjala@sci.fi>"); -+MODULE_LICENSE("GPL"); ---- /dev/null -+++ b/include/linux/w1-gpio.h -@@ -0,0 +1,23 @@ -+/* -+ * w1-gpio interface to platform code -+ * -+ * Copyright (C) 2007 Ville Syrjala <syrjala@sci.fi> -+ * -+ * 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_W1_GPIO_H -+#define _LINUX_W1_GPIO_H -+ -+/** -+ * struct w1_gpio_platform_data - Platform-dependent data for w1-gpio -+ * @pin: GPIO pin to use -+ * @is_open_drain: GPIO pin is configured as open drain -+ */ -+struct w1_gpio_platform_data { -+ unsigned int pin; -+ unsigned int is_open_drain:1; -+}; -+ -+#endif /* _LINUX_W1_GPIO_H */ |