How is it possible to build a loadable module from spi-altera.c ...?


jchludzinski
 

How is it possible to build a loadable module from spi-altera.c when it has no code for creating udev files (i.e., /dev/spidevXX); it has no: 

static int __init spidev_init(void)
{
    int status;

    printk(KERN_ALERT "DEBUG: Passed %s %d \n", __FUNCTION__, __LINE__);

    /* Claim our 256 reserved device numbers.  Then register a class
     * that will key udev/mdev to add/remove /dev nodes.  Last, register
     * the driver which manages those device numbers.
     */
    BUILD_BUG_ON(N_SPI_MINORS > 256);
    status = register_chrdev(SPIDEV_MAJOR, "spi", &spidev_fops);
    
    printk(KERN_ALERT "DEBUG: Passed %s %d \n", __FUNCTION__, __LINE__);

    if (status < 0)
        return status;

    
    printk(KERN_ALERT "DEBUG: Passed %s %d \n", __FUNCTION__, __LINE__);

    spidev_class = class_create(THIS_MODULE, "spidev");
    if (IS_ERR(spidev_class)) {
        unregister_chrdev(SPIDEV_MAJOR, spidev_spi_driver.driver.name);
        return PTR_ERR(spidev_class);
    }
    
    printk(KERN_ALERT "DEBUG: Passed %s %d \n", __FUNCTION__, __LINE__);

    status = spi_register_driver(&spidev_spi_driver);
    if (status < 0) {
        class_destroy(spidev_class);
        unregister_chrdev(SPIDEV_MAJOR, spidev_spi_driver.driver.name);
    }
    
    printk(KERN_ALERT "DEBUG: Passed %s %d \n", __FUNCTION__, __LINE__);
    
    return status;
}
module_init(spidev_init);

The printk's are of course mine.
 
---John

Join yocto@lists.yoctoproject.org to automatically receive all group messages.