Lines Matching refs:drv_index

177 static int deregister_disk(ctlr_info_t *h, int drv_index,
203 static void cciss_free_gendisk(ctlr_info_t *h, int drv_index);
204 static void cciss_free_drive_info(ctlr_info_t *h, int drv_index);
935 int drv_index) in cciss_create_ld_sysfs_entry() argument
939 if (h->drv[drv_index]->device_initialized) in cciss_create_ld_sysfs_entry()
942 dev = &h->drv[drv_index]->dev; in cciss_create_ld_sysfs_entry()
946 dev_set_name(dev, "c%dd%d", h->ctlr, drv_index); in cciss_create_ld_sysfs_entry()
948 h->drv[drv_index]->device_initialized = 1; in cciss_create_ld_sysfs_entry()
955 static void cciss_destroy_ld_sysfs_entry(struct ctlr_info *h, int drv_index, in cciss_destroy_ld_sysfs_entry() argument
958 struct device *dev = &h->drv[drv_index]->dev; in cciss_destroy_ld_sysfs_entry()
961 if (drv_index == 0 && !ctlr_exiting) in cciss_destroy_ld_sysfs_entry()
966 h->drv[drv_index] = NULL; in cciss_destroy_ld_sysfs_entry()
1932 int drv_index) in cciss_add_disk() argument
1937 sprintf(disk->disk_name, "cciss/c%dd%d", h->ctlr, drv_index); in cciss_add_disk()
1939 disk->first_minor = drv_index << NWD_SHIFT; in cciss_add_disk()
1941 if (cciss_create_ld_sysfs_entry(h, drv_index)) in cciss_add_disk()
1943 disk->private_data = h->drv[drv_index]; in cciss_add_disk()
1944 disk->driverfs_dev = &h->drv[drv_index]->dev; in cciss_add_disk()
1959 h->drv[drv_index]->block_size); in cciss_add_disk()
1965 h->drv[drv_index]->queue = disk->queue; in cciss_add_disk()
1986 static void cciss_update_drive_info(ctlr_info_t *h, int drv_index, in cciss_update_drive_info() argument
2005 cciss_read_capacity_16(h, drv_index, in cciss_update_drive_info()
2009 cciss_read_capacity(h, drv_index, &total_size, &block_size); in cciss_update_drive_info()
2014 cciss_read_capacity_16(h, drv_index, in cciss_update_drive_info()
2024 cciss_geometry_inquiry(h, drv_index, total_size, block_size, in cciss_update_drive_info()
2029 cciss_get_device_descr(h, drv_index, drvinfo->vendor, in cciss_update_drive_info()
2031 cciss_get_serial_no(h, drv_index, drvinfo->serial_no, in cciss_update_drive_info()
2034 memcpy(drvinfo->LunID, h->drv[drv_index]->LunID, in cciss_update_drive_info()
2038 if (h->drv[drv_index]->raid_level != -1 && in cciss_update_drive_info()
2040 h->drv[drv_index]->serial_no, 16) == 0) && in cciss_update_drive_info()
2041 drvinfo->block_size == h->drv[drv_index]->block_size && in cciss_update_drive_info()
2042 drvinfo->nr_blocks == h->drv[drv_index]->nr_blocks && in cciss_update_drive_info()
2043 drvinfo->heads == h->drv[drv_index]->heads && in cciss_update_drive_info()
2044 drvinfo->sectors == h->drv[drv_index]->sectors && in cciss_update_drive_info()
2045 drvinfo->cylinders == h->drv[drv_index]->cylinders)) in cciss_update_drive_info()
2055 if (h->drv[drv_index]->raid_level != -1 && drv_index != 0) { in cciss_update_drive_info()
2056 dev_warn(&h->pdev->dev, "disk %d has changed.\n", drv_index); in cciss_update_drive_info()
2058 h->drv[drv_index]->busy_configuring = 1; in cciss_update_drive_info()
2065 ret = deregister_disk(h, drv_index, 0, via_ioctl); in cciss_update_drive_info()
2076 if (h->drv[drv_index] == NULL) { in cciss_update_drive_info()
2078 h->drv[drv_index] = drvinfo; in cciss_update_drive_info()
2082 h->drv[drv_index]->block_size = drvinfo->block_size; in cciss_update_drive_info()
2083 h->drv[drv_index]->nr_blocks = drvinfo->nr_blocks; in cciss_update_drive_info()
2084 h->drv[drv_index]->heads = drvinfo->heads; in cciss_update_drive_info()
2085 h->drv[drv_index]->sectors = drvinfo->sectors; in cciss_update_drive_info()
2086 h->drv[drv_index]->cylinders = drvinfo->cylinders; in cciss_update_drive_info()
2087 h->drv[drv_index]->raid_level = drvinfo->raid_level; in cciss_update_drive_info()
2088 memcpy(h->drv[drv_index]->serial_no, drvinfo->serial_no, 16); in cciss_update_drive_info()
2089 memcpy(h->drv[drv_index]->vendor, drvinfo->vendor, in cciss_update_drive_info()
2091 memcpy(h->drv[drv_index]->model, drvinfo->model, MODEL_LEN + 1); in cciss_update_drive_info()
2092 memcpy(h->drv[drv_index]->rev, drvinfo->rev, REV_LEN + 1); in cciss_update_drive_info()
2096 disk = h->gendisk[drv_index]; in cciss_update_drive_info()
2097 set_capacity(disk, h->drv[drv_index]->nr_blocks); in cciss_update_drive_info()
2105 if (drv_index || first_time) { in cciss_update_drive_info()
2106 if (cciss_add_disk(h, disk, drv_index) != 0) { in cciss_update_drive_info()
2107 cciss_free_gendisk(h, drv_index); in cciss_update_drive_info()
2108 cciss_free_drive_info(h, drv_index); in cciss_update_drive_info()
2110 drv_index); in cciss_update_drive_info()
2177 static void cciss_free_drive_info(ctlr_info_t *h, int drv_index) in cciss_free_drive_info() argument
2179 kfree(h->drv[drv_index]); in cciss_free_drive_info()
2180 h->drv[drv_index] = NULL; in cciss_free_drive_info()
2183 static void cciss_free_gendisk(ctlr_info_t *h, int drv_index) in cciss_free_gendisk() argument
2185 put_disk(h->gendisk[drv_index]); in cciss_free_gendisk()
2186 h->gendisk[drv_index] = NULL; in cciss_free_gendisk()
2201 int drv_index; in cciss_add_gendisk() local
2203 drv_index = cciss_alloc_drive_info(h, controller_node); in cciss_add_gendisk()
2204 if (drv_index == -1) in cciss_add_gendisk()
2208 if (!h->gendisk[drv_index]) { in cciss_add_gendisk()
2209 h->gendisk[drv_index] = in cciss_add_gendisk()
2211 if (!h->gendisk[drv_index]) { in cciss_add_gendisk()
2214 drv_index); in cciss_add_gendisk()
2218 memcpy(h->drv[drv_index]->LunID, lunid, in cciss_add_gendisk()
2219 sizeof(h->drv[drv_index]->LunID)); in cciss_add_gendisk()
2220 if (cciss_create_ld_sysfs_entry(h, drv_index)) in cciss_add_gendisk()
2225 h->drv[drv_index]->busy_configuring = 0; in cciss_add_gendisk()
2227 return drv_index; in cciss_add_gendisk()
2230 cciss_free_gendisk(h, drv_index); in cciss_add_gendisk()
2232 cciss_free_drive_info(h, drv_index); in cciss_add_gendisk()
2244 int drv_index; in cciss_add_controller_node() local
2249 drv_index = cciss_add_gendisk(h, CTLR_LUNID, 1); in cciss_add_controller_node()
2250 if (drv_index == -1) in cciss_add_controller_node()
2252 h->drv[drv_index]->block_size = 512; in cciss_add_controller_node()
2253 h->drv[drv_index]->nr_blocks = 0; in cciss_add_controller_node()
2254 h->drv[drv_index]->heads = 0; in cciss_add_controller_node()
2255 h->drv[drv_index]->sectors = 0; in cciss_add_controller_node()
2256 h->drv[drv_index]->cylinders = 0; in cciss_add_controller_node()
2257 h->drv[drv_index]->raid_level = -1; in cciss_add_controller_node()
2258 memset(h->drv[drv_index]->serial_no, 0, 16); in cciss_add_controller_node()
2259 disk = h->gendisk[drv_index]; in cciss_add_controller_node()
2260 if (cciss_add_disk(h, disk, drv_index) == 0) in cciss_add_controller_node()
2262 cciss_free_gendisk(h, drv_index); in cciss_add_controller_node()
2263 cciss_free_drive_info(h, drv_index); in cciss_add_controller_node()
2286 int drv_index = 0; in rebuild_lun_table() local
2382 drv_index = j; in rebuild_lun_table()
2390 drv_index = cciss_add_gendisk(h, lunid, 0); in rebuild_lun_table()
2391 if (drv_index == -1) in rebuild_lun_table()
2394 cciss_update_drive_info(h, drv_index, first_time, via_ioctl); in rebuild_lun_table()
2451 static int deregister_disk(ctlr_info_t *h, int drv_index, in deregister_disk() argument
2462 drv = h->drv[drv_index]; in deregister_disk()
2463 disk = h->gendisk[drv_index]; in deregister_disk()
2481 cciss_destroy_ld_sysfs_entry(h, drv_index, 0); in deregister_disk()