Here's a little patch to clean up some of the ide parameter parsing code. I have not tested the module version of this code but the changes seem pretty minor. The main change is that it replaces the existing: __setup("",ide_setup); with: __setup("hd",hd_setup); __setup(ide",ide_setup); The setup routine is split into two routines; one to process hd parameters specific to a device, and one to process ide parameters specific to a controller. The ide code was the only code in the kernel that abused the __setup macro by calling it with a null string, and this patch gets rid of that. This is a small change, but it makes it obvious that some of the hd parameters are actually setting controller parameters, not just device parameters. Gerald