diff options
Diffstat (limited to 'drivers/input/touchscreen/mc13783_ts.c')
| -rw-r--r-- | drivers/input/touchscreen/mc13783_ts.c | 11 | 
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/input/touchscreen/mc13783_ts.c b/drivers/input/touchscreen/mc13783_ts.c index ede02743eac..48dc5b0d26f 100644 --- a/drivers/input/touchscreen/mc13783_ts.c +++ b/drivers/input/touchscreen/mc13783_ts.c @@ -39,6 +39,7 @@ struct mc13783_ts_priv {  	struct delayed_work work;  	struct workqueue_struct *workq;  	unsigned int sample[4]; +	struct mc13xxx_ts_platform_data *touch;  };  static irqreturn_t mc13783_ts_handler(int irq, void *data) @@ -125,7 +126,9 @@ static void mc13783_ts_work(struct work_struct *work)  	unsigned int channel = 12;  	if (mc13xxx_adc_do_conversion(priv->mc13xxx, -				mode, channel, priv->sample) == 0) +				mode, channel, +				priv->touch->ato, priv->touch->atox, +				priv->sample) == 0)  		mc13783_ts_report_sample(priv);  } @@ -179,6 +182,12 @@ static int __init mc13783_ts_probe(struct platform_device *pdev)  	INIT_DELAYED_WORK(&priv->work, mc13783_ts_work);  	priv->mc13xxx = dev_get_drvdata(pdev->dev.parent);  	priv->idev = idev; +	priv->touch = dev_get_platdata(&pdev->dev); +	if (!priv->touch) { +		dev_err(&pdev->dev, "missing platform data\n"); +		ret = -ENODEV; +		goto err_free_mem; +	}  	/*  	 * We need separate workqueue because mc13783_adc_do_conversion  |