linux那些事儿之我是scsi硬盘,Linux那些事儿之我是SCSI硬盘(1)简简单单初始化

1831 /**

1832*init_sd - entry point for this driver (both when built in or when

1833*a module).

1834*

1835*Note: this function registers this driver with the scsi mid-level.

1836**/

1837 static int __init init_sd(void)

1838 {

1839int majors = 0, i, err;

1840

1841SCSI_LOG_HLQUEUE(3, printk("init_sd: sd driver entry point/n"));

1842

1843for (i = 0; i < SD_MAJORS; i++)

1844if (register_blkdev(sd_major(i), "sd") == 0)

1845majors++;

1846

1847if (!majors)

1848return -ENODEV;

1849

1850err = class_register(&sd_disk_class);

1851if (err)

1852goto err_out;

1853

1854err = scsi_register_driver(&sd_template.gendrv);

1855if (err)

1856goto err_out_class;

1857

1858return 0;

1859

1860 err_out_class:

1861class_unregister(&sd_disk_class);

1862 err_out:

1863for (i = 0; i < SD_MAJORS; i++)

1864unregister_blkdev(sd_major(i), "sd");

1865return err;

1866 }

1867

1868 /**

1869*exit_sd - exit point for this driver (when it is a module).

1870*

1871*Note: this function unregisters this driver from the scsi mid-level.

1872**/

1873 static void __exit exit_sd(void)

1874 {

1875int i;

1876

1877SCSI_LOG_HLQUEUE(3, printk("exit_sd: exiting sd driver/n"));

1878

1879scsi_unregister_driver(&sd_template.gendrv);

1880class_unregister(&sd_disk_class);

1881

1882for (i = 0; i < SD_MAJORS; i++)

1883unregister_blkdev(sd_major(i), "sd");

1884 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值