Forum: Mikrocontroller und Digitale Elektronik DIL/NetPC9200_ssvirq


von zeiro (Gast)


Lesenswert?

Ich habe einen DIL/NetPC9200 und versuche gerade das Demobeispiel ssvirq 
zu compilieren. Leider bekomme ich folgende Fehlermeldung:

zeiro@6715b:~/test4$ make
/usr/local/arm-linux/bin/arm-linux-gcc -D__KERNEL__ -DMODULE 
-march=armv4 -mtune=arm9tdmi -I/usr/src/linux-2.4.27-vrs1-ssv1/include 
-Os -pipe -mapcs-32 -Uarm -Wall -Wstrict-prototypes -Wno-trigraphs 
-fno-strict-aliasing -fno-common -mshort-load-bytes -msoft-float -c 
ssvirq.c -o ssvirq.o
ssvirq.c: In function `ssvirq_init':
ssvirq.c:90: `AT91PS_SYS' undeclared (first use in this function)
ssvirq.c:90: (Each undeclared identifier is reported only once
ssvirq.c:90: for each function it appears in.)
ssvirq.c:90: parse error before `AT91_SYS'
ssvirq.c:94: `AT91_SYS' undeclared (first use in this function)
make: *** [ssvirq.o] Fehler 1

wie kann in nun herausfinden in welcher Header-Datei sich AT91_SYS 
befinden soll?
1
#include <linux/module.h>
2
#include <linux/kernel.h>
3
#include <linux/init.h>
4
#include <asm/io.h>
5
#include <asm/uaccess.h>
6
7
#include "ssvirq.h"
8
9
static volatile unsigned long ssvirq_count = 0;
10
static unsigned long *ssvirq_userptr = NULL;
11
static int ssvirq_used = 0, irqnr = SSVIRQ_IRQNUMBER;
12
.
13
.
14
.
15
16
/* load kernel module - insmod ssvirq.o... */
17
static int __init ssvirq_init(void) {
18
19
    AT91PS_SYS AT91_SYS = (AT91PS_SYS) AT91C_VA_BASE_SYS;
20
21
    /* change Source Mode Register for
22
       AIC entry 25 to positive edge triggered */
23
    AT91_SYS->AIC_SMR[25] = (0x3 << 5);
24
    /* PIO function disable - enable IRQ0 pin */
25
    AT91_SYS->PIOB_PDR = (1 << 29);
26
27
    /* register irq handler */
28
    if (request_irq(irqnr, ssvirq_interrupt, SA_INTERRUPT,
29
        "ssvirq", NULL)) {
30
        printk(KERN_ERR "ssvirq: can't get assigned irq %i\n", irqnr);
31
  return -EIO;
32
    }
33
34
    /* register character device handler */
35
    if (register_chrdev(SSVIRQ_MAJOR,"ssvirq",&ssvirq_fops)) {
36
  printk(KERN_ERR "ssvirq: unable to get major %d\n", SSVIRQ_MAJOR);
37
  free_irq(irqnr, NULL);
38
  return -EIO;
39
    }
40
41
    printk(KERN_INFO "ssvirq module installed.\n");
42
43
    return 0;
44
}
45
46
/* unload kernel module - rmmod ssvirq... */
47
static void __exit ssvirq_cleanup(void) {
48
49
    /* unregister irq handler */
50
    free_irq(irqnr, NULL);
51
    /* unregister character device handler */
52
    unregister_chrdev(SSVIRQ_MAJOR, "ssvirq");
53
    printk(KERN_INFO "ssvirq module removed.\n");
54
}
55
56
EXPORT_NO_SYMBOLS;
57
58
module_init(ssvirq_init);
59
module_exit(ssvirq_cleanup);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.