On Wed, Jun 06, 2007 at 08:07:33PM +0200, Pierre Ossman wrote: > Harald Welte wrote: > > I'll double check this with my specs for later processors. Runtime > > check is definitely preferred, since one kernel has to support multiple > > different processors... > > > > You're more experienced with embedded stuff than I am; how do you > conveniently determine the current CPU?
unfortunately there currently is no API for that. But the way s3cmci solves this problem is by exporting three platform devices, one s3c2412-sdi, one s3c2410-sdi and one s3c2440-sdi. struct s3cmci_host has a 'is2440' member that you can use to check. There are other examples in the code where 2440 specifics have been put into 'if (host->is2440)' blocks. unfortunately 'if (!host->is2440)' will not cut it, since it would basically mean 2410 + 2412. I would therefore argue that the 'is2440' is replaced with something like 'cpu_type' which can then be defined to constants like S3C2410/S3C2440/S3C2443/S3C2412 Ben: I still believe that it would be helpful, if not even better, if the s3c platform code exported something like a cheap inline function to determine the specific S3C variant. This could solve this 'once and for all' in all the drivers in a unique way, rather than every driver having to reinvent the wheel. Cheers, -- - Harald Welte <[EMAIL PROTECTED]> http://openmoko.org/ ============================================================================ Software for the world's first truly open Free Software mobile phone
