Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 127629d7 authored by Lee Jones's avatar Lee Jones
Browse files

mfd: ab8500-debug: Add ADC input channel usb_id in debugfs

parent c7ebaee2
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -1706,6 +1706,35 @@ static const struct file_operations ab8500_gpadc_die_temp_fops = {
	.owner = THIS_MODULE,
};

static int ab8500_gpadc_usb_id_print(struct seq_file *s, void *p)
{
	int usb_id_raw;
	int usb_id_convert;
	struct ab8500_gpadc *gpadc;

	gpadc = ab8500_gpadc_get("ab8500-gpadc.0");
	usb_id_raw = ab8500_gpadc_read_raw(gpadc, USB_ID,
		avg_sample, trig_edge, trig_timer, conv_type);
	usb_id_convert = ab8500_gpadc_ad_to_voltage(gpadc, USB_ID,
		usb_id_raw);

	return seq_printf(s, "%d,0x%X\n",
			usb_id_convert, usb_id_raw);
}

static int ab8500_gpadc_usb_id_open(struct inode *inode, struct file *file)
{
	return single_open(file, ab8500_gpadc_usb_id_print, inode->i_private);
}

static const struct file_operations ab8500_gpadc_usb_id_fops = {
	.open = ab8500_gpadc_usb_id_open,
	.read = seq_read,
	.llseek = seq_lseek,
	.release = single_release,
	.owner = THIS_MODULE,
};

static int ab8540_gpadc_xtal_temp_print(struct seq_file *s, void *p)
{
	int xtal_temp_raw;
@@ -2712,6 +2741,12 @@ static int ab8500_debug_probe(struct platform_device *plf)
	    ab8500_gpadc_dir, &plf->dev, &ab8500_gpadc_die_temp_fops);
	if (!file)
		goto err;

	file = debugfs_create_file("usb_id", (S_IRUGO | S_IWUGO),
		ab8500_gpadc_dir, &plf->dev, &ab8500_gpadc_usb_id_fops);
	if (!file)
		goto err;

	if (is_ab8540(ab8500)) {
		file = debugfs_create_file("xtal_temp", (S_IRUGO | S_IWUGO),
			ab8500_gpadc_dir, &plf->dev, &ab8540_gpadc_xtal_temp_fops);