lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 22 Jun 2016 09:31:18 +0200
From:	Daniel Vetter <daniel.vetter@...ll.ch>
To:	Stephen Rothwell <sfr@...b.auug.org.au>
Cc:	intel-gfx <intel-gfx@...ts.freedesktop.org>,
	dri-devel <dri-devel@...ts.freedesktop.org>,
	Russell King <rmk@...linux.org.uk>,
	linux-next <linux-next@...r.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Benjamin Gaignard <benjamin.gaignard@...aro.org>
Subject: Re: linux-next: manual merge of the drm-misc tree with the arm tree

On Wed, Jun 22, 2016 at 3:47 AM, Stephen Rothwell <sfr@...b.auug.org.au> wrote:
> Hi all,
>
> Today's linux-next merge of the drm-misc tree got a conflict in:
>
>   drivers/gpu/drm/sti/sti_drv.c
>
> between commit:
>
>   062993b15e8e ("drm: convert DT component matching to component_match_add_release()")

Why did that one end up in the arm tree? Should it go in through
drm-misc instead?
-Daniel

> from the arm tree and commit:
>
>   84601dbdea36 ("drm: sti: rework init sequence")
>
> from the drm-misc tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc drivers/gpu/drm/sti/sti_drv.c
> index 8abb57a94651,96bd3d08b2d4..000000000000
> --- a/drivers/gpu/drm/sti/sti_drv.c
> +++ b/drivers/gpu/drm/sti/sti_drv.c
> @@@ -340,14 -320,79 +320,84 @@@ static int compare_of(struct device *de
>         return dev->of_node == data;
>   }
>
>  +static void release_of(struct device *dev, void *data)
>  +{
>  +      of_node_put(data);
>  +}
>  +
> + static int sti_init(struct drm_device *ddev)
> + {
> +       struct sti_private *private;
> +
> +       private = kzalloc(sizeof(*private), GFP_KERNEL);
> +       if (!private)
> +               return -ENOMEM;
> +
> +       ddev->dev_private = (void *)private;
> +       dev_set_drvdata(ddev->dev, ddev);
> +       private->drm_dev = ddev;
> +
> +       mutex_init(&private->commit.lock);
> +       INIT_WORK(&private->commit.work, sti_atomic_work);
> +
> +       drm_mode_config_init(ddev);
> +
> +       sti_mode_config_init(ddev);
> +
> +       drm_kms_helper_poll_init(ddev);
> +
> +       return 0;
> + }
> +
> + static void sti_cleanup(struct drm_device *ddev)
> + {
> +       struct sti_private *private = ddev->dev_private;
> +
> +       if (private->fbdev) {
> +               drm_fbdev_cma_fini(private->fbdev);
> +               private->fbdev = NULL;
> +       }
> +
> +       drm_kms_helper_poll_fini(ddev);
> +       drm_vblank_cleanup(ddev);
> +       kfree(private);
> +       ddev->dev_private = NULL;
> + }
> +
>   static int sti_bind(struct device *dev)
>   {
> -       return drm_platform_init(&sti_driver, to_platform_device(dev));
> +       struct drm_device *ddev;
> +       int ret;
> +
> +       ddev = drm_dev_alloc(&sti_driver, dev);
> +       if (!ddev)
> +               return -ENOMEM;
> +
> +       ddev->platformdev = to_platform_device(dev);
> +
> +       ret = sti_init(ddev);
> +       if (ret)
> +               goto err_drm_dev_unref;
> +
> +       ret = component_bind_all(ddev->dev, ddev);
> +       if (ret)
> +               goto err_cleanup;
> +
> +       ret = drm_dev_register(ddev, 0);
> +       if (ret)
> +               goto err_register;
> +
> +       drm_mode_config_reset(ddev);
> +
> +       return 0;
> +
> + err_register:
> +       drm_mode_config_cleanup(ddev);
> + err_cleanup:
> +       sti_cleanup(ddev);
> + err_drm_dev_unref:
> +       drm_dev_unref(ddev);
> +       return ret;
>   }
>
>   static void sti_unbind(struct device *dev)



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