power: pm8xxx-ccadc: Add HTC register dump functions
HTC kernel version: villeu-jb-crc-3.4.10-ae8b65
Change-Id: Ibc2d03f4550bd04c58720994760a618d6001a241
diff --git a/drivers/power/pm8xxx-ccadc.c b/drivers/power/pm8xxx-ccadc.c
index c53bcd2..810ae54 100644
--- a/drivers/power/pm8xxx-ccadc.c
+++ b/drivers/power/pm8xxx-ccadc.c
@@ -688,6 +688,79 @@
}
DEFINE_SIMPLE_ATTRIBUTE(calc_fops, get_calc, NULL, "%lld\n");
+#ifdef CONFIG_MACH_HTC
+void dump_all(void)
+{
+ u64 val;
+ get_reg((void *)CCADC_ANA_PARAM, &val);
+ pr_info("CCADC_ANA_PARAM = 0x%02llx\n", val);
+ get_reg((void *)CCADC_DIG_PARAM, &val);
+ pr_info("CCADC_DIG_PARAM = 0x%02llx\n", val);
+ get_reg((void *)CCADC_RSV, &val);
+ pr_info("CCADC_RSV = 0x%02llx\n", val);
+ get_reg((void *)CCADC_DATA0, &val);
+ pr_info("CCADC_DATA0 = 0x%02llx\n", val);
+ get_reg((void *)CCADC_DATA1, &val);
+ pr_info("CCADC_DATA1 = 0x%02llx\n", val);
+ get_reg((void *)CCADC_OFFSET_TRIM1, &val);
+ pr_info("CCADC_OFFSET_TRIM1 = 0x%02llx\n", val);
+ get_reg((void *)CCADC_OFFSET_TRIM0, &val);
+ pr_info("CCADC_OFFSET_TRIM0 = 0x%02llx\n", val);
+ get_reg((void *)CCADC_FULLSCALE_TRIM1, &val);
+ pr_info("CCADC_FULLSCALE_TRIM1 = 0x%02llx\n", val);
+ get_reg((void *)CCADC_FULLSCALE_TRIM0, &val);
+ pr_info("CCADC_FULLSCALE_TRIM0 = 0x%02llx\n", val);
+}
+
+inline int pm8xxx_ccadc_dump_all(void)
+{
+ if (!the_chip) {
+ pr_err("called before init\n");
+ return -EINVAL;
+ }
+ dump_all();
+ return 0;
+}
+EXPORT_SYMBOL(pm8xxx_ccadc_dump_all);
+
+int pm8xxx_ccadc_get_attr_text(char *buf, int size)
+{
+ int len = 0;
+ u64 val = 0;
+
+ get_reg((void *)CCADC_ANA_PARAM, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_ANA_PARAM: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_DIG_PARAM, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_DIG_PARAM: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_RSV, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_RSV: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_DATA0, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_DATA0: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_DATA1, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_DATA1: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_OFFSET_TRIM1, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_OFFSET_TRIM1: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_OFFSET_TRIM0, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_OFFSET_TRIM0: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_FULLSCALE_TRIM1, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_FULLSCALE_TRIM1: 0x%02llx;\n", val);
+ get_reg((void *)CCADC_FULLSCALE_TRIM0, &val);
+ len += scnprintf(buf + len, size - len,
+ "CCADC_FULLSCALE_TRIM0: 0x%02llx;\n", val);
+
+ return len;
+}
+EXPORT_SYMBOL(pm8xxx_ccadc_get_attr_text);
+#endif
+
static void create_debugfs_entries(struct pm8xxx_ccadc_chip *chip)
{
chip->dent = debugfs_create_dir("pm8xxx-ccadc", NULL);