Exemple #1
0
static ssize_t
s3c_adc_read(struct file *file, char __user * buffer,
		size_t size, loff_t * pos)
{
	int  adc_value = 0;

	printk(KERN_INFO " s3c_adc_read() entered\n");

#ifdef ADC_WITH_TOUCHSCREEN
        mutex_lock(&adc_mutex);
	s3c_adc_save_SFR_on_ADC();
#endif


	adc_value = s3c_adc_convert();

#ifdef ADC_WITH_TOUCHSCREEN
	s3c_adc_restore_SFR_on_ADC();
	mutex_unlock(&adc_mutex);
#endif

	printk(KERN_INFO " Converted Value: %03d\n", adc_value);

	if (copy_to_user(buffer, &adc_value, sizeof(unsigned int))) {
		return -EFAULT;
	}
	return sizeof(unsigned int);
}
Exemple #2
0
int s3c_adc_get_adc_data(int channel)
{
	int adc_value = 0;
	int cur_adc_port = 0;

#ifdef ADC_WITH_TOUCHSCREEN
        mutex_lock(&adc_mutex);
	s3c_adc_save_SFR_on_ADC();
#else
        mutex_lock(&adc_mutex);
#endif

	cur_adc_port = adc_port;
	adc_port = channel;

	adc_value = s3c_adc_convert();

	adc_port = cur_adc_port;

#ifdef ADC_WITH_TOUCHSCREEN
	s3c_adc_restore_SFR_on_ADC();
	mutex_unlock(&adc_mutex);
#else
	mutex_unlock(&adc_mutex);
#endif

	pr_debug("%s : Converted Value: %03d\n", __FUNCTION__, adc_value);

	return adc_value;
}
Exemple #3
0
int s3c_adc_get_adc_data(int channel)
{
	int adc_value = 0;
	int cur_adc_port = 0;
/*
#ifdef ADC_WITH_TOUCHSCREEN
    mutex_lock(&adc_mutex);
	s3c_adc_save_SFR_on_ADC();
#else
    mutex_lock(&adc_mutex);
#endif
*/
	cur_adc_port = adc_port;
	adc_port = channel;

       writel(readl(base_addr + S3C_ADCCON) &(~(TOUCH_SCREEN1 << TSSEL)), base_addr);   //denis_wei add 2010-11-04

	adc_value = s3c_adc_convert();

	adc_port = cur_adc_port;
/*
#ifdef ADC_WITH_TOUCHSCREEN
	s3c_adc_restore_SFR_on_ADC();
	mutex_unlock(&adc_mutex);
#else
	mutex_unlock(&adc_mutex);
#endif
*/
	pr_debug("%s : Converted Value: %03d\n", __FUNCTION__, adc_value);

	return adc_value;
}
Exemple #4
0
static int s3c_adc_get(struct s3c_adc_request *req)
{
	unsigned adc_channel = req->channel;
	int adc_value_ret = 0;

	adc_value_ret = s3c_adc_convert();

	req->callback(adc_channel,req->param,adc_value_ret);

	return 0;
}
Exemple #5
0
static ssize_t
s3c_adc_read(struct file *file, char __user *buffer,
		size_t size, loff_t *pos)
{
	int  adc_value = 0;

	mutex_lock(&adc_mutex);
		s3c_adc_save_SFR_on_ADC();
		printk(KERN_INFO "## delay: %d\n", readl(base_addr + S3C_ADCDLY));
		adc_value = s3c_adc_convert();
		s3c_adc_restore_SFR_on_ADC();
	mutex_unlock(&adc_mutex);

	if (copy_to_user(buffer, &adc_value, sizeof(unsigned int)))
		return -EFAULT;

	return sizeof(unsigned int);
}
Exemple #6
0
int s3c_adc_get_adc_data(int channel)
{
	int adc_value = 0;
	int cur_adc_port = 0;

	mutex_lock(&adc_mutex);
	    s3c_adc_save_SFR_on_ADC();
	    cur_adc_port = adc_port;
	    adc_port = channel;
	    adc_value = s3c_adc_convert();
	    adc_port = cur_adc_port;
	    s3c_adc_restore_SFR_on_ADC();
	mutex_unlock(&adc_mutex);

	pr_debug("%s : Converted Value: %03d\n", __func__, adc_value);

	return adc_value;
}