@@ -77,6 +77,18 @@ static int tpm_go_idle(struct tpm_chip *chip)
77
77
return chip -> ops -> go_idle (chip );
78
78
}
79
79
80
+ static void tpm_clk_enable (struct tpm_chip * chip )
81
+ {
82
+ if (chip -> ops -> clk_enable )
83
+ chip -> ops -> clk_enable (chip , true);
84
+ }
85
+
86
+ static void tpm_clk_disable (struct tpm_chip * chip )
87
+ {
88
+ if (chip -> ops -> clk_enable )
89
+ chip -> ops -> clk_enable (chip , false);
90
+ }
91
+
80
92
/**
81
93
* tpm_chip_start() - power on the TPM
82
94
* @chip: a TPM chip to use
@@ -89,22 +101,20 @@ int tpm_chip_start(struct tpm_chip *chip)
89
101
{
90
102
int ret ;
91
103
92
- if (chip -> ops -> clk_enable )
93
- chip -> ops -> clk_enable (chip , true);
104
+ tpm_clk_enable (chip );
94
105
95
106
if (chip -> locality == -1 ) {
96
107
ret = tpm_request_locality (chip );
97
108
if (ret ) {
98
- chip -> ops -> clk_enable (chip , false );
109
+ tpm_clk_disable (chip );
99
110
return ret ;
100
111
}
101
112
}
102
113
103
114
ret = tpm_cmd_ready (chip );
104
115
if (ret ) {
105
116
tpm_relinquish_locality (chip );
106
- if (chip -> ops -> clk_enable )
107
- chip -> ops -> clk_enable (chip , false);
117
+ tpm_clk_disable (chip );
108
118
return ret ;
109
119
}
110
120
@@ -124,8 +134,7 @@ void tpm_chip_stop(struct tpm_chip *chip)
124
134
{
125
135
tpm_go_idle (chip );
126
136
tpm_relinquish_locality (chip );
127
- if (chip -> ops -> clk_enable )
128
- chip -> ops -> clk_enable (chip , false);
137
+ tpm_clk_disable (chip );
129
138
}
130
139
EXPORT_SYMBOL_GPL (tpm_chip_stop );
131
140
0 commit comments