On Thursday 23 July 2015 23:36:24 Belisko Marek wrote: > On Thu, Jul 23, 2015 at 11:15 PM, Pali Rohár <pali.ro...@gmail.com> wrote: > > On Thursday 23 July 2015 22:56:26 Belisko Marek wrote: > >> Hi Pali, > >> > >> On Thu, Jul 23, 2015 at 10:15 PM, Pali Rohár <pali.ro...@gmail.com> > >> wrote: > >> > On Thursday 23 July 2015 19:03:08 Andrew F. Davis wrote: > >> >> >> -#ifdef CONFIG_BATTERY_BQ27X00_I2C > >> >> >> -MODULE_ALIAS("i2c:bq27000-battery"); > >> >> >> +#ifdef CONFIG_BATTERY_BQ27XXX_I2C > >> >> >> +MODULE_ALIAS("i2c:bq27xxx-battery"); > >> >> >> > >> >> >> #endif > >> >> > > >> >> > Why is this MODULE_ALIAS needed? Some lines upper there is > >> >> > > >> >> > MODULE_DEVICE_TABLE(i2c, bq27xxx_id); > >> >> > > >> >> > which add proper i2c: module alias... > >> >> > >> >> Not sure, looks like it was added in commit > >> >> 8ebb7e9c1a502cfc300618c19c3c6f06fc76d237 which claims that the > >> >> "module won't get loaded automatically" without it, but I have not > >> >> had this problem, so I'm not sure why it's there. > >> > > >> > git grep bq27000-battery show me that only one driver uses that > >> > name: drivers/w1/slaves/w1_bq27000.c > >> > > >> > And more over, it is platform device, not i2c device. So that > >> > commit 8ebb7e9c1a502cfc300618c19c3c6f06fc76d237 is wrong! CCing > >> > Marek. > >> > >> If you look to power/bq27x00 driver then there is I2C part and > >> platform part only > >> both selectable by config. In > >> 8ebb7e9c1a502cfc300618c19c3c6f06fc76d237 was added MODULE_ALIAS to > >> have this driver working as module for both buses. Even if I2C isn't > >> used anywhere > >> I add MODULE_ALIAS also for that. > >> > >> > MODULE_ALIAS("platform:bq27000-battery") is really needed for > >> > w1_bq27000.c but MODULE_ALIAS("i2c:bq27000-battery") should be > >> > removed. It is not used by any board platform code or DT. > >> > >> Not sure if it's good idea to remove it. Somebody outside can use it. > >> > >> > Marek, correct me if I'm wrong. > >> > > >> > -- > >> > Pali Rohár > >> > pali.ro...@gmail.com > >> > >> BR, > >> > >> marek > > > > Who, where any why is using alias i2c:bq27000-battery?? > > > > It is obviously wrong to add that alias. MODULE_DEVICE_TABLE(i2c, ... > > macro automatically adds all MODULE_ALIASes for all i2c devices. > Hmm are you sure? I think it's not true if you look to include/linux/module.h > Those 2 macros have completely other purposes.
This is some magic which is generated to autogenerated c file when compiling driver as module. Look at output from modinfo bq27x00_battery Anyway, alias i2c:bq27000-battery is wrong and not only because it is added by MODULE_ALIAS but also because bq27000 chip is HDQ and not i2c. > > > > If there is such device with needs i2c:bq27000-battery is should be > > fixed to use i2c:bq27??? identifier exported by MODULE_DEVICE_TABLE. > Look if you don't like it remove i2c part from driver and post patch. I'm for removing i2c part and it can be done as part of Andrew's cleanup patch. > But as I said > somebody can use it (not talking about vanilla tree). Then they should fix their code. > > > > git grep on kernel tree did not return anything, so there is no usage. > > > > Of course alias for platform:bq27000-battery is needed. > > > > -- > > Pali Rohár > > pali.ro...@gmail.com > > BR, > > marek > > > -- Pali Rohár pali.ro...@gmail.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/