drivers/thunderbolt/tb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tb_port_is_clx_enabled() generates a valid warning with gcc-13:
drivers/thunderbolt/switch.c:1286:6: error: conflicting types for 'tb_port_is_clx_enabled' due to enum/integer mismatch; have 'bool(struct tb_port *, unsigned int)' ...
drivers/thunderbolt/tb.h:1050:6: note: previous declaration of 'tb_port_is_clx_enabled' with type 'bool(struct tb_port *, enum tb_clx)' ...
I.e. the type of the 2nd parameter of tb_port_is_clx_enabled() in the
declaration is unsigned int, while the definition spells enum tb_clx.
Synchronize them to the former as the parameter is in fact a mask of the
enum values.
Cc: Martin Liska <mliska@suse.cz>
Cc: Andreas Noever <andreas.noever@gmail.com>
Cc: Michael Jamet <michael.jamet@intel.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Yehezkel Bernat <YehezkelShB@gmail.com>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
---
Notes:
[v2] switch to uint instead of to enum
drivers/thunderbolt/tb.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
index f9786976f5ec..6c4a26b1c37c 100644
--- a/drivers/thunderbolt/tb.h
+++ b/drivers/thunderbolt/tb.h
@@ -1047,7 +1047,7 @@ void tb_port_lane_bonding_disable(struct tb_port *port);
int tb_port_wait_for_link_width(struct tb_port *port, int width,
int timeout_msec);
int tb_port_update_credits(struct tb_port *port);
-bool tb_port_is_clx_enabled(struct tb_port *port, enum tb_clx clx);
+bool tb_port_is_clx_enabled(struct tb_port *port, unsigned int clx);
int tb_switch_find_vse_cap(struct tb_switch *sw, enum tb_switch_vse_cap vsec);
int tb_switch_find_cap(struct tb_switch *sw, enum tb_switch_cap cap);
--
2.38.1
On Mon, Dec 12, 2022 at 11:29:36AM +0100, Jiri Slaby (SUSE) wrote: > tb_port_is_clx_enabled() generates a valid warning with gcc-13: > drivers/thunderbolt/switch.c:1286:6: error: conflicting types for 'tb_port_is_clx_enabled' due to enum/integer mismatch; have 'bool(struct tb_port *, unsigned int)' ... > drivers/thunderbolt/tb.h:1050:6: note: previous declaration of 'tb_port_is_clx_enabled' with type 'bool(struct tb_port *, enum tb_clx)' ... > > I.e. the type of the 2nd parameter of tb_port_is_clx_enabled() in the > declaration is unsigned int, while the definition spells enum tb_clx. > Synchronize them to the former as the parameter is in fact a mask of the > enum values. > > Cc: Martin Liska <mliska@suse.cz> > Cc: Andreas Noever <andreas.noever@gmail.com> > Cc: Michael Jamet <michael.jamet@intel.com> > Cc: Mika Westerberg <mika.westerberg@linux.intel.com> > Cc: Yehezkel Bernat <YehezkelShB@gmail.com> > Cc: linux-usb@vger.kernel.org > Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Applied now, thanks! I changed the title slightly to avoid words like "synchronize" because that makes me think this is fixing a race condition somewhere but in fact this is simply fixing a function prototope to match the definition :)
Hi, On Mon, Dec 12, 2022 at 11:29:36AM +0100, Jiri Slaby (SUSE) wrote: > tb_port_is_clx_enabled() generates a valid warning with gcc-13: > drivers/thunderbolt/switch.c:1286:6: error: conflicting types for 'tb_port_is_clx_enabled' due to enum/integer mismatch; have 'bool(struct tb_port *, unsigned int)' ... > drivers/thunderbolt/tb.h:1050:6: note: previous declaration of 'tb_port_is_clx_enabled' with type 'bool(struct tb_port *, enum tb_clx)' ... > > I.e. the type of the 2nd parameter of tb_port_is_clx_enabled() in the > declaration is unsigned int, while the definition spells enum tb_clx. > Synchronize them to the former as the parameter is in fact a mask of the > enum values. > > Cc: Martin Liska <mliska@suse.cz> > Cc: Andreas Noever <andreas.noever@gmail.com> > Cc: Michael Jamet <michael.jamet@intel.com> > Cc: Mika Westerberg <mika.westerberg@linux.intel.com> > Cc: Yehezkel Bernat <YehezkelShB@gmail.com> > Cc: linux-usb@vger.kernel.org > Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Looks good now. I will pick this up after the merge window closes. Thanks!
© 2016 - 2025 Red Hat, Inc.