Lines Matching refs:tpnt
4294 struct scsi_tape *tpnt = NULL;
4330 tpnt = kzalloc(sizeof(struct scsi_tape), GFP_KERNEL);
4331 if (tpnt == NULL) {
4336 kref_init(&tpnt->kref);
4337 tpnt->disk = disk;
4338 disk->private_data = &tpnt->driver;
4344 tpnt->driver = &st_template;
4346 tpnt->device = SDp;
4348 tpnt->tape_type = MT_ISSCSI1;
4350 tpnt->tape_type = MT_ISSCSI2;
4352 tpnt->buffer = buffer;
4353 tpnt->buffer->last_SRpnt = NULL;
4355 tpnt->inited = 0;
4356 tpnt->dirty = 0;
4357 tpnt->in_use = 0;
4358 tpnt->drv_buffer = 1; /* Try buffering if no mode sense */
4359 tpnt->restr_dma = (SDp->host)->unchecked_isa_dma;
4360 tpnt->use_pf = (SDp->scsi_level >= SCSI_2);
4361 tpnt->density = 0;
4362 tpnt->do_auto_lock = ST_AUTO_LOCK;
4363 tpnt->can_bsr = (SDp->scsi_level > 2 ? 1 : ST_IN_FILE_POS); /* BSR mandatory in SCSI3 */
4364 tpnt->can_partitions = 0;
4365 tpnt->two_fm = ST_TWO_FM;
4366 tpnt->fast_mteom = ST_FAST_MTEOM;
4367 tpnt->scsi2_logical = ST_SCSI2LOGICAL;
4368 tpnt->sili = ST_SILI;
4369 tpnt->immediate = ST_NOWAIT;
4370 tpnt->immediate_filemark = 0;
4371 tpnt->default_drvbuffer = 0xff; /* No forced buffering */
4372 tpnt->partition = 0;
4373 tpnt->new_partition = 0;
4374 tpnt->nbr_partitions = 0;
4375 blk_queue_rq_timeout(tpnt->device->request_queue, ST_TIMEOUT);
4376 tpnt->long_timeout = ST_LONG_TIMEOUT;
4377 tpnt->try_dio = try_direct_io && !SDp->host->unchecked_isa_dma;
4380 STm = &(tpnt->modes[i]);
4390 STm->tape = tpnt;
4394 STps = &(tpnt->ps[i]);
4403 tpnt->current_mode = 0;
4404 tpnt->modes[0].defined = 1;
4406 tpnt->density_changed = tpnt->compression_changed =
4407 tpnt->blksize_changed = 0;
4408 mutex_init(&tpnt->lock);
4412 error = idr_alloc(&st_index_idr, tpnt, 0, ST_MAX_TAPES + 1, GFP_NOWAIT);
4419 tpnt->index = error;
4420 sprintf(disk->disk_name, "st%d", tpnt->index);
4421 tpnt->stats = kzalloc(sizeof(struct scsi_tape_stats), GFP_KERNEL);
4422 if (tpnt->stats == NULL) {
4428 dev_set_drvdata(dev, tpnt);
4431 error = create_cdevs(tpnt);
4437 "Attached scsi tape %s\n", tape_name(tpnt));
4439 tape_name(tpnt), tpnt->try_dio ? "yes" : "no",
4445 remove_cdevs(tpnt);
4446 kfree(tpnt->stats);
4449 idr_remove(&st_index_idr, tpnt->index);
4455 kfree(tpnt);
4466 struct scsi_tape *tpnt = dev_get_drvdata(dev);
4467 int index = tpnt->index;
4470 remove_cdevs(tpnt);
4473 kref_put(&tpnt->kref, scsi_tape_release);
4492 struct scsi_tape *tpnt = to_scsi_tape(kref);
4493 struct gendisk *disk = tpnt->disk;
4495 tpnt->device = NULL;
4497 if (tpnt->buffer) {
4498 normalize_buffer(tpnt->buffer);
4499 kfree(tpnt->buffer->reserved_pages);
4500 kfree(tpnt->buffer);
4505 kfree(tpnt->stats);
4506 kfree(tpnt);