On Sun, Aug 6, 2017 at 4:58 AM, Masahiro Yamada
<yamada.masah...@socionext.com> wrote:
> 2017-08-05 7:10 GMT+09:00 Arnd Bergmann <a...@arndb.de>:
>> On Fri, Aug 4, 2017 at 3:34 PM, Masahiro Yamada
>> <yamada.masah...@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.masah...@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

Reply via email to