[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNAR8Kqnb18D2UYto5R1CLrMx_YgJMmKOm7OsiOgd7XcWbA@mail.gmail.com>
Date: Sun, 6 Aug 2017 11:58:38 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: linux-mmc <linux-mmc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
Linus Walleij <linus.walleij@...aro.org>,
Stephen Boyd <sboyd@...eaurora.org>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
Russell King - ARM Linux <linux@...linux.org.uk>
Subject: Re: [PATCH v2] mmc: mmci_qcom_dml: include mmci_qcom_dml.h and fix #ifdef
Hi Arnd,
2017-08-05 7:10 GMT+09:00 Arnd Bergmann <arnd@...db.de>:
> On Fri, Aug 4, 2017 at 3:34 PM, Masahiro Yamada
> <yamada.masahiro@...ionext.com> wrote:
>> Include mmci_qcom_dml.h from mmci_qcom_dml.c to fix the following
>> sparse warnings:
>>
>> CHECK drivers/mmc/host/mmci_qcom_dml.c
>> drivers/mmc/host/mmci_qcom_dml.c:57:6: warning: symbol 'dml_start_xfer' was not declared. Should it be static?
>> drivers/mmc/host/mmci_qcom_dml.c:122:5: warning: symbol 'dml_hw_init' was not declared. Should it be static?
>>
>> Fixing them causes redefintion of dml_start_xfer error, revealing another
>> problem in the header. #ifdef CONFIG_MMC_QCOM_DML is wrong because this
>> driver is tristate. (CONFIG_MMC_QCOM_DML_MODULE is defined when it is
>> built as a module)
>>
>> Since dml_hw_init() is called from mmci.c, IS_REACHABLE() is needed to
>> cater to all the combinations.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@...ionext.com>
>
> I think this is still not a good solution, it will just turn a link error into
> an unusable system at runtime when the DML code is a loadable module
> but not used. Also, the symbols are not exported, so it won't work when both
> are built as modules.
> How about linking the DML code into the mmci module and making that
> Kconfig option a 'bool'?
You are right.
My patch does not solve the root of the problem.
It turned out not so trivial as I had first expected.
I'd like somebody else to take care of it
because I am not familiar with this driver.
(My first motivation was clean-up sparse reports,
and I thought it was easy to fix it, but it was not.)
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists