diff options
author | Hoang Pham <hopham@nvidia.com> | 2011-06-07 19:19:57 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:42:46 -0800 |
commit | 3aa4f3d3c377899d5e2cdc793f2d0de7532b6e32 (patch) | |
tree | 1e0ebb7bb45c85bfe537ca975517eb34999d5496 /arch/arm/mach-tegra/fuse.c | |
parent | b93af641f221c23a5f665d9bd414fe22e3d5ae5d (diff) |
arm: tegra: Add sysfs tegra chip id/revision
Original-Change-Id: Ia4437fd1374fd38b0cfaf9869012e9553ea1a156
Reviewed-on: http://git-master/r/35602
Tested-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Jonathan Mayo <jmayo@nvidia.com>
Reviewed-by: Hoang Pham <hopham@nvidia.com>
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Rebase-Id: Rd744a3c83776e1b70f34a3312f323ed534e321ad
Diffstat (limited to 'arch/arm/mach-tegra/fuse.c')
-rw-r--r-- | arch/arm/mach-tegra/fuse.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/fuse.c b/arch/arm/mach-tegra/fuse.c index 80050665c2cc..eb2ba152c526 100644 --- a/arch/arm/mach-tegra/fuse.c +++ b/arch/arm/mach-tegra/fuse.c @@ -22,6 +22,8 @@ #include <linux/io.h> #include <linux/init.h> #include <linux/string.h> +#include <linux/module.h> +#include <linux/moduleparam.h> #include <mach/iomap.h> @@ -50,13 +52,15 @@ #endif struct tegra_id { - enum tegra_revision chipid; + enum tegra_chipid chipid; unsigned int major, minor, netlist, patch; enum tegra_revision revision; char *priv; }; static struct tegra_id tegra_id; +static unsigned int tegra_chip_id; +static unsigned int tegra_chip_rev; static const char *tegra_revision_name[TEGRA_REVISION_MAX] = { [TEGRA_REVISION_UNKNOWN] = "unknown", @@ -332,5 +336,21 @@ static int __init tegra_bootloader_tegraid(char *str) return 0; } +static unsigned int get_chip_id(const char *val, struct kernel_param *kp) +{ + tegra_chip_id = (unsigned int)tegra_get_chipid(); + return param_get_uint(val, kp); +} +static unsigned int get_chip_rev(const char *val, struct kernel_param *kp) +{ + tegra_chip_rev = (unsigned int)tegra_get_revision(); + return param_get_uint(val, kp); +} + +module_param_call(tegra_chip_id, NULL, get_chip_id, &tegra_chip_id, 0444); +__MODULE_PARM_TYPE(tegra_chip_id, "uint"); +module_param_call(tegra_chip_rev, NULL, get_chip_rev, &tegra_chip_rev, 0444); +__MODULE_PARM_TYPE(tegra_chip_rev, "uint"); + /* tegraid=chipid.major.minor.netlist.patch[.priv] */ early_param("tegraid", tegra_bootloader_tegraid); |