linux/drivers/mfd/ab8500-gpadc.c
<<
v4.8n> /spa/op n> /formop n> a v4.8n> href="../linux+v34> 10/drivers/mfd/ab8500-gpadc.c">v4.8n> img src="../.static/gfx/right.png" alt=">>">v4 /spa/opv4 spa/ class="lxr_search">v4.8v4.8n> input typn vhidden" namn vnavtarget" ption v">v4.8n> input typn vtext" namn vsearch" id vsearch">v4.8n> butt Search /formop /spa/opv4 spa/ class="lxr_prefs"op n> a href="+prefs?return=drivers/mfd/ab8500-gpadc.c"v4.8n> onclick="return ajax_prefs();">v4.8n>Prefsp n> /a>v4 /spa/op.8n> > /divop.8n> > form ac/o4/="ajax+*" method="post" onsubmit="return false;">v4 input typn vhidden" namn vajax_lookup" id vajax_lookup" ption v">v.8n> > /formopv.8n> > div class="headingbott m"> n> > div id vsearch_results" class="search_results"p nop.8n> > /divop div id vcontent">p div id vfile_contents"o
> >1
/a>
spa/ class="comment">/*
/spa/op> >2
/a>
spa/ class="comment"> * Copyright (C) ST-Ericss > >3
/a>
spa/ class="comment"> *.7spa/op> >4
/a>
spa/ class="comment"> * License Terms: GNU General Public License v2.7spa/op> >5
/a>
spa/ class="comment"> * Author: Arun R Murthy <arun.murthy@stericss <.com>.7spa/op> >6
/a>
spa/ class="comment"> * Author: Daniel Willerud <daniel.willerud@stericss <.com>.7spa/op> >7
/a>
spa/ class="comment"> * Author: Joha/ Palss > >8
/a>
spa/ class="comment"> */.7spa/op> >9
/a>#includeo<linux/init.h
/a>>p> v4.7a>#includeo<linux/module.h
/a>>p> 11.7a>#includeo<linux/device.h
/a>>p> 12
/a>#includeo<linux/interrupt.h
/a>>p> 13
/a>#includeo<linux/spinlock.h
/a>>p> 14.7a>#includeo<linux/delay.h
/a>>p> 15.7a>#includeo<linux/platform_device.h
/a>>p> 16.7a>#includeo<linux/comple/o4/.h
/a>>p> 17.7a>#includeo<linux/regulator/consumer.h
/a>>p> 18.7a>#includeo<linux/err.h
/a>>p> 19
/a>#includeo<linux/slab.h
/a>>p> 24.7a>#includeo<linux/list.h
/a>>p> 21.7a>#includeo<linux/mfd/abx500.h
/a>>p> 22
/a>#includeo<linux/mfd/abx500/ab8500.h
/a>>p> 23
/a>#includeo<linux/mfd/abx500/ab8500-gpadc.h
/a>>p> 24.7a>p> 25
/a>
spa/ class="comment">/*
/spa/op> 26
/a>
spa/ class="comment"> * GPADC register offsets
/spa/op> 27
/a>
spa/ class="comment"> * Bank : 0x0A
/spa/op> 28
/a>
spa/ class="comment"> */.7spa/op> 29
/a>#define>
a href="+code=AB8500_GPADC_CTRL1_REG" class="sref">AB8500_GPADC_CTRL1_REG
/a>          0x00p> 30
/a>#define>
a href="+code=AB8500_GPADC_CTRL2_REG" class="sref">AB8500_GPADC_CTRL2_REG
/a>          0x01p> 31
/a>#define>
a href="+code=AB8500_GPADC_CTRL3_REG" class="sref">AB8500_GPADC_CTRL3_REG
/a>          0x02p> 32
/a>#define>
a href="+code=AB8500_GPADC_AUTO_TIMER_REG" class="sref">AB8500_GPADC_AUTO_TIMER_REG
/a>     0x03p> 33
/a>#define>
a href="+code=AB8500_GPADC_STAT_REG" class="sref">AB8500_GPADC_STAT_REG
/a>           0x04p> 34
/a>#define>
a href="+code=AB8500_GPADC_MANDATAL_REG" class="sref">AB8500_GPADC_MANDATAL_REG
/a>       0x05p> 35
/a>#define>
a href="+code=AB8500_GPADC_MANDATAH_REG" class="sref">AB8500_GPADC_MANDATAH_REG
/a>       0x06p> 36
/a>#define>
a href="+code=AB8500_GPADC_AUTODATAL_REG" class="sref">AB8500_GPADC_AUTODATAL_REG
/a>      0x07p> 37
/a>#define>
a href="+code=AB8500_GPADC_AUTODATAH_REG" class="sref">AB8500_GPADC_AUTODATAH_REG
/a>      0x08p> 38
/a>#define>
a href="+code=AB8500_GPADC_MUX_CTRL_REG" class="sref">AB8500_GPADC_MUX_CTRL_REG
/a>       0x09p> 39.7a>p> 40
/a>
spa/ class="comment">/*
/spa/op> 41
/a>
spa/ class="comment"> * OTP register offsets
/spa/op> 42
/a>
spa/ class="comment"> * Bank : 0x15.7spa/op> 43
/a>
spa/ class="comment"> */.7spa/op> 44
/a>#define>
a href="+code=AB8500_GPADC_CAL_1" class="sref">AB8500_GPADC_CAL_1
/a>              0x0Fp> 45
/a>#define>
a href="+code=AB8500_GPADC_CAL_2" class="sref">AB8500_GPADC_CAL_2
/a>              0x10p> 46
/a>#define>
a href="+code=AB8500_GPADC_CAL_3" class="sref">AB8500_GPADC_CAL_3
/a>              0x11p> 47
/a>#define>
a href="+code=AB8500_GPADC_CAL_4" class="sref">AB8500_GPADC_CAL_4
/a>              0x12p> 48
/a>#define>
a href="+code=AB8500_GPADC_CAL_5" class="sref">AB8500_GPADC_CAL_5
/a>              0x13p> 49
/a>#define>
a href="+code=AB8500_GPADC_CAL_6" class="sref">AB8500_GPADC_CAL_6
/a>              0x14p> 50
/a>#define>
a href="+code=AB8500_GPADC_CAL_7" class="sref">AB8500_GPADC_CAL_7
/a>              0x15p> 51.7a>p> 52
/a>
spa/ class="comment">/* gpadc constants */.7spa/op> 53
/a>#define>
a href="+code=EN_VINTCORE12" class="sref">EN_VINTCORE12
/a>                   0x04p> 54
/a>#define>
a href="+code=EN_VTVOUT" class="sref">EN_VTVOUT
/a>                       0x02p> 55
/a>#define>
a href="+code=EN_GPADC" class="sref">EN_GPADC
/a>                        0x01p> 56
/a>#define>
a href="+code=DIS_GPADC" class="sref">DIS_GPADC
/a>                       0x00p> 57
/a>#define>
a href="+code=SW_AVG_16" class="sref">SW_AVG_16
/a>                       0x60p> 58
/a>#define>
a href="+code=ADC_SW_CONV" class="sref">ADC_SW_CONV
/a>                     0x04p> 59
/a>#define>
a href="+code=EN_ICHAR" class="sref">EN_ICHAR
/a>                        0x80p> 60
/a>#define>
a href="+code=BTEMP_PULL_UP" class="sref">BTEMP_PULL_UP
/a>                   0x08p> 61
/a>#define>
a href="+code=EN_BUF" class="sref">EN_BUF
/a>                          0x40p> 62
/a>#define>
a href="+code=DIS_ZERO" class="sref">DIS_ZERO
/a>                        0x00p> 63
/a>#define>
a href="+code=GPADC_BUSY" class="sref">GPADC_BUSY
/a>                      0x01p> 64.7a>p> 65
/a>
spa/ class="comment">/* GPADC constants from AB8500 spec, UM0836 */.7spa/op> 66
/a>#define>
a href="+code=ADC_RESOLUTION" class="sref">ADC_RESOLUTION
/a>                  1024p> 67
/a>#define>
a href="+code=ADC_CH_BTEMP_MIN" class="sref">ADC_CH_BTEMP_MIN
/a>                0p> 68
/a>#define>
a href="+code=ADC_CH_BTEMP_MAX" class="sref">ADC_CH_BTEMP_MAX
/a>                1350p> 69
/a>#define>
a href="+code=ADC_CH_DIETEMP_MIN" class="sref">ADC_CH_DIETEMP_MIN
/a>              0p> 70
/a>#define>
a href="+code=ADC_CH_DIETEMP_MAX" class="sref">ADC_CH_DIETEMP_MAX
/a>              1350p> 71
/a>#define>
a href="+code=ADC_CH_CHG_V_MIN" class="sref">ADC_CH_CHG_V_MIN
/a>                0p> 72
/a>#define>
a href="+code=ADC_CH_CHG_V_MAX" class="sref">ADC_CH_CHG_V_MAX
/a>                20030p> 73
/a>#define>
a href="+code=ADC_CH_ACCDET2_MIN" class="sref">ADC_CH_ACCDET2_MIN
/a>              0p> 74
/a>#define>
a href="+code=ADC_CH_ACCDET2_MAX" class="sref">ADC_CH_ACCDET2_MAX
/a>              2500p> 75
/a>#define>
a href="+code=ADC_CH_VBAT_MIN" class="sref">ADC_CH_VBAT_MIN
/a>                 2300p> 76
/a>#define>
a href="+code=ADC_CH_VBAT_MAX" class="sref">ADC_CH_VBAT_MAX
/a>                 4800p> 77
/a>#define>
a href="+code=ADC_CH_CHG_I_MIN" class="sref">ADC_CH_CHG_I_MIN
/a>                0p> 78
/a>#define>
a href="+code=ADC_CH_CHG_I_MAX" class="sref">ADC_CH_CHG_I_MAX
/a>                1500p> 79
/a>#define>
a href="+code=ADC_CH_BKBAT_MIN" class="sref">ADC_CH_BKBAT_MIN
/a>                0p> 80
/a>#define>
a href="+code=ADC_CH_BKBAT_MAX" class="sref">ADC_CH_BKBAT_MAX
/a>                3200p> 81.7a>p> 82
/a>
spa/ class="comment">/* This is used to not lose precis  > 83
/a>#define>
a href="+code=CALIB_SCALE" class="sref">CALIB_SCALE
/a>                     1000p> 84.7a>p> 85
/a>enum>
a href="+code=cal_channels" class="sref">cal_channels
/a> {p> 86
/a>        
a href="+code=ADC_INPUT_VMAIN" class="sref">ADC_INPUT_VMAIN
/a> = 0,p> 87
/a>        
a href="+code=ADC_INPUT_BTEMP" class="sref">ADC_INPUT_BTEMP
/a>,p> 88
/a>        
a href="+code=ADC_INPUT_VBAT" class="sref">ADC_INPUT_VBAT
/a>,p> 89
/a>        
a href="+code=NBR_CAL_INPUTS" class="sref">NBR_CAL_INPUTS
/a>,p> 90
/a>};p> 91.7a>p> 92
/a>
spa/ class="comment">/**
/spa/op> 93
/a>
spa/ class="comment"> * struct adc_cal_data - Table for storing gain and offset for the calibrated
/spa/op> 94
/a>
spa/ class="comment"> * ADC channels
/spa/op> 95
/a>
spa/ class="comment"> * @gain:               Gain of the ADC channel
/spa/op> 96
/a>
spa/ class="comment"> * @offset:             Offset of the ADC channel
/spa/op> 97
/a>
spa/ class="comment"> */.7spa/op> 98
/a>struct 
a href="+code=adc_cal_data" class="sref">adc_cal_data
/a> {p> 99
/a>        
a href="+code=u64" class="sref">u64.7a> 
a href="+code=gain" class="sref">gain.7a>;p>100
/a>        
a href="+code=u64" class="sref">u64.7a> 
a href="+code=offset" class="sref">offset.7a>;p>101
/a>};padc_cal_data
/a> {p> 92
/a>10includeo&0lt;> 93
/a>10includeo&0lt;> 93
/a>10includeo&0lt;> 93
/a>10includeo&0lt;> 93
/a>10includeo&0lt;> 93
/a>10includeo&0lt;> 93
/a>10includeo&0lt;> 93
/a>1#includeo&<> 93
/a>1#includeo&llt;> 93
/a>1#
a href="<> 93
/a>1#includeo&<> 93
/a>1#includeo&<> 95
/a>1#includeo&<> 98
/a>1#includeo&<adc_cal_data
/a> {p vL93_d/ab8ivers/mfd/ab8500 vL93_d/ab89" id vL99" class="line" namn vL99">> 99
/a>1#includeo&<ADC_INPUT_BTEMPu8 class="sref">of8et.7a>;p>101
/#includeo&<Aef">adc_cal_data
/a> {gpadc.ivers/mfd/ab850gpadc.93ac#L4cal_data
/a> {gpaivers/mfd/ab850gpa1" id vL101" class="line" namn vL101">>101
/#includeo&<Aef">adc_cal_data
/a> {adc._v idivers/mfd/ab850adc._v idet.7a>;p>101
/#includeo1<Aef">adc_cal_data
/a> {-00-gpadc.ivers/mfd/ab850000-gpadc.et.7a>;p>101
/#includeo&<Aef">adc_cal_data
/a> {mutexivers/mfd/ab850mutex93.7a>;p>101
/#includeo&llt;Aef">adc_cal_data
/a> {/mfd/ab85ivers/mfd/ab850/mfd/ab8593ac#L4cal_data
/a> {/mfdivers/mfd/ab850/mfd1" id vL101" class="line" namn vL101">>101
/#includeo&<>101
/#includeo&"drivers/mfd/ab8500-gpad1c.c#L124ass="sref">Aef">adc_cal_data
/a> {p {p,p>101
/#includeo&ss="comment">/*
/spa/op<1a hre1="drivadc_cal_data
/a> {p * GPADC re1giste1 offsec_cal_data
/a> {p * Bank : 01x0A
/1pa/op {LIST_HEADrivers/mfd/ab85LIST_HEAD/op<(>;p */.7spa/op1> 93
/a>1#define>
1a href="+code=AB8500_GPA1DC_CT13"drivers/mfd/ab8500-gpadc.c850s vL93_d/ab8_get() - jax_losea  cler> 93
/a>1#includeo&a href="+code=AB8500_GPA1DC_CT13fsets
/spa/op> 93
/a>1#includeo&a href="+code=AB8500_GPA1DC_AU13a/op> 98
/a>13includeo&llt;adc_cal_data
/a> {p vL93_d/ab8ivers/mfd/ab8500 vL93_d/ab89" idL4cal_data
/a> {s vL93_d/ab8_getfd/ab8500-gpadcs vL93_d/ab8_g101" i(chardL4cal_data
/a> {ude/ivers/mfd/ab850nde//op<)vL98" class="line" namn vL98">> 98
/a>13includeo&a href="+code=AB8500_GPA1DC_MA1DATAL_ vL99" class="line" namn vL99">> 99
/a>1#define>
1a href="+code=AB8500_GPA1DC_MA135ass="sref">Aef">adc_cal_data
/a> {p vL93_d/ab8ivers/mfd/ab8500 vL93_d/ab89" idL4cal_data
/a> {d/ab8ivers/mfd/ab850d/ab89" i vL13" class="line" namn vL13">> 13
/a>#ispa/ cla1a href="+code=AB8500_GPA1DC_AU13offsec_cal_data
/a> {pADC_INPUT_BTEMPadc._for_each_padryivers/mfd/ab850adc._for_each_padry/op<(>;p;p> 99
/a>1#define>
1a href="+code=AB8500_GPA1DC_MU13lass="sref">A0-gpadc.0f (!>;p;p;p {gpaivers/mfd/ab850gpa1" i)))vL98" class="line" namn vL98">> 98
/a>13includeo&"drivers/mfd/ab8500-gpad1c.c#L139ass="sref">A0-gpadc.....jax_loo4cal_data
/a> {d/ab8ivers/mfd/ab850d/ab89" i vL13" class="line" namn vL13">> 13
/a>#
spa/ cla1ss="comment">/*
/spa/op<1a hre140ass="sref">A}vL13" class="line" namn vL13">> 13
/a>#
includeo&ss="comment"> * OTP regi1ster 14" id vL92" class="line" namn vL92">> 92
/a>1
spa/ cla1ss="comment"> * Bank : 01x15.7142ass="sref">Ajax_loo4cal_data
/a> {ERR_PT       0x80p {ENOEN       0x02p {p */.7spa/op1> 13
/a>#
includeo&llt; {EXPORT_SYMBOL      0x02p;p {p {p> 93
/a>1#define>
1a href="+code=AB8500_GPA1DC_CA14a/op> 93
/a>1#define>
1a href="+code=AB8500_GPA1DC_CA14="drivers/mfd/ab8500-gpadc.c#L29" id vL29" class="line" namn vL29">> 29
/a>1#define>
1a href="+code=AB8500_GPA1DC_CA1_6" cl00-c_cal_data
/a> {s vL93_d/ab8_ad_to_voltagefd/ab8500-gpadcs vL93_d/ab8_ad_to_voltage/op<(ef">adc_cal_data
/a> {p vL93_d/ab8ivers/mfd/ab8500 vL93_d/ab89" idL4cal_data
/a> {d/ab8ivers/mfd/ab850d/ab89" i,a>;pof8et.7a>;p> 90
/a>1#define>
1a href="+code=AB8500_GPA1DC_CA15ludeo< >1
/a>
> 29
/8500_GPA1DC_CA15ludeo<vL923_d/fd/ab850>p> 93
/a>10inclc_cal_data
/a>2_code=AB8500_GPA1DC_CA15="drip             1     15ref="drivers/mwitch 0-gpadcs vL93_d/class="line" namn vL90">> 90
/a>1>1#define>
1a href="+code=AB8500_GPA1DC_MUsref">EN_1GPADC
/a>               1     153_d/ab8ivers/casa href="drivers/m7">>_" clGER_gpadc.c#L59" id 7">>_" clGER_g_d/a:define>
1a href="+code=AB8500_GPA1DC_MUs4      OfS_GPADC
/a>             1     15ass="line" namn vL58" and offset */.7spa/op> 9amn vL 29
/a>1#define>
1a href="+code=AB8500_GPA1DC_CA"sref">SW1_AVG_16
/a>             1     15" namn vL51">> 51.7850ef"cmp/op<(>;p {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 87
]. id vL100" class="line" namn vL100">>100
/>1#define>
1a href="+code=AB8500_GPA1DC_MUs4="driverADC_SW_CONV
/a>         1     15ief"cmpivers/mfd/ab85ryivers/mfd/ab850adc._f1DC_CA15="drip
1a href="+code=AB8500_GPA1DC_MUs_6" cl00-ICHAR
/a>               1     15a
/a> {d/ab8ivers/mfd/ab8ab85ryivers/mfd/ab850adc._f/mfd/ab8500-gpadc.c#L72" id vL72" class="line" namn)teaC_CA15ludeo<
1a href="+code=AB8500_GPA1DC_MUass="sref1">BTEMP_PULL_UP
/a>     1     160
/a> {d/ab8ivers/mfd/ab8ab85ryivers/mfd/ab850adc._f/mfdd/ab8500-gpadc.c#L67" id vL67" class="line"includeo<                   1     16" namn vL45">> 45
///////////b> 5
includeo&llt;G1PADC_BUSY
/a>           1     16" namn vL47">> 47
/8" and offset */.7spa/op> 9amn vL 29
/a>1#define>
1a href="+code=AB8500_GPA1DC_CA" id vL651" class="line" namn vL651">> 616" namn vL48">> 48
/s/mfd/ab850adc._f1DC_CA15="drip2) 0-gpadcs vL93_d/ {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 87
]. id vL100" class="line" namn vL100">>100
/ +define>
1a href="+code=AB8500_GPA1DC_CA"ref">EN_1500 spec, UM0836 */.7spa1/op> 49
/">> 48
/s/mfd/ab850adc._fata
/a> {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 87
]. id vL100" clasclass="line" namn vL101">>101
/) / href="drivers/mfd/ab8500-gpadc.c#L84" id vL84" class="liincludeo<linux/comple    16ass="line" namn vL58"bSW1ref">ADC_CH_BTEMP_MIN
/a1>    1      ncludeo<ADC_CH_BTEMP_MAX
/a1>    16ief"cmpivers/casa href="drivers/mss="" napadc.c#L84" id ss="" na_d/a:define>
1a href="+code=AB8500_GPA1DC_MUN" class=1"sref">ADC_CH_DIETEMP_MI1N
/a>169ef"cmpivers/casa href="drivers/mss="liBALapadc.c#L84" id ss="liBALa_d/a:define>
1a href="+code=AB8500_GPA1DC_MUX" class=1"sref">ADC_CH_DIETEMP_MA1X
/a>170ef"cmpivers/casa href="drivers/mACC_DETECTgpadc.c#L45" id vCC_DETECTg_d/a:define>
1a href="+code=AB8500_GPA1DC_MUX"        ref">ADC_CH_CHG_V_MIN
/a1>    171ef"cmpivers/casa href="drivers/mAs="liXgpadc.c#L45" id vs="liXg_d/a:define>
1a href="+code=AB8500_GPA1DC_MUXpADC_CH_CHG_V_MAX
/a1>    172ef"cmpivers/casa href="drivers/mAs="liXgpadc.c#L46" id vs="liXg_d/a:define>
1a href="+code=AB8500_GPA1DC_MUX"sref">G1"sref">ADC_CH_ACCDET2_MI1N
/a>17" namn vL47">> 47
/8" and offset */.7spa/op> 9amn vL 29
/a>1#define>
1a href="+code=AB8500_GPA1DC_CAX" class=1"sref">ADC_CH_ACCDET2_MA1X
/a>17" namn vL48">> 48
/s/0ef"cmp/op<(>;p {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 88
/a> ]. id vL100" class="line" namn vL100">>100
/>1#define>
1a href="+code=AB8500_GPA1DC_MUclass="sr1ef">ADC_CH_VBAT_MIN
/a> 1     17" namn vL49">> 49
/">> 48
/s/mfd/ab850adc._f1DC_CA15="drip
1a href="+code=AB8500_GPA1DC_MUclass="sr1ef">ADC_CH_VBAT_MAX
/a> 1     17ass="line" namn vL58">> 58
/>> 48
/s/mfd/ab850adc._f/mfd/ab8500-gpadc.c#L68" id vL68" class="line" namn)teaC_CA15ludeo<
1a href="+code=AB8500_GPA1DC_MU class="s1ref">ADC_CH_CHG_I_MIN
/a1>    17" namn vL51">> 51.785>> 58
/>> 48
/s/mfd/ab850adc._f/mfdd/ab8500-gpadc.c#L67" id vL67" class="line"includeo<ADC_CH_CHG_I_MAX
/a1>    17ief"cmpivers/mfd/ab85ryivers/bADC_CH_BKBAT_MIN
/a1>    17a
/a> {d/ab8ivers/mfd
includeo&llt;ADC_CH_BKBAT_MAX
/a1>    180
/a> {d/ab8ivers/mfd and offset */.7spa/op> 9amn vL 29
/a>1#define>
1a href="+code=AB8500_GPA1DC_CA" id vL821" class="line" namn vL821">> 818" namn vL45">> 45
///mfd/ab850adc._f1DC_CA15="drip2) 0-gpadcs vL93_d/ {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 88
/a> ]. id vL100" class="line" namn vL100">>100
/ +define>
1a href="+code=AB8500_GPA1DC_CA not lose1 precis  > 54
/5
///mfd/ab850adc._fata
/a> {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 88
/a> ]. id vL100" clasclass="line" namn vL101">>101
/) / href="drivers/mfd/ab8500-gpadc.c#L84" id vL84" class="liincludeo<1CALIB_SCALE
/a>         1     18" namn vL47">> 47
/8"b> 81
/a>enum>
a href="+code=cal_channels" class=1"sref">ca1l_channels
/a> {p>_ss="gpadc.c#L59" id 7">>_ss="g_d/a:define>
1a href="+code=AB8500_GPA1DC_MUclass="sr1ef">ADC_INPUT_VMAIN
/a> 1= 0,p18ass="line" namn vL58" and offset */.7spa/op> 9amn vL 29
/a>1#define>
1a href="+code=AB8500_GPA1DC_CAclass="sr1ef">ADC_INPUT_BTEMP
/a>,1p> 51.7850ef"cmp/op<(>;p {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 89
/a> ]. id vL100" class="line" namn vL100">>100
/>1#define>
1a href="+code=AB8500_GPA1DC_MUlass="sre1f">ADC_INPUT_VBAT
/a>,p<1a hre18ief"cmpivers/mfd/ab85ryivers/mfd/ab850adc._f1DC_CA15="drip
1a href="+code=AB8500_GPA1DC_MUlass="sre1f">NBR_CAL_INPUTS
/a>,p<1a hre18a
/a> {d/ab8ivers/mfd/ab8ab85ryivers/mfd/ab850adc._f/mfd/abab8500-gpadc.c#L76" id vL76" class="line" )teaC_CA15ludeo<
1a href="+code=AB8500_GPA1DC_MU91" id vL191" class="line" namn vL191">>190
/a> {d/ab8ivers/mfd/ab8ab85ryivers/mfd/ab850adc._f/mfdd/ab8500-gpadc.c#L67" id vL67" class="line"includeo<> 919" namn vL45">> 45
///////////b> 5
includeo&llt;> 47
/8" and offset */.7spa/op> 9amn vL 29
/a>1#define>
1a href="+code=AB8500_GPA1DC_CApa/op> 48
/s/mfd/ab850adc._f1DC_CA15="drip2) 0-gpadcs vL93_d/ {gpaivers/mfd/ab850gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 89
/a> ]. id vL100" class="line" namn vL100">>100
/ +define>
1a href="+code=AB8500_GPA1DC_CA
/a>1#define>
1a href=" 9" ca hre1r    0x01p {d/a4cal_data
/a> {d/a4cal_data
/a> {d/a4ca54gb4ca54adc_cal_data
/a> {adc._v idivers/mfd/_CA1_ref="f="ine" namn vL93">> 93
/a>1#includeo&a href="+code=AB8500_GPA1DC_AU13a/op;p> 81
/a>enum>
a href="+code=cal_channe_cal_data1" class="sref">adc_cal_d1ata
/19 class="line" n+ 0-gp 89
/a> ]. id vL100" class="line" namn vL100">>100
/>1#define>
1ac.c#L69" id vL69" class="line" namn vL69">> 69
/agpa1" i)))vL98" class=AL_INPUTS
/a>,pga2n.7a>20#L76" id vL76" class="line" )_INPUT_VBAT
/a>,p<1a hrc.c#L70" id vL70" class="line" namn vL70">> 70
/a-00">>100
/>1#define>
1ac.c#L69" id vL69" class="line" namn vL69">> 69
/+code=AB8500_GPA1DC_MUlass="sre1f">NBR_CAL_INPUTS
/a>,p<1a hre18a
/a> {d/ab8ivers/mfd/ab8ab85r2f="+code=2ffset" class="sref">offs2t.7a>20s/mfd/ab8ab85ryivers/mfd/ab855ludeo<
1a href="+code=AB8500_GPA1DC_MU91" id vL191" c2L101" cla2s="line" namn vL101">>102
/a>}20x/compl" id vL921" clf="f="ine" namn vL93">> 93
/a>1#includeo&a h2c_cal_dat2
/a> {p> 93
/a>10inclc_cal_data
/a>2_292
/a>10i2cludeo&0lt;> 81
/a>enum>
a href="+code=cal_chann2p ]. id vL100" class="line" namn vL100">>100
/>1#define>
1ac.c#L73" id vL73" class="line" namn vL73">> 73
/agpa1" i)))vL98" class=AL_INPUTS
/a>,p> 25
/a     Gain of the ADC cha2nel
/20="line" namn + 0-gpadcs vL93__INPUT_VBAT
/a>,p<1a hrc.c#L74" id vL74" class="line" namn vL74">> 74
/a-00">>100
/>1#define>
1ac.c#L73" id vL73" class="line" namn vL73">> 73
/+code=AB8500_GPA1DC_MUlass="sre1f">NBR_CAL_INPUTS
/a>,p<1a hre18a
/a> {d/ab8ivers/mfd/ab8ab85r2fcomment">e ADC channelgpaop
1a href="+code=AB8500_GPA1DC_MU91" id vL191" c2Lpa/ classdrop> 93
/a>1#includeo&a h2c>> 28
/a>="drivers/mfd/ab8500-gpa2c.ccc2009p169ef"cmpivers/casa hrefVBUS vL851" class="liVBUS vL851">> 81
/a>enum>
a href="+code=cal_chann2b8500-gpa2c.c85000000000000000000020000021d/ab8ivers/mfd and offset */.7spa/op>100
/>1#define>
1a href="+code=AB8500_GPA1DC_MUs4="driverADC_SW_>> 81
/a>enum>
a href="+code=cal_chann2b101" cla2> 53
/a>#definevL93__INPUT_VBAT
/a>,p<1a hr5ief"cmpivers/mfd/ab85ryivers/mfd/ab850adc._f1mfd/ab8500-gpadc.c#L73" id vL73" class="line" n-define>
1a href="+code=AB8500_GPA1DC_MUs_6" cl00-ICHAR
/a>               1     15a
/a> {d/ab8ivers/mfd/ab8ab85ryi2="drivers2mfd/ab850@/mfdop
1a href="+code=AB8500_GPA1DC_MU91" id vL191" c2toring ga2n @irqop> 47
/8" and off="f="ine" namn vL93">> 93
/a>1#includeo&a h2vers/mfd/2b85@for the cccccccccccc2ccccc21ab8_getfd/ab8500-gpadcs vL93_d/ab8_g101" i)295
/a>1#i2cludeo&<> 81
/a>enum>
a href="+code=cal_chann2bcomment">co1ivers/ef">adc_cal_dat2
/a> 2p vL93_d/ab8ivef="drivers/mwitch 0USBdcs vL93_.c#L56" id vL56"USBdcs vL93_.L851">> 81
/a>enum>
a href="+code=cal_chann2bpa/ classEMPu8 class="sref">of8et27a>;p21 9" class="line" namnfset */.7spa/op>100
/>1#define>
1a hreL77" id vL77" class="line" namn vL77">> 7_>> 81
/a>enum>
a href="+code=cal_chann2b>> 28
/a> {gpadc.ivers/mfd/ab850g2adc.921 class="line" n+ 0-gpadcs vL9_INPUT_VBAT
/a>,p<1a hr5iefL78" id vL78" class="line" namn vL78">> 71mfd/ab8500-gpadc.c#L73" id L77" id vL77" class="line" namn vL77">> ode=AB8500_GPA1DC_MUs_6" cl00-ICHAR
/a>               1     15a
/a> {d/ab8ivers/mfd/ab8ab85ryi2/a> {adc.2v idivers/mfd/ab850adc._2 idet22#L76" id vL76" class="line" )5ludeo<
1a href="+code=AB8500_GPA1DC_MU91" id vL191" c2adc.et.7a2;p> 93
/a>1#includeo&a h2d/ab850mu2ex93.7a>;pa2a> {/mfd/2b85ivers/mfd/ab850/mfd/a28593a2#L4cal_data
/a16ief"cmpivers/casa hK" id vL851" class="lihK" id vL851">> 81
/a>enum>
a href="+code=cal_chann2> 47
/8" and offset */.7spa/op> 7_>> 81
/a>enum>
a href="+code=cal_chann2mfd/ab8502dc.c#L99" i[BR_CAL_INPUT2
/a>,22" 9" class="line" namn vL89">CH_VBAT_MIN
/a> 1     17.c#L80" id vL80" class="line" namn vL80">> 81mfd/ab8500-gpadc.c#L73"i.c#L79" id vL79" class="line" namn vL79">> ode=AB8500_GPA1DC_MUs_6" cl00-ICHAR
/a>               1     15a
/a> {d/ab8ivers/mfd/ab8ab85ryi2/5
/a>1#i2s="line" namn vL101">>102
/#in22="line" namn + 0-gpadcs vL93_5ludeo<
1a href="+code=AB8500_GPA1DC_MU91" id vL191" c2acomment">
/a> {p> 93
/a>1#includeo&a h2dpa/ classD/op<(>;p> 81
/a>enum>
a href="+code=cal_chann2mdefine
i2cludeo&a href="+code=AB8200_GP23"include/linux/compl cludeo<;p {d/ab8ivers/mfd/ab850d/ab89" i,a>2-gpadc.c820s vL93_d/ab8_get() - ja2_lose23s/mfd/ab8ab85ryivers/mfd/ab855drivers1/mfdst nam">"unknownmn vL96",d vL8possilassto1#inclut\n"includeal_data
/a> {EXPORT_SYMBOL      0x02p> 53
/a>#deffset */.7spa/op> 92
/a>1
spINVAa hr1f="dri}vL13"INVAahref="+code=AB8500_GPA1DC_MU91" id vL191" c293
/a>1#i2cludeo&a href="+code=AB8200_GP23ine" namn vL101">>101
/) / href="drivers/mfd/ab8500-gpadc.c#L84" 2tfd/ab8502-gpadcs vL93_d/ab8_g101"2i(cha23ude/linux/compls="sref">1CALIB_SCALE
/a>   2L98" clas2="line" namn vL98">> 98
2a>13i2cludeo&a href=ass="line" namn vL921">> 919" namn vL45293_d/ab8i2ers/mfd/ab8500 vL93_d/ab29" id23="line" namn mment"> * OTP regi1stehre01"          20030p> 132/a>#i2pa/ class="line" namn vL921">> 919" namn vL4529pa/ class00-gpadcs vL93_d/ab8_ais2/op<,2>;p> 92
/a>1
sp/.7spa/op1> 13
/a>#
includeo&l29" id vL29" class="line" namn vL29">> 29
/a>1#define>
1a al_data
/a> {EXPORT_SYMBOL      0x02pA0-gpadc.....2ax_lo24DC_CT129/op {p> 13
/a>#
spa2 cla124 cler> 29#inclut"line">> 21#includeo&<> 132/a>#
24dc.op1#i2      0x80p {p>elect82"analogmi/p" iddigital/at;;p {p> 29#inclut" namref="+code=AB8500_GPA1DC_CA1_6" cl00-c_cal_data
/a> {s vL93_d/ab8_ad_to_voltagefd/ab8500-gpadcs vL93_d/ab8_ad_to_voltage/op<(ef">adc_cal_data
/a> {p vL93_d/ab8ivers/mfd/ab8500 vL93_d/ab89" idL4cal_dat vL90">> 90
/a>1#define>
1a href="+code2rs/mfd/ab250s vL93_d/ab8_ad_to_vol2age()2- C0-lpa1" i)))vL98" class=AL_INPUTS
/a>,p1#d2fine>
1a href="+code=AB8200_GP24 class="line".c#Livers/mfd/ab8500hc.c#L97id vL90" class="line" namnl_data
/a> {EXPORT_SYMBOL      0x02pof8et27a>;p2a href="drichc.c#Livers/mfd/ab850 vL29" class="line" nadefine>
1a l_data
/a> {EXPORT_SYMBOL      0x02p/*
/spa/op<1a hre140ass="sref">A2lt;AB8500_GPA1DC_MUs_6" cl00-ICHAR
/a>               194f/ab8500-gpadc.mn vL29">> 29/) d_rawclass="line" namn vL29">> 29/) d_rawinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p1#i2eo& 29
/m
/a>>p,p> 47
/8" and offset */.7spa/opa hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p"93" cl3">>/a>1#dfail82"ch: %d\n"includeo_voltage/op<(ef"d/ab8500 vL93_d/ab89" idL4cal_dat l_data
/a> {EXPORT_SYMBOL      0x02p 2     25" 9" class="line" nammment"> * OTP regi1ste0hc.c#L97id vL90" class="line" namnl_data
/a> {EXPORT_SYMBOL      0x02p            2  1  2  153_d/ab8iveass="line" namn vL921">> 919" namn vL452         2   1     15ass="line" na2n vL525rivers/mfd/ab85L98" id vL98"429d/a4c" i)))v2f="driver2/mfd/ab8500-gpadc.c#adc.2#L87"25>,p
1a 194f/ab8500-gpadc.mn vL29">> 2929" id vL29" class="line" namn vL29">> 29
/a>1#define>
1a h"cmpivers/mfd/ab850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p1#d28500-gpadc.c#L72" id vL72" cla2509pfamn vL 29
/a>1#de vL29" class="line" nadefine>
1a 1< 00 href="drivers/mfd/ab8500-gpadc.c#L39"2es="line"2/a>     1     160
/a> {d2ab8iv2rs/mfd/ab8ab85ryivers/fset */.7spa/opa hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p"93" cl iddefine>1#includeo&dfail82"ch:"include href="drivers/mfd/ab8500-gpadc.c#L39"2et;" %d AD: 0x%x\n"includeo_voltage/op<(ef"d/ab8500 vL93_d/ab89" idL4cal_dato_voltage/op<(ef"0hc.c#L97id vL90" class="line" namn l_data
/a> {EXPORT_SYMBOL      0x02p> 45
///2///////b> 93
/a>10inclc_cal_data
/a>2_2>G1PADC_B2SY
/a>           1     12" nam2 vL47">> 47
/8mment"> * OTP regi1ste vL29" class="line" nadefine>
1a l_data
/a> {EXPORT_SYMBOL      0x02p> 919" namn vL452 namn vL82">> 87
]. id vL100" clas2lass=2line" 92">> 92
/a>1
sp/.7spa/op1> 13
/a>#
includeo&l#inclutclass="line" namn vL29">> 29#inclut" na l_data
/a> {EXPORT_SYMBOL      0x02p        2ass="liincludeo<linu2/comple  2 16ass="line" namn vL58"2 {pADC_2H_BTE26cccccccccccccccccccccccccccrepmn vL29">> 29/) d_raw"line">> 21rnamn DC_CA1_2" clc_cal_data
/a> {pADC_CH2DIETE27DC_CT129/op {pADC_CH_D2ETEMP27 cler {pADC_2H_CHG27dc.op3">> 93
/a>1#,L93isL93"n needt;ADC_2H_CHG27eeeeeepo00-gpiverb850and off/mto1be1#inclut82"byne" lnamnmn vL29">> 29
/a>1#define>(">> 93
/a>1#includeo&a href="+code=AB8500_GPA12CH_ACCDET2_MI1N
/a>17" namn vL47">2 47
/270-gpadc. numbgpivhatto get ga
includeo&llt;> 29/) d_rawinclfref="+code=AB8500_GPA1DC_CA1_6" cl00-c_cal_data
/a> {s vL93_d/ab8_ad_to_voltagefd/ab8500-gpadcs vL93_d/ab8_ad_to_voltage/op<(ef">adc_cal_data
/a> {p vL93_d/ab8ivers/mfd/ab8500 vL93_d/ab89" idL4cal_dat vL90">> 90
/a>1#define>
1a href="+code2ers/mfd/a28500-gpadc.c#L68" id vL62" cla2s="linpa1" i)))vL98" class=AL_INPUTS
/a>,pu64.7a> 
a hr2DC_CH_CHG2I_MIN
/a1>    17" namn v251">>251.785>> 58
/>vL923_d/fd/ab850u64.7a> 
a hr2Dde/linux2ncludeo< {p vL93_d/ab8ivers/mf/a>class="line" nadal_dato_voltage/op<(ef"lowref="+code=AB8500_GPlowref="_dato_voltage/op<(ef"highref="+code=AB8500_GPhighref="href="+code=u64" class="sref">u64.7a> 
a hr2/mfd/ab852yivers/bu64.7a> 
a hr2/s="line"2C_CH_BKBAT_MAX
/a1>    120
/a>2{d/ab8ivers/mfp> 9a vL90">> 90
/a>1#define>
1a href="+code2ef="drive2s/mfd/ab8500-gpadc.c#adc2c#L872vL88" class="line" nammment">L92">> 92
/a>1
spa/DEvL851" class="lipa/DEvhref="+code=u64" class="sref">u64.7a> 
a hr2/8500_GPA288
/a> ]. id vL100" clas2lass=28" namn vL93">> 93
/a>10inclc_cal_data
/a>2_2d vL84" c2ass="liincludeo<ADC_INPUT_BTEMb850ef"cmp/op<(>;p> 29< {EXPORT_SYMBOL      0x02p> 47
/8"2ca1l_channels
/a2 {p;p {EXPORT_SYMBOL      0x02p 1= 0,p18ass="line" na2n vL528ude/linux/complee/o4/.h" cclass="fref">linu2ref="driv2rs/mfd/ab8500-gpadc.c#ad2.c#L82" 9" class="li"drivers1/mfd/ab8500-gpadCheckfp,p;p {d/ab8ivers/mfd/ab850d/ab89" i,a>2ass="line2 namn vL191">>190
/a> {d2ab8iv2rs/mfd/ab8ab85ryivers/mfd/ab855ludeo<ADC_INPUT_BTEM/a>class="line" nadal_dat l_data
/a> {EXPORT_SYMBOL      0x02pfamn vL 29
/a>1#dehrtclass="line" nara href1< 00 href="drivers/mfd/ab8500-gpadc.c#L39"2>> 45
///2///////bu64.7a> 
a hr2Ta1ble fo2 storing gain and1 offs12" nam2 vL47">> 47
/8" and ofp1#de a>class="line" nadal_dat_sref"1n vL 29
/a>1#de93" c_BUSYclass="line" na93" c_BUSY_dat 0 href="drivers/mfd/ab8500-gpadc.c#L39"2>    1   2ers/mfd/ab8500-gpadc.c#a2c.c#L27" 9" class="line" namn vL89">
/) / href="drivers/mfd/ab8500-gpadc.c#L84" 2a> {d/a4c254gb4ca54adc_cal_data
/a2 {adc2_v idivers/mfd/_CA1_rerivers/mfd/ab85sslee99" class="line"sslee9inclf10 l_data
/a> {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02pfamn vL 29
/a>1#delooplimitclass="line" nalooplimit
1a 1&de/= 10_sref"sref"1mn vL 29
/a>1#de a>class="line" nadal_dat_sref"1n vL 29
/a>1#de93" c_BUSYclass="line" na93" c_BUSY_dat 0gpa1" i)))vL98" class=AL_INPUTS
/a>,padc_cal_d2ata
/29 class="line" n+ 0-gp 89
/a> ]. id va hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p"">> 29#includeo&:L93" clbusy"includeal_data
/a> {EXPORT_SYMBOL      0x02pga3n.7a>30#L76" id vL76" class=3_d/fd/ab850> 92
/a>1
spINVAa hr1f="dri}vL13"INVAahref="+code=AB8500_GPA1DC_MU91" id vL191" c3f="+code=3ffset" class="sref">offs3t.7a>30s/mfd/ab8ab85ryivers/goto1n vL 29
/a>1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3L101" cla3s="line" namn vL101">>103
/a>}30x/compl" id vass="line" namn vL921">> 919" namn vL453c_cal_dat3
/a> {p> 93
/a>10inclc_cal_data
/a>2_392
/a>10i3cludeo&0lt;;p {d/ab8ivers/mfd/ab850d/ab89" i,a>3 ">> 25
/3     Gain of the ADC cha3nel
/30="line" namn + 0-gpad5ludeo< {EXPORT_SYMBOL      0x02p> 25
/3 B8500_GPA1DC_AU13a/opfamn vL 29
/a>1#dehrtclass="line" nara href1< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p ]. id va hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p"">> 29#includeo&:Lenalase">> 21fail82\n"includeal_data
/a> {EXPORT_SYMBOL      0x02p> 28
/a3="drivers/mfd/ab8500-gpa3c.ccc30 class="line" n+ 0-gpgoto1n vL 29
/a>1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3ab850@s v393_d/ab8_500-gparop {d/ab8ivers/mfd/ab850d/ab89" i vL13" cl3b8500-gpa3c.c85000000000000000000030000031="comment">/*
/spa/op<1a hre140ass="sref">A3b101" cla3> 53"drivers1/mfd/ab8500-gpadSelect9"line vL96"ssource3and set a/opne>1sreflesmto116la
includeo&llt;;p> 47
/8" and ofvoltage/op<(ef" Blin1u93" c_TEMP2_REGL93_d/ab8_g101" Blin1u93" c_TEMP2_REG_dato_classmfd/c30-gpadc.c#L16" id vL16" class="line" n |fvoltage/op<(ef"SW_AVG_cludeo&<6" claSW_AVG_cl_dat 0="+code=u64" class="sref">u64.7a> 
a hr3afamn vL 29
/a>1#dehrtclass="line" nara href1< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p1#i3cludeo&<;p {d/ab8ivers/mfd/ab850d/ab89" i,a>3bcomment"3co1ivers/ef">adc_cal_dat3
/a> 31" id vL68" class="line" namn)5drivers1/mfdst nam">"">> 29#includeo&:Lset a/g1sreflesmfail82\n"includeal_data
/a> {EXPORT_SYMBOL      0x02pof8et37a>;p31 9" class="line" namngoto1n vL 29
/a>1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3a>> 28
/a3 {gpadc.ivers/mfd/ab850g3adc.931 class="line"{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl3/a> {adc.3v idivers/mfd/ab850adc._3 idet32"incl"+code=u64" class="sref">u64.7a> 
a hr3adc.et.7a3;p>elect risnamnedge3and enalass" c pathincludeo&llt;>ensel>fait needed, ABB 3.0 needtss="gpspecial/at;,32ab85-rs/mfd/aspa/opgpadc. inbbbbbbbba
includeo&llt;>103
/#in32="line" namn  vL68" classmfd/c30-gpadc.c#L16" id vL16" class="line" namn vL14n      gpadc.c#L68" id vL68" clas3acomment"3
/a> {p> 81
/a>enum>
a href="+code=cal_chann3dpa/ clas3D/op<(>;p> 81
/a>enum>
a href="+code=cal_chann3c_cal_dat3
/a> {p ]. id vL1tclass="line" nara href194f/ab8500-gpadc.mnxin1umask_and_set9/)gister_ne" namn ilasclass="line" namnxin1umask_and_set9/)gister_ne" namn ilasinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p {d/ab8ivers/mfd/ab+code=cal_chann3mdefine
i3cludeo&a href="+code=AB8300_GP33"include/linux/compl  n+ 0-gp 89
/a> ]. id veBlin1u93" cL93_d/ab8_g101" Blin1u93" c_dato_voltage/op<(ef" Blin1u93" c_TEMP1_REGL93_d/ab8_g101" Blin1u93" c_TEMP1_REG_dato
/a> {d/ab8ivers/mfd/ab+code=cal_chann3mdc.et.7a30s vL93_d/ab8_get() - ja3_lose33s/mfd/ab8ab85ryivers/mfd/ab855oltage/op<(ef"ENuBUFL93_d/ab8_g101"ENuBUFe" n |fvoltage/op<(ef"ENuIcs vL93_d/ab8_g101"ENuIcs v_dato
/a> {d/ab8ivers/mfd/ab+code=cal_chann3m/ab850mu3s
/spa/op> 53
/a>#defmfd/ab855oltage/op<(ef"ENuBUFL93_d/ab8_g101"ENuBUFe" n |fvoltage/op<(ef"ENuIcs vL93_d/ab8_g101"ENuIcs v_datal_data
/a> {EXPORT_SYMBOL      0x02p1#i3cludeo&a href="+code=AB8300_GP33ine" namn vL101">>101
/) / href="drivers/mfd/ab8500-gpadc.c#L84" 3tfd/ab8503-gpadcs vL93_d/ab8_g101"3i(cha334/ivers/mfd/ab850nde//op<,a>;p
1a href="+code=AB853L98" clas3="line" namn vL98">> 98
3a>13i33" 9" class="line" nam>famn vL 29
/a>1#deb850ef"cmp/op<(>;pon btemp pull-up>on ABB 3.0 a
includeo&llt;> 133/a>#i33" id vL68" class="line" namn)5ludeo<>e" namn)5ludeo<;p {d/ab8ivers/mfd/ab+code=cal_chann3m_cal_dat3/ab8ivers/mfd/ab850d/ab83" i-.33 class="line" n+ 0-gpadcs vL93_d/vers/mfab8500-gpadc.Blin1u93" cL93_d/ab8_g101" Blin1u93" c_dato_voltage/op<(ef" Blin1u93" c_TEMP1_REGL93_d/ab8_g101" Blin1u93" c_TEMP1_REG_dato
/a> {d/ab8ivers/mfd/ab+code=cal_chann3d1c.c#L133ass="sref">A0-gpadc.....3ax_lo34#L76" id vL76" class="line" )teaC_CA15ludeo< {d/ab8ivers/mfd/ab+code=cal_chann3ddc.et.7a3namn vL13">> 13
/a>#
spa3 cla134s/mfd/ab8ab85ryivers/mfd/ab85teaC_CA15ludeo< {EXPORT_SYMBOL      0x02p> 133/a>#
34a3v3
/a>1#i3      0x80pfanot, removeincludeo&llt;;p
1a href="+code=AB8500 ggggggggggggggggg*
includeo&llt; {EXPORT_SYMBOL      0x02p> 58
/>> 48
/s/mfd/ab850adc._f/mfdd/ab8500-gpadc.c#L67" id vL67" cl393
/a>1#d3fine>
1a href="+code=AB8300_GP34x/compl class="s1ref">ADC_CH_CHG_I_MAX
/a1>    17ief"cmpiver3pof8et37a>;p35"include/linux/compl class="s1ref">ADC_CH_BKBAIe" n/a>1al fallthroughg*
includeo&llt;> 81
/a>enum>
a href="+code=cal_chann3lt;> 53
/a>#deffset */.7spa/op;p {d/ab8ivers/mfd/ab+code=cal_chann3p3
/a>1#i3eo& 29
/m
/a>>p {EXPORT_SYMBOL      0x02p> 47
/8" and of0adc._f/mfdd/ab8500-gpadc.c#L67" id vL67" cl3p98" clas3adc_1" cl4ca_VTVOUT
/a> 3     35" 9" class="l>ADC_CH_CHG_I_MAX
/a1>    17ief"cmpiver3p3_d/ab8i3N_1GPADC
/a>            3  1  3  153_d/ab8ive>famn vL 29
/a>1#dehrtclass="line" nara href1< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p;p {d/ab8ivers/mfd/ab850d/ab89" i,a>3f="driver3/mfd/ab8500-gpadc.c#adc.3#L87"35 9" class="line" namn vL89">> drivers1/mfdst nam">"">> 29#includeo&:Lselect f" lnamnedge3fail82\n"includeal_data
/a> {EXPORT_SYMBOL      0x02p1#d38500-gpadc.c#L72" id vL73" cla35 class="line" n+ 0-gpgoto1n vL 29
/a>1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3ers/mfd/a3850adc._f/mfd/ab8500-gpa3c.c#L36cal_data
/a> {d/ab8ivers/mfd/ab850d/ab89" i vL13" cl3es="line"3/a>     1     160
/a> {d3ab8iv36="comment">/*
/spa/op<1a hre140ass="sref">A3et;;p {d/ab8ivers/mfd/re140ass="sref">A3e3
/a>1#i3///////b {EXPORT_SYMBOL      0x02pG1PADC_B3SY
/a>           1     13" nam3 vL47">> 47
/8>famn vL 29
/a>1#dehrtclass="line" nara href1< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p ]. id va hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p {d/ab8ivers/mfd/ab850d/ab89" i,a>3 namn vL83">> 87
]. id vL100" clas3lass=36="line" namn + 0-gpadcs vL93_5drivers1/mfdst nam">"">> 29#includeo&:Lstart s/w1#includeo&dfail82\n"includeal_data
/a> {EXPORT_SYMBOL      0x02p        3ass="liincludeo<u64.7a> 
a hr3e="driver3 16ass="line" namn vL58"3 {d/ab8ivers/mfd/ab850d/ab89" i vL13" cl3e3
/a>1#d3comple4="driverref">ADC_3H_BTE36 {pADC_CH_BKBAwaita hrL>ADple/a>1#of1#includeo&d*
includeo&llt;ADC_CH3DIETE37" id vL72" cl>famFc.c#omepADple/a>1_timeoutclass="line" nawait_ hr_>ADple/a>1_timeoutinclfsref">ADC_INPUT_BTEMb850ef"cmp/op<(>;p> 29>ADple/sclass="line" namn vL29">> 29>ADple/s_dato12ad_to_voltagefd/HZclass="line" naHZ_dat 0gpa1" i)))vL98" class=AL_INPUTS
/a>,pADC_CH_D3ETEMP37s/mfd/ab8ab85ryivers/fset */.7spa/opa hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p,pADC_3H_CHG37x/comple"        F
/aryivers/fdrivers1/mfdst nam">"timeout: didn't rece" cs93" cl#includeo&dne" namn \n"includeal_data
/a> {EXPORT_SYMBOL      0x02pADC_3H_CHG37"include/linux/compl="mfab8500-gpadchrtclass="line" nara href194L92">> 92
/a>1
spINVAa hr1f="dri}vL13"INVAahref="+code=AB8500_GPA1DC_MU91" id vL191" c3CH_ACCDET3_MI1N
/a>17" namn vL47">3 47
/37vL47">> 47
/8" and ofgoto1n vL 29
/a>1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3f="driver3/mfd/ab8500-gpadc.c#adc.3#L87"37" 9" class="l>ADC_CH_CHG_I_MAX
/a1>    17ief"cmpiver3ers/mfd/a38500-gpadc.c#L68" id vL63" cla3s="linADC_CH_CHG_I_MAX
/a1>    17ief"cmpiver3e        3850adc._f/mfd/ab8500-gpa3c.c#L38" id vL68" clrlass="s1ref">ADC_CH_BKBARead9"lineinclut82"RAW5_CA
d*
includeo&llt;    17" namn v351">>37>,p;p ]. id v Blin1u93" c_MANDATAL_REGL93_d/ab8_g101" Blin1u93" c_MANDATAL_REG"driadsref">ADC_INPUT_BTEMlowref="+code=AB8500_GPlowref="_datal_data
/a> {EXPORT_SYMBOL      0x02pfamn vL 29
/a>1#dehrtclass="line" nara href1< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p    130
/a>38s/mfd/ab8ab85ryivers/fset */.7spa/opa hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p"">> 29#includeo&:L/) d low5_CA
dfail82\n"includeal_data
/a> {EXPORT_SYMBOL      0x02p1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3/8500_GPA388
/a> ]. id vL100" clas3lass=383 9" class="l>ADC_CH_CHG_I_MAX
/a1>    17ief"cmpiver3d vL84" c3ass="liincludeo<1CALIB_SCALE
/a>   3     1   3 18" namn vL47">> 47
/8"3;pca1l_channels
/a3 {pADC_INPUT_BTEMhighref="+code=AB8500_GPhighref="hrefal_data
/a> {EXPORT_SYMBOL      0x02p 1= 0,p18ass="line" na3n vL538" id vL68" cl>famn vL 29
/a>1#dehrtclass="line" nara href1< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p ]. id va hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p,p"">> 29#includeo&:L/) d high5_CA
dfail82\n"includeal_data
/a> {EXPORT_SYMBOL      0x02p1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3ass="line3 namn vL191">>190
/a> {d3ab8iv3rs/mfd/ab8ab85>ADC_CH_CHG_I_MAX
/a1>    17ief"cmpiver3ss="line"3ncludeo<a3>> 45
///3///////bADC_CH_BKBADisalass93" cla
includeo&llt;> 47
/83_d/fd/ab850;p {EXPORT_SYMBOL      0x02p {d/a4c354gb4ca54adc_cal_data
/a3 {adc39 153_d/ab8ive>famn vL 29
/a>1#dehrtclass="line" nara href1< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p;p"">> 29#includeo&:Ldisalass">> 2dfail82\n"includeal_data
/a> {EXPORT_SYMBOL      0x02p1#deoutclass="line" naouthref="+code=u64" class="sref">u64.7a> 
a hr3ide/linux3" class="sref">adc_cal_d3ata
/39 class="line"{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl4 href="+c4de=gain" class="sref">ga4n.7a>40#L76" id vL76rlass="s1ref">ADC_CH_BKBADisalassVTVout LDOL93isLisLrequit;offs4t.7a>40s/mfd/ab8ab85n vL 29
/a>1#dehrne" nam_disalasclass="line" narane" nam_disalasinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p>104
/a>}40_cal_data
/a>AB8500_GPA1DC_Mss="l&un<ADC_INPUT_BTEMb850ef"cmp/op<(>;p> 29< {EXPORT_SYMBOL      0x02p {p> 93
/a>10inclc_cal_data
/a>2_492
/a>10i4cludeo&0lt;f"cmpivers/mfd/ahighref="+code=AB8500_GPhighref="href1<< 8) |fvoltage/op<(ef"lowref="+code=AB8500_GPlowref="_datl_data
/a> {EXPORT_SYMBOL      0x02p10i4crs/mfd/ab8500-gpadc.c#a4vL93_40" 9" _data
/a> {EXPORT_SYMBOL      0x02p10i4c4gb4ca54adc_cal_data
/a4nel
/40ine" 92">> 92
/a>1
soutclass="line" naouthref">> 81
/a>enum>
a href="+code=cal_chann4 7>> 25
/4 B8500_GPA1DC_AU13a/opADC_CH_BKBincludeo&llt;off9"lin93" cl>faea erdhrLoccurs,includeo&llt;adc_cal_d4c.ccc40cccccccccccccccccccccccccccrne" namn* o"lirwise we might1have prolasm w3"n waitnamn hrL"linbusy bit inL"liincludeo&llt;ADple/a>1includeo&llt;>ee&dne V2.0includeo&llt;;p> 47
/8" and ofvoltage/op<(ef" Blin1u93" c_TEMP1_REGL93_d/ab8_g101" Blin1u93" c_TEMP1_REG_dato15ludeo< {EXPORT_SYMBOL      0x02p;p {EXPORT_SYMBOL      0x02p1#i4cludeo&<ADC_INPUT_BTEMb850ef"cmp/op<(>;p> 29< {EXPORT_SYMBOL      0x02padc_cal_dat4
/a> 41" id vL68" cl5ludeo<;p {EXPORT_SYMBOL      0x02p> 25
/4EMPu8 class="sref">of8et47a>;p41 9" class="line" namn5drivers1/mfdst nam">"">> 29#includeo&:LFail82"to1ADneinclutne vL96"s%d\n"includeo_voltage/op<(ef"d/ab8500 vL93_d/ab89" idL4cal_dat l_data
/a> {EXPORT_SYMBOL      0x02p> 28
/a4 {gpadc.ivers/mfd/ab850g4adc.941 class="line"mment"> * OTP regi1stehrtclass="line" nara href="+code=u64" class="sref">u64.7a> 
a hr4/a> {adc.4v idivers/mfd/ab850adc._4 idet42"incl{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl4adc.et.7a4;p> 92
/a>1
sp/.7spa/op1> 13
/a>#
includeo&l/) d_rawclass="line" namn vL29">> 29/) d_rawincl l_data
/a> {EXPORT_SYMBOL      0x02p;pa4d"drivers4b85ivers/mfd/ab850/mfd/a48593a42eeeeeepo00-gpiverb850and of_GPA1DC_CA1_2" clc_cal_data
/a> {psw="deinclnd_dL4dler"lineisrn hrLs/w1">> 2d#includeo&d>ADple/a>1includeo&llt;,42ab85-rs/mfd/aspa/opgpadc. in* @irq:s="line"irq numberincludeo&llt;>104
/#in42fine>
1a href="+code=AB8500 * @ef=":s="linepone" nmto1tlin_CA
dp="+82"du namLrequest"irqincludeo&llt; {p {p>ervice routhren hrLs/w1">> 2d#includeo&d>ADple/a>1./at; {p">> 2d#iDple/a>1#pad>ADple/sd3and "lineinclut82"3">>/a>1#/at;3)gisters./at;> 93
/a>1#includeo&a href="+code=AB8500_GPA14m/ab850mu4s
/spa/op * OTP regi1steirqmment"_tclass="line" nairqmment"_tclassn vL13">> 13
/a>#
inclbm9">sw="deinclnd_dL4dlerclass="line" namn vL29bm9">sw="deinclnd_dL4dler" namvL923_d/fd/ab850,p> 98
4a>13i43" 9" class="lref="+code=AB8500_GPA1DC_CA1_6" cl00-c_cal_data
/a> {s vL93_d/ab8_ad_to_voltagefd/ab8500-gpadcs vL93_d/ab8_ad_t194f/ab8500-gpadc._6" cl00-c_cal_data
/vL93_d/ab8l_data
/a> {EXPORT_SYMBOL      0x02p> 134/a>#i43" id vL68" cl5ludeo<ADple/sclass="line" na>ADple/s_datfsref">ADC_INPUT_BTEMb850ef"cmp/op<(>;p> 29>ADple/sclass="line" namn vL29">> 29>ADple/s_dat l_data
/a> {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02p * OTP regi1steIRQ_HANDLEDclass="line" naIRQ_HANDLED/ab8l_data
/a> {EXPORT_SYMBOL      0x02pA0-gpadc.....4ax_lo44"incl{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl4ddc.et.7a4namn vL13">> 13
/a>#
spa4 cla144="comment">/*
/spa/op<1a hre140ass="sref">A4vL13" cla4s="line" namn vL13">> 134/a>#
44vL923_d/fd/ab850,p1#i4      0x80p {EXPORT_SYMBOL      0x02p {p> 47
/83_d/fd/ab850 {EXPORT_SYMBOL      0x02p;p {EXPORT_SYMBOL      0x02p {p {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02p,p {EXPORT_SYMBOL      0x02p
1a href="+code=AB8400_GP44 {p {EXPORT_SYMBOL      0x02pof8et47a>;p45"incl}l_data
/a> {EXPORT_SYMBOL      0x02p/*
/spa/op<1a hre140ass="sref">A4lt;void_n vL13">> 13
/a>#
includeo&l/) d_calibra/a>1_ef="+code=AB8500_GP>#
includeo&l/) d_calibra/a>1_ef="_datfref="+code=AB8500_GPA1DC_CA1_6" cl00-c_cal_data
/a> {s vL93_d/ab8_ad_to_voltagefd/ab8500-gpadcs vL93_d/ab8_ad_t0 href="drivers/mfd/ab8500-gpadc.c#L39"4p3
/a>1#i4eo& 29
/m
/a>>p,p> 47
/8vL923_d/fd/ab850 {EXPORT_SYMBOL      0x02p 4     45" 9" class="lvL923_d/fd/ab850> 13
/aotp_cal9/)gsclass="line" naotp_cal9/)gsa hr)]l_data
/a> {EXPORT_SYMBOL      0x02p            4  1  45="line" namn AB8500_GPA1DC_Mu8class="line" nau8classn vL13">> 13
/a">> 29>a>class="line" na">> 29>a>href[rivers/mfd/ab85 RRAY_SIZEudeo&<6" cla RRAY_SIZE" namn vL13">> 13
/aotp_cal9/)gsclass="line" naotp_cal9/)gsa hr)]l_data
/a> {EXPORT_SYMBOL      0x02plinu4f="driver4/mfd/ab8500-gpadc.c#adc.4#L87"45 9" class="livL923_d/fd/ab850 {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02p vL923_d/fd/ab850 {EXPORT_SYMBOL      0x02p     1     160
/a> {d4ab8iv46="comment">/*
/spa/op<1a hre140ass="sref">A4et;> 53"drivers1/mfd/ab8500-gpadFirst we rnam all OTP>3)gisters3and storeL93">erdhrL> 13
/aiclass="line" nai/ab81940"1n vL 29
/a>1#deiclass="line" nai/ab81< rivers/mfd/ab85 RRAY_SIZEudeo&<6" cla RRAY_SIZE" namn vL13">> 13
/aotp_cal9/)gsclass="line" naotp_cal9/)gsa hr)"1n vL 29
/a>1#deiclass="line" nai/ab8++0gpa1" i)))vL98" class=AL_INPUTS
/a>,pG1PADC_B4SY
/a>           1     14" nam46vL47">> 47
/8" and ofvoltage/op<(ef"hrtclass="line" nara href[rivers/mfd/ab85iclass="line" nai/ab8]194f/ab8500-gpadc.mnxin1uxet9/)gister_ne" namn ilasclass="line" namnxin1uxet9/)gister_ne" namn ilasinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p,p98" clas4s/mfd/ab8500-gpadc.c#adc4c#L8746" 9" class="line" nam href="drivers/mfd/ab85 Blin1uOTP_EMUa hr1f="dri}vL13 Blin1uOTP_EMUa_dato15ludeo<ADC_INPUT_BTEM">> 29>a>class="line" na">> 29>a>href[rivers/mfd/ab85iclass="line" nai/ab8] l_data
/a> {EXPORT_SYMBOL      0x02p> 87
]. id vL100" clas4lass=46="line" namn + 0-gpad>famn vL 29
/a>1#dehrtclass="line" nara href[rivers/mfd/ab85iclass="line" nai/ab8]1< 00_data
/a> {EXPORT_SYMBOL      0x02p;p"%s:L/) d otp>3)g 0x%02xdfail82\n"includeaa1" i)))vL98" class=AL_INPUTS
/a>,p="driver4 16ass="line" namn vL58"4>e" namn)5ludeo< {EXPORT_SYMBOL      0x02pADC_4H_BTE46 class="line"{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl40_GPA1DC_4UN" class=1"sref">ADC_CH4DIETE47"incl"+code=u64" class="sref">u64.7a> 
a hr40s="line"4" class=1"sref">ADC_CH_D4ETEMP47d/ab8ivers/mf"drivers1/mfd/ab8500-gpaincludeo&llt;ADC_4H_CHG47dc.op1n_CA
dis storeddne OTP>3)gisters./at;ADC_4H_CHG47eeeeeepo00-gpiverb850and offbbbbbbbbadThsslayout of9"lincalibra/a>1n_CA
dis out/assd below5and a more/at;17" namn vL47">4 47
/470-gpadc. numbgpivhatto get gbbbbbbbbaddetail82"descrip/a>1nc/opbe1founddne UM083="lt;
1a href="+code=AB8500 gggggggg* vm_h/l194vmain_high/low/at;>47 C0-lintea  awas-gpadingeveine" namn* vb_h/l194vbat_high/low/at;    140
/a>48 cler ]. id vL100" clas4lass=48eeeeeepo00-gpiverb850and offbbbbbbbbad|                                               | vm_h9 | vm_h8includeo&llt;> 47
/8"4ca1l_channels
/a4 {p
1a href="+code=AB8500 gggggggg* |.......|.......|.......|.......|.......|.......|.......|.......includeo&llt; 1= 0,p18ass="line" na4n vL548 vL93>190
/a> {d4ab8iv49 cler
1a href="+code=AB8500 gggggggg* |.......|.......|.......|.......|.......|.......|.......|.......includeo&llt;adc_cal_d4ata
/49cccccccccccccccccccccccccccrne" namn* Ideal outputs" c codead>ArrespondnamLto injecteddneputsvoltagesincludeo&llt;ga5n.7a>50DC_CT129/opoffs5t.7a>50 cler50eeeeeepo00-gpiverb850and offbbbbbbbbadvmain_low:  Vin = 315mV   /s" c ideal 10i5cludeo&0lt;10i5crs/mfd/ab8500-gpadc.c#a5vL93_50ab85-rs/mfd/aspa/opgpadc. inbbbbbbbbadbtemp_low:  Vin = 21mV    /s" c ideal 10i5c4gb4ca54adc_cal_data
/a5nel
/50fine>
1a href="+code=AB8500 gggggggg* vbat_high:  Vin = 47drmV  /s" c ideal adc_cal_d5c.ccc50ccccco&llt;ADC_CH_BKBACalce" ne gain5and offseta hrLVMAINl>faellL/) ds succeededa*
includeo&llt;famFmn vL 29
/a>1#dehrtclass="line" nara href[0]1< 0 ||fvoltage/op<(ef"hrtclass="line" nara href[1]1< 0 ||fvoltage/op<(ef"hrtclass="line" nara href[2]1< 000gpa1" i)))vL98" class=AL_INPUTS
/a>,p> 53
/a>#deffset */.7spa/opvmain_highclass="line" navmain_high_datb= ((f"cmpivers/mfd/ab850e9>a>class="line" na">> 29>a>href[0]1&ref" 0x03)1<< 8) |a1" i)))vL98" class=AL_INPUTS
/a>,pa>class="line" na">> 29>a>href[1]1&ref" 0x3F)1<< 2) |a1" i)))vL98" class=AL_INPUTS
/a>,p10i5n @irqop> 47
/8" and ofuuuuuuuu(f"cmpivers/mfd/ab850e9>a>class="line" na">> 29>a>href[2]1&ref" 0xC0)1>> 6) l_data
/a> {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02p1#i5cludeo&<a>class="line" na">> 29>a>href[2]1&ref" 0x3E)1>> 1al_data
/a> {EXPORT_SYMBOL      0x02padc_cal_dat5
/a> 51ude/linux/complee/o4/.h" cclass="fref">linu5b8>> 25
/5EMPu8 class="sref">of8et57a>;p51 9" class="line" namn5cmpivers/mfd/ab850ef"cmp/op<(>;p;plinu5b9>> 25
/5 {gpadc.ivers/mfd/ab850g5adc.951 class="line" n+ 0-gpadcs vL9(19"dr - 315) /s("cmpivers/mfd/avmain_highclass="line" navmain_high_datb-d5ludeo< {EXPORT_SYMBOL      0x02p {adc.5v idivers/mfd/ab850adc._5 idet52"incl"+code=u64" class="sref">u64.7a> 
a hr5adc.et.7a5;p;pu64.7a> 
a hr5a101" cla5ex93.7a>;pu64.7a> 
a hr5a3"+code=5b85ivers/mfd/ab850/mfd/a58593a52"include/linuuuuuuuuuuuuuuuuus("cmpivers/mfd/avmain_highclass="line" navmain_high_datb-d5ludeo< {EXPORT_SYMBOL      0x02p10i5nclude/lin1ux/mf12ab85005gpadc52vL47">> 47
/8} elsegpa1" i)))vL98" class=AL_INPUTS
/a>,p,52" 9" class="line" namvoltage/op<(ef"b850ef"cmp/op<(>;p;p {EXPORT_SYMBOL      0x02p1#i5s="line" namn vL101">>105
/#in52="line" namn {d/ab8ivers/mfd/ab850d/ab89" i vL13" cl5mcomment"5
/a> {plinu5dpa/ clas5D/op<(>;pADC_CH_BKBACalce" ne gain5and offseta hrLBTEMPl>faellL/) ds succeededa*
includeo&llt;1#dehrtclass="line" nara href[2]1< 0 ||fvoltage/op<(ef"hrtclass="line" nara href[3]1< 0 ||fvoltage/op<(ef"hrtclass="line" nara href[4]1< 000gpa1" i)))vL98" class=AL_INPUTS
/a>,pa>class="line" na">> 29>a>href[2]1&ref" 0x01)1<< 9) |a1" i)))vL98" class=AL_INPUTS
/a>,pa>class="line" na">> 29>a>href[3]1<< 1) |a1" i)))vL98" class=AL_INPUTS
/a>,pa>class="line" na">> 29>a>href[4]1&ref" 0x80)1>> 7) l_data
/a> {EXPORT_SYMBOL      0x02p1#i5cludeo&a href="+code=AB8500_GP53" namn vL93">> 93
/a>10inclc_cal_data
/a>2_5tfd/ab8505-gpadcs vL93_d/ab8_g101"5i(cha53vL47">> 47
/8" and ofvoltage/op<(ef"btemp_lowclass="line" nabtemp_low/ab8b= (("cmpivers/mfd/ab850e9>a>class="line" na">> 29>a>href[4]1&ref" 0x7C)1>> 2 l_data
/a> {EXPORT_SYMBOL      0x02p> 98
5a>13i53" 9" _data
/a> {EXPORT_SYMBOL      0x02p;p;p {EXPORT_SYMBOL      0x02p> 135/a>#i53" id vL68" class="lin href="drivers/mfd/ab85CALIB_SCALEudeo&<6" claCALIB_SCALE/ab8_a (13dr - 21) /s("cmpivers/mfd/abtemp_highclass="line" nabtemp_high_datb-d5ludeo< {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02p ]. id vb850ef"cmp/op<(>;pu64.7a> 
a hr5d1c.c#L135ass="sref">A0-gpadc.....5ax_lo54#L76" id vL76" class=uuuuuuus("cmpivers/mfd/aCALIB_SCALEudeo&<6" claCALIB_SCALE/ab8_a (13dr - 21) /"+code=u64" class="sref">u64.7a> 
a hr5ddc.et.7a5namn vL13">> 13
/a>#
spa5 cla154s/mfd/ab8ab85ryivers/uuuuuuus("cmpivers/mfd/abtemp_highclass="line" nabtemp_high_datb-d5ludeo< {EXPORT_SYMBOL      0x02p> 135/a>#
54x/comple"    } elsegpa1" i)))vL98" class=AL_INPUTS
/a>,p1#i5      0x80p ]. id vb850ef"cmp/op<(>;p;p {EXPORT_SYMBOL      0x02p {p> 47
/8{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl5v98" clas5BOL/op<(>;p {EXPORT_SYMBOL      0x02p {pADC_CH_BKBACalce" ne gain5and offseta hrLVBATl>faellL/) ds succeededa*
includeo&llt;1#dehrtclass="line" nara href[4]1< 0 ||fvoltage/op<(ef"hrtclass="line" nara href[5]1< 0 ||fvoltage/op<(ef"hrtclass="line" nara href[6]1< 000gpa1" i)))vL98" class=AL_INPUTS
/a>,pa>class="line" na">> 29>a>href[4]1&ref" 0x03)1<< 8) |sn vL13">> 13
/a">> 29>a>class="line" na">> 29>a>href[5] l_data
/a> {EXPORT_SYMBOL      0x02p
1a href="+code=AB8500_GP54 class="line" n+ 0-gp 89
/a> ]. id vvbat_lowclass="line" navbat_low/ab8b= (("cmpivers/mfd/ab850e9>a>class="line" na">> 29>a>href[6]1&ref" 0xFC)1>> 2 l_data
/a> {EXPORT_SYMBOL      0x02pof8et57a>;p55"incl"+code=u64" class="sref">u64.7a> 
a hr5ps="line"51DC_CA15ludeo<;p;plinu5lt; {EXPORT_SYMBOL      0x02p1#i5eo& 29
/m
/a>>p> 93
/a>10inclc_cal_data
/a>2_5ode=AB8505_GPA1DC_CA15="drip> 47
/8" and ofvoltage/op<(ef"b850ef"cmp/op<(>;p> 93
/a>10inclc_cal_data
/a>2_5o98" clas5adc_1" cl4ca_VTVOUT
/a> 5     55" 9" class="line" nam href="d("cmpivers/mfd/aCALIB_SCALEudeo&<6" claCALIB_SCALE/ab8_a (47dr - 2380)1/n vL93">> 93
/a>10inclc_cal_data
/a>2_5o3_d/ab8i5N_1GPADC
/a>            5  1  55="line" namn + 0-gpad href="d("cmpivers/mfd/avbat_highclass="line" navbat_high_datb-d5ludeo< {EXPORT_SYMBOL      0x02p,p;p;p {EXPORT_SYMBOL      0x02pu64.7a> 
a hr5es="line"5/a>     1     160
/a> {d5ab8iv56s/mfd/ab8ab85n vL 29
/a>1#dea hrdbgf"cmp/op<(>;p;p"VMAINlgain5%llu offseta%llu\n"includeaa1" i)))vL98" class=AL_INPUTS
/a>,p> 53
/a>#deffset */.7spa/opb850ef"cmp/op<(>;p;p,p1#i5///////b ]. id vb850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02pG1PADC_B5SY
/a>           1     15" nam56vL47"_data
/a> {EXPORT_SYMBOL      0x02p98" clas5s/mfd/ab8500-gpadc.c#adc5c#L8756" 9" class="ln vL 29
/a>1#dea hrdbgf"cmp/op<(>;p;p"BTEMPlgain5%llu offseta%llu\n"includeaa1" i)))vL98" class=AL_INPUTS
/a>,p> 87
]. id vL100" clas5lass=56="line" namn + 0-gpad 89
/a> ]. id vb850ef"cmp/op<(>;p;p,p;p {EXPORT_SYMBOL      0x02p="driver5 16ass="line" namn vL58"5 {EXPORT_SYMBOL      0x02pADC_5H_BTE56 {p;p;p"VBATlgain5%llu offseta%llu\n"includeaa1" i)))vL98" class=AL_INPUTS
/a>,pADC_CH5DIETE57#L76" id vL76" class=voltage/op<(ef"b850ef"cmp/op<(>;p;p,pADC_CH_D5ETEMP57s/mfd/ab8ab85ryivers/fset */.7spa/opb850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02pADC_5H_CHG57dc.op{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl5B8500_GPA5DC_MUXpADC_5H_CHG57" namn vL93">> 93
/a>10inclc_cal_data
/a>2_5BG1PADC_B5_MI1N
/a>17" namn vL47">5 47
/570-gpastatic>vL923_d/fd/ab850#
includeo&lproleclass="line" na>#
includeo&lprole/mfdfref="+code=AB8500_GPA1platform_ef=iceclass="line" naplatform_ef=ice/ab8_aode=AB8500_GPA1pnde//op<,a>;p,p {EXPORT_SYMBOL      0x02p {s vL93_d/ab8_ad_to_voltagefd/ab8500-gpadcs vL93_d/ab8_ad_tl_data
/a> {EXPORT_SYMBOL      0x02p>57 9" c_data
/a> {EXPORT_SYMBOL      0x02p {s vL93_d/ab8)o15ludeo<,p    150
/a>58s/mfd/ab8ab85ryivers/fset */.7spa/opa hrerd vL101" class="a hrerdinclfsref">ADC_INPUT_BTEMpnde//op<,a>;p"Erdhr: No memory\n"include l_data
/a> {EXPORT_SYMBOL      0x02p> 53
/a>#defmment">-ivers/mfd/ab850ENOMEM//op<,a>;p {EXPORT_SYMBOL      0x02p ]. id vL100" clas5lass=58"include/linu{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl5eG1PADC_B5ass="liincludeo< {EXPORT_SYMBOL      0x02p> 47
/8"5;p;p"SW_CONV_END"include l_data
/a> {EXPORT_SYMBOL      0x02pca1l_channels
/a5 {p vfamn vL 29
/a>1#deb850ef"cmp/op<(>;p,p 1= 0,p18ass="line" na5n vL558" id vL68" class="lin 89
/a> ]. id va hrerd vL101" class="a hrerdinclfsref">ADC_INPUT_BTEMpnde//op<,a>;p"fail82"to1xet platform"irq-%d\n"includeoa1" i)))vL98" class=AL_INPUTS
/a>,p>n vL 29
/a>1#deb850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p ]. id vhrtclass="line" nara hrefb= n vL 29
/a>1#deb850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02p>190
/a> {d5ab8iv591include/linu{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl5ss="line"5ncludeo<a5>> 45
///5///////b;pADC_INPUT_BTEMpnde//op<,a>;p {EXPORT_SYMBOL      0x02p> 47
/83_d/fd/ab850ADC_INPUT_BTEMb850ef"cmp/op<(>;p#
includeo&llo0k_dat l_data
/a> {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02pADC_CH_BKBAInitialized#iDple/a>1#us82"to1no ifyd#iDple/a>1#ofd#includeo&d*
includeo&llt;1class="line" nainit_#iDple/a>1inclfsref">ADC_INPUT_BTEMb850ef"cmp/op<(>;p> 29>ADple/s_dat l_data
/a> {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02padc_cal_d5ata
/599"line" namn Alass="s1ref">ADC_CH_BKBAR)gister ne" namn   - SwAdcCADple/sd*
includeo&llt;ga6n.7a>600 id vL68" cl5ludeo<1#derequest_th/) ded_irqclass="line" narequest_th/) ded_irq/mfdf"cmpivers/mfd/ab850ef"cmp/op<(>;p,poffs6t.7a>60s/mfd/ab8ab85ryivers/fset */.7spa/opmn vL29bm9">sw="deinclnd_dL4dlerclass="line" namn vL29bm9">sw="deinclnd_dL4dler" naaa1" i)))vL98" class=AL_INPUTS
/a>,p> 53
/a>#deffset */.7spa/opIRQF_ONESHOT hr1f="dri}vL13IRQF_ONESHOTn vL5|sn vL13">> 13
/aIRQF_NO_SUSPEND hr1f="dri}vL13IRQF_NO_SUSPENDn vL5|sn vL13">> 13
/aIRQF_SHAREDclass="line" naIRQF_SHARED" naaa1" i)))vL98" class=AL_INPUTS
/a>,p60"include/linuuuuuuuuuuuuuuuuus" namn Alass="s1ref"st nam">"_INPUTS
/a>,"includeouvoltage/op<(ef"b850ef"cmp/op<(>;p> 47
/8vfamn vL 29
/a>1#dehrtclass="line" nara hrefb< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p10i6crs/mfd/ab8500-gpadc.c#a6vL93_60" 9" class="line" namvoltage/op<(ef"a hrerd vL101" class="a hrerdinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p"Fail82"to1r)gister ne" namn ,"irq: %d\n"includeoa1" i)))vL98" class=AL_INPUTS
/a>,p10i6c4gb4ca54adc_cal_data
/a6nel
/60="line" namn + 0-gpad href="dn vL 29
/a>1#deb850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p> 25
/6 B8500_GPA1DC_AU13a/op {EXPORT_SYMBOL      0x02p> 25
/6   100  100  100  100  16ea ad60 9" class="li{d/ab8ivers/mfd/ab850d/ab89" i vL13" cl6f9>> 25
/6  class="sref">adc_cal_d6c.ccc60ccccco&llt;ADC_CH_BKBAGet Chip ID of9"linABB ASICmn*
includeo&llt;1#dehrtclass="line" nara hrefb= n vL 29
/a>1#demnxin1uxet9chip_idclass="line" namnxin1uxet9chip_idinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p> 53vfamn vL 29
/a>1#dehrtclass="line" nara hrefb< 00gpa1" i)))vL98" class=AL_INPUTS
/a>,p;p"fail82"to1xet chip ID\n"include l_data
/a> {EXPORT_SYMBOL      0x02p10i6n @irqop> 47
/8" and ofgoto1ivers/mfd/ab850fail_irqclass="line" nafail_irq_datl_data
/a> {EXPORT_SYMBOL      0x02p1#i6cludeo&<;p1#dehrtclass="line" nara hrefl_data
/a> {EXPORT_SYMBOL      0x02p> 25
/6co1ivers/ef">adc_cal_dat6
/a> 61ude/linux/complee/o4/.h" cclass="fref">linu6b8>> 25
/6EMPu8 class="sref">of8et67a>;p61>,pADC_CH_BKBAVTVout LDO#us82"to1power up lass="fGP" c *
includeo&llt;1#derege" noruxetclass="line" naragu" noruxetinclfsref">ADC_INPUT_BTEMpnde//op<,a>;p"vdda>,"include l_data
/a> {EXPORT_SYMBOL      0x02p {adc.6v idivers/mfd/ab850adc._6 idet62cal_data
/a> vfamn vL13">> 13
/aIS_ERRclass="line" naIS_ERRinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p,p1#dePTR_ERRclass="line" naPTR_ERRinclf"cmpivers/mfd/ab850ef"cmp/op<(>;p {EXPORT_SYMBOL      0x02p;p;p"fail82"to1xet vtvout LDO\n"include l_data
/a> {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02p10i6nclude/lin1ux/mf12ab85006gpadc62vL47">> 47
/8}_data
/a> {EXPORT_SYMBOL      0x02p,62" 9" class="ln vL 29
/a>1#demn vL29">> 29/) d_calibra/a>19ef="+code=AB8500_GPmn vL29">> 29/) d_calibra/a>19ef="inclf"cmpivers/mfd/ab850ef"cmp/op<(>;p>106
/#in62="line" namn fset */.7spa/oplist_add_tailclass="line" nalist_add_tailinclfsref">ADC_INPUT_BTEMb850ef"cmp/op<(>;p;pADC_INPUT_BTEM>#
includeo&llistclass="line" na>#
includeo&llist="dr l_data
/a> {EXPORT_SYMBOL      0x02p> 25
/6
/a> {p;p;p"prole success\n"include l_data
/a> {EXPORT_SYMBOL      0x02p> 25
/6D/op<(>;p0l_data
/a> {EXPORT_SYMBOL      0x02p {p {EXPORT_SYMBOL      0x02p;p;p {EXPORT_SYMBOL      0x02p;p;p {EXPORT_SYMBOL      0x02p10i6-gpadcs vL93_d/ab8_g101"6i(cha63vL47">> 47
/8mment">n vL 29
/a>1#dehrtclass="line" nara hrefl_data
/a> {EXPORT_SYMBOL      0x02p> 98
6a>13i63" 9" }_data
/a> {EXPORT_SYMBOL      0x02p> 136/a>#i63" id static>vL923_d/fd/ab850n vL 29
/a>1#demn vL29">> 29/)movsclass="line" namn vL29">> 29/)movsinclfref="+code=AB8500_GPA1platform_ef=iceclass="line" naplatform_ef=ice/ab8_aode=AB8500_GPA1pnde//op<,a>;p,p {s vL93_d/ab8_ad_to_voltagefd/ab8500-gpadcs vL93_d/ab8_ad_tb= 5cmpivers/mfd/aplatform_xet9drvef="+code=AB8500_GPplatform_xet9drvef="inclf"cmpivers/mfd/apnde//op<,a>;pA0-gpadc.....6ax_lo64"incl"+code=u64" class="sref">u64.7a> 
a hr6ddc.et.7a6namn vL13">> 13
/a>#
spa6 cla164s/mfd/ab8ab85rlass="s1ref">ADC_CH_BKBA/)movs this 7a> 
 _CHry from9"linlist *
includeo&llt;> 136/a>#
64x/comple"    ivers/mfd/ab850list_delclass="line" nalist_delinclfsref">ADC_INPUT_BTEMb850ef"cmp/op<(>;p;p {EXPORT_SYMBOL      0x02p1#i6      0x80pADC_CH_BKBA/)movs ne" namn   - #iDple/a>1#ofdSws" c concludeo&d*
includeo&llt;> 47
/83_d/fd/ab850;p;p;pADC_CH_BKBAdisableAVTVout LDO#that is benamLus82"by GP" c *
includeo&llt;;p {EXPORT_SYMBOL      0x02p;p;p {EXPORT_SYMBOL      0x02p
1a href="+code=AB8600_GP64 class="line"mment">0l_data
/a> {EXPORT_SYMBOL      0x02pof8et67a>;p65"incl}_data
/a> {EXPORT_SYMBOL      0x02p {EXPORT_SYMBOL      0x02pref="+code=AB8500_GPA1platform_eEXPORclass="line" naplatform_eEXPORL47">n vL 29
/a>1#demn vL29">> 29eEXPORclass="line" namn vL29">> 29eEXPOR="drb= pa1" i)))vL98" class=AL_INPUTS
/a>,p1#i6eo& 29
/m
/a>>p1#demn
includeo&lproleclass="line" na>#
includeo&lprole/mfdoa1" i)))vL98" class=AL_INPUTS
/a>,p> 47
/8.5cmpivers/mfd/a/)movsclass="line" na/)movsinclb= n vL 29
/a>1#de__ef=exit_pclass="line" na__ef=exit_pinclf"cmpivers/mfd/amn vL29">> 29/)movsclass="line" namn vL29">> 29/)movsincl)oa1" i)))vL98" class=AL_INPUTS
/a>,p 6     65" 9" class="l.5cmpivers/mfd/aeEXPORclass="line" naeEXPOR="drb= pa1" i)))vL98" class=AL_INPUTS
/a>,p            6  1  65="line" namn + 0-gpad.5cmpivers/mfd/a 47
class="line" na 47
/mfdb= nlass="s1ref"st nam">"_INPUTS
/a>,"includeoa1" i)))vL98" class=AL_INPUTS
/a>,p1#deTHIS_MODULEudeo&<6" claTHIS_MODULE/mfdoa1" i)))vL98" class=AL_INPUTS
/a>,p,p {EXPORT_SYMBOL      0x02pu64.7a> 
a hr6es="line"6/a>     1     160
/a> {d6ab8iv66s/mfdstatic>vL923_d/fd/ab850#
includeo&linitclass="line" na>#
includeo&linitinclfvoid0_data
/a> {EXPORT_SYMBOL      0x02p,p1#i6///////bn vL 29
/a>1#deplatform_eEXPOR_r)gisterclass="line" naplatform_eEXPOR_r)gisterinclfsref">ADC_INPUT_BTEMmn vL29">> 29eEXPORclass="line" namn vL29">> 29eEXPOR="dr l_data
/a> {EXPORT_SYMBOL      0x02pG1PADC_B6SY
/a>           1     16" nam66vL47"}_data
/a> {EXPORT_SYMBOL      0x02p98" clas6s/mfd/ab8500-gpadc.c#adc6c#L8766" 9" _data
/a> {EXPORT_SYMBOL      0x02p> 87
]. id vL100" clas6lass=66="linstatic>void23_d/fd/ab850n vL 29
/a>1#demn vL29">> 29exitclass="line" namn vL29">> 29exitinclfvoid0_data
/a> {EXPORT_SYMBOL      0x02p,pADC_INPUT_BTEMmn vL29">> 29eEXPORclass="line" namn vL29">> 29eEXPOR="dr l_data
/a> {EXPORT_SYMBOL      0x02p_cal_dat6comple4="driverref">ADC_6H_BTE66 {p {EXPORT_SYMBOL      0x02pADC_CH6DIETE67"incl"+code=u64" class="sref">u64.7a> 
a hr60s="line"6" class=1"sref">ADC_CH_D6ETEMP67s/mfdivers/mfd/ab850subsyslinitcall_synef"cmp/op<(>;p> 29initclass="line" na>#
includeo&linitincl l_data
/a> {EXPORT_SYMBOL      0x02pADC_6H_CHG67dc.op"cmpivers/mfd/amodule9exitclass="line" namodule9exitinclf"cmpivers/mfd/amn vL29">> 29exitclass="line" namn vL29">> 29exitincl l_data
/a> {EXPORT_SYMBOL      0x02p1#i6DC_MUXpADC_6H_CHG67" namn vL93">> 93
/a>10inclc_cal_data
/a>2_6BG1PADC_B6_MI1N
/a>17" namn vL47">6 47
/670-gpa"cmpivers/mfd/aMODULE_LICENSEudeo&<6" claMODULE_LICENSEinclf"lass="s1ref"st nam">"GPL v2"include l_data
/a> {EXPORT_SYMBOL      0x02p"Arun R Murthy, Daniel Willerud, Johss=Palsson"include l_data
/a> {EXPORT_SYMBOL      0x02p"platform:mn vL29">> 2"include l_data
/a> {EXPORT_SYMBOL      0x02p"AB     GP" c {EXPOR"include l_data
/a> {EXPORT_SYMBOL      0x02p    17" namn v651">>67 9" c


footerc> The original LXR software"by "lindata /a> http://sourceforge.net/projects/lxrc>LXR >ADCunity_dato1this experiC_CHal cludeo&dby data /a> mailto:lxr@ ux.no">lxr@ ux.no_dat.
subfooterc> lxr. ux.no kindly hosteddby data /a> http://www.redpill- pro.no">Redpill L pro ASincl, provider#ofdL ux consultnamLand opera/a>1s ser=ices since 1995.