3c509.c
Please Don't do this:
#include <linux/ethtool.h>
#include <linux/device.h>
#include <linux/eisa.h>
+#include <linux/mca-legacy.h>
#include <asm/uaccess.h>
If you're getting MCA_NOTFOUND undefined, it's because CONFIG_MCA_LEGACY isn't set when mca.h is included (either because it's not in your kernel config, or possibly because config.h isn't included into the right place in the driver---the latter doesn't look to be the problem for 3c509.c).
James