.name = "tpm_inf_pnp",
        .id_table = tpm_inf_pnp_tbl,
        .probe = tpm_inf_pnp_probe,
-       .suspend = tpm_inf_pnp_suspend,
-       .resume = tpm_inf_pnp_resume,
-       .remove = tpm_inf_pnp_remove
+       .remove = tpm_inf_pnp_remove,
+       .driver = {
+               .pm = &tpm_inf_pm,
+       }
  };
  
 -static int __init init_inf(void)
 -{
 -      return pnp_register_driver(&tpm_inf_pnp_driver);
 -}
 -
 -static void __exit cleanup_inf(void)
 -{
 -      pnp_unregister_driver(&tpm_inf_pnp_driver);
 -}
 -
 -module_init(init_inf);
 -module_exit(cleanup_inf);
 +module_pnp_driver(tpm_inf_pnp_driver);
  
  MODULE_AUTHOR("Marcel Selhorst <tpmdd@sirrix.com>");
  MODULE_DESCRIPTION("Driver for Infineon TPM SLD 9630 TT 1.1 / SLB 9635 TT 1.2");