Bjorn Helgaas wrote: > > > Agree that all the modifications are not ia64-specific. > > However, some of them are 64 bits specific and are related to 64 port: > > - struct board_chan (digiFep1.h, describes a fragment of I/O memory space > > shared between driver and firmware) must be of 128 bytes long exactly. > > - driver's data definitions and insmod MODULE_PARM declarations > > must be consistent. > > - ioremapped memory base addresses data must be long (64 bits). > > - epca module in the kernel sources is not 64 bits > > epca.c > > #if BITS_PER_LONG != 32 > > # error FIXME: this driver only works on 32-bit platforms > > #endif > > The point is, the epca driver has a maintainer. Changes to it > should go through him. > > All the changes you mention can be made in a way that will work > on both 32-bit and 64-bit platforms. And they can almost certainly > be done without all the ugly IA64 #ifdefs. If you head in that > direction, I suspect that the maintainer will be interested in > your changes. > > Bjorn > Thanks Bjorn, Here are new versions of the epca driver patches. They cancel and replace the previous versions. - epca-1.50-1_64bit.diff.gz : Digiboard software package patch - epca-1.50-1_64bit_2.4.19.diff.gz : 2.4.19 kernel tree patch I had a code review to my modifications and I classified them in three groups. Of course all the ugly IA64 #ifdefs have been deleted. Then I moved __IA64__ to EPCA_64BIT (only related to 64bit port) __IA64__ to EPCA_NEW1 (remaining) __IA64__DEBUG to EPCA_DEBUG __IA64__POLL_DEBUG to EPCA_POLL_DEBUG I added FORCE_CONC_DIGI_PACK : force to use concentrator image delivered with the software package (revision number) Hope this helps.