Merge branch 'omap2-upstream' into devel
This commit is contained in:
@@ -63,8 +63,6 @@ static int apmpower_connect(struct input_handler *handler,
|
||||
handle->handler = handler;
|
||||
handle->name = "apm-power";
|
||||
|
||||
handler->private = handle;
|
||||
|
||||
error = input_register_handle(handle);
|
||||
if (error) {
|
||||
printk(KERN_ERR
|
||||
@@ -87,11 +85,10 @@ static int apmpower_connect(struct input_handler *handler,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void apmpower_disconnect(struct input_handle *handler)
|
||||
static void apmpower_disconnect(struct input_handle *handle)
|
||||
{
|
||||
struct input_handle *handle = handler->private;
|
||||
|
||||
input_close_device(handle);
|
||||
input_unregister_handle(handle);
|
||||
kfree(handle);
|
||||
}
|
||||
|
||||
|
||||
@@ -124,6 +124,7 @@ static void evdev_free(struct device *dev)
|
||||
{
|
||||
struct evdev *evdev = container_of(dev, struct evdev, dev);
|
||||
|
||||
input_put_device(evdev->handle.dev);
|
||||
kfree(evdev);
|
||||
}
|
||||
|
||||
@@ -893,7 +894,7 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev,
|
||||
evdev->exist = 1;
|
||||
evdev->minor = minor;
|
||||
|
||||
evdev->handle.dev = dev;
|
||||
evdev->handle.dev = input_get_device(dev);
|
||||
evdev->handle.name = evdev->name;
|
||||
evdev->handle.handler = handler;
|
||||
evdev->handle.private = evdev;
|
||||
|
||||
@@ -171,6 +171,7 @@ static void joydev_free(struct device *dev)
|
||||
{
|
||||
struct joydev *joydev = container_of(dev, struct joydev, dev);
|
||||
|
||||
input_put_device(joydev->handle.dev);
|
||||
kfree(joydev);
|
||||
}
|
||||
|
||||
@@ -750,7 +751,7 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev,
|
||||
joydev->minor = minor;
|
||||
|
||||
joydev->exist = 1;
|
||||
joydev->handle.dev = dev;
|
||||
joydev->handle.dev = input_get_device(dev);
|
||||
joydev->handle.name = joydev->name;
|
||||
joydev->handle.handler = handler;
|
||||
joydev->handle.private = joydev;
|
||||
|
||||
@@ -50,9 +50,9 @@
|
||||
#define KPKDI 0x0048
|
||||
|
||||
/* bit definitions */
|
||||
#define KPC_MKRN(n) ((((n) & 0x7) - 1) << 26) /* matrix key row number */
|
||||
#define KPC_MKCN(n) ((((n) & 0x7) - 1) << 23) /* matrix key column number */
|
||||
#define KPC_DKN(n) ((((n) & 0x7) - 1) << 6) /* direct key number */
|
||||
#define KPC_MKRN(n) ((((n) - 1) & 0x7) << 26) /* matrix key row number */
|
||||
#define KPC_MKCN(n) ((((n) - 1) & 0x7) << 23) /* matrix key column number */
|
||||
#define KPC_DKN(n) ((((n) - 1) & 0x7) << 6) /* direct key number */
|
||||
|
||||
#define KPC_AS (0x1 << 30) /* Automatic Scan bit */
|
||||
#define KPC_ASACT (0x1 << 29) /* Automatic Scan on Activity */
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
|
||||
MODULE_DESCRIPTION("ixp4xx beeper driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_ALIAS("platform:ixp4xx-beeper");
|
||||
|
||||
static DEFINE_SPINLOCK(beep_lock);
|
||||
|
||||
|
||||
@@ -62,6 +62,10 @@
|
||||
#define GEYSER4_ISO_PRODUCT_ID 0x021B
|
||||
#define GEYSER4_JIS_PRODUCT_ID 0x021C
|
||||
|
||||
#define GEYSER4_HF_ANSI_PRODUCT_ID 0x0229
|
||||
#define GEYSER4_HF_ISO_PRODUCT_ID 0x022A
|
||||
#define GEYSER4_HF_JIS_PRODUCT_ID 0x022B
|
||||
|
||||
#define ATP_DEVICE(prod) \
|
||||
.match_flags = USB_DEVICE_ID_MATCH_DEVICE | \
|
||||
USB_DEVICE_ID_MATCH_INT_CLASS | \
|
||||
@@ -93,6 +97,10 @@ static struct usb_device_id atp_table [] = {
|
||||
{ ATP_DEVICE(GEYSER4_ISO_PRODUCT_ID) },
|
||||
{ ATP_DEVICE(GEYSER4_JIS_PRODUCT_ID) },
|
||||
|
||||
{ ATP_DEVICE(GEYSER4_HF_ANSI_PRODUCT_ID) },
|
||||
{ ATP_DEVICE(GEYSER4_HF_ISO_PRODUCT_ID) },
|
||||
{ ATP_DEVICE(GEYSER4_HF_JIS_PRODUCT_ID) },
|
||||
|
||||
/* Terminating entry */
|
||||
{ }
|
||||
};
|
||||
@@ -217,7 +225,10 @@ static inline int atp_is_geyser_3(struct atp *dev)
|
||||
(productId == GEYSER3_JIS_PRODUCT_ID) ||
|
||||
(productId == GEYSER4_ANSI_PRODUCT_ID) ||
|
||||
(productId == GEYSER4_ISO_PRODUCT_ID) ||
|
||||
(productId == GEYSER4_JIS_PRODUCT_ID);
|
||||
(productId == GEYSER4_JIS_PRODUCT_ID) ||
|
||||
(productId == GEYSER4_HF_ANSI_PRODUCT_ID) ||
|
||||
(productId == GEYSER4_HF_ISO_PRODUCT_ID) ||
|
||||
(productId == GEYSER4_HF_JIS_PRODUCT_ID);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -414,6 +414,7 @@ static void mousedev_free(struct device *dev)
|
||||
{
|
||||
struct mousedev *mousedev = container_of(dev, struct mousedev, dev);
|
||||
|
||||
input_put_device(mousedev->handle.dev);
|
||||
kfree(mousedev);
|
||||
}
|
||||
|
||||
@@ -865,7 +866,7 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
|
||||
|
||||
mousedev->minor = minor;
|
||||
mousedev->exist = 1;
|
||||
mousedev->handle.dev = dev;
|
||||
mousedev->handle.dev = input_get_device(dev);
|
||||
mousedev->handle.name = mousedev->name;
|
||||
mousedev->handle.handler = handler;
|
||||
mousedev->handle.private = mousedev;
|
||||
|
||||
@@ -28,13 +28,6 @@
|
||||
#include <linux/spi/ads7846.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#ifdef CONFIG_ARM
|
||||
#include <asm/mach-types.h>
|
||||
#ifdef CONFIG_ARCH_OMAP
|
||||
#include <asm/arch/gpio.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* This code has been heavily tested on a Nokia 770, and lightly
|
||||
@@ -1174,31 +1167,6 @@ static struct spi_driver ads7846_driver = {
|
||||
|
||||
static int __init ads7846_init(void)
|
||||
{
|
||||
/* grr, board-specific init should stay out of drivers!! */
|
||||
|
||||
#ifdef CONFIG_ARCH_OMAP
|
||||
if (machine_is_omap_osk()) {
|
||||
/* GPIO4 = PENIRQ; GPIO6 = BUSY */
|
||||
omap_request_gpio(4);
|
||||
omap_set_gpio_direction(4, 1);
|
||||
omap_request_gpio(6);
|
||||
omap_set_gpio_direction(6, 1);
|
||||
}
|
||||
// also TI 1510 Innovator, bitbanging through FPGA
|
||||
// also Nokia 770
|
||||
// also Palm Tungsten T2
|
||||
#endif
|
||||
|
||||
// PXA:
|
||||
// also Dell Axim X50
|
||||
// also HP iPaq H191x/H192x/H415x/H435x
|
||||
// also Intel Lubbock (additional to UCB1400; as temperature sensor)
|
||||
// also Sharp Zaurus C7xx, C8xx (corgi/sheperd/husky)
|
||||
|
||||
// Atmel at91sam9261-EK uses ads7843
|
||||
|
||||
// also various AMD Au1x00 devel boards
|
||||
|
||||
return spi_register_driver(&ads7846_driver);
|
||||
}
|
||||
module_init(ads7846_init);
|
||||
@@ -1206,14 +1174,6 @@ module_init(ads7846_init);
|
||||
static void __exit ads7846_exit(void)
|
||||
{
|
||||
spi_unregister_driver(&ads7846_driver);
|
||||
|
||||
#ifdef CONFIG_ARCH_OMAP
|
||||
if (machine_is_omap_osk()) {
|
||||
omap_free_gpio(4);
|
||||
omap_free_gpio(6);
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
module_exit(ads7846_exit);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user