Title: [4023] trunk/drivers/input/misc: [#2424] bf53x_pfbusstons: Remove depreciated / obsolete or un-maintained drivers ( will be restored in uClinux-dist/user/blkfin-drvs)
Revision
4023
Author
hennerich
Date
2007-12-11 01:44:21 -0600 (Tue, 11 Dec 2007)

Log Message

[#2424] bf53x_pfbusstons: Remove depreciated / obsolete or un-maintained drivers (will be restored in uClinux-dist/user/blkfin-drvs)

Diffstat

 Kconfig           |    9 
 Makefile          |    1 
 bf53x_pfbuttons.c |  529 ------------------------------------------------------
 3 files changed, 539 deletions(-)

Modified Paths

Removed Paths

Diff

Modified: trunk/drivers/input/misc/Kconfig (4022 => 4023)


--- trunk/drivers/input/misc/Kconfig	2007-12-11 07:38:37 UTC (rev 4022)
+++ trunk/drivers/input/misc/Kconfig	2007-12-11 07:44:21 UTC (rev 4023)
@@ -178,15 +178,6 @@
 	  Say Y here if you want to support the built-in real time clock
 	  of the HP SDC controller.
 
-config BF53X_PFBUTTONS
-	tristate "PF buttons input device"
-	help
-	  Say Y here if you want to support buttons by PF for input
-	  subsystem. Proc interface (read only) - /proc/driver/bf53xPFbuttons.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called bf53x_pfbuttons.
-
 config TWI_KEYPAD
 	tristate "TWI/I2C Keypad input device"
 	depends on I2C && EXPERIMENTAL

Modified: trunk/drivers/input/misc/Makefile (4022 => 4023)


--- trunk/drivers/input/misc/Makefile	2007-12-11 07:38:37 UTC (rev 4022)
+++ trunk/drivers/input/misc/Makefile	2007-12-11 07:44:21 UTC (rev 4023)
@@ -8,7 +8,6 @@
 obj-$(CONFIG_INPUT_PCSPKR)		+= pcspkr.o
 obj-$(CONFIG_INPUT_M68K_BEEP)		+= m68kspkr.o
 obj-$(CONFIG_INPUT_IXP4XX_BEEPER)	+= ixp4xx-beeper.o
-obj-$(CONFIG_BF53X_PFBUTTONS)		+= bf53x_pfbuttons.o
 obj-$(CONFIG_TWI_KEYPAD)		+= twi_keypad.o
 obj-$(CONFIG_INPUT_COBALT_BTNS)		+= cobalt_btns.o
 obj-$(CONFIG_INPUT_WISTRON_BTNS)	+= wistron_btns.o

Deleted: trunk/drivers/input/misc/bf53x_pfbuttons.c (4022 => 4023)


--- trunk/drivers/input/misc/bf53x_pfbuttons.c	2007-12-11 07:38:37 UTC (rev 4022)
+++ trunk/drivers/input/misc/bf53x_pfbuttons.c	2007-12-11 07:44:21 UTC (rev 4023)
@@ -1,529 +0,0 @@
-/*
- * File:         drivers/input/misc/bf53x_pfbuttons.c
- * Based on:
- * Author:       Michele d'Amico
- *
- * Created:
- * Description:
- *
- * Rev:          $Id$
- *
- * Modified:     Copyright 2006 Michele d'Amico
- *               Copyright 2006 Analog Devices Inc.
- *		 Copyright 2007 Michael Hennerich, Analog Devices Inc.
- *
- * Bugs:         Enter bugs at http://blackfin.uclinux.org/
- *
- * This program is free software ;  you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation ;  either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY ;  without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program ;  see the file COPYING.
- * If not, write to the Free Software Foundation,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/input.h>
-#include <linux/major.h>
-#include <asm/uaccess.h>
-#include <asm/blackfin.h>
-#include <asm/irq.h>
-#include <asm/gpio.h>
-#include <linux/delay.h>
-#include <linux/proc_fs.h>
-#include <linux/interrupt.h>
-
-MODULE_AUTHOR("Michele d'Amico <[EMAIL PROTECTED]>");
-MODULE_DESCRIPTION("PFButton input driver");
-MODULE_LICENSE("GPL");
-
-#if defined(CONFIG_BFIN533_TASVOIP)
-#define BUTTONS 4
-#define PF_BUTTON1 11
-#define PF_BUTTON2 12
-#define PF_BUTTON3 13
-#define PF_BUTTON4 14
-
-static unsigned short bf53xPFbuttons_btn_gpios[BUTTONS] = {
-	PF_BUTTON1,
-	PF_BUTTON2,
-	PF_BUTTON3,
-	PF_BUTTON4
-};
-
-static unsigned short bf53xPFbuttons_btncode[BUTTONS] = {
-	(unsigned short)BTN_0,
-	(unsigned short)BTN_1,
-	(unsigned short)BTN_2,
-	(unsigned short)BTN_3
-};
-
-#define LEDS 1
-#define PF_LED1 9
-
-static unsigned short bf53xPFbuttons_led_gpios[LEDS] = {
-	PF_LED1
-};
-
-static unsigned short bf53xPFbuttons_ledcode[LEDS] = {
-	(unsigned short)LED_MISC
-};
-
-#define BELLS 1
-#define PF_BELL1 10
-
-static unsigned short bf53xPFbuttons_snd_gpios[BELLS] = {
-	PF_BELL1
-};
-
-static unsigned short bf53xPFbuttons_sndcode[BELLS] = {
-	(unsigned short)SND_BELL
-};
-
-#elif defined(CONFIG_BFIN533_STAMP)
-#define BUTTONS 3
-#define PF_BUTTON1 5
-#define PF_BUTTON2 6
-#define PF_BUTTON3 8
-
-static unsigned short bf53xPFbuttons_btn_gpios[BUTTONS] = {
-	PF_BUTTON1,
-	PF_BUTTON2,
-	PF_BUTTON3
-};
-
-static unsigned short bf53xPFbuttons_btncode[BUTTONS] = {
-	(unsigned short)BTN_0,
-	(unsigned short)BTN_1,
-	(unsigned short)BTN_2
-};
-
-#define LEDS 3
-#define PF_LED1 2
-#define PF_LED2 3
-#define PF_LED3 4
-
-static unsigned short bf53xPFbuttons_led_gpios[LEDS] = {
-	PF_LED1,
-	PF_LED2,
-	PF_LED3
-};
-
-static unsigned short bf53xPFbuttons_ledcode[LEDS] = {
-	(unsigned short)LED_MISC,
-	(unsigned short)LED_MUTE,
-	(unsigned short)LED_SUSPEND
-};
-
-#define BELLS 0
-
-#define PF_BELLS_MASK 0
-
-#elif defined(CONFIG_BFIN533_EZKIT)
-#define BUTTONS 4
-#define PF_BUTTON1 7
-#define PF_BUTTON2 8
-#define PF_BUTTON3 9
-#define PF_BUTTON4 10
-
-static unsigned short bf53xPFbuttons_btn_gpios[BUTTONS] = {
-	PF_BUTTON1,
-	PF_BUTTON2,
-	PF_BUTTON3,
-	PF_BUTTON4
-};
-
-static unsigned short bf53xPFbuttons_btncode[BUTTONS] = {
-	(unsigned short)BTN_0,
-	(unsigned short)BTN_1,
-	(unsigned short)BTN_2,
-	(unsigned short)BTN_3
-};
-
-/* I don't know where the leds are routed on EZKIT (Michele) */
-#define LEDS 0
-#define PF_LEDS_MASK 0
-
-#define BELLS 0
-#define PF_BELLS_MASK 0
-
-#elif defined(CONFIG_BFIN537_STAMP)
-#define BUTTONS 4
-#define PF_BUTTON1 2
-#define PF_BUTTON2 3
-#define PF_BUTTON3 4
-#define PF_BUTTON4 5
-
-static unsigned short bf53xPFbuttons_btn_gpios[BUTTONS] = {
-	PF_BUTTON1,
-	PF_BUTTON2,
-	PF_BUTTON3,
-	PF_BUTTON4
-};
-
-static unsigned short bf53xPFbuttons_btncode[BUTTONS] = {
-	(unsigned short)BTN_0,
-	(unsigned short)BTN_1,
-	(unsigned short)BTN_2,
-	(unsigned short)BTN_3
-};
-
-#define LEDS 3
-#define PF_LED1 6
-#define PF_LED2 7
-#define PF_LED3 8
-
-static unsigned short bf53xPFbuttons_led_gpios[LEDS] = {
-	PF_LED1,
-	PF_LED2,
-	PF_LED3
-};
-
-static unsigned short bf53xPFbuttons_ledcode[LEDS] = {
-	(unsigned short)LED_MISC,
-	(unsigned short)LED_MUTE,
-	(unsigned short)LED_SUSPEND
-};
-
-#define BELLS 0
-
-#define PF_BELLS_MASK 0
-#else
-#error "ONLY Tasvoip, STAMP and EZKIT are supported"
-#endif
-
-struct bf53xPFbuttons {
-#if BUTTONS
-	unsigned short *btncode;
-	unsigned short *btn_gpios;
-#endif
-#if LEDS
-	unsigned short *ledcode;
-	unsigned short *led_gpios;
-#endif
-#if BELLS
-	unsigned short *sndcode;
-	unsigned short *snd_gpios;
-#endif
-	struct input_dev *dev;
-	char name[64];
-	char phys[32];
-	short laststate[BUTTONS];
-	short statechanged[BUTTONS];
-	unsigned long irq_handled;
-	unsigned long events_sended;
-	unsigned long events_processed;
-};
-
-static irqreturn_t bf53xPFbuttons_irq_handler(int irq, void *dev_id);
-static int bf53xPFbuttons_proc_output(struct bf53xPFbuttons *bf53xPFbuttons,
-				      char *buf);
-static int bf53xPFbuttons_read_proc(char *page, char **start, off_t off,
-				    int count, int *eof, void *data);
-
-static struct bf53xPFbuttons chip = {
-#if BUTTONS
-	.btncode = bf53xPFbuttons_btncode,
-	.btn_gpios = bf53xPFbuttons_btn_gpios,
-#endif
-#if LEDS
-	.ledcode = bf53xPFbuttons_ledcode,
-	.led_gpios = bf53xPFbuttons_led_gpios,
-#endif
-#if BELLS
-	.sndcode = bf53xPFbuttons_sndcode,
-	.snd_gpios = bf53xPFbuttons_snd_gpios,
-#endif
-	.irq_handled = 0,
-	.events_sended = 0,
-	.events_processed = 0,
-};
-
-static irqreturn_t bf53xPFbuttons_irq_handler(int irq, void *dev_id)
-{
-	struct bf53xPFbuttons *bf53xPFbuttons = (struct bf53xPFbuttons *)dev_id;
-
-	u16 i = 0;
-
-	pr_debug("bf53xPFbuttons_irq_handler PF%d\n", (irq - IRQ_PF0));
-
-	while (i < BUTTONS) {
-		if (bf53xPFbuttons->btn_gpios[i] == irq - IRQ_PF0)
-			break;
-		i++;
-	}
-
-	bf53xPFbuttons->statechanged[i] = 1;
-	bf53xPFbuttons->laststate[i] ^= bf53xPFbuttons->statechanged[i];
-
-	input_report_key(bf53xPFbuttons->dev, bf53xPFbuttons->btncode[i],
-			 bf53xPFbuttons->laststate[i] ? 0 : 1);
-	bf53xPFbuttons->events_sended++;
-	input_sync(bf53xPFbuttons->dev);
-
-	bf53xPFbuttons->irq_handled++;
-	return IRQ_HANDLED;
-}
-
-static int bf53xPFbuttons_dev_event(struct input_dev *dev, unsigned int type,
-				    unsigned int code, int value)
-{
-	struct bf53xPFbuttons *bf53xPFbuttons =
-	    (struct bf53xPFbuttons *)dev->private;
-	int i;
-
-	switch (type) {
-
-	case EV_LED:
-#if LEDS
-		for (i = 0; i < LEDS; ++i) {
-			if (bf53xPFbuttons->ledcode[i] == code) {
-				gpio_set_value(bf53xPFbuttons->led_gpios[i],
-					       value);
-				bf53xPFbuttons->events_processed++;
-				return 0;
-			}
-		}
-		break;
-#endif
-	case EV_SND:
-#if BELLS
-		for (i = 0; i < BELLS; ++i) {
-			if (bf53xPFbuttons->sndcode[i] == code) {
-				gpio_set_value(bf53xPFbuttons->snd_gpios[i],
-					       value);
-				bf53xPFbuttons->events_processed++;
-				return 0;
-			}
-		}
-#endif
-		break;
-	}
-
-	return -1;
-}
-
-static void inline bf53xPFbuttons_remove_IRQ(struct bf53xPFbuttons
-					     *bf53xPFbuttons)
-{
-
-	u16 i;
-
-	for (i = 0; i < BUTTONS; i++) {
-		free_irq(IRQ_PF0 + bf53xPFbuttons->btn_gpios[i],
-			 bf53xPFbuttons_irq_handler);
-	}
-
-}
-
-static int inline bf53xPFbuttons_init_IRQ(struct bf53xPFbuttons *bf53xPFbuttons)
-{
-
-	u16 i;
-
-	for (i = 0; i < BUTTONS; i++) {
-		pr_debug("bf53xPFbuttons_init_IRQ PF%d configured\n",
-			 IRQ_PF0 + bf53xPFbuttons->btn_gpios[i]);
-		if (request_irq
-		    (IRQ_PF0 + bf53xPFbuttons->btn_gpios[i],
-		     bf53xPFbuttons_irq_handler,
-		     IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
-		     "bf53xPFbuttons", bf53xPFbuttons)) {
-			/* Rollback */
-			printk(KERN_WARNING
-			       "bf53xPFbuttons: IRQ %d is not free. Roolback to the previos configuration\n",
-			       IRQ_PF0 + i);
-			bf53xPFbuttons_remove_IRQ(bf53xPFbuttons);
-			return -EIO;
-		}
-
-	}
-
-	return 0;
-}
-
-static int bf53xPFbuttons_request_gpio(unsigned short *gpios,
-				       unsigned short nr_gpios)
-{
-	u16 i;
-
-	for (i = 0; i < nr_gpios; i++)
-		if (gpio_request(gpios[i], NULL)) {
-			printk(KERN_WARNING
-			       "bf53xPFbuttons: Failed to request GPIO_%d\n",
-			       gpios[i]);
-		} else {
-			gpio_direction_output(gpios[i]);
-		}
-
-	return 0;
-}
-
-static int bf53xPFbuttons_release_gpio(unsigned short *gpios,
-				       unsigned short nr_gpios)
-{
-	u16 i;
-
-	for (i = 0; i < nr_gpios; i++)
-		gpio_free(gpios[i]);
-
-	return 0;
-}
-
-static int __init bf53xPFbuttons_init(void)
-{
-	struct bf53xPFbuttons *bf53xPFbuttons = &chip;
-	int i;
-	int ret = 0;
-
-	bf53xPFbuttons->dev = input_allocate_device();
-
-	if (!bf53xPFbuttons->dev)
-		return -1;
-
-	bf53xPFbuttons->dev->evbit[0] = 0;
-#if BUTTONS
-	{
-		bf53xPFbuttons->dev->evbit[0] |= BIT(EV_KEY);
-		bf53xPFbuttons->dev->keycode = bf53xPFbuttons->btncode;
-		bf53xPFbuttons->dev->keycodesize =
-		    sizeof(bf53xPFbuttons->btncode);
-		bf53xPFbuttons->dev->keycodemax =
-		    ARRAY_SIZE(bf53xPFbuttons_btncode);
-
-		for (i = 0; i < BUTTONS; i++) {
-			set_bit(bf53xPFbuttons->btncode[i],
-				bf53xPFbuttons->dev->keybit);
-		}
-	}
-#endif
-#if LEDS
-	{
-		bf53xPFbuttons->dev->evbit[0] |= BIT(EV_LED);
-		for (i = 0; i < LEDS; i++) {
-			set_bit(bf53xPFbuttons->ledcode[i],
-				bf53xPFbuttons->dev->ledbit);
-		}
-	}
-#endif
-#if BELLS
-	{
-		bf53xPFbuttons->dev->evbit[0] |= BIT(EV_SND);
-		for (i = 0; i < BELLS; i++) {
-			set_bit(bf53xPFbuttons->sndcode[i],
-				bf53xPFbuttons->dev->sndbit);
-		}
-	}
-#endif
-
-	if (LEDS || BELLS) {
-		bf53xPFbuttons->dev->event = bf53xPFbuttons_dev_event;
-		bf53xPFbuttons->dev->private = bf53xPFbuttons;
-	}
-
-	sprintf(bf53xPFbuttons->name, "BF5xx PFButtons");
-	sprintf(bf53xPFbuttons->phys, "pfbuttons/input0");
-	bf53xPFbuttons->dev->name = bf53xPFbuttons->name;
-	bf53xPFbuttons->dev->phys = bf53xPFbuttons->phys;
-	bf53xPFbuttons->dev->id.bustype = BUS_HOST;
-	bf53xPFbuttons->dev->id.vendor = 0x0001;
-	bf53xPFbuttons->dev->id.product = 0x0001;
-	bf53xPFbuttons->dev->id.version = 0x0100;
-
-	input_register_device(bf53xPFbuttons->dev);
-
-	printk(KERN_INFO "input: %s at %s\n", bf53xPFbuttons->name,
-	       bf53xPFbuttons->dev->phys);
-
-	create_proc_read_entry("driver/bf53xPFbuttons", 0, 0,
-			       bf53xPFbuttons_read_proc, bf53xPFbuttons);
-
-#if LEDS
-	bf53xPFbuttons_request_gpio(bf53xPFbuttons->led_gpios, LEDS);
-#endif
-
-#if BELLS
-	bf53xPFbuttons_request_gpio(bf53xPFbuttons->snd_gpios, BELLS);
-#endif
-
-#if BUTTONS
-
-	ret = bf53xPFbuttons_init_IRQ(bf53xPFbuttons);
-
-#endif	 /*BUTTONS*/
-	    pr_debug("bf53xPFbuttons_init IRQ restored\n");
-	return ret;
-}
-
-void __exit bf53xPFbuttons_exit(void)
-{
-	struct bf53xPFbuttons *bf53xPFbuttons = &chip;
-
-#if LEDS
-	bf53xPFbuttons_release_gpio(bf53xPFbuttons->led_gpios, LEDS);
-#endif
-
-#if BELLS
-	bf53xPFbuttons_release_gpio(bf53xPFbuttons->snd_gpios, BELLS);
-#endif
-
-	bf53xPFbuttons_remove_IRQ(bf53xPFbuttons);
-	input_free_device(bf53xPFbuttons->dev);
-	remove_proc_entry("driver/bf53xPFbuttons", NULL);
-}
-
-module_init(bf53xPFbuttons_init);
-module_exit(bf53xPFbuttons_exit);
-
-/*
- * Info exported via "/proc/driver/bf53xPFbuttons".
- * TODO: convert this to debugfs
- */
-static int bf53xPFbuttons_proc_output(struct bf53xPFbuttons *bf53xPFbuttons,
-				      char *buf)
-{
-	char *p;
-	u16 i;
-	p = buf;
-
-	p += sprintf(p, "PIN\t:DATA DIR INEN EDGE BOTH POLAR MASKA MASKB\n");
-	p += sprintf(p, "   \t:H/L  O/I D/E  E/L  B/S   L/H   S/C   S/C\n");
-	for (i = 0; i < MAX_BLACKFIN_GPIOS; i++)
-		p += sprintf(p,
-			     "PF%d\t: %d....%d....%d....%d....%d....%d.....%d.....%d \n",
-			     i, get_gpio_data(i), get_gpio_dir(i),
-			     get_gpio_inen(i), get_gpio_edge(i),
-			     get_gpio_both(i), get_gpio_polar(i),
-			     get_gpio_maska(i), get_gpio_maskb(i));
-	p += sprintf(p,
-		     "Interrupt: %ld\nEvents sended: %ld\nEvents processed: %ld\n",
-		     bf53xPFbuttons->irq_handled, bf53xPFbuttons->events_sended,
-		     bf53xPFbuttons->events_processed);
-
-	return p - buf;
-}
-
-static int bf53xPFbuttons_read_proc(char *page, char **start, off_t off,
-				    int count, int *eof, void *data)
-{
-	struct bf53xPFbuttons *bf53xPFbuttons = (struct bf53xPFbuttons *)data;
-	int len = bf53xPFbuttons_proc_output(bf53xPFbuttons, page);
-	if (len <= off + count)
-		*eof = 1;
-	*start = page + off;
-	len -= off;
-	if (len > count)
-		len = count;
-	if (len < 0)
-		len = 0;
-	return len;
-}
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to