Hi Wolfgang, I came across the fact that xeno_can_peak_dng is autoloaded on 2.6 due to its PnP announcement via MODULE_DEVICE_TABLE. xeno_irqbench and xeno_16550A used to behave similar, but both just as well as this driver require manual parameters anyway. So let's remove the table and thus any autoloading tendency. I also cleaned up a few driver messages at this chance. OK to apply? Jan --- ChangeLog | 5 +++++ ksrc/drivers/can/sja1000/rtcan_peak_dng.c | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) Index: xenomai/ChangeLog =================================================================== --- xenomai.orig/ChangeLog +++ xenomai/ChangeLog @@ -1,3 +1,8 @@ +2007-05-25 Jan Kiszka + + * ksrc/drivers/can/sja1000/rtcan_peak_dng.c: Remove PnP device + table to avoid autoloading. Fix driver error messages. + 2007-05-25 Philippe Gerum * ksrc/nucleus/shadow.c (do_sigwake_event): Replace silent sanity Index: xenomai/ksrc/drivers/can/sja1000/rtcan_peak_dng.c =================================================================== --- xenomai.orig/ksrc/drivers/can/sja1000/rtcan_peak_dng.c +++ xenomai/ksrc/drivers/can/sja1000/rtcan_peak_dng.c @@ -224,7 +224,7 @@ int __init rtcan_peak_dng_init_one(int i else if (strncmp(type[idx], "epp", 3) == 0) dtype = DONGLE_TYPE_EPP; else { - printk("%s: type %s is invalid, use \"sp\" or \"sp\".", + printk("%s: type %s is invalid, use \"sp\" or \"epp\".", RTCAN_DRV_NAME, type[idx]); return -EINVAL; } @@ -329,8 +329,6 @@ static const struct pnp_device_id rtcan_ { } }; -MODULE_DEVICE_TABLE(pnp, rtcan_peak_dng_pnp_tbl); - static int rtcan_peak_dng_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *id) { @@ -378,7 +376,7 @@ static int __init rtcan_peak_dng_init(vo i++) { if ((ret = rtcan_peak_dng_init_one(i)) != 0) { - printk("Init failed with %d\n", ret); + printk(KERN_ERR "%s: Init failed with %d\n", RTCAN_DRV_NAME, ret); goto cleanup; } done++; @@ -386,7 +384,8 @@ static int __init rtcan_peak_dng_init(vo if (done) return 0; - printk("Please specify type=epp or type=sp\n"); + printk(KERN_ERR "%s: Please specify type=epp or type=sp\n", + RTCAN_DRV_NAME); cleanup: rtcan_peak_dng_exit();