On Mon, 2003-07-28 at 09:28, Dieter Nützel wrote:
> gcc 
> -I/tmp/INSTALL/SOURCE/dri-trunk/HEAD/xc/programs/Xserver/hw/xfree86/os-support/linux/dr
> m/kernel -D__KERNEL__ -I/usr/src/linux-2.4.22-pre5-rl/include -Wall 
> -Wstrict-prototypes -Wno-trigraphs -O -fno-strict-aliasing -fno-common -pipe 
> -mpreferred-stack-boundary=2 -mcpu=k6 -mpreferred-stack-boundary=2 
> -malign-functions=4 -fschedule-insns2 -fexpensive-optimizatio
> ns -DMODULE -DMODVERSIONS -include 
> /usr/src/linux-2.4.22-pre5-rl/include/linux/modversions.h  -nostdinc 
> -iwithprefix include -DKBUILD_BASENAME=i830_irq  -c -o i830_irq.o i830_irq.c
> i830_irq.c: In function `i830_dma_service':
> i830_irq.c:41: `device' undeclared (first use in this function)
> i830_irq.c:41: (Each undeclared identifier is reported only once
> i830_irq.c:41: for each function it appears in.)

The attached patch should fix this and also incorporates the cleanup
suggested by Linus.

Feedback appreciated.


