@@ -1524,29 +1524,109 @@ static int __init tnt4882_init_module(void)
15241524
15251525 result = pci_register_driver (& tnt4882_pci_driver );
15261526 if (result ) {
1527- pr_err ("tnt4882: pci_driver_register failed! \n" );
1527+ pr_err ("tnt4882_gpib: pci_register_driver failed: error = %d \n" , result );
15281528 return result ;
15291529 }
15301530
1531- gpib_register_driver (& ni_isa_interface , THIS_MODULE );
1532- gpib_register_driver (& ni_isa_accel_interface , THIS_MODULE );
1533- gpib_register_driver (& ni_nat4882_isa_interface , THIS_MODULE );
1534- gpib_register_driver (& ni_nat4882_isa_accel_interface , THIS_MODULE );
1535- gpib_register_driver (& ni_nec_isa_interface , THIS_MODULE );
1536- gpib_register_driver (& ni_nec_isa_accel_interface , THIS_MODULE );
1537- gpib_register_driver (& ni_pci_interface , THIS_MODULE );
1538- gpib_register_driver (& ni_pci_accel_interface , THIS_MODULE );
1531+ result = gpib_register_driver (& ni_isa_interface , THIS_MODULE );
1532+ if (result ) {
1533+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1534+ goto err_isa ;
1535+ }
1536+
1537+ result = gpib_register_driver (& ni_isa_accel_interface , THIS_MODULE );
1538+ if (result ) {
1539+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1540+ goto err_isa_accel ;
1541+ }
1542+
1543+ result = gpib_register_driver (& ni_nat4882_isa_interface , THIS_MODULE );
1544+ if (result ) {
1545+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1546+ goto err_nat4882_isa ;
1547+ }
1548+
1549+ result = gpib_register_driver (& ni_nat4882_isa_accel_interface , THIS_MODULE );
1550+ if (result ) {
1551+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1552+ goto err_nat4882_isa_accel ;
1553+ }
1554+
1555+ result = gpib_register_driver (& ni_nec_isa_interface , THIS_MODULE );
1556+ if (result ) {
1557+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1558+ goto err_nec_isa ;
1559+ }
1560+
1561+ result = gpib_register_driver (& ni_nec_isa_accel_interface , THIS_MODULE );
1562+ if (result ) {
1563+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1564+ goto err_nec_isa_accel ;
1565+ }
1566+
1567+ result = gpib_register_driver (& ni_pci_interface , THIS_MODULE );
1568+ if (result ) {
1569+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1570+ goto err_pci ;
1571+ }
1572+
1573+ result = gpib_register_driver (& ni_pci_accel_interface , THIS_MODULE );
1574+ if (result ) {
1575+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1576+ goto err_pci_accel ;
1577+ }
1578+
15391579#ifdef GPIB_PCMCIA
1540- gpib_register_driver (& ni_pcmcia_interface , THIS_MODULE );
1541- gpib_register_driver (& ni_pcmcia_accel_interface , THIS_MODULE );
1542- if (init_ni_gpib_cs () < 0 )
1543- return -1 ;
1580+ result = gpib_register_driver (& ni_pcmcia_interface , THIS_MODULE );
1581+ if (result ) {
1582+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1583+ goto err_pcmcia ;
1584+ }
1585+
1586+ result = gpib_register_driver (& ni_pcmcia_accel_interface , THIS_MODULE );
1587+ if (result ) {
1588+ pr_err ("tnt4882_gpib: gpib_register_driver failed: error = %d\n" , result );
1589+ goto err_pcmcia_accel ;
1590+ }
1591+
1592+ result = init_ni_gpib_cs ();
1593+ if (result ) {
1594+ pr_err ("tnt4882_gpib: pcmcia_register_driver failed: error = %d\n" , result );
1595+ goto err_pcmcia_driver ;
1596+ }
15441597#endif
15451598
15461599 mite_init ();
15471600 mite_list_devices ();
15481601
15491602 return 0 ;
1603+
1604+ #ifdef GPIB_PCMCIA
1605+ err_pcmcia_driver :
1606+ gpib_unregister_driver (& ni_pcmcia_accel_interface );
1607+ err_pcmcia_accel :
1608+ gpib_unregister_driver (& ni_pcmcia_interface );
1609+ err_pcmcia :
1610+ #endif
1611+ gpib_unregister_driver (& ni_pci_accel_interface );
1612+ err_pci_accel :
1613+ gpib_unregister_driver (& ni_pci_interface );
1614+ err_pci :
1615+ gpib_unregister_driver (& ni_nec_isa_accel_interface );
1616+ err_nec_isa_accel :
1617+ gpib_unregister_driver (& ni_nec_isa_interface );
1618+ err_nec_isa :
1619+ gpib_unregister_driver (& ni_nat4882_isa_accel_interface );
1620+ err_nat4882_isa_accel :
1621+ gpib_unregister_driver (& ni_nat4882_isa_interface );
1622+ err_nat4882_isa :
1623+ gpib_unregister_driver (& ni_isa_accel_interface );
1624+ err_isa_accel :
1625+ gpib_unregister_driver (& ni_isa_interface );
1626+ err_isa :
1627+ pci_unregister_driver (& tnt4882_pci_driver );
1628+
1629+ return result ;
15501630}
15511631
15521632static void __exit tnt4882_exit_module (void )
0 commit comments