Messages in this thread | | | From | Arnd Bergmann <> | Date | Sun, 6 Aug 2017 11:32:41 +0200 | Subject | Re: [PATCH v2] mmc: mmci_qcom_dml: include mmci_qcom_dml.h and fix #ifdef |
| |
On Sun, Aug 6, 2017 at 4:58 AM, Masahiro Yamada <yamada.masahiro@socionext.com> wrote: > 2017-08-05 7:10 GMT+09:00 Arnd Bergmann <arnd@arndb.de>: >> On Fri, Aug 4, 2017 at 3:34 PM, Masahiro Yamada >> <yamada.masahiro@socionext.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@socionext.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.
Maybe it's best if Ulf just reverts the broken commit, and then we start over with reviewing the patch properly.
Arnd
| |