tpm: generalize init_timeout()

It seems both TIS & CRB devices share the same timeout. Make
initialization function generic now.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Tested-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
diff --git a/src/hw/tpm_drivers.c b/src/hw/tpm_drivers.c
index a137e62..0daaef2 100644
--- a/src/hw/tpm_drivers.c
+++ b/src/hw/tpm_drivers.c
@@ -102,6 +102,23 @@
     return TPM_VERSION_1_2;
 }
 
+static void init_timeout(int driver)
+{
+    if (tpm_drivers[driver].durations == NULL) {
+        u32 *durations = tpm_default_dur;
+        memcpy(durations, tpm_default_durations,
+               sizeof(tpm_default_durations));
+        tpm_drivers[driver].durations = durations;
+    }
+
+    if (tpm_drivers[driver].timeouts == NULL) {
+        u32 *timeouts = tpm_default_to;
+        memcpy(timeouts, tis_default_timeouts,
+               sizeof(tis_default_timeouts));
+        tpm_drivers[driver].timeouts = timeouts;
+    }
+}
+
 static u32 tis_init(void)
 {
     if (!CONFIG_TCGBIOS)
@@ -109,19 +126,7 @@
 
     writeb(TIS_REG(0, TIS_REG_INT_ENABLE), 0);
 
-    if (tpm_drivers[TIS_DRIVER_IDX].durations == NULL) {
-        u32 *durations = tpm_default_dur;
-        memcpy(durations, tpm_default_durations,
-               sizeof(tpm_default_durations));
-        tpm_drivers[TIS_DRIVER_IDX].durations = durations;
-    }
-
-    if (tpm_drivers[TIS_DRIVER_IDX].timeouts == NULL) {
-        u32 *timeouts = tpm_default_to;
-        memcpy(timeouts, tis_default_timeouts,
-               sizeof(tis_default_timeouts));
-        tpm_drivers[TIS_DRIVER_IDX].timeouts = timeouts;
-    }
+    init_timeout(TIS_DRIVER_IDX);
 
     return 1;
 }