projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cmd: Correct the 'md.q' command
[oweals/u-boot.git]
/
lib
/
tpm-common.c
diff --git
a/lib/tpm-common.c
b/lib/tpm-common.c
index 43b530865a0c4e7c01d32d66f5f43fe1702afe83..e4af87f76aa7aa13c47acd2109a42a755d7bef60 100644
(file)
--- a/
lib/tpm-common.c
+++ b/
lib/tpm-common.c
@@
-4,12
+4,22
@@
* Coypright (c) 2013 Guntermann & Drunck GmbH
*/
* Coypright (c) 2013 Guntermann & Drunck GmbH
*/
+#define LOG_CATEGORY UCLASS_TPM
+
#include <common.h>
#include <dm.h>
#include <common.h>
#include <dm.h>
+#include <log.h>
#include <asm/unaligned.h>
#include <tpm-common.h>
#include "tpm-utils.h"
#include <asm/unaligned.h>
#include <tpm-common.h>
#include "tpm-utils.h"
+enum tpm_version tpm_get_version(struct udevice *dev)
+{
+ struct tpm_chip_priv *priv = dev_get_uclass_priv(dev);
+
+ return priv->version;
+}
+
int pack_byte_string(u8 *str, size_t size, const char *format, ...)
{
va_list args;
int pack_byte_string(u8 *str, size_t size, const char *format, ...)
{
va_list args;
@@
-110,6
+120,8
@@
int unpack_byte_string(const u8 *str, size_t size, const char *format, ...)
if (offset + length > size) {
va_end(args);
if (offset + length > size) {
va_end(args);
+ log_err("Failed to read: size=%zd, offset=%zx, len=%zx\n",
+ size, offset, length);
return -1;
}
return -1;
}
@@
-147,9
+159,9
@@
u32 tpm_return_code(const void *response)
return get_unaligned_be32(response + return_code_offset);
}
return get_unaligned_be32(response + return_code_offset);
}
-u32 tpm_sendrecv_command(const void *command, void *response, size_t *size_ptr)
+u32 tpm_sendrecv_command(struct udevice *dev, const void *command,
+ void *response, size_t *size_ptr)
{
{
- struct udevice *dev;
int err, ret;
u8 response_buffer[COMMAND_BUFFER_SIZE];
size_t response_length;
int err, ret;
u8 response_buffer[COMMAND_BUFFER_SIZE];
size_t response_length;
@@
-162,9
+174,6
@@
u32 tpm_sendrecv_command(const void *command, void *response, size_t *size_ptr)
response_length = sizeof(response_buffer);
}
response_length = sizeof(response_buffer);
}
- ret = uclass_first_device_err(UCLASS_TPM, &dev);
- if (ret)
- return ret;
err = tpm_xfer(dev, command, tpm_command_size(command),
response, &response_length);
err = tpm_xfer(dev, command, tpm_command_size(command),
response, &response_length);
@@
-176,22
+185,15
@@
u32 tpm_sendrecv_command(const void *command, void *response, size_t *size_ptr)
ret = tpm_return_code(response);
ret = tpm_return_code(response);
- log
(LOGC_NONE, LOGL_DEBUG,
"TPM response [ret:%d]: ", ret);
+ log
_debug(
"TPM response [ret:%d]: ", ret);
for (i = 0; i < response_length; i++)
for (i = 0; i < response_length; i++)
- log
(LOGC_NONE, LOGL_DEBUG,
"%02x ", ((u8 *)response)[i]);
- log
(LOGC_NONE, LOGL_DEBUG,
"\n");
+ log
_debug(
"%02x ", ((u8 *)response)[i]);
+ log
_debug(
"\n");
return ret;
}
return ret;
}
-int tpm_init(
void
)
+int tpm_init(
struct udevice *dev
)
{
{
- struct udevice *dev;
- int err;
-
- err = uclass_first_device_err(UCLASS_TPM, &dev);
- if (err)
- return err;
-
return tpm_open(dev);
}
return tpm_open(dev);
}