All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Fedyk <mfedyk@matchmail.com>
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: Compile failure: 2.2.19 + eide patch on PPC
Date: Tue, 7 Aug 2001 14:48:24 -0700	[thread overview]
Message-ID: <20010807144824.D22821@mikef-linux.matchmail.com> (raw)
In-Reply-To: <20010807122439.A22612@mikef-linux.matchmail.com> <Pine.LNX.4.33.0108071429460.30593-100000@tux.creighton.edu>
In-Reply-To: <Pine.LNX.4.33.0108071429460.30593-100000@tux.creighton.edu>

On Tue, Aug 07, 2001 at 02:43:53PM -0500, Phil Brutsche wrote:
> A long time ago, in a galaxy far, far way, someone said...
> > I am trying to compile 2.2.19 + ide.2.2.19.05042001.patch.  When doing this,
> > I get the errors below.
> These patches are broken for PPC machines and have been for some time.  I
> suppose I should file a bug report...
> 
> It's simple enough to fix however.
> 
> > but I want to try to get 2.2 working.  Is there another patch I need?
> 
> Yes - see below
> 
> > # gcc -v
> > Reading specs from /usr/lib/gcc-lib/powerpc-linux/2.95.2/specs
> > gcc version 2.95.2 20000220 (Debian GNU/Linux)
> >
> > Error:
> > make[3]: Entering directory /usr/src/lk2.2/2.2.19-ide-05042001/drivers/block'
> > cc -D__KERNEL__ -I/usr/src/lk2.2/2.2.19-ide-05042001/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:
> > /usr/src/lk2.2/2.2.19-ide-05042001/include/asm/ide.h:53: parse error before *'
> > /usr/src/lk2.2/2.2.19-ide-05042001/include/asm/ide.h:56: warning: function
> > declaration isn't a prototype
> 
> You need an
> 
> #include <linux/ide.h>
> 
> before the
> 
> #include <asm/ide.h>
> 
> in ll_rw_blk.c.
> 
> Lines 27-30 of ll_rw_blk.c would end up looking like this:
> 
> #ifdef CONFIG_POWERMAC
> #include <linux/ide.h>
> #include <asm/ide.h>
> #endif
>

I'm still getting errors in 2.2.19-ide-05042001/include/asm/ide.h line 53
and 56.

> There are a number of other compilation problems in the code that will
> need similar "fixes".
> 

What more changes do I need to make?  

> Note that you will need the PCI fixup patch from
> http://www.cpu.lu/~mlan/linux/dev/pci.html if you want to be able to use a
> PCI IDE controller card, like the Promise Ultra33/Ultra66/Ultra100, in
> your PowerMac.  It seems that the PCI resources won't get seupt correctly
> by OpenFirmware otherwise.

Ok, patched, and above changes are applied.

I'm including a diff of include/asm/ide.h before and after patching.

I still get the errors:

In file included from ll_rw_blk.c:28:
/usr/src/lk2.2/2.2.19-ide-05042001/include/asm/ide.h:53: parse error before *'
/usr/src/lk2.2/2.2.19-ide-05042001/include/asm/ide.h:56: warning: function
declaration isn't a prototype

diff:
--- 2.2.19/include/asm/ide.h	Tue Aug  7 10:11:56 2001
+++ 2.2.19-ide-05042001/include/asm/ide.h	Tue Aug  7 13:45:17 2001
@@ -18,7 +18,7 @@
 #define MAX_HWIFS	4
 #endif
 
-typedef unsigned int ide_ioreg_t;
+#include <asm/hdreg.h>
 
 #ifdef __KERNEL__
 
@@ -50,16 +50,18 @@
         void        (*release_region)(ide_ioreg_t from,
                                       unsigned int extent);
         void        (*fix_driveid)(struct hd_driveid *id);
-        void        (*ide_init_hwif)(ide_ioreg_t *p,
-                                     ide_ioreg_t base,
-                                     int *irq); 
+        void        (*ide_init_hwif)(hw_regs_t *hw,
+                                     ide_ioreg_t data_port,
+                                     ide_ioreg_t ctrl_port,
+                                     int *irq);
 
         int io_base;
 };
 
 extern struct ide_machdep_calls ppc_ide_md;
 
-void ide_init_hwif_ports(ide_ioreg_t *p, ide_ioreg_t base, int *irq);
+void ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq);
+
 void ide_insw(ide_ioreg_t port, void *buf, int ns);
 void ide_outsw(ide_ioreg_t port, void *buf, int ns);
 void ppc_generic_ide_fix_driveid(struct hd_driveid *id);
@@ -81,6 +83,20 @@
 	return ppc_ide_md.default_io_base(index);
 }
 
+static __inline__ void ide_init_default_hwifs(void)
+{
+#ifndef CONFIG_BLK_DEV_IDEPCI
+	hw_regs_t hw;
+	int index;
+
+	for(index = 0; index < MAX_HWIFS; index++) {
+		ide_init_hwif_ports(&hw, ide_default_io_base(index), 0, NULL);
+		hw.irq = ide_default_irq(ide_default_io_base(index));
+		ide_register_hw(&hw, NULL);
+	}
+#endif /* CONFIG_BLK_DEV_IDEPCI */
+}
+
 static __inline__ int ide_check_region (ide_ioreg_t from, unsigned int extent)
 {
 	return ppc_ide_md.check_region(from, extent);
@@ -96,7 +112,8 @@
 	ppc_ide_md.release_region(from, extent);
 }
 
-static __inline__ void ide_fix_driveid (struct hd_driveid *id) {
+static __inline__ void ide_fix_driveid (struct hd_driveid *id)
+{
         ppc_ide_md.fix_driveid(id);
 }
 
@@ -124,21 +141,13 @@
 	} b;
 } select_t;
 
-static __inline__ int ide_request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *),
-			unsigned long flags, const char *device, void *dev_id)
-{
-	return request_irq(irq, handler, flags, device, dev_id);
-}			
-
-static __inline__ void ide_free_irq(unsigned int irq, void *dev_id)
-{
-	free_irq(irq, dev_id);
-}
+#define ide_request_irq(irq,hand,flg,dev,id)	request_irq((irq),(hand),(flg),(dev),(id))
+#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
 
 /*
  * The following are not needed for the non-m68k ports
  */
-#define ide_ack_intr(base, irq)		(1)
+#define ide_ack_intr(hwif)		(1)
 #define ide_release_lock(lock)		do {} while (0)
 #define ide_get_lock(lock, hdlr, data)	do {} while (0)
 

  reply	other threads:[~2001-08-07 21:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-07 19:24 Compile failure: 2.2.19 + eide patch on PPC Mike Fedyk
2001-08-07 19:43 ` Phil Brutsche
2001-08-07 21:48   ` Mike Fedyk [this message]
2001-08-09 18:32   ` Mike Fedyk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010807144824.D22821@mikef-linux.matchmail.com \
    --to=mfedyk@matchmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.