EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

I2C support - 'built-in' VS modules

Started by drasko August 17, 2006
Hi all,
I have a question about incorporating existing I2C support in kernel.

1) In order to have working peripherel on I2C bus I have to insmod:
       a) i2c-core.o
       b) i2c-dev.o
       c) i2c-proc.o
       d) i2c-<my_board>.o
       e) i2c-<my_device>.o

Am I right? Did I miss something?

2) More important question: I enabled I2C support in make menuconfig,
for I2C code to be built in a kernel, not as a modules. I check <*> for
"I2C device interface", but left unchecked for "I2C Algorithms" and
"I2C Hardware Bus support" since I do not have yet implemented support
for my board (for AMBA bus). Now I can see i2c directory under /sys/bus
(under /dev I can not see anything with i2c name). I'd like to know
which one of these '.o'  files got build in a kernel. I suppose
i2c-core.o, i2c-dev.o and i2c-proc.o, and I have to insert then
i2c-<my_board>.o (which I did not checked in menuconfig) and
i2c-<my_device>.o (similar). Am I right?

Also - where can I check for the list of these kenel built-in modules?
In /lib/modules I can see only these:
$ pwd
/lib/modules
$ ls
rtai_up.ko           rtai_timer_start.ko  rtai_hal.ko
$

Where these i2c-*.o files should be kept, after inserted with insmod
(or comiled staticaly into a kernel, as in my case).

Btw. lsmod gives me:
$ lsmod
Module                  Size  Used by
igmp_filter             11812 - - Live
                        0x70edc000 0x70edea80 0x70edeba8
linux_drv               6147776 - - Live
                        0x71000000 0x7106e5fc 0x7109aa00
rtai_timer_start        1136 - - Live
                        0x71c48000 0x71c483b7 0x71c48470
rtai_up                 95340 - - Live
                        0x70ea0000 0x70eb5478 0x70eb5bc0
rtai_hal                32640 - - Live
                        0x71df0000 0x71df4a48 0x71df4b20

Cheers,
Drasko DRASKOVIC


The 2024 Embedded Online Conference