[PATCH RFC 3/6] drm/tilcdc: Add support for external compontised DRM encoder
Jyri Sarha
jsarha at ti.com
Fri Mar 6 00:33:27 PST 2015
On 03/02/15 18:01, Russell King - ARM Linux wrote:
> On Thu, Feb 26, 2015 at 04:55:32PM +0200, Jyri Sarha wrote:
>> + ret = component_bind_all(dev->dev, dev);
>> + if (ret < 0) {
>> + dev_err(dev->dev, "Binding subcomponents failed: %d\n", ret);
>
> Do you need to print this? The component helper is already fairly
> verbose about what succeeds and fails.
>
Will remove.
>> +static const struct component_master_ops tilcdc_comp_ops = {
>> + .add_components = tilcdc_add_external_components,
>
> I'd much rather you used the new matching support rather than using the
> old .add_components. The new matching support is more efficient as you
> only have to scan DT once, rather than each time we try to probe. That
> will mean...
>
That is otherwise fine, but with the match code it not possible to
implement a master that may not have any components.
Would it be Ok to add a check that master->ops->add_components is
defined, before calling it in find_componets()
(drivers/base/component.c:120) and return 0 if it is not?
Best regards,
Jyri
>> @@ -613,12 +643,12 @@ static int tilcdc_pdev_probe(struct platform_device *pdev)
>> return -ENXIO;
>> }
>
> You need to build a struct component_match array here using
> component_match_add()...
>
>>
>> - return drm_platform_init(&tilcdc_driver, pdev);
>> + return component_master_add(&pdev->dev, &tilcdc_comp_ops);
>
> and then finally register the ops with component_master_add_with_match().
>
> Thanks.
>
More information about the dri-devel
mailing list