Re: [PATCH 12/33] Add tsc2005 touchscreen driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Aug 30, 2008 at 08:16:12PM +0300, Felipe Balbi wrote:
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/input.h>
> +#include <linux/interrupt.h>
> +#include <linux/delay.h>
> +#include <linux/spi/spi.h>
> +
> +#ifdef CONFIG_ARCH_OMAP
> +#include <mach/gpio.h>
> +#endif

#include <linux/gpio.h> ?

If this driver depends on having gpio, shouldn't that be reflected in the
Kconfig entry?  ...

> +static int __devinit tsc2005_ts_init(struct tsc2005 *ts,
> +				     struct tsc2005_platform_data *pdata)
> +{
> +	struct input_dev *idev;
> +	int dav_gpio, r;
> +	int x_max, y_max;
> +	int x_fudge, y_fudge, p_fudge;
> +
> +	if (pdata->dav_gpio < 0) {
> +		dev_err(&ts->spi->dev, "need DAV GPIO");
> +		return -EINVAL;
> +	}
> +	dav_gpio = pdata->dav_gpio;
> +	ts->dav_gpio = dav_gpio;
> +	dev_dbg(&ts->spi->dev, "TSC2005: DAV GPIO = %d\n", dav_gpio);
> +
> +#ifdef CONFIG_ARCH_OMAP
> +	r = omap_request_gpio(dav_gpio);
> +	if (r < 0) {
> +		dev_err(&ts->spi->dev, "unable to get DAV GPIO");
> +		goto err1;
> +	}
> +	omap_set_gpio_direction(dav_gpio, 1);
> +	ts->irq = OMAP_GPIO_IRQ(dav_gpio);

In fact, this driver requires ARCH_OMAP to set ts->irq, otherwise
it's uninitialized.

> +	dev_dbg(&ts->spi->dev, "TSC2005: DAV IRQ = %d\n", ts->irq);
> +#endif

Can this be converted to the generic gpio stuff?

> +	init_timer(&ts->penup_timer);
> +	setup_timer(&ts->penup_timer, tsc2005_ts_penup_timer_handler,
> +			(unsigned long)ts);

setup_timer() does init_timer() so the first line is redundant.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux