Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: lib/chromeos/tlcl_stub.c

Issue 6683023: Add Infineon v05 TPM driver (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/u-boot-next.git@chromeos-v2010.09
Patch Set: Fix nits Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « include/tpm.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 The Chromium OS Authors. All rights reserved. 2 * Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 * 5 *
6 * Alternatively, this software may be distributed under the terms of the 6 * Alternatively, this software may be distributed under the terms of the
7 * GNU General Public License ("GPL") version 2 as published by the Free 7 * GNU General Public License ("GPL") version 2 as published by the Free
8 * Software Foundation. 8 * Software Foundation.
9 */ 9 */
10 10
11 #include <config.h> 11 #include <config.h>
12 #include <common.h> 12 #include <common.h>
13 #include <tlcl_stub.h> 13 #include <tlcl_stub.h>
14 #include <tpm.h> 14 #include <tpm.h>
15 15
16 /* A simple TPM library implementation for now */ 16 /* A simple TPM library implementation for now */
17 17
18 uint32_t TlclStubInit(void) 18 uint32_t TlclStubInit(void)
19 { 19 {
20 #ifdef CONFIG_HARDWARE_TPM 20 #ifdef CONFIG_HARDWARE_TPM
21 » return tpm_init(); 21 » int ret = tis_init();
22 #else 22 » if (ret)
23 » » return TPM_E_IOERROR;
24 » /* tpm-lite lib doesn't call TlclOpenDevice after TlclStubInit */
25 » ret = tis_open();
26 » if (ret)
27 » » return TPM_E_IOERROR;
28 #endif
23 return TPM_SUCCESS; 29 return TPM_SUCCESS;
24 #endif
25 } 30 }
26 31
27 uint32_t TlclCloseDevice(void) 32 uint32_t TlclCloseDevice(void)
28 { 33 {
34 #ifdef CONFIG_HARDWARE_TPM
35 int ret = tis_close();
36 if (ret)
37 return TPM_E_IOERROR;
38 #endif
29 return TPM_SUCCESS; 39 return TPM_SUCCESS;
30 } 40 }
31 41
32 uint32_t TlclOpenDevice(void) 42 uint32_t TlclOpenDevice(void)
33 { 43 {
44 #ifdef CONFIG_HARDWARE_TPM
45 int ret = tis_open();
46 if (ret)
47 return TPM_E_IOERROR;
48 #endif
34 return TPM_SUCCESS; 49 return TPM_SUCCESS;
35 } 50 }
36 51
37 uint32_t TlclStubSendReceive(const uint8_t* request, int request_length, 52 uint32_t TlclStubSendReceive(const uint8_t* request, int request_length,
38 uint8_t* response, int max_length) 53 uint8_t* response, int max_length)
39 { 54 {
40 #ifdef CONFIG_HARDWARE_TPM 55 #ifdef CONFIG_HARDWARE_TPM
41 » int ret_code; 56 » int ret;
42 » ret_code = tpm_send(request, request_length); 57 » size_t recv_len = (size_t) max_length;
43 » if (ret_code) 58 » ret= tis_sendrecv(request, request_length, response, &recv_len);
59 » if (ret)
44 return TPM_E_IOERROR; 60 return TPM_E_IOERROR;
45 » ret_code = tpm_receive(response, max_length); 61 #endif
46 » if (ret_code)
47 » » return TPM_E_IOERROR;
48 return TPM_SUCCESS; 62 return TPM_SUCCESS;
49 #else
50 return TPM_SUCCESS;
51 #endif
52 } 63 }
53 64
OLDNEW
« no previous file with comments | « include/tpm.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698