Re: [PATCH 2/8] drm/udl: Change drm_fb_helper_sys_*() calls to sys_*()

Noralf Trønnes
2016-04-21T18:18:48Z

Den 21.04.2016 09:28, skrev Daniel Vetter:
> On Wed, Apr 20, 2016 at 08:15:30PM +0200, Noralf Trønnes wrote:
>> Den 20.04.2016 19:42, skrev Daniel Vetter:
>>> On Wed, Apr 20, 2016 at 05:25:23PM +0200, Noralf Trønnes wrote:
>>>> Now that drm_fb_helper gets deferred io support, the
>>>> drm_fb_helper_sys_{fillrect,copyarea,imageblit} functions will schedule
>>>> the worker that calls the deferred_io callback. This will break this
>>>> driver so use the sys_{fillrect,copyarea,imageblit} functions directly.
>>>>
>>>> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
>>> I think this intermediately breaks the build, if you disable fbdev
>>> support. That's now supported in the fbdev helpers core generically across
>>> all drivers.
>>>
>>> Not sure how to best fix this up, since the only way would be to squash
>>> these patches, plus generic deferred io plus the conversion patches for
>>> udl/qxl all into one. Tricky.
>> Yes you're right, I missed that.
>> How about this:
>> #ifdef CONFIG_FB
>> sys_fillrect(info, rect);
>> #endif
>>
>> The later patch will then remove this ugliness...
> Yeah I think we have to bite the bullet and take this temporary ugliness
> :(

Turns out the #ifdef isn't necessary since FB is always selected.

Both udl and qxl have this:
select DRM_KMS_HELPER
select DRM_KMS_FB_HELPER

And then we have:

config DRM_KMS_HELPER
tristate
depends on DRM

config DRM_KMS_FB_HELPER
bool
depends on DRM_KMS_HELPER
select FB
...
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT

Noralf.