On Fri, Jan 11, 2019 at 03:53:58PM -0500, Sebastien Bourdelin wrote: > This commit allow the driver to work with device-tree. > > Signed-off-by: Sebastien Bourdelin <sebastien.bourdelin@xxxxxxxxx> > --- I get the following compilation failure: Below I have `allyesconfig` except 'BME680' configure as [M] in case you wish to reproduce. himanshu@himanshu-Vostro-3559:~/linux-next$ grep -i -w 'CONFIG_BME680\|CONFIG_ACPI\|CONFIG_OF' .config CONFIG_ACPI=y CONFIG_OF=y CONFIG_BME680=m himanshu@himanshu-Vostro-3559:~/linux-next$ sudo make drivers/iio/chemical/bme680_spi.o make[1]: Nothing to be done for 'all'. CALL scripts/checksyscalls.sh DESCEND objtool CC [M] drivers/iio/chemical/bme680_spi.o In file included from ./include/linux/acpi.h:41:0, from drivers/iio/chemical/bme680_spi.c:7: ./include/linux/module.h:213:1: error: expected ‘,’ or ‘;’ before ‘extern’ extern typeof(name) __mod_##type##__##name##_device_table \ ^ drivers/iio/chemical/bme680_spi.c:119:1: note: in expansion of macro ‘MODULE_DEVICE_TABLE’ MODULE_DEVICE_TABLE(of, bme680_of_spi_match); ^~~~~~~~~~~~~~~~~~~ scripts/Makefile.build:291: recipe for target 'drivers/iio/chemical/bme680_spi.o' failed make[1]: *** [drivers/iio/chemical/bme680_spi.o] Error 1 Makefile:1741: recipe for target 'drivers/iio/chemical/bme680_spi.o' failed make: *** [drivers/iio/chemical/bme680_spi.o] Error 2 BUT if: himanshu@himanshu-Vostro-3559:~/linux-next$ make allyesconfig scripts/kconfig/conf --allyesconfig Kconfig # # configuration written to .config # himanshu@himanshu-Vostro-3559:~/linux-next$ sudo make drivers/iio/chemical/bme680_spi.o scripts/kconfig/conf --syncconfig Kconfig make[1]: Nothing to be done for 'all'. HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o LEX scripts/dtc/dtc-lexer.lex.c YACC scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/dtc-lexer.lex.o YACC scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-parser.tab.o HOSTLD scripts/dtc/dtc CC scripts/mod/empty.o MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost CC kernel/bounds.s CC arch/x86/kernel/asm-offsets.s CALL scripts/checksyscalls.sh DESCEND objtool CC drivers/iio/chemical/bme680_spi.o Compiles without any issues. Also, wondering when is 0x77 i2c address used, since I tested this on 3 different boards with 0x76(when SDO is connected to GND) And why do I connect SDO to ground everytime ? It is because if SDO pin is left floating then I2C address will be undefined as said in datasheet + I have observed this while testing. Actallly, I don't understand what "VDIDO" is, as explained in the datasheet. Anyway, if the above compilation issue is not a problem, then Acked-by: Himanshu Jha <himanshujha199640@xxxxxxxxx> Thanks -- Himanshu Jha Undergraduate Student Department of Electronics & Communication Guru Tegh Bahadur Institute of Technology