taglinefilesource code
drive225drivers/block/floppy.c#define UDP (&drive_params[drive])
drive226drivers/block/floppy.c#define UDRS (&drive_state[drive])
drive227drivers/block/floppy.c#define UDRWE (&write_errors[drive])
drive228drivers/block/floppy.c#define UFDCS (&fdc_state[FDC(drive)])
drive596drivers/block/floppy.cstatic void reschedule_timeout(int drive, char *message, int marg)
drive598drivers/block/floppy.cif (drive == CURRENTD )
drive599drivers/block/floppy.cdrive = current_drive;
drive601drivers/block/floppy.cif (drive < 0 || drive > N_DRIVE) {
drive603drivers/block/floppy.cdrive=0;
drive648drivers/block/floppy.cstatic int disk_change(int drive)
drive650drivers/block/floppy.cint fdc=FDC(drive);
drive654drivers/block/floppy.cif(! (FDCS->dor & (0x10 << UNIT(drive))) ||
drive655drivers/block/floppy.c(FDCS->dor & 3) != UNIT(drive) ||
drive656drivers/block/floppy.cfdc != FDC(drive)){
drive658drivers/block/floppy.cDPRINT3("drive=%d fdc=%d dor=%x\n",drive, FDC(drive),
drive665drivers/block/floppy.cDPRINT1("checking disk change line for drive %d\n",drive);
drive682drivers/block/floppy.ccurrent_type[drive] != NULL)
drive685drivers/block/floppy.ccurrent_type[drive] = NULL;
drive705drivers/block/floppy.cregister unsigned char drive, unit, newdor,olddor;
drive715drivers/block/floppy.cdrive = REVDRIVE(fdc,unit);
drive721drivers/block/floppy.cdisk_change(drive);
drive728drivers/block/floppy.cdrive = REVDRIVE(fdc,unit);
drive752drivers/block/floppy.cint drive;
drive758drivers/block/floppy.cfor ( drive = 0; drive < N_DRIVE; drive++)
drive759drivers/block/floppy.cif (FDC(drive) == fdc &&
drive765drivers/block/floppy.cstatic void set_fdc(int drive)
drive767drivers/block/floppy.cif (drive >= 0 && drive < N_DRIVE){
drive768drivers/block/floppy.cfdc = FDC(drive);
drive769drivers/block/floppy.ccurrent_drive = drive;
drive780drivers/block/floppy.cstatic int lock_fdc(int drive, int interruptible)
drive799drivers/block/floppy.cset_fdc(drive);
drive800drivers/block/floppy.creschedule_timeout(drive, "lock fdc", 0);
drive804drivers/block/floppy.c#define LOCK_FDC(drive,interruptible) \
drive805drivers/block/floppy.cif(lock_fdc(drive,interruptible)) return -EINTR;
drive845drivers/block/floppy.cstatic void floppy_off(unsigned int drive)
drive848drivers/block/floppy.cregister int fdc=FDC(drive);
drive850drivers/block/floppy.cif( !(FDCS->dor & ( 0x10 << UNIT(drive))))
drive853drivers/block/floppy.cdel_timer(motor_off_timer+drive);
drive861drivers/block/floppy.cmotor_off_timer[drive].expires = UDP->spindown - delta;
drive863drivers/block/floppy.cadd_timer(motor_off_timer+drive);
drive873drivers/block/floppy.cint i, drive, saved_drive;
drive880drivers/block/floppy.cdrive = (saved_drive + i + 1 ) % N_DRIVE;
drive883drivers/block/floppy.cset_fdc(drive);
drive884drivers/block/floppy.cif(! (set_dor( fdc, ~3, UNIT(drive) | ( 0x10 << UNIT(drive))) &
drive885drivers/block/floppy.c(0x10 << UNIT(drive))))
drive888drivers/block/floppy.cset_dor( fdc, ~( 0x10 << UNIT(drive) ), 0 );
drive2078drivers/block/floppy.cint drive=DRIVE(device);
drive2080drivers/block/floppy.cLOCK_FDC(drive,1);
drive2766drivers/block/floppy.cstatic int user_reset_fdc(int drive, int arg, int interruptible)
drive2773drivers/block/floppy.cLOCK_FDC(drive,interruptible);
drive2803drivers/block/floppy.cstatic char *drive_name(int type, int drive )
drive2830drivers/block/floppy.cint i, drive, count, ret;
drive2834drivers/block/floppy.cfor ( drive= 0; drive < N_DRIVE; drive++){
drive2835drivers/block/floppy.cif ( FDC(drive) != fdc)
drive2837drivers/block/floppy.cif ( drive == current_drive ){
drive2924drivers/block/floppy.cint i,device,drive,type,cnt;
drive2933drivers/block/floppy.cdrive = DRIVE(device);
drive2939drivers/block/floppy.cname = drive_name(type,drive);
drive2951drivers/block/floppy.celse if ((this_floppy = current_type[drive]) ==
drive2956drivers/block/floppy.cLOCK_FDC(drive,1);
drive2983drivers/block/floppy.cLOCK_FDC(drive,1);
drive2998drivers/block/floppy.cLOCK_FDC(drive,1);
drive2999drivers/block/floppy.ccurrent_type[drive] = NULL;
drive3000drivers/block/floppy.cfloppy_sizes[drive] = MAX_DISK_SIZE;
drive3005drivers/block/floppy.cLOCK_FDC(drive,1);
drive3021drivers/block/floppy.cLOCK_FDC(drive,1);
drive3025drivers/block/floppy.cset_bit(drive, &fake_change);
drive3045drivers/block/floppy.cLOCK_FDC(drive,1);
drive3050drivers/block/floppy.cuser_params[drive] = newparams;
drive3051drivers/block/floppy.cif (buffer_drive == drive &&
drive3052drivers/block/floppy.cbuffer_max > user_params[drive].sect)
drive3053drivers/block/floppy.cbuffer_max=user_params[drive].sect;
drive3054drivers/block/floppy.ccurrent_type[drive] = &user_params[drive];
drive3055drivers/block/floppy.cfloppy_sizes[drive] = user_params[drive].size >> 1;
drive3066drivers/block/floppy.cuser_params[drive].sect ||
drive3073drivers/block/floppy.creturn user_reset_fdc( drive, (int)param, 1);
drive3085drivers/block/floppy.cLOCK_FDC(drive,1);
drive3104drivers/block/floppy.cint drive;
drive3107drivers/block/floppy.cdrive=0;
drive3110drivers/block/floppy.cdrive=1;
drive3117drivers/block/floppy.cfor (drive=0; drive < N_DRIVE; drive++){
drive3129drivers/block/floppy.cALLOWED_DRIVE_MASK |= 1 << drive;
drive3130drivers/block/floppy.cprintk("fd%d is %s", drive,
drive3133drivers/block/floppy.cprintk("fd%d is unknown type %d",drive,
drive3144drivers/block/floppy.cint drive = DRIVE(inode->i_rdev);
drive3157drivers/block/floppy.cint drive = DRIVE(inode->i_rdev);
drive3175drivers/block/floppy.cint drive;
drive3177drivers/block/floppy.cdrive = DRIVE(inode->i_rdev);
drive3204drivers/block/floppy.cint drive;
drive3214drivers/block/floppy.cdrive = DRIVE(inode->i_rdev);
drive3216drivers/block/floppy.cif (drive >= N_DRIVE || 
drive3217drivers/block/floppy.c!( ALLOWED_DRIVE_MASK & ( 1 << drive)) ||
drive3218drivers/block/floppy.cfdc_state[FDC(drive)].version == FDC_NONE)
drive3274drivers/block/floppy.cif (buffer_drive == drive)
drive3307drivers/block/floppy.cint drive = DRIVE( dev );
drive3318drivers/block/floppy.clock_fdc(drive,0);
drive3324drivers/block/floppy.ctest_bit(drive, &fake_change) ||
drive3325drivers/block/floppy.c(!TYPE(dev) && !current_type[drive]))
drive3336drivers/block/floppy.c#define NO_GEOM (!current_type[drive] && !TYPE(dev))
drive3338drivers/block/floppy.cint drive=DRIVE(dev);
drive3341drivers/block/floppy.cif(UTESTF(FD_DISK_CHANGED) || test_bit(drive, &fake_change) || NO_GEOM){
drive3342drivers/block/floppy.clock_fdc(drive,0);
drive3344drivers/block/floppy.cif(! (cf || test_bit(drive, &fake_change) || NO_GEOM)){
drive3350drivers/block/floppy.cif ( buffer_drive == drive)
drive3352drivers/block/floppy.cclear_bit(drive, &fake_change);
drive3569drivers/block/floppy.cint i,drive;
drive3612drivers/block/floppy.cfor (drive = 0; drive < N_DRIVE ; drive++) {
drive3710drivers/block/floppy.cint drive;
drive3744drivers/block/floppy.cfor(drive=0; drive < N_FDC * 4; drive++)
drive3745drivers/block/floppy.cif( motor_off_timer[drive].next )
drive3746drivers/block/floppy.cprintk("motor off timer %d still active\n", drive);
drive318drivers/block/genhd.cvoid resetup_one_dev(struct gendisk *dev, int drive)
drive321drivers/block/genhd.cint start = drive<<dev->minor_shift;
drive325drivers/block/genhd.ccurrent_minor = 1+(drive<<dev->minor_shift);
drive326drivers/block/genhd.ccheck_partition(dev, major+(drive<<dev->minor_shift));
drive337drivers/block/genhd.cint drive;
drive345drivers/block/genhd.cfor (drive=0 ; drive<dev->nr_real ; drive++) {
drive346drivers/block/genhd.ccurrent_minor = 1+(drive<<dev->minor_shift);
drive347drivers/block/genhd.ccheck_partition(dev, major+(drive<<dev->minor_shift));
drive208drivers/block/hd.cstatic int controller_ready(unsigned int drive, unsigned int head)
drive215drivers/block/hd.coutb_p(0xA0 | (drive<<4) | head, HD_CURRENT);
drive222drivers/block/hd.cstatic void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect,
drive234drivers/block/hd.cif (!controller_ready(drive, head)) {
drive239drivers/block/hd.coutb_p(hd_info[drive].ctl,HD_CMD);
drive241drivers/block/hd.coutb_p(hd_info[drive].wpcom>>2,++port);
drive246drivers/block/hd.coutb_p(0xA0|(drive<<4)|head,++port);
drive963drivers/block/hd.cint cmos_disks, drive;
drive965drivers/block/hd.cfor (drive=0 ; drive<2 ; drive++) {
drive966drivers/block/hd.cbios_info[drive].cyl   = hd_info[drive].cyl = *(unsigned short *) BIOS;
drive967drivers/block/hd.cbios_info[drive].head  = hd_info[drive].head = *(2+BIOS);
drive968drivers/block/hd.cbios_info[drive].wpcom = hd_info[drive].wpcom = *(unsigned short *) (5+BIOS);
drive969drivers/block/hd.cbios_info[drive].ctl   = hd_info[drive].ctl = *(8+BIOS);
drive970drivers/block/hd.cbios_info[drive].lzone = hd_info[drive].lzone = *(unsigned short *) (12+BIOS);
drive971drivers/block/hd.cbios_info[drive].sect  = hd_info[drive].sect = *(14+BIOS);
drive973drivers/block/hd.cif (hd_info[drive].cyl && NR_HD == drive)
drive487drivers/block/ide-cd.creqbuf = &cdrom_info[DEV_HWIF][dev->select.b.drive].sense_data;
drive498drivers/block/ide-cd.crq->dev = MKDEV (major, (dev->select.b.drive) << PARTN_BITS);
drive537drivers/block/ide-cd.creqbuf = &cdrom_info[DEV_HWIF][dev->select.b.drive].sense_data;
drive551drivers/block/ide-cd.ccdrom_info[DEV_HWIF][dev->select.b.drive].nsectors_buffered = 0;
drive743drivers/block/ide-cd.cstruct cdrom_info *info = &cdrom_info[DEV_HWIF][dev->select.b.drive];
drive950drivers/block/ide-cd.cstruct cdrom_info *info = &cdrom_info[DEV_HWIF][dev->select.b.drive];
drive1103drivers/block/ide-cd.ccdrom_info[DEV_HWIF][dev->select.b.drive].nsectors_buffered = 0;
drive1297drivers/block/ide-cd.creq.dev = MKDEV (major, (dev->select.b.drive) << PARTN_BITS);
drive1334drivers/block/ide-cd.c&cdrom_info[DEV_HWIF][dev->select.b.drive].sense_data;
drive1547drivers/block/ide-cd.cstruct atapi_toc *toc = cdrom_info[DEV_HWIF][dev->select.b.drive].toc;
drive1554drivers/block/ide-cd.ccdrom_info[DEV_HWIF][dev->select.b.drive].toc = toc;
drive1732drivers/block/ide-cd.creqbuf = &cdrom_info[DEV_HWIF][dev->select.b.drive].sense_data;
drive1761drivers/block/ide-cd.ctoc = cdrom_info[DEV_HWIF][dev->select.b.drive].toc;
drive1857drivers/block/ide-cd.ctoc = cdrom_info[DEV_HWIF][dev->select.b.drive].toc;
drive2074drivers/block/ide-cd.cide_capacity[DEV_HWIF][dev->select.b.drive] = 0x1fffff;
drive2076drivers/block/ide-cd.cide_blksizes[DEV_HWIF][dev->select.b.drive << PARTN_BITS] = CD_FRAMESIZE;
drive2104drivers/block/ide-cd.ccdrom_info[DEV_HWIF][dev->select.b.drive].toc               = NULL;
drive2105drivers/block/ide-cd.ccdrom_info[DEV_HWIF][dev->select.b.drive].sector_buffer     = NULL;
drive2106drivers/block/ide-cd.ccdrom_info[DEV_HWIF][dev->select.b.drive].sector_buffered   = 0;
drive2107drivers/block/ide-cd.ccdrom_info[DEV_HWIF][dev->select.b.drive].nsectors_buffered = 0;
drive298drivers/block/ide.cunsigned drive    : 1;  /* drive number */
drive1106drivers/block/ide.cunsigned int minor, drive;
drive1136drivers/block/ide.cdrive = minor >> PARTN_BITS;
drive1137drivers/block/ide.cide_cur_dev[HWIF] = dev = &ide_dev[HWIF][drive];
drive1138drivers/block/ide.cif ((MAJOR(rq->dev) != ide_major[HWIF]) || (drive >= MAX_DRIVES)) {
drive1332drivers/block/ide.cunsigned int drive = DEVICE_NR(i_rdev);
drive1335drivers/block/ide.cif (drive < MAX_DRIVES) {
drive1337drivers/block/ide.ccase IDE0_MAJOR:  dev = &ide_dev[0][drive];
drive1340drivers/block/ide.ccase IDE1_MAJOR:  dev = &ide_dev[1][drive];
drive1398drivers/block/ide.cunsigned int i, major, start, drive = DEVICE_NR(i_rdev);
drive1417drivers/block/ide.cstart = drive << PARTN_BITS;
drive1428drivers/block/ide.cgd->part[start].nr_sects = ide_capacity[DEV_HWIF][drive];
drive1429drivers/block/ide.cresetup_one_dev(gd, drive);
drive1826drivers/block/ide.cide_capacity[DEV_HWIF][dev->select.b.drive] = capacity;
drive1971drivers/block/ide.cif (dev->select.b.drive == 1) {
drive2062drivers/block/ide.cint i, hwif, drive = next_drive++;
drive2066drivers/block/ide.cif (drive < 2) {
drive2071drivers/block/ide.chwif = (drive > 1);
drive2073drivers/block/ide.cif (drive > 3) {
drive2077drivers/block/ide.cdrive = drive & 1;
drive2078drivers/block/ide.cprintk("%s: ", ide_devname[hwif][drive]);
drive2083drivers/block/ide.cdev = &ide_dev[hwif][drive];
drive2133drivers/block/ide.cide_capacity[HWIF][drive] = BIOS_SECTORS(dev);
drive2195drivers/block/ide.cbyte drive, cmos_disks, *BIOS = (byte *) &drive_info;
drive2200drivers/block/ide.cfor (drive = 0; drive < MAX_DRIVES; drive++) {
drive2201drivers/block/ide.cide_dev_t *dev = &ide_dev[0][drive];
drive2202drivers/block/ide.cif ((cmos_disks & (0xf0 >> (drive*4))) && !dev->present) {
drive2211drivers/block/ide.cide_capacity[0][drive] = BIOS_SECTORS(dev);
drive2221drivers/block/ide.cint drive;
drive2223drivers/block/ide.cfor (drive = 0; drive < (MAX_DRIVES<<PARTN_BITS); drive++)
drive2224drivers/block/ide.cide_blksizes[hwif][drive] = 1024;
drive2228drivers/block/ide.cfor (drive = 0; drive < MAX_DRIVES; drive++) {
drive2229drivers/block/ide.cide_dev_t *dev = &ide_dev[hwif][drive];
drive2230drivers/block/ide.cdev->select.all      = (drive<<4)|0xa0;
drive2246drivers/block/ide.cide_hd[hwif][drive<<PARTN_BITS].start_sect = 0;
drive2247drivers/block/ide.cdev->name = ide_devname[hwif][drive];
drive2297drivers/block/ide.cstatic int drive;
drive2299drivers/block/ide.cfor (drive = 0; drive < MAX_DRIVES; drive++) {
drive2300drivers/block/ide.cide_dev_t *dev = &ide_dev[HWIF][drive];
drive2302drivers/block/ide.cide_hd[HWIF][drive<<PARTN_BITS].nr_sects = ide_capacity[HWIF][drive];
drive2305drivers/block/ide.cide_hd[HWIF][drive<<PARTN_BITS].start_sect = -1;
drive940drivers/block/mcdx.cint drive;
drive947drivers/block/mcdx.cfor (drive = 0; drive < MCDX_NDRIVES; drive++)
drive948drivers/block/mcdx.cmcdx_stuffp[drive] = NULL;
drive951drivers/block/mcdx.cfor (drive = 0; drive < MCDX_NDRIVES; drive++) { 
drive955drivers/block/mcdx.cTRACE((INIT, "init() try drive %d\n", drive));
drive973drivers/block/mcdx.cstuffp->irq = irq(mcdx_drive_map[drive]);
drive974drivers/block/mcdx.cstuffp->wreg_data = stuffp->rreg_data = port(mcdx_drive_map[drive]);
drive1068drivers/block/mcdx.cstuffp->minor = drive;
drive1073drivers/block/mcdx.cmcdx_stuffp[drive] = stuffp;
drive1074drivers/block/mcdx.cTRACE((INIT, "init() mcdx_stuffp[%d] = %p\n", drive, stuffp));
drive324drivers/block/xd.cstatic int xd_readwrite (u_char operation,u_char drive,char *buffer,u_int block,u_int count)
drive331drivers/block/xd.cprintk("xd_readwrite: operation = %s, drive = %d, buffer = 0x%X, block = %d, count = %d\n",operation == READ ? "read" : "write",drive,buffer,block,count);
drive334drivers/block/xd.ccontrol = xd_info[drive].control;
drive338drivers/block/xd.ctrack = block / xd_info[drive].sectors;
drive339drivers/block/xd.chead = track % xd_info[drive].heads;
drive340drivers/block/xd.ccylinder = track / xd_info[drive].heads;
drive341drivers/block/xd.csector = block % xd_info[drive].sectors;
drive344drivers/block/xd.cprintk("xd_readwrite: drive = %d, head = %d, cylinder = %d, sector = %d, count = %d\n",drive,head,cylinder,sector,temp);
drive348drivers/block/xd.cxd_build(cmdblk,operation == READ ? CMD_READ : CMD_WRITE,drive,head,cylinder,sector,temp & 0xFF,control);
drive353drivers/block/xd.cxd_recalibrate(drive);
drive374drivers/block/xd.cstatic void xd_recalibrate (u_char drive)
drive378drivers/block/xd.cxd_build(cmdblk,CMD_RECALIBRATE,drive,0,0,0,0,0);
drive422drivers/block/xd.cstatic u_char *xd_build (u_char *cmdblk,u_char command,u_char drive,u_char head,u_short cylinder,u_char sector,u_char count,u_char control)
drive425drivers/block/xd.ccmdblk[1] = ((drive & 0x07) << 5) | (head & 0x1F);
drive509drivers/block/xd.cstatic u_char xd_initdrives (void (*init_drive)(u_char drive))
drive538drivers/block/xd.cstatic void xd_dtc_init_drive (u_char drive)
drive542drivers/block/xd.cxd_build(cmdblk,CMD_DTCGETGEOM,drive,0,0,0,0,0);
drive544drivers/block/xd.cxd_info[drive].heads = buf[0x0A];      /* heads */
drive545drivers/block/xd.cxd_info[drive].cylinders = ((u_short *) (buf))[0x04];  /* cylinders */
drive546drivers/block/xd.cxd_info[drive].sectors = 17;        /* sectors */
drive548drivers/block/xd.cxd_info[drive].rwrite = ((u_short *) (buf + 1))[0x05];  /* reduced write */
drive549drivers/block/xd.cxd_info[drive].precomp = ((u_short *) (buf + 1))[0x06];  /* write precomp */
drive550drivers/block/xd.cxd_info[drive].ecc = buf[0x0F];        /* ecc length */
drive552drivers/block/xd.cxd_info[drive].control = 0;        /* control byte */
drive554drivers/block/xd.cxd_setparam(CMD_DTCSETPARAM,drive,xd_info[drive].heads,xd_info[drive].cylinders,((u_short *) (buf + 1))[0x05],((u_short *) (buf + 1))[0x06],buf[0x0F]);
drive555drivers/block/xd.cxd_build(cmdblk,CMD_DTCSETSTEP,drive,0,0,0,0,7);
drive557drivers/block/xd.cprintk("xd_dtc_init_drive: error setting step rate for drive %d\n",drive);
drive560drivers/block/xd.cprintk("xd_dtc_init_drive: error reading geometry for drive %d\n",drive);
drive582drivers/block/xd.cstatic void xd_wd_init_drive (u_char drive)
drive586drivers/block/xd.cxd_build(cmdblk,CMD_READ,drive,0,0,0,1,0);
drive588drivers/block/xd.cxd_info[drive].heads = buf[0x1AF];        /* heads */
drive589drivers/block/xd.cxd_info[drive].cylinders = ((u_short *) (buf + 1))[0xD6];  /* cylinders */
drive590drivers/block/xd.cxd_info[drive].sectors = 17;          /* sectors */
drive592drivers/block/xd.cxd_info[drive].rwrite = ((u_short *) (buf))[0xD8];    /* reduced write */
drive593drivers/block/xd.cxd_info[drive].wprecomp = ((u_short *) (buf))[0xDA];    /* write precomp */
drive594drivers/block/xd.cxd_info[drive].ecc = buf[0x1B4];        /* ecc length */
drive596drivers/block/xd.cxd_info[drive].control = buf[0x1B5];        /* control byte */
drive598drivers/block/xd.cxd_setparam(CMD_WDSETPARAM,drive,xd_info[drive].heads,xd_info[drive].cylinders,((u_short *) (buf))[0xD8],((u_short *) (buf))[0xDA],buf[0x1B4]);
drive601drivers/block/xd.cprintk("xd_wd_init_drive: error reading geometry for drive %d\n",drive);  
drive621drivers/block/xd.cstatic void xd_seagate_init_drive (u_char drive)
drive625drivers/block/xd.cxd_build(cmdblk,CMD_ST11GETGEOM,drive,0,0,0,1,0);
drive627drivers/block/xd.cxd_info[drive].heads = buf[0x04];        /* heads */
drive628drivers/block/xd.cxd_info[drive].cylinders = (buf[0x02] << 8) | buf[0x03];  /* cylinders */
drive629drivers/block/xd.cxd_info[drive].sectors = buf[0x05];        /* sectors */
drive630drivers/block/xd.cxd_info[drive].control = 0;          /* control byte */
drive633drivers/block/xd.cprintk("xd_seagate_init_drive: error reading geometry from drive %d\n",drive);
drive655drivers/block/xd.cstatic void xd_omti_init_drive (u_char drive)
drive658drivers/block/xd.cxd_override_init_drive(drive);
drive661drivers/block/xd.cxd_info[drive].control = 2;
drive666drivers/block/xd.cstatic void xd_override_init_drive (u_char drive)
drive674drivers/block/xd.cxd_build(cmdblk,CMD_SEEK,drive,(u_char) test[0],(u_short) test[1],(u_char) test[2],0,0);
drive682drivers/block/xd.cxd_info[drive].heads = (u_char) min[0] + 1;
drive683drivers/block/xd.cxd_info[drive].cylinders = (u_short) min[1] + 1;
drive684drivers/block/xd.cxd_info[drive].sectors = (u_char) min[2] + 1;
drive685drivers/block/xd.cxd_info[drive].control = 0;
drive702drivers/block/xd.cstatic void xd_setparam (u_char command,u_char drive,u_char heads,u_short cylinders,u_short rwrite,u_short wprecomp,u_char ecc)
drive706drivers/block/xd.cxd_build(cmdblk,command,drive,0,0,0,0,0);
drive717drivers/block/xd.cprintk("xd_setparam: error setting characteristics for drive %d\n",drive);
drive1754drivers/scsi/fdomain.cint              drive;
drive1810drivers/scsi/fdomain.cdrive = MINOR(dev) / 16;
drive1817drivers/scsi/fdomain.ci = (struct drive_info *)( (char *)bios_base + 0x1f33 + drive * 25 );
drive1820drivers/scsi/fdomain.ci = (struct drive_info *)( (char *)bios_base + 0x1f36 + drive * 15 );
drive1823drivers/scsi/fdomain.ci = (struct drive_info *)( (char *)bios_base + 0x1f34 + drive * 15 );
drive1826drivers/scsi/fdomain.ci = (struct drive_info *)( (char *)bios_base + 0x1f31 + drive * 25 );
drive1835drivers/scsi/fdomain.ci = (struct drive_info *)( (char *)bios_base + 0x1f71 + drive * 10 );
drive41include/linux/blkdev.hextern void resetup_one_dev(struct gendisk *dev, int drive);
drive103include/linux/xd.hvoid (*init_drive)(u_char drive);
drive110include/linux/xd.hstatic u_char xd_initdrives (void (*init_drive)(u_char drive));
drive118include/linux/xd.hstatic int xd_readwrite (u_char operation,u_char drive,char *buffer,u_int block,u_int count);
drive119include/linux/xd.hstatic void xd_recalibrate (u_char drive);
drive123include/linux/xd.hstatic u_char *xd_build (u_char *cmdblk,u_char command,u_char drive,u_char head,u_short cylinder,u_char sector,u_char count,u_char control);
drive129include/linux/xd.hstatic void xd_dtc_init_drive (u_char drive);
drive131include/linux/xd.hstatic void xd_wd_init_drive (u_char drive);
drive133include/linux/xd.hstatic void xd_seagate_init_drive (u_char drive);
drive135include/linux/xd.hstatic void xd_omti_init_drive (u_char drive);
drive136include/linux/xd.hstatic void xd_setparam (u_char command,u_char drive,u_char heads,u_short cylinders,u_short rwrite,u_short wprecomp,u_char ecc);
drive137include/linux/xd.hstatic void xd_override_init_drive (u_char drive);