Re: [PATCH v2] Input: atmel_mxt_ts - Add maxtouch to I2C table for module autoload

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

 



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