diff options
Diffstat (limited to 'drivers/char/tpm/tpm-interface.c')
| -rw-r--r-- | drivers/char/tpm/tpm-interface.c | 21 | 
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c index 586ca10b0d72..66b16d26eecc 100644 --- a/drivers/char/tpm/tpm-interface.c +++ b/drivers/char/tpm/tpm-interface.c @@ -476,18 +476,15 @@ static int __init tpm_init(void)  {  	int rc; -	tpm_class = class_create("tpm"); -	if (IS_ERR(tpm_class)) { +	rc = class_register(&tpm_class); +	if (rc) {  		pr_err("couldn't create tpm class\n"); -		return PTR_ERR(tpm_class); +		return rc;  	} -	tpm_class->shutdown_pre = tpm_class_shutdown; - -	tpmrm_class = class_create("tpmrm"); -	if (IS_ERR(tpmrm_class)) { +	rc = class_register(&tpmrm_class); +	if (rc) {  		pr_err("couldn't create tpmrm class\n"); -		rc = PTR_ERR(tpmrm_class);  		goto out_destroy_tpm_class;  	} @@ -508,9 +505,9 @@ static int __init tpm_init(void)  out_unreg_chrdev:  	unregister_chrdev_region(tpm_devt, 2 * TPM_NUM_DEVICES);  out_destroy_tpmrm_class: -	class_destroy(tpmrm_class); +	class_unregister(&tpmrm_class);  out_destroy_tpm_class: -	class_destroy(tpm_class); +	class_unregister(&tpm_class);  	return rc;  } @@ -518,8 +515,8 @@ out_destroy_tpm_class:  static void __exit tpm_exit(void)  {  	idr_destroy(&dev_nums_idr); -	class_destroy(tpm_class); -	class_destroy(tpmrm_class); +	class_unregister(&tpm_class); +	class_unregister(&tpmrm_class);  	unregister_chrdev_region(tpm_devt, 2*TPM_NUM_DEVICES);  	tpm_dev_common_exit();  }  |