aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2012-09-19 09:39:59 -0500
committerJohn Rigby <john.rigby@linaro.org>2012-11-14 18:19:38 -0700
commitfe3c60f34d68a9b7033f547376f60ffc02b512e6 (patch)
treef4a4acc6c03972a29dc2e4a5764aeea64bfeacc3
parent7bbe8f7b282f2ecb458ad45cd039e63153105a1a (diff)
Revert "UBUNTU: SAUCE: input: add a key driver for highbank"
BugLink: http://launchpad.net/bugs/1059432 This reverts commit 89d449c58bc84b6a0696cc79389eb1731e904e6e. Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-rw-r--r--arch/arm/boot/dts/highbank.dts4
-rw-r--r--drivers/input/keyboard/Kconfig11
-rw-r--r--drivers/input/keyboard/Makefile1
-rw-r--r--drivers/input/keyboard/highbank_keys.c141
4 files changed, 0 insertions, 157 deletions
diff --git a/arch/arm/boot/dts/highbank.dts b/arch/arm/boot/dts/highbank.dts
index a993bfae6d6..0c6fc34821f 100644
--- a/arch/arm/boot/dts/highbank.dts
+++ b/arch/arm/boot/dts/highbank.dts
@@ -148,10 +148,6 @@
clock-names = "apb_pclk";
};
- ipc-keys {
- compatible = "calxeda,hb-keys";
- };
-
gpioe: gpio@fff30000 {
#gpio-cells = <2>;
compatible = "arm,pl061", "arm,primecell";
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index 95019740a5b..de0874054e9 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -204,17 +204,6 @@ config KEYBOARD_GPIO_POLLED
To compile this driver as a module, choose M here: the
module will be called gpio_keys_polled.
-config KEYBOARD_HIGHBANK
- tristate "Calxeda Highbank Virtual Keys"
- depends on ARCH_HIGHBANK
- default y
- help
- This driver implements support for virtual power keys on Calxeda
- Highbank systems.
-
- To compile this driver as a module, choose M here: the
- module will be called highbank_keys.
-
config KEYBOARD_TCA6416
tristate "TCA6416/TCA6408A Keypad Support"
depends on I2C
diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile
index d4b2adfee81..44e76002f54 100644
--- a/drivers/input/keyboard/Makefile
+++ b/drivers/input/keyboard/Makefile
@@ -15,7 +15,6 @@ obj-$(CONFIG_KEYBOARD_DAVINCI) += davinci_keyscan.o
obj-$(CONFIG_KEYBOARD_EP93XX) += ep93xx_keypad.o
obj-$(CONFIG_KEYBOARD_GPIO) += gpio_keys.o
obj-$(CONFIG_KEYBOARD_GPIO_POLLED) += gpio_keys_polled.o
-obj-$(CONFIG_KEYBOARD_HIGHBANK) += highbank_keys.o
obj-$(CONFIG_KEYBOARD_TCA6416) += tca6416-keypad.o
obj-$(CONFIG_KEYBOARD_TCA8418) += tca8418_keypad.o
obj-$(CONFIG_KEYBOARD_HIL) += hil_kbd.o
diff --git a/drivers/input/keyboard/highbank_keys.c b/drivers/input/keyboard/highbank_keys.c
deleted file mode 100644
index a84ecf37175..00000000000
--- a/drivers/input/keyboard/highbank_keys.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright 2011 Calxeda, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope 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. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <linux/sched.h>
-#include <linux/slab.h>
-#include <linux/platform_device.h>
-#include <linux/input.h>
-
-#include <mach/pl320-ipc.h>
-
-struct hb_keys_drvdata {
- struct input_dev *input;
- struct notifier_block nb;
-};
-
-int hb_keys_notifier(struct notifier_block *nb, unsigned long event, void *data)
-{
- struct hb_keys_drvdata *ddata = container_of(nb, struct hb_keys_drvdata, nb);
- struct input_dev *input = ddata->input;
- u32 *d = data;
- u32 key = d[0];
-
- if (event != 0x1000 /*HB_IPC_KEY*/)
- return 0;
-
- input_event(input, EV_KEY, key, 1);
- input_event(input, EV_KEY, key, 0);
- input_sync(input);
- return 0;
-}
-
-static int hb_keys_open(struct input_dev *input)
-{
- struct hb_keys_drvdata *ddata = input_get_drvdata(input);
- return pl320_ipc_register_notifier(&ddata->nb);
-}
-
-static void hb_keys_close(struct input_dev *input)
-{
- struct hb_keys_drvdata *ddata = input_get_drvdata(input);
- pl320_ipc_unregister_notifier(&ddata->nb);
-}
-
-static int __devinit hb_keys_probe(struct platform_device *pdev)
-{
- struct hb_keys_drvdata *ddata;
- struct device *dev = &pdev->dev;
- struct input_dev *input;
- int error;
-
- ddata = kzalloc(sizeof(*ddata), GFP_KERNEL);
- if (!ddata)
- return -ENOMEM;
-
- input = input_allocate_device();
- if (!input) {
- dev_err(dev, "failed to allocate state\n");
- error = -ENOMEM;
- goto fail1;
- }
-
- platform_set_drvdata(pdev, ddata);
- input_set_drvdata(input, ddata);
-
- ddata->input = input;
- ddata->nb.notifier_call = hb_keys_notifier;
-
- input->name = pdev->name;
- input->phys = "highbank/input0";
- input->dev.parent = &pdev->dev;
- input->open = hb_keys_open;
- input->close = hb_keys_close;
-
- input->id.bustype = BUS_HOST;
- input->id.vendor = 0x0001;
- input->id.product = 0x0001;
- input->id.version = 0x0100;
-
- input_set_capability(input, EV_KEY, KEY_POWER);
- input_set_capability(input, EV_KEY, KEY_SLEEP);
-
- error = input_register_device(input);
- if (error) {
- dev_err(dev, "Unable to register input device, error: %d\n",
- error);
- goto fail2;
- }
-
- return 0;
-
- fail2:
- input_free_device(input);
- fail1:
- kfree(ddata);
- return error;
-}
-
-static int __devexit hb_keys_remove(struct platform_device *pdev)
-{
- struct hb_keys_drvdata *ddata = platform_get_drvdata(pdev);
- input_unregister_device(ddata->input);
- kfree(ddata);
- return 0;
-}
-
-static struct of_device_id hb_keys_of_match[] = {
- { .compatible = "calxeda,hb-keys", },
- { },
-};
-MODULE_DEVICE_TABLE(of, hb_keys_of_match);
-
-static struct platform_driver hb_keys_driver = {
- .probe = hb_keys_probe,
- .remove = __devexit_p(hb_keys_remove),
- .driver = {
- .name = "hb-keys",
- .of_match_table = hb_keys_of_match,
- }
-};
-
-module_platform_driver(hb_keys_driver);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Calxeda, Inc.");
-MODULE_DESCRIPTION("Keys driver for Calxeda Highbank");