I2C module problem on 8260

Eric.Oosterhof at radisys.com Eric.Oosterhof at radisys.com
Wed Feb 13 09:49:53 EST 2002

I'm having a problem with the I2C on a custom 8260 board.  I modified the
8xx device driver (I've seen it called the Dan Malek driver) and am trying
to load it as a module.  I discovered in so doing that the virtual address
space that the module is placed in does not allow the use of __pa to get a
virtual address.  I looked at the 860 driver that we are using on a
different board, and it has the same issue.  But, it is compiled into the
kernel, hence won't have that problem.  My question is two-fold.  First, is
there a smarter version of __pa that understand how to get the physical
address of a construct in a dynamically loaded module?  Second, is this a
bug in the I2C, and I just happened to be using the module form where the
bug shows up?  I have included below the output (snipped) of insmod -m to
show the symbol.  My system has only 64 MB of SDRAM, hence virtual SDRAM
addresses range from 0xc0000000 to 0xc3ffffff.  Thanks!

sh-2.04# insmod -m i2c-algo-8260.o
Sections:       Size      Address   Align
.this           00000060  c5008000  2**2
.text           00000ad8  c5008060  2**2
.rodata         000004bc  c5008b38  2**2
.kstrtab        0000010a  c5008ff4  2**2
__ksymtab       00000038  c5009100  2**2
.data           0000003c  c5009138  2**2
.sdata          00000008  c5009174  2**2
.vtop_fixup     0000001c  c500917c  2**1
.bss            00000010  c5009198  2**2
.sbss           00000004  c50091a8  2**1
.plt            00000080  c50091b0  2**4
.kmodtab        0000000c  c5009230  2**2
__archdata      00000000  c5009240  2**4

00000000 a i2c-algo-8260.c

Eric.Oosterhof at RadiSys.com    503-615-1283
5445 NE Dawson Creek Drive
Hillsboro, Oregon, 97124

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

More information about the Linuxppc-dev mailing list