Re: [PATCH] build error drivers/staging/dt3155/dt3155_drv.c

From: Randy Dunlap
Date: Tue Apr 13 2010 - 18:25:54 EST


On Wed, 14 Apr 2010 00:20:31 +0200 Jan III Sobieski wrote:

> W dniu 7 kwietnia 2010 06:05 uÅytkownik Jan III Sobieski
> <jan3sobi3ski@xxxxxxxxx> napisaÅ:
> > W dniu 7 kwietnia 2010 06:04 uÅytkownik Jan III Sobieski
> > <jan3sobi3ski@xxxxxxxxx> napisaÅ:
> >> Hi,
> >>
> >> ÂCC Â Â Âdrivers/staging/dt3155/dt3155_drv.o
> >> drivers/staging/dt3155/dt3155_drv.c: In function 'init_module':
> >> drivers/staging/dt3155/dt3155_drv.c:1047: error: implicit declaration
> >> of function 'request_irq'
> >> drivers/staging/dt3155/dt3155_drv.c:1048: error: 'IRQF_SHARED'
> >> undeclared (first use in this function)
> >> drivers/staging/dt3155/dt3155_drv.c:1048: error: (Each undeclared
> >> identifier is reported only once
> >> drivers/staging/dt3155/dt3155_drv.c:1048: error: for each function it
> >> appears in.)
> >> drivers/staging/dt3155/dt3155_drv.c:1048: error: 'IRQF_DISABLED'
> >> undeclared (first use in this function)
> >> drivers/staging/dt3155/dt3155_drv.c: In function 'cleanup_module':
> >> drivers/staging/dt3155/dt3155_drv.c:1091: error: implicit declaration
> >> of function 'free_irq'
> >> make[3]: *** [drivers/staging/dt3155/dt3155_drv.o] BÅÄd 1
> >> make[2]: *** [drivers/staging/dt3155] BÅÄd 2
> >> make[1]: *** [drivers/staging] BÅÄd 2
> >> make: *** [drivers] BÅÄd 2
> >
> > BTW. Kernel 2.6.34-rc3-git6
>
> I still get this bug on 2.6.34-rc4. Anyone care to pick this patch?


I sent a patch on March 09, 2010, that should fix it.
Please test it. Thanks.

---
From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>

When the dt3155 driver is built-in (not as a loadable module),
these build errors happen:

drivers/staging/dt3155/dt3155_drv.c:1047: error: implicit declaration of function 'request_irq'
drivers/staging/dt3155/dt3155_drv.c:1048: error: 'IRQF_SHARED' undeclared (first use in this function)
drivers/staging/dt3155/dt3155_drv.c:1048: error: 'IRQF_DISABLED' undeclared (first use in this function)
drivers/staging/dt3155/dt3155_drv.c:1091: error: implicit declaration of function 'free_irq'

so remove the #ifdef MODULE check since it's not needed.
Also remove the CONFIG_PCI check since the Kconfig file already
requires that.

Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Cc: Scott Smedley <ss@xxxxxxxxxx>
---
drivers/staging/dt3155/dt3155_drv.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)

--- linux-next-20100309.orig/drivers/staging/dt3155/dt3155_drv.c
+++ linux-next-20100309/drivers/staging/dt3155/dt3155_drv.c
@@ -57,19 +57,8 @@ MA 02111-1307 USA

extern void printques(int);

-#ifdef MODULE
#include <linux/module.h>
#include <linux/interrupt.h>
-
-
-MODULE_LICENSE("GPL");
-
-#endif
-
-#ifndef CONFIG_PCI
-#error "DT3155 : Kernel PCI support not enabled (DT3155 drive requires PCI)"
-#endif
-
#include <linux/pci.h>
#include <linux/types.h>
#include <linux/poll.h>
@@ -84,6 +73,9 @@ MODULE_LICENSE("GPL");
#include "dt3155_io.h"
#include "allocator.h"

+
+MODULE_LICENSE("GPL");
+
/* Error variable. Zero means no error. */
int dt3155_errno = 0;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/