From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark yao Subject: Re: [PATCH v3 1/5] drm/rockchip: Add basic drm driver Date: Mon, 22 Sep 2014 09:27:33 +0800 Message-ID: <541F7B05.2000605@rock-chips.com> References: <1411105668-32722-1-git-send-email-mark.yao@rock-chips.com> <1411105668-32722-2-git-send-email-mark.yao@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: David Herrmann Cc: heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org, Boris BREZILLON , David Airlie , Rob Clark , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Randy Dunlap , Grant Likely , Greg Kroah-Hartman , John Stultz , Rom Lemarchand , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , Linux API , linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, =?UTF-8?B?U3TDqXBoYW5lIE1hcmNoZXNpbg==?= , dbehr-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org List-Id: linux-api@vger.kernel.org On 2014=E5=B9=B409=E6=9C=8819=E6=97=A5 21:04, David Herrmann wrote: > Hi > > On Fri, Sep 19, 2014 at 7:47 AM, Mark yao w= rote: > [snip] >> +static int rockchip_drm_bind(struct device *dev) >> +{ >> + return drm_platform_init(&rockchip_drm_driver, to_platform_d= evice(dev)); > Please avoid drm_platform_*() usage. We're about to drop all the > drm_bus midlayers. See the tegra driver how to do it, but basically > just this: OK, I will do it. > struct drm_device *ddev; > > ddev =3D drm_dev_alloc(&rockchip_drm_driver, &to_platform_device(dev)= ->dev); > if (!ddev) > return -ENOMEM; > > r =3D drm_dev_set_unique(ddev, dev_name(&ddev->dev)); > if (r < 0) { > drm_dev_unref(ddev); > return r; > } > > r =3D drm_dev_register(ddev); > if (r < 0) { > drm_dev_unref(ddev); > return r; > } > >> +} >> + >> +static void rockchip_drm_unbind(struct device *dev) >> +{ >> + drm_put_dev(dev_get_drvdata(dev)); > Please use: > > struct drm_device *ddev =3D dev_get_drvdata(dev); > > drm_dev_unregister(ddev); > drm_dev_unref(ddev); > > > Thanks > David > > >