linux/sound/arm/pxa2xx-ac97-lib.c
<<
>>
Prefs
   1/*
   2 * Based on sound/arm/pxa2xx-ac97.c and sound/soc/pxa/pxa2xx-ac97.c
   3 * which contain:
   4 *
   5 * Author:      Nicolas Pitre
   4 *
 *
 *
   1   2

 
 

rrupt.hc97-lib.cfref"> 
rrupt.hlinerighNicolas Pitre
 
 
 
 

tre
tre

mach/irqs/hlinerighNicolas Pitre
mach/regssound/hlinerighNicolas Pitre
mach/audio.hlinerighNicolas Pitre
DEFINE_MUTEXline(ass="lxr_pntde=car_me=exv id="searref">car_me=exline)hNicolas Pitre
DECLARE_WAIT_QUEUE_HEADline(ass="lxr_pntde=gsr_wqv id="searref">gsr_wqline)hNicolas Pitre
 *tile longlass="lxr_pntde=gsr_bidiv id="searref">gsr_bidilinehNicolas Pitre
clklinepanss="lxr_pntde=p="senlkv id="searref">p="senlklinehNicolas Pitre
clklinepanss="lxr_pntde=p="sconfenlkv id="searref">p="sconfenlklinehNicolas Pitre
lass="lxr_pntde=reset_gpiov id="searref">reset_gpiolinehNicolas Pitre


lass="lxr_pntde=reset_gpiov id="searref">reset_gpioline,li">lass="lxr_pntde=onv id="searref">online)hNicolas Pitre
   4/*
 * which contain:
 * which contain:
   1   2
rrupt fails af>
r any slot 12 IO.:      Nicolas Pitre
   3
   4
rrupt or:      Nicolas Pitre
   5
rrupt nev
r   5es).:      Nicolas Pitre


snd_f="slinepanss="lxr_pntde=p="sv id="searref">p="sline,lunsigned shor>lass="lxr_pntde=regv id="searref">regline)Nicolas Pitre
 *
lass="lxr_pntde=valv id="searref">val0"n  = -1hNicolas Pitre
 *tile ass="lxr_pntde=u3ac97-lib.crref">u32linepanss="lxr_pntde=reg_addrv id="searref">reg_addrlinehNicolas Pitre

me=ex_lockline(&nss="lxr_pntde=car_me=exv id="searref">car_me=exline)hNicolas Pitre

   4cpu_is_
regline ==lass="lxr_pntde=AC"s_GPIO_STATUSv id="searref">AC"s_GPIO_STATUSline)Nicolas Pitre
reg_addrline =lass="lxr_pntde=p="sv id="searref">p="sline-righass="lxr_pntde=numv id="searref">numline ? &nss="lxr_pntde=SMC_REG_BASEv id="searref">SMC_REG_BASEline : &nss="lxr_pntde=PMC_REG_BASEv id="searref">PMC_REG_BASElinehNicolas Pitre

reg_addrline =lass="lxr_pntde=p="sv id="searref">p="sline-righass="lxr_pntde=numv id="searref">numline ? &nss="lxr_pntde=SAC_REG_BASEv id="searref">SAC_REG_BASEline : &nss="lxr_pntde=PAC_REG_BASEv id="searref">PAC_REG_BASElinehNicolas Pitre
reg_addrline += (ass="lxr_pntde=regv id="searref">regline gfx/righ 1)hNicolas Pitre

   4lread access across the f="s #L2k c/:      Nicolas Pitre
GSRline =lass="lxr_pntde=GSR_CDONEv id="searref">GSR_CDONEline |lass="lxr_pntde=GSR_SDONEv id="searref">GSR_SDONElinehNicolas Pitre
gsr_bidiline =l0hNicolas Pitre
val0"n  = anss="lxr_pntde=reg_addrv id="searref">reg_addrlinehNicolas Pitre
regline ==lass="lxr_pntde=AC"s_GPIO_STATUSv id="searref">AC"s_GPIO_STATUSline)Nicolas Pitre
outlinehNicolas Pitre
wait_ev/a>_timeoutline(ass="lxr_pntde=gsr_wqv id="searref">gsr_wqline, (ass="lxr_pntde=GSRv id="searref">GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline) &lass="lxr_pntde=GSR_SDONEv id="searref">GSR_SDONEline, 1) <=l0 &&Nicolas Pitre
GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline) &lass="lxr_pntde=GSR_SDONEv id="searref">GSR_SDONEline)) {="comment"> *

rintkline(ass="lxr_pntde=KERN_ERRv id="searref">KERN_ERR0"n  n name="L4"> 
	ring">&quox/r#37;s:lread error (f="s_reg=r#37;d GSR=r#37;#lx)\n&quox/:      ,="comment"> *
__func__line, ass="lxr_pntde=regv id="searref">regline, ass="lxr_pntde=GSRv id="searref">GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline);Nicolas Pitre
val0"n  = -1hNicolas Pitre
outlinehNicolas Pitre


   4
GSRline =lass="lxr_pntde=GSR_CDONEv id="searref">GSR_CDONEline |lass="lxr_pntde=GSR_SDONEv id="searref">GSR_SDONElinehNicolas Pitre
gsr_bidiline =l0hNicolas Pitre
val0"n  = anss="lxr_pntde=reg_addrv id="searref">reg_addrlinehNicolas Pitre
   4ed anothea cycle... c/:      Nicolas Pitre
wait_ev/a>_timeoutline(ass="lxr_pntde=gsr_wqv id="searref">gsr_wqline, (ass="lxr_pntde=GSRv id="searref">GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline) &lass="lxr_pntde=GSR_SDONEv id="searref">GSR_SDONEline, 1)hNicolas Pitre

outline:    nss="lxr_pntde=me=ex_unlockv id="searref">me=ex_unlockline(&nss="lxr_pntde=car_me=exv id="searref">car_me=exline)hNicolas Pitre
val0"n hNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=

idlass="lxr_pntde=

snd_f="slinepanss="lxr_pntde=p="sv id="searref">p="sline,lunsigned shor>lass="lxr_pntde=regv id="searref">regline,="comment"> *
lass="lxr_pntde=valv id="searref">val0"n )Nicolas Pitre
 *
 *tile ass="lxr_pntde=u3ac97-lib.crref">u32linepanss="lxr_pntde=reg_addrv id="searref">reg_addrlinehNicolas Pitre

me=ex_lockline(&nss="lxr_pntde=car_me=exv id="searref">car_me=exline)hNicolas Pitre

   4cpu_is_
regline ==lass="lxr_pntde=AC"s_GPIO_STATUSv id="searref">AC"s_GPIO_STATUSline)Nicolas Pitre
reg_addrline =lass="lxr_pntde=p="sv id="searref">p="sline-righass="lxr_pntde=numv id="searref">numline ? &nss="lxr_pntde=SMC_REG_BASEv id="searref">SMC_REG_BASEline : &nss="lxr_pntde=PMC_REG_BASEv id="searref">PMC_REG_BASElinehNicolas Pitre

reg_addrline =lass="lxr_pntde=p="sv id="searref">p="sline-righass="lxr_pntde=numv id="searref">numline ? &nss="lxr_pntde=SAC_REG_BASEv id="searref">SAC_REG_BASEline : &nss="lxr_pntde=PAC_REG_BASEv id="searref">PAC_REG_BASElinehNicolas Pitre
reg_addrline += (ass="lxr_pntde=regv id="searref">regline gfx/righ 1)hNicolas Pitre

GSRline =lass="lxr_pntde=GSR_CDONEv id="searref">GSR_CDONEline |lass="lxr_pntde=GSR_SDONEv id="searref">GSR_SDONElinehNicolas Pitre
gsr_bidiline =l0hNicolas Pitre
reg_addrline =lass="lxr_pntde=valv id="searref">val0"n hNicolas Pitre
wait_ev/a>_timeoutline(ass="lxr_pntde=gsr_wqv id="searref">gsr_wqline, (ass="lxr_pntde=GSRv id="searref">GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline) &lass="lxr_pntde=GSR_CDONEv id="searref">GSR_CDONEline, 1) <=l0 &&Nicolas Pitre
GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline) &lass="lxr_pntde=GSR_CDONEv id="searref">GSR_CDONEline))Nicolas Pitre

rintkline(ass="lxr_pntde=KERN_ERRv id="searref">KERN_ERR0"n  n name="L4"> 
	ring">&quox/r#37;s:lwrite error (f="s_reg=r#37;d GSR=r#37;#lx)\n&quox/:      ,="comment"> *
__func__line, ass="lxr_pntde=regv id="searref">regline, ass="lxr_pntde=GSRv id="searref">GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline);Nicolas Pitre
me=ex_unlockline(&nss="lxr_pntde=car_me=exv id="searref">car_me=exline)hNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=


CONFIG_PXA 5xlineNicolas Pitre
in#L5"0"n  v>idlass="lxr_pntde=

id)Nicolas Pitre
 *
gsr_bidiline =l0hNicolas Pitre
GCRline |=lass="lxr_pntde=GCR_WARM_RSTv id="searref">GCR_WARM_RSTline |lass="lxr_pntde=GCR_PRIRDY_IENv id="searref">GCR_PRIRDY_IENline |lass="lxr_pntde=GCR_SECRDY_IENv id="searref">GCR_SECRDY_IEN0"n hNicolas Pitre
wait_ev/a>_timeoutline(ass="lxr_pntde=gsr_wqv id="searref">gsr_wqline, nss="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline &l(ass="lxr_pntde=GSR_PCRv id="searref">GSR_PCRline |lass="lxr_pntde=GSR_SCRv id="searref">GSR_SCRline), 1)hNicolas Pitre


in#L5"0"n  v>idlass="lxr_pntde=

id)Nicolas Pitre
 *
GCRline &=  nss="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n h  n name="L4">   4
GCRline &= ~nss="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n h  n name="L4">   4
gsr_bidiline =l0hNicolas Pitre
GCRline =lass="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n hNicolas Pitre
GCRline |=lass="lxr_pntde=GCR_CDONE_IEv id="searref">GCR_CDONE_IEline|ass="lxr_pntde=GCR_SDONE_IEv id="searref">GCR_SDONE_IElinehNicolas Pitre
wait_ev/a>_timeoutline(ass="lxr_pntde=gsr_wqv id="searref">gsr_wqline, nss="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline &l(ass="lxr_pntde=GSR_PCRv id="searref">GSR_PCRline |lass="lxr_pntde=GSR_SCRv id="searref">GSR_SCRline), 1)hNicolas Pitre



CONFIG_PXA 7xlineNicolas Pitre
in#L5"0"n  v>idlass="lxr_pntde=

id)Nicolas Pitre
 *
gsr_bidiline =l0hNicolas Pitre

   4

reset_gpioline,l1)hNicolas Pitre
udelayline(10)hNicolas Pitre
GCRline |=lass="lxr_pntde=GCR_WARM_RSTv id="searref">GCR_WARM_RSTlinehNicolas Pitre

reset_gpioline,l0)hNicolas Pitre
udelayline(500)hNicolas Pitre
in#L5"0"n  v>idlass="lxr_pntde=

id)Nicolas Pitre
 *
GCRline &=  nss="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n h  n name="L4">   4
GCRline &= ~nss="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n h  n name="L4">   4

gsr_bidiline =l0hNicolas Pitre

   4
clk_enabl"line(ass="lxr_pntde=f="sconfenlkv id="searref">p="sconfenlkline)hNicolas Pitre
udelayline(5)hNicolas Pitre
clk_disabl"line(ass="lxr_pntde=f="sconfenlkv id="searref">p="sconfenlkline)hNicolas Pitre
GCRline =lass="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n hNicolas Pitre
udelayline(50)hNicolas Pitre



CONFIG_PXA3xxlineNicolas Pitre
in#L5"0"n  v>idlass="lxr_pntde=

id)Nicolas Pitre
 *
lass="lxr_pntde=timeoutv id="searref">timeoutline =l100hNicolas Pitre
gsr_bidiline =l0hNicolas Pitre

   4
rruptspa/:      Nicolas Pitre
GCRline |=lass="lxr_pntde=GCR_WARM_RSTv id="searref">GCR_WARM_RSTlinehNicolas Pitre
GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidiline) &l(ass="lxr_pntde=GSR_PCRv id="searref">GSR_PCRline |lass="lxr_pntde=GSR_SCRv id="searref">GSR_SCRline)) &&lass="lxr_pntde=timeoutv id="searref">timeoutline--)Nicolas Pitre
mdelayline(1)hNicolas Pitre

in#L5"0"n  v>idlass="lxr_pntde=

id)Nicolas Pitre
 *
lass="lxr_pntde=timeoutv id="searref">timeoutline =l1000hNicolas Pitre

   4
GCRline =l0hNicolas Pitre
GCRline =lass="lxr_pntde=GCR_CLKBPBv id="searref">GCR_CLKBPBlinehNicolas Pitre
udelayline(100)hNicolas Pitre
GCRline =l0hNicolas Pitre
GCRline &=  nss="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n h  n name="L4">   4
GCRline &= ~nss="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n h  n name="L4">   4

gsr_bidiline =l0hNicolas Pitre

   4
rruptspon PXA3xxpa/:      Nicolas Pitre
GCRline &= ~(ass="lxr_pntde=GCR_PRIRDY_IENv id="searref">GCR_PRIRDY_IENline|ass="lxr_pntde=GCR_SECRDY_IENv id="searref">GCR_SECRDY_IEN0"n )hNicolas Pitre

GCRline =lass="lxr_pntde=GCR_WARM_RSTv id="searref">GCR_WARM_RSTline |lass="lxr_pntde=GCR_COLD_RSTv id="searref">GCR_COLD_RST0"n hNicolas Pitre
GSRline &l(ass="lxr_pntde=GSR_PCRv id="searref">GSR_PCRline |lass="lxr_pntde=GSR_SCRv id="searref">GSR_SCRline)) &&lass="lxr_pntde=timeoutv id="searref">timeoutline--)Nicolas Pitre
mdelayline(10)hNicolas Pitre



bool0"n  nss="lxr_pntde=p
snd_f="slinepanss="lxr_pntde=p="sv id="searref">p="sline)Nicolas Pitre
 *
gsr0"n hNicolas Pitre

CONFIG_PXA 5xlineNicolas Pitre
cpu_is_





CONFIG_PXA 7xlineNicolas Pitre
cpu_is_





CONFIG_PXA3xxlineNicolas Pitre
cpu_is_





BUGline()hNicolas Pitre
gsr0"n  =lass="lxr_pntde=GSRv id="searref">GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidilinehNicolas Pitre
gsr0"n  &l(ass="lxr_pntde=GSR_PCRv id="searref">GSR_PCRline |lass="lxr_pntde=GSR_SCRv id="searref">GSR_SCRline))) {="comment"> *

rintkline(ass="lxr_pntde=KERN_INFOv id="searref">KERN_INFO0"n  n name="L4"> 
	ring">&quox/r#37;s:lwpan reset timeout (GSR=r#37;#lx)\n&quox/:      ,="comment"> *
__func__line, ass="lxr_pntde=gsrv id="searref">gsr0"n )hNicolas Pitre

falselinehNicolas Pitre

truelinehNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=


bool0"n  nss="lxr_pntde=p
snd_f="slinepanss="lxr_pntde=p="sv id="searref">p="sline)Nicolas Pitre
 *
gsr0"n hNicolas Pitre
CONFIG_PXA 5xlineNicolas Pitre
cpu_is_





CONFIG_PXA 7xlineNicolas Pitre
cpu_is_




CONFIG_PXA3xxlineNicolas Pitre
cpu_is_





BUGline()hNicolas Pitre

gsr0"n  =lass="lxr_pntde=GSRv id="searref">GSRline |lass="lxr_pntde=gsr_bidiv id="searref">gsr_bidilinehNicolas Pitre
gsr0"n  &l(ass="lxr_pntde=GSR_PCRv id="searref">GSR_PCRline |lass="lxr_pntde=GSR_SCRv id="searref">GSR_SCRline))) {="comment"> *

rintkline(ass="lxr_pntde=KERN_INFOv id="searref">KERN_INFO0"n  n name="L4"> 
	ring">&quox/r#37;s:lcold reset timeout (GSR=r#37;#lx)\n&quox/:      ,="comment"> *
__func__line, ass="lxr_pntde=gsrv id="searref">gsr0"n )hNicolas Pitre
falselinehNicolas Pitre


truelinehNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=


idlass="lxr_pntde=

snd_f="slinepanss="lxr_pntde=p="sv id="searref">p="sline)Nicolas Pitre
 *
GCRline &= ~(ass="lxr_pntde=GCR_PRIRDY_IENv id="searref">GCR_PRIRDY_IENline|ass="lxr_pntde=GCR_SECRDY_IENv id="searref">GCR_SECRDY_IEN0"n )hNicolas Pitre
GCRline |=lass="lxr_pntde=GCR_SDONE_IEv id="searref">GCR_SDONE_IEline|ass="lxr_pntde=GCR_CDONE_IEv id="searref">GCR_CDONE_IElinehNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=


irqod="po_t0"n  nss="lxr_pntde=p
lass="lxr_pntde=irqv id="searref">irqline, v>idlanss="lxr_pntde=dev_idv id="searref">dev_idline)Nicolas Pitre
 *

	  uilinehNicolas Pitre

	  uiline =lass="lxr_pntde=GSRv id="searref">GSRlinehNicolas Pitre

	  uiline) {="comment"> *
GSRline =lass="lxr_pntde=
	  uiv id="searref">
	  uilinehNicolas Pitre
gsr_bidiline |=lass="lxr_pntde=
	  uiv id="searref">
	  uilinehNicolas Pitre
wake_upline(&nss="lxr_pntde=gsr_wqv id="searref">gsr_wqline)hNicolas Pitre

   4
   4
   4
cpu_is_
 *
MISRline =lass="lxr_pntde=MISR_EOCv id="searref">MISR_EOClinehNicolas Pitre
PISRline =lass="lxr_pntde=PISR_EOCv id="searref">PISR_EOClinehNicolas Pitre
MCSRline =lass="lxr_pntde=MCSR_EOCv id="searref">MCSR_EOClinehNicolas Pitre


IRQ_HANDLEDlinehNicolas Pitre


IRQ_NONElinehNicolas Pitre

CONFIG_PMlineNicolas Pitre
lass="lxr_pntde=

 *
GCRline |=lass="lxr_pntde=GCR_ACLINK_OFFv id="searref">GCR_ACLINK_OFFlinehNicolas Pitre
clk_disabl"line(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)hNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=

lass="lxr_pntde=

id)Nicolas Pitre
 *
clk_enabl"line(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)hNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=




lass="lxr_pntde=__devinitv id="searref">__devinit0"n  nss="lxr_pntde=p

latform_devic"linepanss="lxr_pntde=devv id="searref">devline)Nicolas Pitre
 *
lass="lxr_pntde=retv id="searref">retlinehNicolas Pitre


dataline =lass="lxr_pntde=devv id="searref">devline->nss="lxr_pntde=devv id="searref">devline.ass="lxr_pntde=platform_datav id="searref">
latform_datalinehNicolas Pitre


dataline) {="comment"> *

dataline->nss="lxr_pntde=reset_gpiov id="searref">reset_gpioline) {="comment"> *
 *
 *
reset_gpioline =lass="lxr_pntde=pdatav id="searref">
dataline->nss="lxr_pntde=reset_gpiov id="searref">reset_gpiolinehNicolas Pitre

 *
reset_gpioline =l113hNicolas Pitre

 *

 *
dev_errline(&nss="lxr_pntde=devv id="searref">devline->nss="lxr_pntde=devv id="searref">devline, n name="L4"> 
	ring">&quox/Invalid reset GPIO r#37;d\n&quox/:      ,="comment"> *

dataline->nss="lxr_pntde=reset_gpiov id="searref">reset_gpioline)hNicolas Pitre

 *
cpu_is_
 *
reset_gpioline =l113hNicolas Pitre


cpu_is_
 *
   4

reset_gpioline,l0)hNicolas Pitre
p="sconfenlkline =lass="lxr_pntde=clk_getv id="searref">clk_getline(&nss="lxr_pntde=devv id="searref">devline->nss="lxr_pntde=devv id="searref">devline, n name="L4"> 
	ring">&quox/AC"sCONFCLK&quox/:      )hNicolas Pitre
IS_ERRline(ass="lxr_pntde=f="sconfenlkv id="searref">p="sconfenlkline)) {="comment"> *
retline =lass="lxr_pntde=PTR_ERRv id="searref">PTR_ERRline(ass="lxr_pntde=f="sconfenlkv id="searref">p="sconfenlkline)hNicolas Pitre
p="sconfenlkline =lass="lxr_pntde=NULLv id="searref">NULLlinehNicolas Pitre
err_conflinehNicolas Pitre



p="senlkline =lass="lxr_pntde=clk_getv id="searref">clk_getline(&nss="lxr_pntde=devv id="searref">devline->nss="lxr_pntde=devv id="searref">devline, n name="L4"> 
	ring">&quox/AC"sCLK&quox/:      )hNicolas Pitre
IS_ERRline(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)) {="comment"> *
retline =lass="lxr_pntde=PTR_ERRv id="searref">PTR_ERRline(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)hNicolas Pitre
p="senlkline =lass="lxr_pntde=NULLv id="searref">NULLlinehNicolas Pitre
err_clklinehNicolas Pitre

retline =lass="lxr_pntde=clk_enabl" iid="searref">clk_enabl"line(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)hNicolas Pitre
retline)="comment"> *
err_clk2linehNicolas Pitre

retline =lass="lxr_pntde=request_irqv id="searref">request_irqline(ass="lxr_pntde=IRQ_AC"sv id="searref">IRQ_AC"sline, nss="lxr_pntde=p
 
	ring">&quox/AC"s&quox/:      ,lass="lxr_pntde=NULLv id="searref">NULLline)hNicolas Pitre
retline <l0)Nicolas Pitre
err_irqlinehNicolas Pitre
err_irqline:="comment"> *
GCRline |=lass="lxr_pntde=GCR_ACLINK_OFFv id="searref">GCR_ACLINK_OFFlinehNicolas Pitre
err_clk2line:="comment"> *
clk_putline(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)hNicolas Pitre
p="senlkline =lass="lxr_pntde=NULLv id="searref">NULLlinehNicolas Pitre
err_clkline:="comment"> *
p="sconfenlkline) {="comment"> *
clk_putline(ass="lxr_pntde=f="sconfenlkv id="searref">p="sconfenlkline)hNicolas Pitre
p="sconfenlkline =lass="lxr_pntde=NULLv id="searref">NULLlinehNicolas Pitre

err_confline:="comment"> *
retlinehNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=



idlass="lxr_pntde=


latform_devic"linepanss="lxr_pntde=devv id="searref">devline)Nicolas Pitre
 *
GCRline |=lass="lxr_pntde=GCR_ACLINK_OFFv id="searref">GCR_ACLINK_OFFlinehNicolas Pitre
free_irqline(ass="lxr_pntde=IRQ_AC"sv id="searref">IRQ_AC"sline, nss="lxr_pntde=NULLv id="searref">NULLline)hNicolas Pitre
p="sconfenlkline) {="comment"> *
clk_putline(ass="lxr_pntde=f="sconfenlkv id="searref">p="sconfenlkline)hNicolas Pitre
p="sconfenlkline =lass="lxr_pntde=NULLv id="searref">NULLlinehNicolas Pitre

clk_disabl"line(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)hNicolas Pitre
clk_putline(ass="lxr_pntde=f="senlkv id="searref">p="senlkline)hNicolas Pitre
p="senlkline =lass="lxr_pntde=NULLv id="searref">NULLlinehNicolas Pitre

EXPORT_SYMBOL_GPLline(ass="lxr_pntde=


MODULE_AUTHORline(a name="L4"> 
	ring">&quox/Nico"L4 Pitre&quox/:      )hNicolas Pitre
MODULE_DESCRIPTIONline(a name="L4"> 
	ring">&quox/Intel/Marvell PXA tre
MODULE_LICENSEline(a name="L4"> 
	ring">&quox/GPL&quox/:      )hNicolas Pitre




The original LXR trftware by thelass="lxr_http://trerceforge.net/projects/lxr">LXR 4al version by ass="lxr_mailto:lxr@#L3ux.no">lxr@#L3ux.noline.
lxr.#L3ux.no kindly hosted by ass="lxr_http://www.redpillounnpro.no">Redpill Lnnpro ASline, provider of Lnnux nsulting a