[PATCH 10/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers()
Daniel Vetter
daniel at ffwll.ch
Mon Nov 27 10:29:18 UTC 2017
On Fri, Nov 24, 2017 at 06:53:33PM +0100, Michał Mirosław wrote:
> Interpret (otherwise-invalid) NULL apertures argument to mean all-memory
> range. This will allow to remove several duplicates of this code from
> drivers in following patches.
>
> Signed-off-by: Michał Mirosław <mirq-linux at rere.qmqm.pl>
> ---
> drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
> index 5ea980e5d3b7..927e016487e9 100644
> --- a/drivers/video/fbdev/core/fbmem.c
> +++ b/drivers/video/fbdev/core/fbmem.c
> @@ -1780,11 +1780,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a,
> const char *name, bool primary)
> {
> int ret;
> + bool do_free = false;
> +
> + if (!a) {
> + a = alloc_apertures(1);
> + if (!a)
> + return -ENOMEM;
> +
> + a->ranges[0].base = 0;
> + a->ranges[0].size = ~0;
> + do_free = true;
> + }
>
> mutex_lock(®istration_lock);
> ret = do_remove_conflicting_framebuffers(a, name, primary);
> mutex_unlock(®istration_lock);
>
> + if (do_free)
> + kfree(a);
> +
> return ret;
> }
> EXPORT_SYMBOL(remove_conflicting_framebuffers);
Please also update the kerneldoc for the varios drm wrappers and explain
that passing NULL means to remove all fbdev drivers.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list