[arm-tegra:hte/for-next 7/10] drivers/gpio/gpiolib-cdev.c:572:8: error: unknown type name 'hte_return_t'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git hte/for-next
head:   cedbe14082d169f4c1136c70c5170a76bd9a076a
commit: 98935236600d4e179b664ffcfcd54e0ec3a1b4e3 [7/10] gpiolib: cdev: Add hardware timestamp clock type
config: i386-debian-10.3-kselftests (https://download.01.org/0day-ci/archive/20220504/202205041541.7ij2aoYa-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git/commit/?id=98935236600d4e179b664ffcfcd54e0ec3a1b4e3
        git remote add arm-tegra https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git
        git fetch --no-tags arm-tegra hte/for-next
        git checkout 98935236600d4e179b664ffcfcd54e0ec3a1b4e3
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpio/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/gpio/gpiolib-cdev.c:572:8: error: unknown type name 'hte_return_t'
     572 | static hte_return_t process_hw_ts_thread(void *p)
         |        ^~~~~~~~~~~~
   drivers/gpio/gpiolib-cdev.c:623:8: error: unknown type name 'hte_return_t'
     623 | static hte_return_t process_hw_ts(struct hte_ts_data *ts, void *p)
         |        ^~~~~~~~~~~~
   drivers/gpio/gpiolib-cdev.c: In function 'hte_edge_setup':
>> drivers/gpio/gpiolib-cdev.c:851:41: error: passing argument 2 of 'hte_request_ts_ns' from incompatible pointer type [-Werror=incompatible-pointer-types]
     851 |         return hte_request_ts_ns(hdesc, process_hw_ts,
         |                                         ^~~~~~~~~~~~~
         |                                         |
         |                                         int (*)(struct hte_ts_data *, void *)
   In file included from drivers/gpio/gpiolib-cdev.c:27:
   include/linux/hte.h:234:75: note: expected 'hte_ts_cb_t' {aka 'enum hte_return (*)(struct hte_ts_data *, void *)'} but argument is of type 'int (*)(struct hte_ts_data *, void *)'
     234 | static inline int hte_request_ts_ns(struct hte_ts_desc *desc, hte_ts_cb_t cb,
         |                                                               ~~~~~~~~~~~~^~
   drivers/gpio/gpiolib-cdev.c:852:34: error: passing argument 3 of 'hte_request_ts_ns' from incompatible pointer type [-Werror=incompatible-pointer-types]
     852 |                                  process_hw_ts_thread, line);
         |                                  ^~~~~~~~~~~~~~~~~~~~
         |                                  |
         |                                  int (*)(void *)
   In file included from drivers/gpio/gpiolib-cdev.c:27:
   include/linux/hte.h:235:53: note: expected 'hte_ts_sec_cb_t' {aka 'enum hte_return (*)(void *)'} but argument is of type 'int (*)(void *)'
     235 |                                     hte_ts_sec_cb_t tcb, void *data)
         |                                     ~~~~~~~~~~~~~~~~^~~
   cc1: some warnings being treated as errors


vim +/hte_return_t +572 drivers/gpio/gpiolib-cdev.c

   571	
 > 572	static hte_return_t process_hw_ts_thread(void *p)
   573	{
   574		struct line *line;
   575		struct linereq *lr;
   576		struct gpio_v2_line_event le;
   577		int level;
   578		u64 eflags;
   579	
   580		if (!p)
   581			return HTE_CB_HANDLED;
   582	
   583		line = p;
   584		lr = line->req;
   585	
   586		memset(&le, 0, sizeof(le));
   587	
   588		le.timestamp_ns = line->timestamp_ns;
   589		eflags = READ_ONCE(line->eflags);
   590	
   591		if (eflags == GPIO_V2_LINE_FLAG_EDGE_BOTH) {
   592			if (line->raw_level >= 0) {
   593				if (test_bit(FLAG_ACTIVE_LOW, &line->desc->flags))
   594					level = !line->raw_level;
   595				else
   596					level = line->raw_level;
   597			} else {
   598				level = gpiod_get_value_cansleep(line->desc);
   599			}
   600	
   601			if (level)
   602				le.id = GPIO_V2_LINE_EVENT_RISING_EDGE;
   603			else
   604				le.id = GPIO_V2_LINE_EVENT_FALLING_EDGE;
   605		} else if (eflags == GPIO_V2_LINE_FLAG_EDGE_RISING) {
   606			/* Emit low-to-high event */
   607			le.id = GPIO_V2_LINE_EVENT_RISING_EDGE;
   608		} else if (eflags == GPIO_V2_LINE_FLAG_EDGE_FALLING) {
   609			/* Emit high-to-low event */
   610			le.id = GPIO_V2_LINE_EVENT_FALLING_EDGE;
   611		} else {
   612			return HTE_CB_HANDLED;
   613		}
   614		le.line_seqno = line->line_seqno;
   615		le.seqno = (lr->num_lines == 1) ? le.line_seqno : line->req_seqno;
   616		le.offset = gpio_chip_hwgpio(line->desc);
   617	
   618		linereq_put_event(lr, &le);
   619	
   620		return HTE_CB_HANDLED;
   621	}
   622	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux