mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
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/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)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
ucb1400_reg_write(ac97, UCB_ADC_CR, 0);
|
||||
}
|
||||
|
||||
|
||||
unsigned int ucb1400_adc_read(struct snd_ac97 *ac97, u16 adc_channel,
|
||||
int adcsync);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user