mirror of https://gitee.com/openkylin/linux.git
Input: ucb1400 - move static function from header into core
it's a little too large for static line. The ts is currently the only mainline user but Marek Vasut claims that there is a battery driver in an ARM tree which also needs this function. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
10494dce0b
commit
cbf806dd93
|
@ -23,6 +23,26 @@
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/ucb1400.h>
|
#include <linux/ucb1400.h>
|
||||||
|
|
||||||
|
unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel,
|
||||||
|
int adcsync)
|
||||||
|
{
|
||||||
|
unsigned int val;
|
||||||
|
|
||||||
|
if (adcsync)
|
||||||
|
adc_channel |= UCB_ADC_SYNC_ENA;
|
||||||
|
|
||||||
|
ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel);
|
||||||
|
ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel |
|
||||||
|
UCB_ADC_START);
|
||||||
|
|
||||||
|
while (!((val = ucb1400_reg_read(ac97, UCB_ADC_DATA))
|
||||||
|
& UCB_ADC_DAT_VALID))
|
||||||
|
schedule_timeout_uninterruptible(1);
|
||||||
|
|
||||||
|
return val & UCB_ADC_DAT_MASK;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(ucb1400_adc_read);
|
||||||
|
|
||||||
static int ucb1400_core_probe(struct device *dev)
|
static int ucb1400_core_probe(struct device *dev)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
|
@ -134,28 +134,13 @@ static inline void ucb1400_adc_enable(struct snd_ac97 *ac97)
|
||||||
ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA);
|
ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel,
|
|
||||||
int adcsync)
|
|
||||||
{
|
|
||||||
unsigned int val;
|
|
||||||
|
|
||||||
if (adcsync)
|
|
||||||
adc_channel |= UCB_ADC_SYNC_ENA;
|
|
||||||
|
|
||||||
ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel);
|
|
||||||
ucb1400_reg_write(ac97, UCB_ADC_CR, UCB_ADC_ENA | adc_channel |
|
|
||||||
UCB_ADC_START);
|
|
||||||
|
|
||||||
while (!((val = ucb1400_reg_read(ac97, UCB_ADC_DATA))
|
|
||||||
& UCB_ADC_DAT_VALID))
|
|
||||||
schedule_timeout_uninterruptible(1);
|
|
||||||
|
|
||||||
return val & UCB_ADC_DAT_MASK;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void ucb1400_adc_disable(struct snd_ac97 *ac97)
|
static inline void ucb1400_adc_disable(struct snd_ac97 *ac97)
|
||||||
{
|
{
|
||||||
ucb1400_reg_write(ac97, UCB_ADC_CR, 0);
|
ucb1400_reg_write(ac97, UCB_ADC_CR, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel,
|
||||||
|
int adcsync);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue