lkml.org 
[lkml]   [2015]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] Input: atmel_mxt_ts - Add maxtouch to I2C table for module autoload
From
Date
Hello Dmitry,

On 11/20/2015 04:46 PM, Javier Martinez Canillas wrote:
> On 11/20/2015 04:32 PM, Javier Martinez Canillas wrote:
>
> [snip]
>
>>
>> But is not complete because the .driver_data in i2c_device_id is an
>> kernel_ulong_t while the .data in of_device_id is a const void * so
>> some casting will be needed to add an OF table in some drivers that
>
> Some casting in the tables *and* some logic to get the .data from the
> OF table entries, so something like the following will be needed:
>
> static int foo_i2c_probe(struct i2c_client *i2c,
> const struct i2c_device_id *id)
> {
> struct of_device_id *match;
> kernel_ulong_t data;
>
> if (i2c->dev.of_node) {
> match = of_match_node(of_match, i2c->dev.of_node);
> if (!match)
> return -EINVAL;
>
> data = (kernel_ulong_t)match->data;
> } else {
> data = id->driver_data;
> }
> ...
> }
>
> while currently I2C drivers just rely on the model part of the compatible
> string to match with the entry in the I2C device ID table and the core
> always passing the correct .driver_data to the probe function.
>
> So as you can see, converting all the drivers to not rely on the I2C table
> requires some refactoring before proper OF modalias reporting can be used.
>

Any comments about this? I'm planning to address all this at some point but
for now I think we would need $SUBJECT to have module autoloading working
on this driver when the device is registered via OF.

> Best regards,
>

Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America


\
 
 \ /
  Last update: 2015-12-02 21:21    [W:0.349 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site