I2C Header problem with Kernel 2.6
I work in the Embedded Arena. I've run into an issue that I need some guidance on.
Our current system is a Linux 2.4.21 kernel running on PMPPC440 boards. Everything runs smoothly. So now we're beginning to explore moving to 2.6.x, since that's where customers are headed. So we've put together a 2.6.10 kernel and have this running on the PMPPC440 module.
I've run some "plain" programs that are like simulations of what we do. These seem to work just fine. When I try to compile the "real" programs that are now talking to the hardware, I run into problems.
In the first program, I got lots of undefines and redefines for various internal kernel symbols. After poking around, I found that the bulk of this was cause by the inclusion of "linux/i2c.h" in the test program. Removing this got rid of these particular issues, only to be replaced by undefines that are defined IN this module. This seems rather strange, like someone has re-arranged the header file structures here.
Has anyone else run into this issue? Is there a solution? This appears using the "native" tools on the target system, or with the cross development tools we have on our server. The GCC version is the same in either case, and I get the same results, so this seems to point to a common header inclusion issue.
Any pointers would be greatly appreciated!
TIA for your support.