[PATCH] drm/exynos: gsc: Get device id from OF alias

Andrzej Hajda a.hajda at samsung.com
Wed Jun 20 12:44:07 UTC 2018


On 20.06.2018 13:53, Krzysztof Kozlowski wrote:
> On 20 June 2018 at 13:38, Andrzej Hajda <a.hajda at samsung.com> wrote:
>> Hi Krzysztof,
>>
>> On 20.06.2018 12:40, Krzysztof Kozlowski wrote:
>>> On 15 June 2018 at 14:26, Marek Szyprowski <m.szyprowski at samsung.com> wrote:
>>>> Platform devices instantiated from device-tree always have pdev->id set to
>>>> -1, so use of_get_alias_id() helper to retrieve proper device id.
>>>>
>>>> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
>>>> ---
>>>>  drivers/gpu/drm/exynos/exynos_drm_gsc.c | 9 +++++++--
>>>>  1 file changed, 7 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
>>>> index e99dd1e4ba65..a63287597985 100644
>>>> --- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
>>>> +++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
>>>> @@ -1196,7 +1196,12 @@ static int gsc_probe(struct platform_device *pdev)
>>>>         struct exynos_drm_ipp_formats *formats;
>>>>         struct gsc_context *ctx;
>>>>         struct resource *res;
>>>> -       int ret, i;
>>>> +       int ret, i, id;
>>>> +
>>>> +       ret = of_alias_get_id(pdev->dev.of_node, "gsc");
>>>> +       if (ret < 0)
>>>> +               return ret;
>>>> +       id = ret;
>>>>
>>>>         ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
>>>>         if (!ctx)
>>>> @@ -1254,7 +1259,7 @@ static int gsc_probe(struct platform_device *pdev)
>>>>         }
>>>>
>>>>         /* context initailization */
>>>> -       ctx->id = pdev->id;
>>>> +       ctx->id = id;
>>> Why do you need ctx->id at all? I see it is used only in dev_dbg and
>>> dev_err messages but these should be easily identifiable by device
>>> name+address. Maybe get rid of ctx->id entirely?
>> I am working on patches adding framebuffer display pre-processing
>> on-the-fly, they requires gscaler id to program sysreg registers. I hope
>> to post it in near future.
> OK, makes sense. Then I have a dependent comment - if alias id is used
> by driver then probably it should be validated to prevent errors like
> out-of-bounds access. DTB theoretically might come from out-of-tree or
> from older version. Something like this was reported for our pinctrl
> driver:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=93b0beae721b3344923b4b8317e9d83b542f4ca6
> Probably the validation should come with your code, Andrzej. Not here.

OK, I will add it in my patchset.

Regards
Andrzej

>
> Best regards,
> Krzysztof
>
>
>



More information about the dri-devel mailing list