compiling 2.2.19 kernel with promise ide card support

Robert E Brose II bob at kunk.jriver.com
Sat Jul 14 02:50:29 EST 2001


----- Forwarded message from Michel Lanners -----

> The problem I'm having is in getting the kernel to compile after adding
> the ide patches (to support the promise line of cards) from
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/hedrick/ide-2.2.20/ide.2.2.19.05042001.patch
>
> make[3]: Entering directory `/usr4/linux/drivers/block'
> cc -D__KERNEL__ -I/usr4/linux/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -D__powerpc__ -fsigned-char -msoft-float -pipe -fno-builtin -ffixed-r2 -Wno-uninitialized -mmultiple -mstring   -DEXPORT_SYMTAB -c ll_rw_blk.c
> In file included from ll_rw_blk.c:28:
> /usr4/linux/include/asm/ide.h:53: parse error before `*'
> /usr4/linux/include/asm/ide.h:56: warning: function declaration isn't a prototype
> /usr4/linux/include/asm/ide.h:63: parse error before `*'
> /usr4/linux/include/asm/ide.h:63: warning: function declaration isn't a prototype
>
>
> The problem is at this declaration...
>
>         void        (*ide_init_hwif)(hw_regs_t *hw,
>                                      ide_ioreg_t data_port,
>                                      ide_ioreg_t ctrl_port,
>                                      int *irq);

Have a look at all the types used here (*_t); one of them might not be
defined (or uncorrectly). Andre sometimes forgets to update the
definitions in the PPC-arch header files.

Cheers

Michel

-------------------------------------------------------------------------
Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan at cpu.lu            |
http://www.cpu.lu/~mlan        |                     Learn Always. "



-- end of forwarded message --

Hi Michel,

Thanks for the help... You were correct, hw_regs_t was undefined. After
looking at the includes I saw that for some reason in
drivers/block/ll_rw_blk.c there is the following conditional..

#ifdef CONFIG_POWERMAC
#include <asm/ide.h>
#endif

And in ide-pmac.c

#include <asm/ide.h>

ide.h in asm is also included by linux/ide.h. It appears that ll_rw_blk.c
and ide-pmac.c should be using linux/ide.h instead of asm/ide.h because
hw_regs_t is defined in linux/ide.h. When I made that change the
kernel compile completes and the kernel works fine.

Bob
--
Robert E. Brose II    N0QBJ
http://www.jriver.com/~bob/
bob at kunk.jriver.com

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





More information about the Linuxppc-dev mailing list