Re: [PATCH] input: touchscreen: add OF match table for ads7846

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

 



On Thu, Jun 9, 2011 at 8:28 PM, Barry Song <Baohua.Song@xxxxxxx> wrote:
> The current ads7846 has no OF match table. The method used is by applying a heuristic (of_modalias_node) which tries to name the device in a way that will match an existing device driver.
> This patch adds explicit OF match table for ads7846, then the normal device tree match behaviour will always work.
> It has been tested on PRIMA2 EVB board of CSR with a SPI's child node like the below:
> ts@0 {
>        compatible = "ti,ads7845";
>        reg = <0x0>;
>        spi-max-frequency = <31250>;
>        interrupts = <90>;
> };
>
> Signed-off-by: Barry Song <21cnbao@xxxxxxxxx>
> Cc: Grant Likely <grant.likely@xxxxxxxxxxxx>
> cc: Thomas Chou <thomas@xxxxxxxxxxxxx>
> ---
>  drivers/input/touchscreen/ads7846.c |   14 ++++++++++++++

There should also be documentation for the new binding added to
Documentation/devicetree/bindings for the new compatible strings.

>  1 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> index 5196861..643138b 100644
> --- a/drivers/input/touchscreen/ads7846.c
> +++ b/drivers/input/touchscreen/ads7846.c
> @@ -28,6 +28,7 @@
>  #include <linux/slab.h>
>  #include <linux/pm.h>
>  #include <linux/gpio.h>
> +#include <linux/of.h>
>  #include <linux/spi/spi.h>
>  #include <linux/spi/ads7846.h>
>  #include <linux/regulator/consumer.h>
> @@ -1425,12 +1426,25 @@ static int __devexit ads7846_remove(struct spi_device *spi)
>        return 0;
>  }
>
> +#if defined(CONFIG_OF)
> +static struct of_device_id ads7846_spi_of_match_table[] __devinitdata = {
> +       { .compatible = "ti,ads7846", },
> +       { .compatible = "ti,ads7845", },
> +       { .compatible = "ti,ads7843", },
> +       {},
> +};
> +MODULE_DEVICE_TABLE(of, ads7846_spi_of_match_table);

#else
#define ads7846_spi_of_match_table NULL

> +#endif
> +
>  static struct spi_driver ads7846_driver = {
>        .driver = {
>                .name   = "ads7846",
>                .bus    = &spi_bus_type,
>                .owner  = THIS_MODULE,
>                .pm     = &ads7846_pm,
> +#if defined(CONFIG_OF)
> +               .of_match_table = ads7846_spi_of_match_table,
> +#endif

With the #else  block added above, you can drop the #if/#endif
protection around of_match_table.

Otherwise:

Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux