tree:   
https://kernel.googlesource.com/pub/scm/linux/kernel/git/gregkh/staging.git 
staging-testing
head:   3f1962fdc723cb48f0ea4e8a733d3ffa88708e98
commit: a3f54564061da0c8c0b60033ff44acfa356b8779 [14/19] staging: olpc_dcon: 
allow simultaneous XO-1 and XO-1.5 support
config: i386-randconfig-g002-201938 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
        git checkout a3f54564061da0c8c0b60033ff44acfa356b8779
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function 
`dcon_read_status_xo_1':
>> drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:191: undefined reference to 
>> `cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function 
`dcon_wiggle_xo_1':
   drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:156: undefined reference to 
`cs5535_gpio_set'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:157: undefined reference to 
>> `cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:158: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:159: undefined reference to 
`cs5535_gpio_set'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:160: undefined reference to 
>> `cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:161: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:162: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:163: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:164: undefined reference to 
`cs5535_gpio_clear'
   ld: 
drivers/staging/olpc_dcon/olpc_dcon_xo_1.o:drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:165:
 more undefined references to `cs5535_gpio_clear' follow
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function 
`dcon_wiggle_xo_1':
   drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:171: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:174: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:175: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:176: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:177: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function `dcon_init_xo_1':
>> drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:57: undefined reference to 
>> `cs5535_gpio_clear'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:69: undefined reference to 
>> `cs5535_gpio_isset'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:85: undefined reference to 
>> `cs5535_gpio_setup_event'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:88: undefined reference to 
>> `cs5535_gpio_set_irq'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:102: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:105: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:108: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:111: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:112: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:115: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:118: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:121: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:124: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:127: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:128: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:131: undefined reference to 
`cs5535_gpio_set'
   ld: 
