pckbd_rate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





I was compiling 2.4.18 and I ran into this (this was all done after the
symbolic links were set up to the mips directories):

When compiling /usr/src/kernel-source-2.4.18/drivers/char/keyboard.c:

Included in this order
#include <asm/keyboard.h>
...stuff...
#include <linux/vt_kern.h>

/usr/src/kernel-source-2.4.18/include/linux/vt_kern.h:35: `pckbd_rate'
redeclared as different kind of symbol
/usr/src/kernel-source-2.4.18/include/asm/keyboard.h:30: previous
declaration of `pckbd_rate'

in asm/keyboard.h
extern int pckbd_rate(struct kbd_repeat *rep);
#define kbd_rate                pckbd_rate

In that order, but, as I understand, the preprocessor will make a pass
and substitution before the c compiler is called so effectively
extern int kbd_rate(struct kbd_repeat *rep);

and in linux/vt_kern.h

extern int (*kbd_rate)(struct kbd_repeat *rep);

As you can see, the first is the variable and the second is a pointer. 
Which is right?

I commented out the pointer, chosen at random and crashed a bit later at
pc_keyb.c.  So I went back and commented out the first one.  Crashed in
the same place.  So I grabbed my keyboard.h from my 2.4.16 kernel and
copied it in.  It works fine.

Is this just me?

-- 
Mike Nugent
Programmer/Author
mike@illuminatus.org
"I believe the use of noise to make music will increase until we reach a
music produced through the aid of electrical instruments which will make
available for musical purposes any and all sounds that can be heard."
 -- composer John Cage, 1937




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux