[PATCH v2 6/7] drm/i2c: tda998x: add CEC support
Hans Verkuil
hverkuil at xs4all.nl
Fri Dec 8 12:14:15 UTC 2017
On 12/08/2017 12:57 PM, Russell King - ARM Linux wrote:
> On Wed, Dec 06, 2017 at 02:50:44PM +0100, Hans Verkuil wrote:
>> Hi Russell,
>>
>> Thanks for this patch series!
>>
>> On 12/06/17 13:35, Russell King wrote:
>>> The TDA998x is a HDMI transmitter with a TDA9950 CEC engine integrated
>>> onto the same die. Add support for the TDA9950 CEC engine to the
>>> TDA998x driver.
>>>
>>> Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
>>> ---
>>> drivers/gpu/drm/i2c/Kconfig | 1 +
>>> drivers/gpu/drm/i2c/tda998x_drv.c | 209 +++++++++++++++++++++++++++++++++++---
>>> 2 files changed, 196 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i2c/Kconfig b/drivers/gpu/drm/i2c/Kconfig
>>> index 3a232f5ff0a1..096d2139e733 100644
>>> --- a/drivers/gpu/drm/i2c/Kconfig
>>> +++ b/drivers/gpu/drm/i2c/Kconfig
>>> @@ -22,6 +22,7 @@ config DRM_I2C_SIL164
>>> config DRM_I2C_NXP_TDA998X
>>> tristate "NXP Semiconductors TDA998X HDMI encoder"
>>> default m if DRM_TILCDC
>>> + select CEC_NOTIFIER
>>
>> I believe this should be 'select CEC_CORE if CEC_NOTIFIER', conform the
>> other drivers that do something similar.
>>
>> Otherwise if tda9950 is configured as a module, and this as built-in, then
>> cec is built as a module as well and this can't find the cec functions from
>> the module.
>
> You mean when we have:
>
> CONFIG_DRM_I2C_NXP_TDA998X=y
> CONFIG_DRM_I2C_NXP_TDA9950=m
>
> ?
>
> That appears to work fine with:
>
> CONFIG_CEC_CORE=m
> CONFIG_CEC_NOTIFIER=y
>
> in 4.14, as that's exactly the configuration I test with on Dove. Maybe
> that's changed recently, or maybe I haven't noticed it not working (I
> can't test it at the moment, sorry.)
>
I don't think that can work. In cec-notifier.h:
#if IS_REACHABLE(CONFIG_CEC_CORE) && IS_ENABLED(CONFIG_CEC_NOTIFIER)
And CEC_CORE is not reachable from the tda998x, so all the cec_notifier
functions become dummies.
It compiles, but the physical address never gets set.
'select CEC_CORE if CEC_NOTIFIER' will ensure CEC_CORE=y and the #if above
resolves to true.
Regards,
Hans
More information about the dri-devel
mailing list