From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonyoung Shim Subject: Re: [PATCH 09/14] drm: exynos: hdmi: add support for platform variants for mixer Date: Tue, 02 Oct 2012 16:26:58 +0900 Message-ID: <506A9742.5050900@samsung.com> References: <1348842336-2153-1-git-send-email-rahul.sharma@samsung.com> <1348842336-2153-10-git-send-email-rahul.sharma@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by gabe.freedesktop.org (Postfix) with ESMTP id 96ADB9F368 for ; Tue, 2 Oct 2012 00:27:16 -0700 (PDT) Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MB900FE38OUI7I0@mailout2.samsung.com> for dri-devel@lists.freedesktop.org; Tue, 02 Oct 2012 16:26:55 +0900 (KST) Received: from [10.90.51.60] by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MB900BI18OUUZ10@mmp2.samsung.com> for dri-devel@lists.freedesktop.org; Tue, 02 Oct 2012 16:26:55 +0900 (KST) In-reply-to: <1348842336-2153-10-git-send-email-rahul.sharma@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Rahul Sharma Cc: s.shirish@samsung.com, l.krishna@samsung.com, joshi@samsung.com, dri-devel@lists.freedesktop.org, kyungmin.park@samsung.com, fahad.k@samsung.com, prashanth.g@samsung.com List-Id: dri-devel@lists.freedesktop.org On 09/28/2012 11:25 PM, Rahul Sharma wrote: > This patch adds the support for multiple mixer versions avaialble in > various platform variants. Version is passed as a driver data field > instead of paltform data. > > Signed-off-by: Rahul Sharma > --- > drivers/gpu/drm/exynos/exynos_mixer.c | 28 ++++++++++++++++++++++++++++ > 1 files changed, 28 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c > index 8a43ee1..30233a3 100644 > --- a/drivers/gpu/drm/exynos/exynos_mixer.c > +++ b/drivers/gpu/drm/exynos/exynos_mixer.c > @@ -73,6 +73,12 @@ struct mixer_resources { > struct clk *sclk_dac; > }; > > +enum mixer_version_id { > + MXR_VER_INVALID = -1, Does MXR_VER_INVALID enum need really? > + MXR_VER_0_0_0_16, > + MXR_VER_16_0_33_0, > +}; > + > struct mixer_context { > struct device *dev; > int pipe; > @@ -83,6 +89,11 @@ struct mixer_context { > struct mutex mixer_mutex; > struct mixer_resources mixer_res; > struct hdmi_win_data win_data[MIXER_WIN_NR]; > + enum mixer_version_id mxr_ver; > +}; > + > +struct mixer_drv_data { > + enum mixer_version_id version; > }; > > static const u8 filter_y_horiz_tap8[] = { > @@ -1023,11 +1034,24 @@ fail: > return ret; > } > > +static struct mixer_drv_data exynos4_mxr_drv_data = { > + .version = MXR_VER_0_0_0_16, > +}; Add one empty line. > +static struct platform_device_id mixer_driver_types[] = { > + { > + .name = "s5p-mixer", > + .driver_data = (unsigned long)&exynos4_mxr_drv_data, > + }, { > + /* end node */ > + } > +}; > + > static int __devinit mixer_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > struct exynos_drm_hdmi_context *drm_hdmi_ctx; > struct mixer_context *ctx; > + struct mixer_drv_data *drv; > int ret; > > dev_info(dev, "probe start\n"); > @@ -1047,8 +1071,11 @@ static int __devinit mixer_probe(struct platform_device *pdev) > > mutex_init(&ctx->mixer_mutex); > > + drv = (struct mixer_drv_data *)platform_get_device_id( > + pdev)->driver_data; > ctx->dev = &pdev->dev; > drm_hdmi_ctx->ctx = (void *)ctx; > + ctx->mxr_ver = drv->version; > > platform_set_drvdata(pdev, drm_hdmi_ctx); > > @@ -1101,4 +1128,5 @@ struct platform_driver mixer_driver = { > }, > .probe = mixer_probe, > .remove = __devexit_p(mixer_remove), > + .id_table = mixer_driver_types, > };