Re: compiling 2.2.19 kernel with promise ide card support

From: Robert E Brose II <hidden>
Date: 2001-07-13 16:50:29

----- 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@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@kunk.jriver.com

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help