Re: [PATCH v2] input: touchscreen: edt-ft5x06: fix driver autoprobing

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

 



On Tue, Nov 18, 2014 at 11:59:02AM -0800, Dmitry Torokhov wrote:
> On Tue, Nov 18, 2014 at 01:27:42PM -0600, Felipe Balbi wrote:
> > Because with OF we can pass more specific
> > compatible flags (such as edt-ft5306) instead
> > of generic edt-ft5x06, when i2c-core's
> > of_i2c_register_devices() tries to request_module(),
> > it'll request it with a non-existent specific module
> > alias.
> > 
> > In order to have this driver autoprobing again, we
> > just need to add missing MODULE_ALIAS() entries to
> > edt-ft5x06 driver.
> > 
> > Thanks to Dmitry for noticing that it actually should
> > autoprobe even with of_device_id.
> > 
> > Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > Cc: <linux-input@xxxxxxxxxxxxxxx>
> > Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+
> > Fixes: dac90dc2 (Input: edt-ft5x06 - add DT support)
> > Signed-off-by: Felipe Balbi <balbi@xxxxxx>
> > ---
> >  drivers/input/touchscreen/edt-ft5x06.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
> > index ee3434f..bcbf688 100644
> > --- a/drivers/input/touchscreen/edt-ft5x06.c
> > +++ b/drivers/input/touchscreen/edt-ft5x06.c
> > @@ -1147,6 +1147,9 @@ static struct i2c_driver edt_ft5x06_ts_driver = {
> >  
> >  module_i2c_driver(edt_ft5x06_ts_driver);
> >  
> > +MODULE_ALIAS("i2c:edt-ft5206");
> > +MODULE_ALIAS("i2c:edt-ft5306");
> > +MODULE_ALIAS("i2c:edt-ft5406");
> >  MODULE_AUTHOR("Simon Budig <simon.budig@xxxxxxxxxxxxxxxxx>");
> >  MODULE_DESCRIPTION("EDT FT5x06 I2C Touchscreen Driver");
> >  MODULE_LICENSE("GPL");
> > -- 
> > 2.1.0.GIT
> > 
> 
> Here is what I see if I run modinfo on the module:
> 
> dtor@dtor-ws:~/kernel/work$ modinfo
> drivers/input/touchscreen/edt-ft5x06.ko
> filename:
> /home/dtor/kernel/work/drivers/input/touchscreen/edt-ft5x06.ko
> license:        GPL
> description:    EDT FT5x06 I2C Touchscreen Driver
> author:         Simon Budig <simon.budig@xxxxxxxxxxxxxxxxx>
> alias:          i2c:edt-ft5x06
> alias:          of:N*T*Cedt,edt-ft5406*
> alias:          of:N*T*Cedt,edt-ft5306*
> alias:          of:N*T*Cedt,edt-ft5206*
> depends:        i2c-core
> intree:         Y
> vermagic:       3.17.0+ SMP preempt mod_unload 
> 
> As you can see we already have what I consider proper modaliases for the
> driver. Why don't they work? Is it because modprobe doe snot know how to
> handle OF-style modaliases or device's uevents are missing OF data in
> them?

no, it's because i2c call request_module for i2c:edt-ft5306. i2c core
never uses any of the of aliases.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[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