From: Josua Mayer <josua@solid-run•com>
To: Mark Brown <broonie@kernel•org>,
Ulf Hansson <ulf.hansson@linaro•org>,
Wolfram Sang <wsa+renesas@sang-engineering•com>
Cc: Linux Kernel Mailing List <linux-kernel@vger•kernel.org>,
Linux Next Mailing List <linux-next@vger•kernel.org>
Subject: Re: linux-next: build failure after merge of the mmc tree
Date: Thu, 5 Feb 2026 20:11:04 +0000 [thread overview]
Message-ID: <b4d5a179-b0b6-403d-bedc-56b3ae69cadb@solid-run.com> (raw)
In-Reply-To: <aYScLt9IJ-odFmx_@sirena.org.uk>
Hi Mark,
On 2/5/26 15:33, Mark Brown wrote:
> Hi all,
>
> After merging the mmc tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
>
> /tmp/next/build/drivers/mux/core.c:312:14: error: redefinition of 'mux_control_states'
> 312 | unsigned int mux_control_states(struct mux_control *mux)
> | ^~~~~~~~~~~~~~~~~~
> In file included from /tmp/next/build/drivers/mux/core.c:19:
> /tmp/next/build/include/linux/mux/consumer.h:70:28: note: previous definition of 'mux_control_states' with type 'unsigned int(struct mux_control *)'
> 70 | static inline unsigned int mux_control_states(struct mux_control *mux)
> | ^~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:375:5: error: redefinition of 'mux_control_select_delay'
> 375 | int mux_control_select_delay(struct mux_control *mux, unsigned int state,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:74:32: note: previous definition of 'mux_control_select_delay' with type 'int(struct mux_control *, unsigned int, unsigned int)'
> 74 | static inline int __must_check mux_control_select_delay(struct mux_control *mux,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:413:5: error: redefinition of 'mux_state_select_delay'
> 413 | int mux_state_select_delay(struct mux_state *mstate, unsigned int delay_us)
> | ^~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:79:32: note: previous definition of 'mux_state_select_delay' with type 'int(struct mux_state *, unsigned int)'
> 79 | static inline int __must_check mux_state_select_delay(struct mux_state *mstate,
> | ^~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:435:5: error: redefinition of 'mux_control_try_select_delay'
> 435 | int mux_control_try_select_delay(struct mux_control *mux, unsigned int state,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:84:32: note: previous definition of 'mux_control_try_select_delay' with type 'int(struct mux_control *, unsigned int, unsigned int)'
> 84 | static inline int __must_check mux_control_try_select_delay(struct mux_control *mux,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:469:5: error: redefinition of 'mux_state_try_select_delay'
> 469 | int mux_state_try_select_delay(struct mux_state *mstate, unsigned int delay_us)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:90:32: note: previous definition of 'mux_state_try_select_delay' with type 'int(struct mux_state *, unsigned int)'
> 90 | static inline int __must_check mux_state_try_select_delay(struct mux_state *mstate,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:487:5: error: redefinition of 'mux_control_deselect'
> 487 | int mux_control_deselect(struct mux_control *mux)
> | ^~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:118:19: note: previous definition of 'mux_control_deselect' with type 'int(struct mux_control *)'
> 118 | static inline int mux_control_deselect(struct mux_control *mux)
> | ^~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:513:5: error: redefinition of 'mux_state_deselect'
> 513 | int mux_state_deselect(struct mux_state *mstate)
> | ^~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:122:19: note: previous definition of 'mux_state_deselect' with type 'int(struct mux_state *)'
> 122 | static inline int mux_state_deselect(struct mux_state *mstate)
> | ^~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:636:21: error: redefinition of 'mux_control_get'
> 636 | struct mux_control *mux_control_get(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:127:35: note: previous definition of 'mux_control_get' with type 'struct mux_control *(struct device *, const char *)'
> 127 | static inline struct mux_control *mux_control_get(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:655:21: error: redefinition of 'mux_control_get_optional'
> 655 | struct mux_control *mux_control_get_optional(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:131:35: note: previous definition of 'mux_control_get_optional' with type 'struct mux_control *(struct device *, const char *)'
> 131 | static inline struct mux_control *mux_control_get_optional(struct device *dev,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:667:6: error: redefinition of 'mux_control_put'
> 667 | void mux_control_put(struct mux_control *mux)
> | ^~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:136:20: note: previous definition of 'mux_control_put' with type 'void(struct mux_control *)'
> 136 | static inline void mux_control_put(struct mux_control *mux) {}
> | ^~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:688:21: error: redefinition of 'devm_mux_control_get'
> 688 | struct mux_control *devm_mux_control_get(struct device *dev,
> | ^~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:138:35: note: previous definition of 'devm_mux_control_get' with type 'struct mux_control *(struct device *, const char *)'
> 138 | static inline struct mux_control *devm_mux_control_get(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:831:19: error: redefinition of 'devm_mux_state_get'
> 831 | struct mux_state *devm_mux_state_get(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:142:33: note: previous definition of 'devm_mux_state_get' with type 'struct mux_state *(struct device *, const char *)'
> 142 | static inline struct mux_state *devm_mux_state_get(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:848:19: error: redefinition of 'devm_mux_state_get_optional'
> 848 | struct mux_state *devm_mux_state_get_optional(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:146:33: note: previous definition of 'devm_mux_state_get_optional' with type 'struct mux_state *(struct device *, const char *)'
> 146 | static inline struct mux_state *devm_mux_state_get_optional(struct device *dev,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:866:19: error: redefinition of 'devm_mux_state_get_selected'
> 866 | struct mux_state *devm_mux_state_get_selected(struct device *dev, const char *mux_name)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:151:33: note: previous definition of 'devm_mux_state_get_selected' with type 'struct mux_state *(struct device *, const char *)'
> 151 | static inline struct mux_state *devm_mux_state_get_selected(struct device *dev,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/drivers/mux/core.c:885:19: error: redefinition of 'devm_mux_state_get_optional_selected'
> 885 | struct mux_state *devm_mux_state_get_optional_selected(struct device *dev,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tmp/next/build/include/linux/mux/consumer.h:156:33: note: previous definition of 'devm_mux_state_get_optional_selected' with type 'struct mux_state *(struct device *, const char *)'
> 156 | static inline struct mux_state *devm_mux_state_get_optional_selected(struct device *dev,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Caused by commit
>
> ad314348ceb4f (mux: Add helper functions for getting optional and selected mux-state)
I am puzzled by this result, and trying to debug but x86 allmodconfig
is a very slow build on my laptop.
The static inline function declarations from the errors are in the else
case if an ifdef CONIG_MULTIPLEXER.
The mux.c should only be compiled if CONFIG_MULTIPLEXER is defined,
based on drivers/mux/Makefile:
mux-core-objs := core.o
obj-$(CONFIG_MULTIPLEXER) += mux-core.o
I don't understand how it is possible for mux.c to be compiled,
while at the same time CONFIG_MULTIPLEXER is not defined.
Any ideas?
>
> I have used the version from next-20260204 insted.
next prev parent reply other threads:[~2026-02-05 20:11 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-05 13:33 linux-next: build failure after merge of the mmc tree Mark Brown
2026-02-05 20:11 ` Josua Mayer [this message]
2026-02-05 20:28 ` Josua Mayer
2026-02-05 20:52 ` Mark Brown
-- strict thread matches above, loose matches on Subject: below --
2025-05-21 5:42 Stephen Rothwell
2025-05-21 6:05 ` Binbin Zhou
2024-10-08 3:31 Stephen Rothwell
2024-10-08 15:26 ` Ulf Hansson
2024-10-10 6:34 ` Avri Altman
2024-06-21 15:11 Mark Brown
2023-06-09 1:34 Stephen Rothwell
2023-06-09 6:10 ` Wenbin Mei (梅文彬)
2023-05-10 1:18 Stephen Rothwell
2023-05-10 2:26 ` Jakub Kicinski
2023-05-11 10:54 ` Ulf Hansson
2021-04-16 3:48 Stephen Rothwell
2021-04-16 3:49 ` Stephen Rothwell
2021-04-26 1:31 ` Stephen Rothwell
2021-04-26 9:46 ` Ulf Hansson
2020-10-06 5:29 Stephen Rothwell
2020-09-25 4:40 Stephen Rothwell
2020-06-02 3:44 Stephen Rothwell
2020-06-02 12:05 ` Ulf Hansson
2020-06-02 12:15 ` Kalle Valo
2020-05-18 4:27 Stephen Rothwell
2020-05-18 6:10 ` Martin Blumenstingl
2018-02-15 0:49 Stephen Rothwell
2018-02-15 5:29 ` Kishon Vijay Abraham I
2014-05-30 3:23 Stephen Rothwell
2014-06-02 9:31 ` Ulf Hansson
[not found] ` <20140602214039.10062.15077@quantum>
2014-06-02 21:43 ` Chris Ball
2014-05-26 4:07 Stephen Rothwell
2014-06-02 5:11 ` Stephen Rothwell
2014-06-03 22:52 ` Stephen Rothwell
2014-06-04 19:21 ` Chris Ball
2014-06-05 2:57 ` Chris Ball
2014-05-23 5:32 Stephen Rothwell
2014-05-23 8:45 ` Sebastian Hesselbarth
2014-04-22 3:06 Stephen Rothwell
2014-04-22 4:57 ` Seungwon Jeon
2014-04-22 8:40 ` Ulf Hansson
2014-04-22 11:10 ` Chris Ball
2013-12-13 1:57 Stephen Rothwell
2013-12-17 2:28 ` Stephen Rothwell
2013-12-17 3:07 ` Dong Aisheng
2013-12-17 3:16 ` Shawn Guo
2013-12-17 8:06 ` Dong Aisheng
2014-01-06 6:22 ` Stephen Rothwell
2014-01-06 6:30 ` Dong Aisheng
2014-01-06 6:46 ` Shawn Guo
2014-01-06 6:46 ` Dong Aisheng
2014-01-06 6:30 ` Shawn Guo
2014-01-06 6:44 ` Shawn Guo
2014-01-06 7:29 ` Stephen Rothwell
2014-01-07 3:27 ` Stephen Rothwell
2014-01-13 17:49 ` Chris Ball
2013-12-23 1:40 ` Stephen Rothwell
2011-11-09 1:06 Stephen Rothwell
2011-11-09 1:35 ` Chris Ball
2011-09-22 6:13 Stephen Rothwell
2011-09-22 11:56 ` Chris Ball
2011-07-16 9:30 Stephen Rothwell
2011-07-18 22:29 ` Per Forlin
2011-03-28 2:10 Stephen Rothwell
2010-10-25 1:12 Stephen Rothwell
2010-10-25 2:21 ` Chris Ball
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b4d5a179-b0b6-403d-bedc-56b3ae69cadb@solid-run.com \
--to=josua@solid-run$(echo .)com \
--cc=broonie@kernel$(echo .)org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-next@vger$(echo .)kernel.org \
--cc=ulf.hansson@linaro$(echo .)org \
--cc=wsa+renesas@sang-engineering$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox