Hi Grant,
Thanks.

2011/6/13 Grant Likely <[email protected]>:
> On Thu, Jun 9, 2011 at 8:28 PM, Barry Song <[email protected]> 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 <[email protected]>
>> Cc: Grant Likely <[email protected]>
>> cc: Thomas Chou <[email protected]>
>> ---
>>  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.

Which directory do you think is the best to place this document? or do
we build a new diretory named
Documentation/devicetree/bindings/input/touchscreen/ ?
The dir Documentation/devicetree/bindings seems to be for spi host,
not for spi clients.

>
>>  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.

ok. thanks

>
> Otherwise:
>
> Acked-by: Grant Likely <[email protected]>
>
_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to