[staging:staging-testing 14/19] drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:191: undefined reference to `cs5535_gpio_set'

kbuild test robot lkp at intel.com
Tue Sep 24 19:51:45 UTC 2019


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 <lkp at 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 <gregkh at linuxfoundation.org>
:::::: CC: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 31950 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20190925/d69a0e79/attachment-0001.bin>


More information about the devel mailing list