Lines Matching refs:isapnp
90 #define ISAPNP_DEV_ID_DATA(isapnp) \ argument
91 (isapnp)->vendor_id, (isapnp)->prod_id, \
92 isa_id_string ( (isapnp)->vendor_id, (isapnp)->prod_id )
553 void isapnp_device_activation ( struct isapnp_device *isapnp, in isapnp_device_activation() argument
558 isapnp_wake ( isapnp->csn ); in isapnp_device_activation()
559 isapnp_logicaldevice ( isapnp->logdev ); in isapnp_device_activation()
570 isapnp->csn, isapnp->logdev ); in isapnp_device_activation()
582 static int isapnp_probe ( struct isapnp_device *isapnp ) { in isapnp_probe() argument
589 "io %x irq %d)\n", isapnp->csn, isapnp->logdev, in isapnp_probe()
590 isapnp->vendor_id, isapnp->prod_id, in isapnp_probe()
591 isa_id_string ( isapnp->vendor_id, isapnp->prod_id ), in isapnp_probe()
592 isapnp->ioaddr, isapnp->irqno ); in isapnp_probe()
597 if ( id->vendor_id != isapnp->vendor_id ) in isapnp_probe()
600 ISA_PROD_ID ( isapnp->prod_id ) ) in isapnp_probe()
602 isapnp->driver = driver; in isapnp_probe()
603 isapnp->driver_name = id->name; in isapnp_probe()
604 DBG ( "...using driver %s\n", isapnp->driver_name ); in isapnp_probe()
605 if ( ( rc = driver->probe ( isapnp, id ) ) != 0 ) { in isapnp_probe()
622 static void isapnp_remove ( struct isapnp_device *isapnp ) { in isapnp_remove() argument
623 isapnp->driver->remove ( isapnp ); in isapnp_remove()
625 isapnp->csn, isapnp->logdev ); in isapnp_remove()
637 struct isapnp_device *isapnp = NULL; in isapnpbus_probe() local
652 if ( ! isapnp ) in isapnpbus_probe()
653 isapnp = malloc ( sizeof ( *isapnp ) ); in isapnpbus_probe()
654 if ( ! isapnp ) { in isapnpbus_probe()
658 memset ( isapnp, 0, sizeof ( *isapnp ) ); in isapnpbus_probe()
659 isapnp->csn = csn; in isapnpbus_probe()
660 isapnp->logdev = logdev; in isapnpbus_probe()
685 isapnp->vendor_id = logdevid.vendor_id; in isapnpbus_probe()
686 isapnp->prod_id = logdevid.prod_id; in isapnpbus_probe()
687 isapnp->ioaddr = isapnp_read_iobase ( 0 ); in isapnpbus_probe()
688 isapnp->irqno = isapnp_read_irqno ( 0 ); in isapnpbus_probe()
694 snprintf ( isapnp->dev.name, in isapnpbus_probe()
695 sizeof ( isapnp->dev.name ), in isapnpbus_probe()
697 isapnp->dev.desc.bus_type = BUS_TYPE_ISAPNP; in isapnpbus_probe()
698 isapnp->dev.desc.vendor = isapnp->vendor_id; in isapnpbus_probe()
699 isapnp->dev.desc.device = isapnp->prod_id; in isapnpbus_probe()
700 isapnp->dev.desc.ioaddr = isapnp->ioaddr; in isapnpbus_probe()
701 isapnp->dev.desc.irq = isapnp->irqno; in isapnpbus_probe()
702 isapnp->dev.parent = &rootdev->dev; in isapnpbus_probe()
703 list_add ( &isapnp->dev.siblings, in isapnpbus_probe()
705 INIT_LIST_HEAD ( &isapnp->dev.children ); in isapnpbus_probe()
708 if ( isapnp_probe ( isapnp ) == 0 ) { in isapnpbus_probe()
710 isapnp = NULL; in isapnpbus_probe()
713 list_del ( &isapnp->dev.siblings ); in isapnpbus_probe()
719 free ( isapnp ); in isapnpbus_probe()
723 free ( isapnp ); in isapnpbus_probe()
734 struct isapnp_device *isapnp; in isapnpbus_remove() local
737 list_for_each_entry_safe ( isapnp, tmp, &rootdev->dev.children, in isapnpbus_remove()
739 isapnp_remove ( isapnp ); in isapnpbus_remove()
740 list_del ( &isapnp->dev.siblings ); in isapnpbus_remove()
741 free ( isapnp ); in isapnpbus_remove()