static int po188_read_adc( int channel_no) { unsigned char reserve = 0; int value = 0; value = k3_adc_get_value(channel_no, &reserve); /* if (value >= 0) { po188_driver.voltage_now = value; } else //if error, rerurn error code and ignore the value { po188_driver.voltage_now = 0; }*/ return value; }
/* getting the major version by channel number */ static int hw_major_version_get(int channel_no) { unsigned char reserve = 0; int value = 0; int ret = 0; /* open adc channel */ ret = k3_adc_open_channel(channel_no); if (ret < 0) { printk(KERN_ERR "%s:open adc channel failed(ret=%d channel_no=%d)\n", __func__, ret, channel_no); return ret; } /* get the volatge value by adc channel */ value = k3_adc_get_value(channel_no, &reserve); /* close the adc channel */ ret = k3_adc_close_channal(channel_no); if (ret < 0) { printk(KERN_ERR "%s:close adc channel failed(ret=%d channel_no=%d)\n", __func__, ret, channel_no); return ret; } return value; }