Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel
Conflicts: arch/arm/mach-at91/gpio.c
This commit is contained in:
@@ -236,7 +236,7 @@ static int __devinit atmel_tsadcc_probe(struct platform_device *pdev)
|
||||
ts_dev->bufferedmeasure = 0;
|
||||
|
||||
snprintf(ts_dev->phys, sizeof(ts_dev->phys),
|
||||
"%s/input0", pdev->dev.bus_id);
|
||||
"%s/input0", dev_name(&pdev->dev));
|
||||
|
||||
input_dev->name = "atmel touch screen controller";
|
||||
input_dev->phys = ts_dev->phys;
|
||||
|
@@ -267,7 +267,7 @@ static int corgits_resume(struct platform_device *dev)
|
||||
#define corgits_resume NULL
|
||||
#endif
|
||||
|
||||
static int __init corgits_probe(struct platform_device *pdev)
|
||||
static int __devinit corgits_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct corgi_ts *corgi_ts;
|
||||
struct input_dev *input_dev;
|
||||
@@ -342,7 +342,7 @@ static int __init corgits_probe(struct platform_device *pdev)
|
||||
return err;
|
||||
}
|
||||
|
||||
static int corgits_remove(struct platform_device *pdev)
|
||||
static int __devexit corgits_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct corgi_ts *corgi_ts = platform_get_drvdata(pdev);
|
||||
|
||||
@@ -351,12 +351,13 @@ static int corgits_remove(struct platform_device *pdev)
|
||||
corgi_ts->machinfo->put_hsync();
|
||||
input_unregister_device(corgi_ts->input);
|
||||
kfree(corgi_ts);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver corgits_driver = {
|
||||
.probe = corgits_probe,
|
||||
.remove = corgits_remove,
|
||||
.remove = __devexit_p(corgits_remove),
|
||||
.suspend = corgits_suspend,
|
||||
.resume = corgits_resume,
|
||||
.driver = {
|
||||
@@ -365,7 +366,7 @@ static struct platform_driver corgits_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __devinit corgits_init(void)
|
||||
static int __init corgits_init(void)
|
||||
{
|
||||
return platform_driver_register(&corgits_driver);
|
||||
}
|
||||
|
@@ -289,7 +289,8 @@ static int tsc2007_probe(struct i2c_client *client,
|
||||
|
||||
pdata->init_platform_hw();
|
||||
|
||||
snprintf(ts->phys, sizeof(ts->phys), "%s/input0", client->dev.bus_id);
|
||||
snprintf(ts->phys, sizeof(ts->phys),
|
||||
"%s/input0", dev_name(&client->dev));
|
||||
|
||||
input_dev->name = "TSC2007 Touchscreen";
|
||||
input_dev->phys = ts->phys;
|
||||
|
@@ -60,6 +60,10 @@ static int swap_xy;
|
||||
module_param(swap_xy, bool, 0644);
|
||||
MODULE_PARM_DESC(swap_xy, "If set X and Y axes are swapped.");
|
||||
|
||||
static int hwcalib_xy;
|
||||
module_param(hwcalib_xy, bool, 0644);
|
||||
MODULE_PARM_DESC(hwcalib_xy, "If set hw-calibrated X/Y are used if available");
|
||||
|
||||
/* device specifc data/functions */
|
||||
struct usbtouch_usb;
|
||||
struct usbtouch_device_info {
|
||||
@@ -118,6 +122,7 @@ enum {
|
||||
|
||||
#define USB_DEVICE_HID_CLASS(vend, prod) \
|
||||
.match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \
|
||||
| USB_DEVICE_ID_MATCH_INT_PROTOCOL \
|
||||
| USB_DEVICE_ID_MATCH_DEVICE, \
|
||||
.idVendor = (vend), \
|
||||
.idProduct = (prod), \
|
||||
@@ -260,8 +265,13 @@ static int panjit_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
|
||||
|
||||
static int mtouch_read_data(struct usbtouch_usb *dev, unsigned char *pkt)
|
||||
{
|
||||
dev->x = (pkt[8] << 8) | pkt[7];
|
||||
dev->y = (pkt[10] << 8) | pkt[9];
|
||||
if (hwcalib_xy) {
|
||||
dev->x = (pkt[4] << 8) | pkt[3];
|
||||
dev->y = 0xffff - ((pkt[6] << 8) | pkt[5]);
|
||||
} else {
|
||||
dev->x = (pkt[8] << 8) | pkt[7];
|
||||
dev->y = (pkt[10] << 8) | pkt[9];
|
||||
}
|
||||
dev->touch = (pkt[2] & 0x40) ? 1 : 0;
|
||||
|
||||
return 1;
|
||||
@@ -294,6 +304,12 @@ static int mtouch_init(struct usbtouch_usb *usbtouch)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Default min/max xy are the raw values, override if using hw-calib */
|
||||
if (hwcalib_xy) {
|
||||
input_set_abs_params(usbtouch->input, ABS_X, 0, 0xffff, 0, 0);
|
||||
input_set_abs_params(usbtouch->input, ABS_Y, 0, 0xffff, 0, 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user