-- 
Earthling Michel Dänzer   \  Debian (powerpc), XFree86 and DRI developer
Software libre enthusiast  \     http://svcs.affero.net/rm.php?r=daenzer
Index: programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h,v
retrieving revision 1.29
diff -p -u -r1.29 drmP.h
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h	25 Jul 2003 10:50:39 -0000	1.29
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drmP.h	28 Jul 2003 10:42:48 -0000
@@ -446,7 +446,7 @@ extern void	     DRM(reclaim_buffers)(dr
 #if __HAVE_DMA_IRQ
 extern int           DRM(irq_install)( drm_device_t *dev, int irq );
 extern int           DRM(irq_uninstall)( drm_device_t *dev );
-extern DRM_IRQ_RET   DRM(dma_service)( DRM_IRQ_ARGS );
+extern irqreturn_t   DRM(dma_service)( DRM_IRQ_ARGS );
 extern void          DRM(driver_irq_preinstall)( drm_device_t *dev );
 extern void          DRM(driver_irq_postinstall)( drm_device_t *dev );
 extern void          DRM(driver_irq_uninstall)( drm_device_t *dev );
Index: programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h,v
retrieving revision 1.22
diff -p -u -r1.22 drm_dma.h
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h	25 Jul 2003 10:50:39 -0000	1.22
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_dma.h	28 Jul 2003 10:42:48 -0000
@@ -217,7 +217,7 @@ int DRM(irq_install)( drm_device_t *dev,
 	if ( retcode ) {
 #elif defined(__NetBSD__)
 	dev->irqh = pci_intr_establish(&dev->pa.pa_pc, dev->ih, IPL_TTY,
-				      (DRM_IRQ_RET (*)(DRM_IRQ_ARGS))DRM(dma_service), dev);
+				      (irqreturn_t (*)(DRM_IRQ_ARGS))DRM(dma_service), dev);
 	if ( !dev->irqh ) {
 #endif
 		DRM_LOCK;
Index: programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h,v
retrieving revision 1.29
diff -p -u -r1.29 drm_os_freebsd.h
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h	26 Jul 2003 03:18:34 -0000	1.29
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_freebsd.h	28 Jul 2003 10:42:48 -0000
@@ -112,9 +112,9 @@
 #define DRM_SUSER(p)		suser(p)
 #define DRM_TASKQUEUE_ARGS	void *arg, int pending
 #define DRM_IRQ_ARGS		void *arg
-#define DRM_IRQ_RET		void
-#define DRM_IRQ_NONE
-#define DRM_IRQ_HANDLED
+typedef void			irqreturn_t;
+#define IRQ_HANDLED		/* nothing */
+#define IRQ_NONE		/* nothing */
 #define DRM_DEVICE		drm_device_t	*dev	= kdev->si_drv1
 #define DRM_MALLOC(size)	malloc( size, DRM(M_DRM), M_NOWAIT )
 #define DRM_FREE(pt,size)		free( pt, DRM(M_DRM) )
Index: programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h,v
retrieving revision 1.13
diff -p -u -r1.13 drm_os_netbsd.h
--- programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h	25 Jul 2003 10:50:39 -0000	1.13
+++ programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel/drm_os_netbsd.h	28 Jul 2003 10:42:48 -0000
@@ -85,9 +85,9 @@ extern struct cfdriver DRM(cd);
 #define DRM_SUSER(p)		suser(p->p_ucred, &p->p_acflag)
 #define DRM_TASKQUEUE_ARGS	void *dev, int pending
 #define DRM_IRQ_ARGS		void *arg
-#define DRM_IRQ_RET		int
-#define DRM_NONE		/* FIXME */
-#define DRM_HANDLED		/* FIXME */
+typedef int			irqreturn_t;
+#define IRQ_NONE		/* FIXME */
+#define IRQ_HANDLED		/* FIXME */
 #define DRM_DEVICE		drm_device_t *dev = device_lookup(&DRM(cd), minor(kdev))
 /* XXX Not sure if this is the 'right' version.. */
 #if __NetBSD_Version__ >= 106140000
Index: programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h,v
retrieving revision 1.78
diff -p -u -r1.78 drmP.h
--- programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h	25 Jul 2003 10:50:39 -0000	1.78
+++ programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drmP.h	28 Jul 2003 10:42:49 -0000
@@ -937,7 +954,7 @@ extern int           DRM(control)( struc
 				   unsigned int cmd, unsigned long arg );
 extern int           DRM(irq_install)( drm_device_t *dev, int irq );
 extern int           DRM(irq_uninstall)( drm_device_t *dev );
-extern DRM_IRQ_RET   DRM(dma_service)( DRM_IRQ_ARGS );
+extern irqreturn_t   DRM(dma_service)( DRM_IRQ_ARGS );
 extern void          DRM(driver_irq_preinstall)( drm_device_t *dev );
 extern void          DRM(driver_irq_postinstall)( drm_device_t *dev );
 extern void          DRM(driver_irq_uninstall)( drm_device_t *dev );
Index: programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_os_linux.h
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_os_linux.h,v
retrieving revision 1.16
diff -p -u -r1.16 drm_os_linux.h
--- programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_os_linux.h	25 Jul 2003 10:50:39 -0000	1.16
+++ programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_os_linux.h	28 Jul 2003 10:42:49 -0000
@@ -33,18 +33,14 @@
 /** DRM device local declaration */
 #define DRM_DEVICE	drm_file_t	*priv	= filp->private_data; \
 			drm_device_t	*dev	= priv->dev
-			
+
 /** IRQ handler arguments and return type and values */
 #define DRM_IRQ_ARGS		int irq, void *arg, struct pt_regs *regs
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,69)
-#define DRM_IRQ_RET		void
-#define DRM_IRQ_NONE
-#define DRM_IRQ_HANDLED
-#else
-#define DRM_IRQ_RET		irqreturn_t
-#define DRM_IRQ_NONE		IRQ_NONE
-#define DRM_IRQ_HANDLED		IRQ_HANDLED
+/** backwards compatibility with old irq return values */
+#ifndef IRQ_HANDLED
+typedef void irqreturn_t;
+#define IRQ_HANDLED   /* nothing */
+#define IRQ_NONE      /* nothing */
 #endif
 
 /** AGP types */
Index: programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_dma.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_dma.c,v
retrieving revision 1.28
diff -p -u -r1.28 gamma_dma.c
--- programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_dma.c	25 Jul 2003 10:50:39 -0000	1.28
+++ programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/gamma_dma.c	28 Jul 2003 10:42:51 -0000
@@ -105,7 +105,7 @@ static inline int gamma_dma_is_ready(drm
 	return(!GAMMA_READ(GAMMA_DMACOUNT));
 }
 
-DRM_IRQ_RET gamma_dma_service( DRM_IRQ_ARGS )
+irqreturn_t gamma_dma_service( DRM_IRQ_ARGS )
 {
 	drm_device_t	 *dev = (drm_device_t *)arg;
 	drm_device_dma_t *dma = dev->dma;
@@ -121,7 +121,7 @@ DRM_IRQ_RET gamma_dma_service( DRM_IRQ_A
 	GAMMA_WRITE(GAMMA_GINTFLAGS, 0x2001);
 	if (gamma_dma_is_ready(dev)) {
 				/* Free previous buffer */
-		if (test_and_set_bit(0, &dev->dma_flag)) return DRM_IRQ_HANDLED;
+		if (test_and_set_bit(0, &dev->dma_flag)) return IRQ_HANDLED;
 		if (dma->this_buffer) {
 			gamma_free_buffer(dev, dma->this_buffer);
 			dma->this_buffer = NULL;
@@ -136,7 +136,7 @@ DRM_IRQ_RET gamma_dma_service( DRM_IRQ_A
 		schedule_work(&dev->work);
 #endif
 	}
-	return DRM_IRQ_HANDLED;
+	return IRQ_HANDLED;
 }
 
 /* Only called by gamma_dma_schedule. */
Index: programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/i830_irq.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/i830_irq.c,v
retrieving revision 1.4
diff -p -u -r1.4 i830_irq.c
--- programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/i830_irq.c	25 Jul 2003 10:50:39 -0000	1.4
+++ programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/i830_irq.c	28 Jul 2003 10:42:51 -0000
@@ -36,9 +36,9 @@
 #include <linux/delay.h>
 
 
-DRM_IRQ_RET DRM(dma_service)( DRM_IRQ_ARGS )
+irqreturn_t DRM(dma_service)( DRM_IRQ_ARGS )
 {
-	drm_device_t	 *dev = (drm_device_t *)device;
+	drm_device_t	 *dev = (drm_device_t *)arg;
       	drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private;
    	u16 temp;
 
@@ -46,14 +46,14 @@ DRM_IRQ_RET DRM(dma_service)( DRM_IRQ_AR
 	DRM_DEBUG("%x\n", temp);
 
    	if ( !( temp & 2 ) ) 
-		return DRM_IRQ_NONE;
+		return IRQ_NONE;
 
 	I830_WRITE16(I830REG_INT_IDENTITY_R, temp); 
 
 	atomic_inc(&dev_priv->irq_received);
 	wake_up_interruptible(&dev_priv->irq_queue); 
 
-	return DRM_IRQ_HANDLED;
+	return IRQ_HANDLED;
 }
 
 
Index: programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/mga_irq.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/mga_irq.c,v
retrieving revision 1.6
diff -p -u -r1.6 mga_irq.c
--- programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/mga_irq.c	25 Jul 2003 10:50:39 -0000	1.6
+++ programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/mga_irq.c	28 Jul 2003 10:42:51 -0000
@@ -36,7 +36,7 @@
 #include "mga_drm.h"
 #include "mga_drv.h"
 
-DRM_IRQ_RET mga_dma_service( DRM_IRQ_ARGS )
+irqreturn_t mga_dma_service( DRM_IRQ_ARGS )
 {
 	drm_device_t *dev = (drm_device_t *) arg;
 	drm_mga_private_t *dev_priv = 
@@ -51,9 +51,9 @@ DRM_IRQ_RET mga_dma_service( DRM_IRQ_ARG
 		atomic_inc(&dev->vbl_received);
 		DRM_WAKEUP(&dev->vbl_queue);
 		DRM(vbl_send_signals)( dev );
-		return DRM_IRQ_HANDLED;
+		return IRQ_HANDLED;
 	}
-	return DRM_IRQ_NONE;
+	return IRQ_NONE;
 }
 
 int mga_vblank_wait(drm_device_t *dev, unsigned int *sequence)
Index: programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/r128_irq.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/r128_irq.c,v
retrieving revision 1.6
diff -p -u -r1.6 r128_irq.c
--- programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/r128_irq.c	25 Jul 2003 10:50:39 -0000	1.6
+++ programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/r128_irq.c	28 Jul 2003 10:42:51 -0000
@@ -36,7 +36,7 @@
 #include "r128_drm.h"
 #include "r128_drv.h"
 
-DRM_IRQ_RET r128_dma_service( DRM_IRQ_ARGS )
+irqreturn_t r128_dma_service( DRM_IRQ_ARGS )
 {
 	drm_device_t *dev = (drm_device_t *) arg;
 	drm_r128_private_t *dev_priv = 
@@ -51,9 +51,9 @@ DRM_IRQ_RET r128_dma_service( DRM_IRQ_AR
 		atomic_inc(&dev->vbl_received);
 		DRM_WAKEUP(&dev->vbl_queue);
 		DRM(vbl_send_signals)( dev );
-		return DRM_IRQ_HANDLED;
+		return IRQ_HANDLED;
 	}
-	return DRM_IRQ_NONE;
+	return IRQ_NONE;
 }
 
 int DRM(vblank_wait)(drm_device_t *dev, unsigned int *sequence)
Index: programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/radeon_irq.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/radeon_irq.c,v
retrieving revision 1.15
diff -p -u -r1.15 radeon_irq.c
--- programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/radeon_irq.c	25 Jul 2003 10:50:39 -0000	1.15
+++ programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/radeon_irq.c	28 Jul 2003 10:42:52 -0000
@@ -54,7 +54,7 @@
  * tied to dma at all, this is just a hangover from dri prehistory.
  */
 
-DRM_IRQ_RET DRM(dma_service)( DRM_IRQ_ARGS )
+irqreturn_t DRM(dma_service)( DRM_IRQ_ARGS )
 {
 	drm_device_t *dev = (drm_device_t *) arg;
 	drm_radeon_private_t *dev_priv = 
@@ -67,7 +67,7 @@ DRM_IRQ_RET DRM(dma_service)( DRM_IRQ_AR
 	stat = RADEON_READ(RADEON_GEN_INT_STATUS)
 	     & (RADEON_SW_INT_TEST | RADEON_CRTC_VBLANK_STAT);
 	if (!stat)
-		return DRM_IRQ_NONE;
+		return IRQ_NONE;
 
 	/* SW interrupt */
 	if (stat & RADEON_SW_INT_TEST) {
@@ -83,7 +83,7 @@ DRM_IRQ_RET DRM(dma_service)( DRM_IRQ_AR
 
 	/* Acknowledge interrupts we handle */
 	RADEON_WRITE(RADEON_GEN_INT_STATUS, stat);
-	return DRM_IRQ_HANDLED;
+	return IRQ_HANDLED;
 }
 
 static __inline__ void radeon_acknowledge_irqs(drm_radeon_private_t *dev_priv)

Reply via email to