diff options
author | Bitan Biswas <bbiswas@nvidia.com> | 2011-08-12 14:56:17 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-08-16 18:00:04 -0700 |
commit | 73facd79cc1822aecfe6942c2c998084a887fb21 (patch) | |
tree | 1edbae7abc8670669c2dc5c5097deb10b6198135 /drivers | |
parent | 7c340422fcd7c7095cd420df79efeef3a2f0dfa3 (diff) |
hwmon: tegra: tsensor: fuse revision corrected
tsensor functionality is enabled based on fuse revision.
The fuse revision is to be interpreted as an unsigned integer
while it is interpreted as a decimal number. Corrected this.
bug 863460
Change-Id: I42dbfe406c3ee5b016664410db1b916997e1fe60
Reviewed-on: http://git-master/r/46899
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hwmon/tegra-tsensor.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/hwmon/tegra-tsensor.c b/drivers/hwmon/tegra-tsensor.c index c28733f51e8c..025be5426b92 100644 --- a/drivers/hwmon/tegra-tsensor.c +++ b/drivers/hwmon/tegra-tsensor.c @@ -1615,16 +1615,22 @@ static int __devinit tegra_tsensor_probe(struct platform_device *pdev) goto err5; } + /* fuse revisions less than TSENSOR_FUSE_REVISION_DECIMAL_REV1 + bypass tsensor driver init */ /* tsensor active instance decided based on fuse revision */ err = tegra_fuse_get_revision(®); if (err) goto err6; - /* instance 1 is used for fuse revision 8 till 20 */ - /* instance 0 is used for fuse revision 21 onwards */ - if ((reg & 0xf) >= TSENSOR_FUSE_REVISION_DECIMAL_REV1) - tsensor_index = 1; - else if ((reg & 0xf) >= TSENSOR_FUSE_REVISION_DECIMAL_REV2) + /* check for higher revision done first */ + /* instance 0 is used for fuse revision + TSENSOR_FUSE_REVISION_DECIMAL_REV2 onwards */ + if (reg >= TSENSOR_FUSE_REVISION_DECIMAL_REV2) tsensor_index = 0; + /* instance 1 is used for fuse revision + TSENSOR_FUSE_REVISION_DECIMAL_REV1 till + TSENSOR_FUSE_REVISION_DECIMAL_REV2 */ + else if (reg >= TSENSOR_FUSE_REVISION_DECIMAL_REV1) + tsensor_index = 1; pr_info("tsensor active instance=%d\n", tsensor_index); /* tegra tsensor - setup and init */ |