taglinefilesource code
tpnt1194drivers/scsi/53c7,8xx.cnormal_init (Scsi_Host_Template *tpnt, int board, int chip, 
tpnt1211drivers/scsi/53c7,8xx.cschedule_size = (tpnt->can_queue + 1) * 8 /* JUMP instruction size */;
tpnt1244drivers/scsi/53c7,8xx.ctpnt->sg_tablesize + 
tpnt1279drivers/scsi/53c7,8xx.cinstance = scsi_register (tpnt, size);
tpnt1407drivers/scsi/53c7,8xx.cncr_pci_init (Scsi_Host_Template *tpnt, int board, int chip, 
tpnt1527drivers/scsi/53c7,8xx.creturn normal_init (tpnt, board, chip, (int) base, io_port, 
tpnt1546drivers/scsi/53c7,8xx.cNCR53c7xx_detect(Scsi_Host_Template *tpnt) {
tpnt1554drivers/scsi/53c7,8xx.ctpnt->proc_dir = &proc_scsi_ncr53c7xx;
tpnt1560drivers/scsi/53c7,8xx.c!ncr_pci_init (tpnt, overrides[current_override].board,
tpnt1566drivers/scsi/53c7,8xx.c!normal_init (tpnt, overrides[current_override].board, 
tpnt1586drivers/scsi/53c7,8xx.cif (!ncr_pci_init (tpnt, BOARD_GENERIC, pci_chip_ids[i].chip, 
tpnt60drivers/scsi/53c7,8xx.hextern int NCR53c7xx_detect(Scsi_Host_Template *tpnt);
tpnt127drivers/scsi/AM53C974.cstatic int AM53C974_bios_detect(Scsi_Host_Template *tpnt);
tpnt128drivers/scsi/AM53C974.cstatic int AM53C974_nobios_detect(Scsi_Host_Template *tpnt);
tpnt129drivers/scsi/AM53C974.cstatic int AM53C974_init(Scsi_Host_Template *tpnt, pci_config_t pci_config);
tpnt400drivers/scsi/AM53C974.cint AM53C974_bios_detect(Scsi_Host_Template *tpnt)
tpnt446drivers/scsi/AM53C974.cif (AM53C974_init(tpnt, pci_config)) count++ ;
tpnt465drivers/scsi/AM53C974.cint AM53C974_nobios_detect(Scsi_Host_Template *tpnt)
tpnt504drivers/scsi/AM53C974.cif (AM53C974_init(tpnt, pci_config)) count++ ;
tpnt545drivers/scsi/AM53C974.cif (AM53C974_init(tpnt, pci_config)) count++ ;
tpnt563drivers/scsi/AM53C974.cint AM53C974_detect(Scsi_Host_Template *tpnt)
tpnt569drivers/scsi/AM53C974.ccount = AM53C974_bios_detect(tpnt);
tpnt572drivers/scsi/AM53C974.ccount = AM53C974_nobios_detect(tpnt);
tpnt590drivers/scsi/AM53C974.cstatic int AM53C974_init(Scsi_Host_Template *tpnt, pci_config_t pci_config)
tpnt602drivers/scsi/AM53C974.cinstance = scsi_register(tpnt, sizeof(struct AM53C974_hostdata));
tpnt287drivers/scsi/AM53C974.hint AM53C974_detect(Scsi_Host_Template *tpnt);
tpnt462drivers/scsi/NCR53c406a.cNCR53c406a_detect(Scsi_Host_Template * tpnt){
tpnt544drivers/scsi/NCR53c406a.ctpnt->can_queue = 1;
tpnt548drivers/scsi/NCR53c406a.ctpnt->can_queue = 0;
tpnt570drivers/scsi/NCR53c406a.ctpnt->present = 1;
tpnt571drivers/scsi/NCR53c406a.ctpnt->proc_dir = &proc_scsi_NCR53c406a;
tpnt573drivers/scsi/NCR53c406a.cshpnt = scsi_register(tpnt, 0);
tpnt589drivers/scsi/NCR53c406a.creturn (tpnt->present);
tpnt2744drivers/scsi/advansys.cadvansys_detect(Scsi_Host_Template *tpnt)
tpnt2768drivers/scsi/advansys.ctpnt->proc_dir = &proc_scsi_advansys;
tpnt2917drivers/scsi/advansys.cshp = scsi_register(tpnt, sizeof(struct asc_board));
tpnt652drivers/scsi/aha152x.cint aha152x_detect(Scsi_Host_Template * tpnt)
tpnt659drivers/scsi/aha152x.ctpnt->proc_dir = &proc_scsi_aha152x;
tpnt777drivers/scsi/aha152x.cscsi_register(tpnt, sizeof(struct aha152x_hostdata));
tpnt922drivers/scsi/aha1542.cint aha1542_detect(Scsi_Host_Template * tpnt)
tpnt936drivers/scsi/aha1542.ctpnt->proc_dir = &proc_scsi_aha1542;
tpnt940drivers/scsi/aha1542.cshpnt = scsi_register(tpnt,
tpnt441drivers/scsi/aha1740.cint aha1740_detect(Scsi_Host_Template * tpnt)
tpnt443drivers/scsi/aha1740.ctpnt->proc_dir = &proc_scsi_aha1740;
tpnt166drivers/scsi/dtc.cint dtc_detect(Scsi_Host_Template * tpnt) {
tpnt172drivers/scsi/dtc.ctpnt->proc_dir = &proc_scsi_dtc;
tpnt173drivers/scsi/dtc.ctpnt->proc_info = &dtc_proc_info;
tpnt204drivers/scsi/dtc.cinstance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata));
tpnt372drivers/scsi/eata.cScsi_Host_Template * tpnt) {
tpnt482drivers/scsi/eata.csh[j] = scsi_register(tpnt, sizeof(struct hostdata));
tpnt556drivers/scsi/eata.cint eata2x_detect (Scsi_Host_Template * tpnt) {
tpnt567drivers/scsi/eata.ctpnt->proc_dir = &proc_scsi_eata2x;
tpnt581drivers/scsi/eata.cif (j < MAX_BOARDS && port_detect(port_base, j, tpnt)) j++;
tpnt846drivers/scsi/eata_dma.cshort register_HBA(u32 base, struct get_conf *gc, Scsi_Host_Template * tpnt, 
tpnt951drivers/scsi/eata_dma.csh = scsi_register(tpnt, size);
tpnt1108drivers/scsi/eata_dma.cvoid find_EISA(struct get_conf *buf, Scsi_Host_Template * tpnt)
tpnt1135drivers/scsi/eata_dma.cregister_HBA(base, buf, tpnt, IS_EISA);
tpnt1153drivers/scsi/eata_dma.cvoid find_ISA(struct get_conf *buf, Scsi_Host_Template * tpnt)
tpnt1161drivers/scsi/eata_dma.cregister_HBA(ISAbases[i], buf, tpnt, IS_ISA);
tpnt1173drivers/scsi/eata_dma.cvoid find_PCI(struct get_conf *buf, Scsi_Host_Template * tpnt)
tpnt1250drivers/scsi/eata_dma.cregister_HBA(base, buf, tpnt, IS_PCI);
tpnt1282drivers/scsi/eata_dma.cint eata_detect(Scsi_Host_Template * tpnt)
tpnt1291drivers/scsi/eata_dma.ctpnt->proc_dir = &proc_scsi_eata_dma;
tpnt1301drivers/scsi/eata_dma.cfind_PCI(&gc, tpnt);
tpnt1303drivers/scsi/eata_dma.cfind_EISA(&gc, tpnt);
tpnt1305drivers/scsi/eata_dma.cfind_ISA(&gc, tpnt);
tpnt676drivers/scsi/eata_pio.cint register_pio_HBA(long base, struct get_conf *gc, Scsi_Host_Template * tpnt)
tpnt731drivers/scsi/eata_pio.csh = scsi_register(tpnt, size);
tpnt819drivers/scsi/eata_pio.cvoid find_pio_ISA(struct get_conf *buf, Scsi_Host_Template * tpnt)
tpnt826drivers/scsi/eata_pio.cregister_pio_HBA(ISAbases[i], buf, tpnt);
tpnt834drivers/scsi/eata_pio.cvoid find_pio_EISA(struct get_conf *buf, Scsi_Host_Template * tpnt)
tpnt861drivers/scsi/eata_pio.cregister_pio_HBA(base, buf, tpnt);
tpnt875drivers/scsi/eata_pio.cvoid find_pio_PCI(struct get_conf *buf, Scsi_Host_Template * tpnt)
tpnt943drivers/scsi/eata_pio.cregister_pio_HBA(base, buf, tpnt);
tpnt973drivers/scsi/eata_pio.cint eata_pio_detect(Scsi_Host_Template * tpnt)
tpnt982drivers/scsi/eata_pio.ctpnt->proc_dir = &proc_scsi_eata_pio;
tpnt984drivers/scsi/eata_pio.cfind_pio_PCI(&gc, tpnt);
tpnt986drivers/scsi/eata_pio.cfind_pio_EISA(&gc, tpnt);
tpnt988drivers/scsi/eata_pio.cfind_pio_ISA(&gc, tpnt);
tpnt910drivers/scsi/fdomain.cint fdomain_16x0_detect( Scsi_Host_Template *tpnt )
tpnt928drivers/scsi/fdomain.ctpnt->proc_dir = &proc_scsi_fdomain;
tpnt1018drivers/scsi/fdomain.ctpnt->this_id = (this_id & 0x07);
tpnt1019drivers/scsi/fdomain.cadapter_mask  = (1 << tpnt->this_id);
tpnt1022drivers/scsi/fdomain.ctpnt->this_id = 7;
tpnt1025drivers/scsi/fdomain.ctpnt->this_id = 6;
tpnt1033drivers/scsi/fdomain.cshpnt = scsi_register( tpnt, 0 );
tpnt1085drivers/scsi/fdomain.cif (i == tpnt->this_id)  /* Skip host adapter */
tpnt210drivers/scsi/g_NCR5380.cint generic_NCR5380_detect(Scsi_Host_Template * tpnt) {
tpnt227drivers/scsi/g_NCR5380.ctpnt->proc_dir = &proc_scsi_g_ncr5380;
tpnt242drivers/scsi/g_NCR5380.cinstance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata));
tpnt297drivers/scsi/hosts.cstruct Scsi_Host * scsi_register(Scsi_Host_Template * tpnt, int j){
tpnt300drivers/scsi/hosts.c(tpnt->unchecked_isa_dma && j ? GFP_DMA : 0) | GFP_ATOMIC);
tpnt322drivers/scsi/hosts.cretval->hostt = tpnt;
tpnt330drivers/scsi/hosts.cretval->this_id = tpnt->this_id;
tpnt331drivers/scsi/hosts.cretval->can_queue = tpnt->can_queue;
tpnt332drivers/scsi/hosts.cretval->sg_tablesize = tpnt->sg_tablesize;
tpnt333drivers/scsi/hosts.cretval->cmd_per_lun = tpnt->cmd_per_lun;
tpnt334drivers/scsi/hosts.cretval->unchecked_isa_dma = tpnt->unchecked_isa_dma;
tpnt335drivers/scsi/hosts.cretval->use_clustering = tpnt->use_clustering;   
tpnt364drivers/scsi/hosts.cScsi_Host_Template * tpnt;
tpnt371drivers/scsi/hosts.cfor (tpnt = &builtin_scsi_hosts[0], i = 0; i < MAX_SCSI_HOSTS; ++i, tpnt++)
tpnt379drivers/scsi/hosts.cif ((tpnt->detect) &&
tpnt380drivers/scsi/hosts.c(tpnt->present =
tpnt381drivers/scsi/hosts.ctpnt->detect(tpnt)))
tpnt386drivers/scsi/hosts.cif(tpnt->present > 1)
tpnt390drivers/scsi/hosts.cscsi_register(tpnt,0);
tpnt392drivers/scsi/hosts.ctpnt->next = scsi_hosts;
tpnt393drivers/scsi/hosts.cscsi_hosts = tpnt;
tpnt397drivers/scsi/hosts.cbuild_proc_dir_entries(tpnt);    
tpnt582drivers/scsi/in2000.cint in2000_detect(Scsi_Host_Template * tpnt)
tpnt592drivers/scsi/in2000.ctpnt->proc_dir = &proc_scsi_in2000;
tpnt647drivers/scsi/in2000.cshpnt = scsi_register(tpnt, 0);
tpnt370drivers/scsi/pas16.cint pas16_detect(Scsi_Host_Template * tpnt) {
tpnt377drivers/scsi/pas16.ctpnt->proc_dir = &proc_scsi_pas16;
tpnt378drivers/scsi/pas16.ctpnt->proc_info = &pas16_proc_info;
tpnt412drivers/scsi/pas16.cinstance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata));
tpnt2881drivers/scsi/scsi.cstatic int scsi_register_host(Scsi_Host_Template * tpnt)
tpnt2889drivers/scsi/scsi.cif (tpnt->next || !tpnt->detect) return 1;/* Must be already loaded, or
tpnt2893drivers/scsi/scsi.cif ((tpnt->present = tpnt->detect(tpnt)))
tpnt2896drivers/scsi/scsi.cif(tpnt->present > 1) {
tpnt2898drivers/scsi/scsi.cscsi_unregister_host(tpnt);
tpnt2904drivers/scsi/scsi.cscsi_register(tpnt,0);
tpnt2906drivers/scsi/scsi.ctpnt->next = scsi_hosts; /* Add to the linked list */
tpnt2907drivers/scsi/scsi.cscsi_hosts = tpnt;
tpnt2911drivers/scsi/scsi.cbuild_proc_dir_entries(tpnt);
tpnt2915drivers/scsi/scsi.cif(shpnt->hostt == tpnt)
tpnt2917drivers/scsi/scsi.cif(tpnt->info)
tpnt2918drivers/scsi/scsi.cname = tpnt->info(shpnt);
tpnt2920drivers/scsi/scsi.cname = tpnt->name;
tpnt2935drivers/scsi/scsi.cif(shpnt->hostt == tpnt) scan_scsis(shpnt,0,0,0,0);
tpnt2943drivers/scsi/scsi.cif(SDpnt->host->hostt == tpnt)
tpnt2977drivers/scsi/scsi.cstatic void scsi_unregister_host(Scsi_Host_Template * tpnt)
tpnt2991drivers/scsi/scsi.cif(sdpnt->host->hostt == tpnt && sdpnt->host->hostt->usage_count
tpnt2996drivers/scsi/scsi.cif (shpnt->hostt != tpnt) continue;
tpnt3016drivers/scsi/scsi.cif(sdpnt->host->hostt == tpnt)
tpnt3030drivers/scsi/scsi.cif(sdpnt->host->hostt == tpnt)
tpnt3045drivers/scsi/scsi.cif (sdpnt->host->hostt == tpnt) {
tpnt3061drivers/scsi/scsi.cif(shpnt->hostt == tpnt) {
tpnt3066drivers/scsi/scsi.cproc_scsi_unregister(tpnt->proc_dir, 
tpnt3069drivers/scsi/scsi.cif(tpnt->release)
tpnt3070drivers/scsi/scsi.c(*tpnt->release)(shpnt);
tpnt3082drivers/scsi/scsi.ctpnt->present--;
tpnt3110drivers/scsi/scsi.cif (tpnt->present) return;
tpnt3115drivers/scsi/scsi.cif(SHT == tpnt) {
tpnt3126drivers/scsi/scsi.cproc_scsi_unregister(tpnt->proc_dir, tpnt->proc_dir->low_ino);
tpnt3135drivers/scsi/scsi.cstatic int scsi_register_device_module(struct Scsi_Device_Template * tpnt)
tpnt3139drivers/scsi/scsi.cif (tpnt->next) return 1;
tpnt3141drivers/scsi/scsi.cscsi_register_device(tpnt);
tpnt3147drivers/scsi/scsi.cif(tpnt->detect) SDpnt->attached += (*tpnt->detect)(SDpnt);
tpnt3153drivers/scsi/scsi.cif(tpnt->init && tpnt->dev_noticed)
tpnt3154drivers/scsi/scsi.cif ((*tpnt->init)()) return 1;
tpnt3161drivers/scsi/scsi.cif(tpnt->attach)  (*tpnt->attach)(SDpnt);
tpnt3173drivers/scsi/scsi.cif(tpnt->finish && tpnt->nr_dev)  (*tpnt->finish)();
tpnt3178drivers/scsi/scsi.cstatic int scsi_unregister_device(struct Scsi_Device_Template * tpnt)
tpnt3188drivers/scsi/scsi.cif( *tpnt->usage_count != 0) return 0;
tpnt3195drivers/scsi/scsi.cif(tpnt->detach) (*tpnt->detach)(SDpnt);
tpnt3223drivers/scsi/scsi.cwhile(spnt != tpnt)
tpnt3229drivers/scsi/scsi.cscsi_devicelist = tpnt->next;
tpnt553drivers/scsi/scsi_debug.cint scsi_debug_detect(Scsi_Host_Template * tpnt)
tpnt555drivers/scsi/scsi_debug.ctpnt->proc_dir = &proc_scsi_scsi_debug;
tpnt104drivers/scsi/scsi_proc.cvoid build_proc_dir_entries(Scsi_Host_Template *tpnt)
tpnt110drivers/scsi/scsi_proc.cproc_scsi_register(0, tpnt->proc_dir);
tpnt114drivers/scsi/scsi_proc.cif (tpnt == hpnt->hostt) {
tpnt124drivers/scsi/scsi_proc.cproc_scsi_register(tpnt->proc_dir, &scsi_hba_dir->entry);
tpnt284drivers/scsi/seagate.cint seagate_st0x_detect (Scsi_Host_Template * tpnt)
tpnt291drivers/scsi/seagate.ctpnt->proc_dir = &proc_scsi_seagate;
tpnt344drivers/scsi/seagate.ctpnt->this_id = (controller_type == SEAGATE) ? 7 : 6;
tpnt345drivers/scsi/seagate.ctpnt->name = (controller_type == SEAGATE) ? ST0X_ID_STR : FD_ID_STR;
tpnt352drivers/scsi/seagate.cprintk("%s detected. Base address = %x, cr = %x, dr = %x\n", tpnt->name, base_address, st0x_cr_sr, st0x_dr);
tpnt358drivers/scsi/seagate.cinstance = scsi_register(tpnt, 0);
tpnt389drivers/scsi/seagate.c"\n", tpnt->name);
tpnt2422drivers/scsi/st.cScsi_Tape * tpnt;
tpnt2433drivers/scsi/st.cfor(tpnt = scsi_tapes, i=0; i<st_template.dev_max; i++, tpnt++) 
tpnt2434drivers/scsi/st.cif(!tpnt->device) break;
tpnt2444drivers/scsi/st.ctpnt->devt = MKDEV(SCSI_TAPE_MAJOR, i);
tpnt2445drivers/scsi/st.ctpnt->dirty = 0;
tpnt2446drivers/scsi/st.ctpnt->rw = ST_IDLE;
tpnt2447drivers/scsi/st.ctpnt->eof = ST_NOEOF;
tpnt2448drivers/scsi/st.ctpnt->waiting = NULL;
tpnt2449drivers/scsi/st.ctpnt->in_use = 0;
tpnt2450drivers/scsi/st.ctpnt->drv_buffer = 1;  /* Try buffering if no mode sense */
tpnt2451drivers/scsi/st.ctpnt->restr_dma = (SDp->host)->unchecked_isa_dma;
tpnt2452drivers/scsi/st.ctpnt->density = 0;
tpnt2453drivers/scsi/st.ctpnt->do_read_ahead = ST_READ_AHEAD;
tpnt2454drivers/scsi/st.ctpnt->do_auto_lock = ST_AUTO_LOCK;
tpnt2455drivers/scsi/st.ctpnt->can_bsr = ST_IN_FILE_POS;
tpnt2456drivers/scsi/st.ctpnt->two_fm = ST_TWO_FM;
tpnt2457drivers/scsi/st.ctpnt->fast_mteom = ST_FAST_MTEOM;
tpnt2458drivers/scsi/st.ctpnt->write_threshold = st_write_threshold;
tpnt2459drivers/scsi/st.ctpnt->default_drvbuffer = 0xff; /* No forced buffering */
tpnt2460drivers/scsi/st.ctpnt->drv_block = (-1);
tpnt2461drivers/scsi/st.ctpnt->moves_after_eof = 1;
tpnt2462drivers/scsi/st.ctpnt->at_sm = 0;
tpnt2463drivers/scsi/st.c(tpnt->mt_status)->mt_fileno = (tpnt->mt_status)->mt_blkno = (-1);
tpnt2466drivers/scsi/st.ctpnt->modes[i].defined = FALSE;
tpnt2467drivers/scsi/st.ctpnt->modes[i].defaults_for_writes = 0;
tpnt2468drivers/scsi/st.ctpnt->modes[i].do_async_writes = ST_ASYNC_WRITES;
tpnt2469drivers/scsi/st.ctpnt->modes[i].do_buffer_writes = ST_BUFFER_WRITES;
tpnt2470drivers/scsi/st.ctpnt->modes[i].default_compression = ST_DONT_TOUCH;
tpnt2471drivers/scsi/st.ctpnt->modes[i].default_blksize = (-1);  /* No forced size */
tpnt2472drivers/scsi/st.ctpnt->modes[i].default_density = (-1);  /* No forced density */
tpnt2474drivers/scsi/st.ctpnt->current_mode = 0;
tpnt2475drivers/scsi/st.ctpnt->modes[0].defined = TRUE;
tpnt2477drivers/scsi/st.ctpnt->density_changed = tpnt->compression_changed =
tpnt2478drivers/scsi/st.ctpnt->blksize_changed = FALSE;
tpnt2593drivers/scsi/st.cScsi_Tape * tpnt;
tpnt2596drivers/scsi/st.cfor(tpnt = scsi_tapes, i=0; i<st_template.dev_max; i++, tpnt++) 
tpnt2597drivers/scsi/st.cif(tpnt->device == SDp) {
tpnt2598drivers/scsi/st.ctpnt->device = NULL;
tpnt200drivers/scsi/t128.cint t128_detect(Scsi_Host_Template * tpnt) {
tpnt206drivers/scsi/t128.ctpnt->proc_dir = &proc_scsi_t128;
tpnt207drivers/scsi/t128.ctpnt->proc_info = &t128_proc_info;
tpnt238drivers/scsi/t128.cinstance = scsi_register (tpnt, sizeof(struct NCR5380_hostdata));
tpnt354drivers/scsi/u14-34f.cScsi_Host_Template * tpnt) {
tpnt430drivers/scsi/u14-34f.csh[j] = scsi_register(tpnt, sizeof(struct hostdata));
tpnt522drivers/scsi/u14-34f.cint u14_34f_detect (Scsi_Host_Template * tpnt) {
tpnt531drivers/scsi/u14-34f.ctpnt->proc_dir = &proc_scsi_u14_34f;
tpnt545drivers/scsi/u14-34f.cif (j < MAX_BOARDS && port_detect(port_base, j, tpnt)) j++;
tpnt355drivers/scsi/ultrastor.cstatic int ultrastor_14f_detect(Scsi_Host_Template * tpnt)
tpnt503drivers/scsi/ultrastor.ctpnt->this_id = config.ha_scsi_id;
tpnt504drivers/scsi/ultrastor.ctpnt->unchecked_isa_dma = (config.subversion != U34F);
tpnt521drivers/scsi/ultrastor.ctpnt->sg_tablesize = ULTRASTOR_14F_MAX_SG;
tpnt528drivers/scsi/ultrastor.cstatic int ultrastor_24f_detect(Scsi_Host_Template * tpnt)
tpnt605drivers/scsi/ultrastor.ctpnt->this_id = config.ha_scsi_id;
tpnt606drivers/scsi/ultrastor.ctpnt->unchecked_isa_dma = 0;
tpnt607drivers/scsi/ultrastor.ctpnt->sg_tablesize = ULTRASTOR_24F_MAX_SG;
tpnt609drivers/scsi/ultrastor.cshpnt = scsi_register(tpnt, 0);
tpnt626drivers/scsi/ultrastor.ctpnt->sg_tablesize);
tpnt632drivers/scsi/ultrastor.cint ultrastor_detect(Scsi_Host_Template * tpnt)
tpnt634drivers/scsi/ultrastor.ctpnt->proc_dir = &proc_scsi_ultrastor;
tpnt635drivers/scsi/ultrastor.creturn ultrastor_14f_detect(tpnt) || ultrastor_24f_detect(tpnt);
tpnt1096drivers/scsi/wd7000.cint wd7000_detect(Scsi_Host_Template * tpnt)
tpnt1114drivers/scsi/wd7000.ctpnt->proc_dir = &proc_scsi_wd7000;
tpnt1145drivers/scsi/wd7000.csh = scsi_register(tpnt, sizeof(Adapter) );