I have a static device driver that I am trying to register (embedded application Linux 2.6.10) using the cdev interface. The driver is not showing up in the /dev directory. Any ideas on what I am doing wrong? Here is the relavent code:

/* Setup the char_dev structure for this device */
static void adc_setup_cdev(struct adc_dev *dev, int devno)
{
int err;
// int devno = MKDEV(ADC_MAJOR, ADC_MINOR);

cdev_init(&dev->cdev, &adc_fops);
dev->cdev.owner = THIS_MODULE;
dev->cdev.ops = &adc_fops;

err = cdev_add(&dev->cdev, devno, 1);
if(err){
printk(KERN_NOTICE "Error %d adding adc", err);
}

} /* end adc_setup_cdev(struct) */


devno = MKDEV(ADC_MAJOR, ADC_MINOR);

ret = register_chrdev_region(devno, adc_nr_devs, "/dev/adc");
if( ret < 0){
printk("Error registering adc device: ret = %d\n", ret);
goto ADC_Fail;
}
/* Initialize cdev structure */
adc_setup_cdev(&adc_device, devno);