Subject: Re: linux-next: build failure after merge of the hte tree

From: Thierry Reding <[email-masked]>
Date: Wed, 4 May 2022 09:04:39 +0200

On Wed, May 04, 2022 at 04:59:56PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the hte tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
> 
> 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
> 
> Something has been missed in the contruction of the git tree :-(
> 
> I have dropped the hte tree for today.

Yeah, oddly I didn't catch that when I was doing the test build. Let me
recheck what went wrong there.

Sorry for the mess,
Thierry