2000-11-26 22:15:55

by Jeff V. Merkey

[permalink] [raw]
Subject: PCMCIA 3.1.22 needs patch for kernels > 2.2.18-23



David Hinds/Linux,

PCMCIA 3.1.22 requires that the defines in /include/pcmcia/k_compat.h
for init_waitqueue_head(n) and set_current_state(n) be removed in order
to build correctly against 2.2.18-23.

Offending code attached. This probably needs somethig better than the
LINUX_KERNEL_VERSION macro to avoid this problem in the future.

:-)

Jeff

in /include/pcmcia/k_compat.h

/*********
#if (LINUX_VERSION_CODE < VERSION(2,2,18))
#if (LINUX_VERSION_CODE < VERSION(2,0,16))
#define init_waitqueue_head(p) (*(p) = NULL)
#else
#define init_waitqueue_head(p) init_waitqueue(p)
#endif
typedef struct wait_queue *wait_queue_head_t;
#endif
*******/

and


#if (LINUX_VERSION_CODE < VERSION(2,1,0))
#define __set_current_state(n) \
do { current->state = TASK_INTERRUPTIBLE; } while (0)
#elif (LINUX_VERSION_CODE < VERSION(2,2,18))
//#define __set_current_state(n) do { current->state = (n); } while (0)
#endif