tpm_infineon.c (692d96552c9a86a919fe6b5b82288a6c77c015a5) | tpm_infineon.c (afb5abc262e962089ef2d7c2bbf71bb6f53a2a78) |
---|---|
1/* 2 * Description: 3 * Device Driver for the Infineon Technologies 4 * SLD 9630 TT 1.1 and SLB 9635 TT 1.2 Trusted Platform Module 5 * Specifications at www.trustedcomputinggroup.org 6 * 7 * Copyright (C) 2005, Marcel Selhorst <tpmdd@selhorst.net> 8 * Sirrix AG - security technologies <tpmdd@sirrix.com> and --- 532 unchanged lines hidden (view full) --- 541 tpm_dev.map_base + tpm_dev.index_off, 542 tpm_dev.iotype == TPM_INF_IO_PORT ? 543 tpm_dev.data_regs : 544 tpm_dev.map_base + tpm_dev.data_regs, 545 version[0], version[1], 546 vendorid[0], vendorid[1], 547 productid[0], productid[1], chipname); 548 | 1/* 2 * Description: 3 * Device Driver for the Infineon Technologies 4 * SLD 9630 TT 1.1 and SLB 9635 TT 1.2 Trusted Platform Module 5 * Specifications at www.trustedcomputinggroup.org 6 * 7 * Copyright (C) 2005, Marcel Selhorst <tpmdd@selhorst.net> 8 * Sirrix AG - security technologies <tpmdd@sirrix.com> and --- 532 unchanged lines hidden (view full) --- 541 tpm_dev.map_base + tpm_dev.index_off, 542 tpm_dev.iotype == TPM_INF_IO_PORT ? 543 tpm_dev.data_regs : 544 tpm_dev.map_base + tpm_dev.data_regs, 545 version[0], version[1], 546 vendorid[0], vendorid[1], 547 productid[0], productid[1], chipname); 548 |
549 if (!(chip = tpm_register_hardware(&dev->dev, &tpm_inf))) | 549 chip = tpmm_chip_alloc(&dev->dev, &tpm_inf); 550 if (IS_ERR(chip)) { 551 rc = PTR_ERR(chip); |
550 goto err_release_region; | 552 goto err_release_region; |
553 } |
|
551 | 554 |
555 rc = tpm_chip_register(chip); 556 if (rc) 557 goto err_release_region; 558 |
|
552 return 0; 553 } else { 554 rc = -ENODEV; 555 goto err_release_region; 556 } 557 558err_release_region: 559 if (tpm_dev.iotype == TPM_INF_IO_PORT) { --- 7 unchanged lines hidden (view full) --- 567err_last: 568 return rc; 569} 570 571static void tpm_inf_pnp_remove(struct pnp_dev *dev) 572{ 573 struct tpm_chip *chip = pnp_get_drvdata(dev); 574 | 559 return 0; 560 } else { 561 rc = -ENODEV; 562 goto err_release_region; 563 } 564 565err_release_region: 566 if (tpm_dev.iotype == TPM_INF_IO_PORT) { --- 7 unchanged lines hidden (view full) --- 574err_last: 575 return rc; 576} 577 578static void tpm_inf_pnp_remove(struct pnp_dev *dev) 579{ 580 struct tpm_chip *chip = pnp_get_drvdata(dev); 581 |
575 if (chip) { 576 if (tpm_dev.iotype == TPM_INF_IO_PORT) { 577 release_region(tpm_dev.data_regs, tpm_dev.data_size); 578 release_region(tpm_dev.config_port, 579 tpm_dev.config_size); 580 } else { 581 iounmap(tpm_dev.mem_base); 582 release_mem_region(tpm_dev.map_base, tpm_dev.map_size); 583 } 584 tpm_dev_vendor_release(chip); 585 tpm_remove_hardware(chip->dev); | 582 tpm_chip_unregister(chip); 583 584 if (tpm_dev.iotype == TPM_INF_IO_PORT) { 585 release_region(tpm_dev.data_regs, tpm_dev.data_size); 586 release_region(tpm_dev.config_port, 587 tpm_dev.config_size); 588 } else { 589 iounmap(tpm_dev.mem_base); 590 release_mem_region(tpm_dev.map_base, tpm_dev.map_size); |
586 } 587} 588 589static int tpm_inf_pnp_suspend(struct pnp_dev *dev, pm_message_t pm_state) 590{ 591 struct tpm_chip *chip = pnp_get_drvdata(dev); 592 int rc; 593 if (chip) { --- 58 unchanged lines hidden --- | 591 } 592} 593 594static int tpm_inf_pnp_suspend(struct pnp_dev *dev, pm_message_t pm_state) 595{ 596 struct tpm_chip *chip = pnp_get_drvdata(dev); 597 int rc; 598 if (chip) { --- 58 unchanged lines hidden --- |