tpm: replace of_find_node_by_name() with dev of_node property
authorNayna Jain <nayna@linux.vnet.ibm.com>
Mon, 14 Nov 2016 10:00:55 +0000 (05:00 -0500)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Sun, 27 Nov 2016 23:31:32 +0000 (01:31 +0200)
Using the device of_node property is a better way to refer to the
device tree node rather than of_find_node_by_name().

Suggested-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Nayna Jain <nayna@linux.vnet.ibm.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
drivers/char/tpm/tpm_of.c

index 83c26bf..12a86dd 100644 (file)
@@ -29,7 +29,8 @@ int tpm_read_log_of(struct tpm_chip *chip)
        struct tpm_bios_log *log;
 
        log = &chip->log;
-       np = of_find_node_by_name(NULL, "vtpm");
+       if (chip->dev.parent->of_node)
+               np = chip->dev.parent->of_node;
        if (!np) {
                pr_err("%s: ERROR - IBMVTPM not supported\n", __func__);
                return -ENODEV;
@@ -55,18 +56,15 @@ int tpm_read_log_of(struct tpm_chip *chip)
        if (!log->bios_event_log) {
                pr_err("%s: ERROR - Not enough memory for BIOS measurements\n",
                       __func__);
-               of_node_put(np);
                return -ENOMEM;
        }
 
        log->bios_event_log_end = log->bios_event_log + *sizep;
 
        memcpy(log->bios_event_log, __va(*basep), *sizep);
-       of_node_put(np);
 
        return 0;
 
 cleanup_eio:
-       of_node_put(np);
        return -EIO;
 }