drivers/staging/olpc_dcon/olpc_dcon_xo_1.o:drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:132:
 more undefined references to `cs5535_gpio_set' follow

vim +191 drivers/staging/olpc_dcon/olpc_dcon_xo_1.c

2159fb3729293c Nishad Kamdar      2018-11-07   38  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   39  static int 
dcon_init_xo_1(struct dcon_priv *dcon)
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   40  {
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   41       unsigned char lob;
2159fb3729293c Nishad Kamdar      2018-11-07   42       int ret, i;
ae0a6d2017f733 Arnd Bergmann      2019-03-04   43       const struct dcon_gpio 
*pin = &gpios_asis[0];
2159fb3729293c Nishad Kamdar      2018-11-07   44  
2159fb3729293c Nishad Kamdar      2018-11-07   45       for (i = 0; i < 
ARRAY_SIZE(gpios_asis); i++) {
2159fb3729293c Nishad Kamdar      2018-11-07   46               gpios[i] = 
devm_gpiod_get(&dcon->client->dev, pin[i].name,
2159fb3729293c Nishad Kamdar      2018-11-07   47                               
          pin[i].flags);
2159fb3729293c Nishad Kamdar      2018-11-07   48               if 
(IS_ERR(gpios[i])) {
2159fb3729293c Nishad Kamdar      2018-11-07   49                       ret = 
PTR_ERR(gpios[i]);
2159fb3729293c Nishad Kamdar      2018-11-07   50                       
pr_err("failed to request %s GPIO: %d\n", pin[i].name,
2159fb3729293c Nishad Kamdar      2018-11-07   51                              
ret);
2159fb3729293c Nishad Kamdar      2018-11-07   52                       return 
ret;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   53               }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   54       }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   55  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   56       /* Turn off the event 
enable for GPIO7 just to be safe */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  @57       
cs5535_gpio_clear(OLPC_GPIO_DCON_IRQ, GPIO_EVENTS_ENABLE);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   58  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   59       /*
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   60        * Determine the 
current state by reading the GPIO bit; earlier
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   61        * stages of the boot 
process have established the state.
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   62        *
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   63        * Note that we read 
GPIO_OUTPUT_VAL rather than GPIO_READ_BACK here;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   64        * this is because OFW 
will disable input for the pin and set a value..
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   65        * READ_BACK will only 
contain a valid value if input is enabled and
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   66        * then a value is set. 
 So, future readings of the pin can use
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   67        * READ_BACK, but the 
first one cannot.  Awesome, huh?
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   68        */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  @69       dcon->curr_src = 
cs5535_gpio_isset(OLPC_GPIO_DCON_LOAD, GPIO_OUTPUT_VAL)
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   70               ? 
DCON_SOURCE_CPU
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   71               : 
DCON_SOURCE_DCON;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   72       dcon->pending_src = 
dcon->curr_src;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   73  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   74       /* Set the directions 
for the GPIO pins */
2159fb3729293c Nishad Kamdar      2018-11-07   75       
gpiod_direction_input(gpios[OLPC_DCON_STAT0]);
2159fb3729293c Nishad Kamdar      2018-11-07   76       
gpiod_direction_input(gpios[OLPC_DCON_STAT1]);
2159fb3729293c Nishad Kamdar      2018-11-07   77       
gpiod_direction_input(gpios[OLPC_DCON_IRQ]);
2159fb3729293c Nishad Kamdar      2018-11-07   78       
gpiod_direction_input(gpios[OLPC_DCON_BLANK]);
2159fb3729293c Nishad Kamdar      2018-11-07   79       
gpiod_direction_output(gpios[OLPC_DCON_LOAD],
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   80                              
dcon->curr_src == DCON_SOURCE_CPU);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   81  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   82       /* Set up the interrupt 
mappings */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   83  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   84       /* Set the IRQ to pair 
2 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  @85       
cs5535_gpio_setup_event(OLPC_GPIO_DCON_IRQ, 2, 0);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   86  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   87       /* Enable group 2 to 
trigger the DCON interrupt */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  @88       cs5535_gpio_set_irq(2, 
DCON_IRQ);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   89  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   90       /* Select edge level 
for interrupt (in PIC) */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   91       lob = inb(0x4d0);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   92       lob &= ~(1 << DCON_IRQ);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   93       outb(lob, 0x4d0);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   94  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   95       /* Register the 
interrupt handler */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   96       if 
(request_irq(DCON_IRQ, &dcon_interrupt, 0, "DCON", dcon)) {
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   97               pr_err("failed 
to request DCON's irq\n");
2159fb3729293c Nishad Kamdar      2018-11-07   98               return -EIO;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   99       }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  100  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  101       /* Clear INV_EN for 
GPIO7 (DCONIRQ) */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  102       
cs5535_gpio_clear(OLPC_GPIO_DCON_IRQ, GPIO_INPUT_INVERT);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  103  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  104       /* Enable filter for 
GPIO12 (DCONBLANK) */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  105       
cs5535_gpio_set(OLPC_GPIO_DCON_BLANK, GPIO_INPUT_FILTER);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  106  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  107       /* Disable filter for 
GPIO7 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  108       
cs5535_gpio_clear(OLPC_GPIO_DCON_IRQ, GPIO_INPUT_FILTER);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  109  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  110       /* Disable event 
counter for GPIO7 (DCONIRQ) and GPIO12 (DCONBLANK) */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  111       
cs5535_gpio_clear(OLPC_GPIO_DCON_IRQ, GPIO_INPUT_EVENT_COUNT);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  112       
cs5535_gpio_clear(OLPC_GPIO_DCON_BLANK, GPIO_INPUT_EVENT_COUNT);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  113  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  114       /* Add GPIO12 to the 
Filter Event Pair #7 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  115       
cs5535_gpio_set(OLPC_GPIO_DCON_BLANK, GPIO_FE7_SEL);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  116  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  117       /* Turn off negative 
Edge Enable for GPIO12 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  118       
cs5535_gpio_clear(OLPC_GPIO_DCON_BLANK, GPIO_NEGATIVE_EDGE_EN);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  119  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  120       /* Enable negative Edge 
Enable for GPIO7 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  121       
cs5535_gpio_set(OLPC_GPIO_DCON_IRQ, GPIO_NEGATIVE_EDGE_EN);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  122  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  123       /* Zero the filter 
amount for Filter Event Pair #7 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  124       cs5535_gpio_set(0, 
GPIO_FLTR7_AMOUNT);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  125  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  126       /* Clear the negative 
edge status for GPIO7 and GPIO12 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  127       
cs5535_gpio_set(OLPC_GPIO_DCON_IRQ, GPIO_NEGATIVE_EDGE_STS);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  128       
cs5535_gpio_set(OLPC_GPIO_DCON_BLANK, GPIO_NEGATIVE_EDGE_STS);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  129  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  130       /* FIXME:  Clear the 
positive status as well, just to be sure */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  131       
cs5535_gpio_set(OLPC_GPIO_DCON_IRQ, GPIO_POSITIVE_EDGE_STS);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  132       
cs5535_gpio_set(OLPC_GPIO_DCON_BLANK, GPIO_POSITIVE_EDGE_STS);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  133  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  134       /* Enable events for 
GPIO7 (DCONIRQ) and GPIO12 (DCONBLANK) */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  135       
cs5535_gpio_set(OLPC_GPIO_DCON_IRQ, GPIO_EVENTS_ENABLE);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  136       
cs5535_gpio_set(OLPC_GPIO_DCON_BLANK, GPIO_EVENTS_ENABLE);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  137  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  138       return 0;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  139  }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  140  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  141  static void 
dcon_wiggle_xo_1(void)
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  142  {
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  143       int x;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  144  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  145       /*
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  146        * According to HiMax, 
when powering the DCON up we should hold
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  147        * SMB_DATA high for 8 
SMB_CLK cycles.  This will force the DCON
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  148        * state machine to 
reset to a (sane) initial state.  Mitch Bradley
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  149        * did some testing and 
discovered that holding for 16 SMB_CLK cycles
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  150        * worked a lot more 
reliably, so that's what we do here.
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  151        *
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  152        * According to the 
cs5536 spec, to set GPIO14 to SMB_CLK we must
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  153        * simultaneously set 
AUX1 IN/OUT to GPIO14; ditto for SMB_DATA and
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  154        * GPIO15.
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  155        */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  156       
cs5535_gpio_set(OLPC_GPIO_SMB_CLK, GPIO_OUTPUT_VAL);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04 @157       
cs5535_gpio_set(OLPC_GPIO_SMB_DATA, GPIO_OUTPUT_VAL);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  158       
cs5535_gpio_set(OLPC_GPIO_SMB_CLK, GPIO_OUTPUT_ENABLE);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  159       
cs5535_gpio_set(OLPC_GPIO_SMB_DATA, GPIO_OUTPUT_ENABLE);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04 @160       
cs5535_gpio_clear(OLPC_GPIO_SMB_CLK, GPIO_OUTPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  161       
cs5535_gpio_clear(OLPC_GPIO_SMB_DATA, GPIO_OUTPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  162       
cs5535_gpio_clear(OLPC_GPIO_SMB_CLK, GPIO_OUTPUT_AUX2);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  163       
cs5535_gpio_clear(OLPC_GPIO_SMB_DATA, GPIO_OUTPUT_AUX2);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04 @164       
cs5535_gpio_clear(OLPC_GPIO_SMB_CLK, GPIO_INPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04 @165       
cs5535_gpio_clear(OLPC_GPIO_SMB_DATA, GPIO_INPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  166  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  167       for (x = 0; x < 16; 
x++) {
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  168               udelay(5);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  169               
cs5535_gpio_clear(OLPC_GPIO_SMB_CLK, GPIO_OUTPUT_VAL);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  170               udelay(5);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04 @171               
cs5535_gpio_set(OLPC_GPIO_SMB_CLK, GPIO_OUTPUT_VAL);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  172       }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  173       udelay(5);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  174       
cs5535_gpio_set(OLPC_GPIO_SMB_CLK, GPIO_OUTPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  175       
cs5535_gpio_set(OLPC_GPIO_SMB_DATA, GPIO_OUTPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  176       
cs5535_gpio_set(OLPC_GPIO_SMB_CLK, GPIO_INPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  177       
cs5535_gpio_set(OLPC_GPIO_SMB_DATA, GPIO_INPUT_AUX1);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  178  }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  179  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  180  static void 
dcon_set_dconload_1(int val)
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  181  {
2159fb3729293c Nishad Kamdar      2018-11-07  182       
gpiod_set_value(gpios[OLPC_DCON_LOAD], val);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  183  }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  184  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  185  static int 
dcon_read_status_xo_1(u8 *status)
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  186  {
2159fb3729293c Nishad Kamdar      2018-11-07  187       *status = 
gpiod_get_value(gpios[OLPC_DCON_STAT0]);
2159fb3729293c Nishad Kamdar      2018-11-07  188       *status |= 
gpiod_get_value(gpios[OLPC_DCON_STAT1]) << 1;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  189  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  190       /* Clear the negative 
edge status for GPIO7 */
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04 @191       
cs5535_gpio_set(OLPC_GPIO_DCON_IRQ, GPIO_NEGATIVE_EDGE_STS);
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  192  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  193       return 0;
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  194  }
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04  195  

:::::: The code at line 191 was first introduced by commit
:::::: 53c43c5ca13328ac8f415aa2251791b441a12b51 Revert "Staging: olpc_dcon: 
Remove obsolete driver"

:::::: TO: Greg Kroah-Hartman <gre...@linuxfoundation.org>
:::::: CC: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to