From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751784AbaL3CfA (ORCPT ); Mon, 29 Dec 2014 21:35:00 -0500 Received: from mail-bn1on0137.outbound.protection.outlook.com ([157.56.110.137]:61168 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751451AbaL3Ce6 (ORCPT ); Mon, 29 Dec 2014 21:34:58 -0500 Message-ID: <54A21057.3030901@freescale.com> Date: Tue, 30 Dec 2014 10:39:19 +0800 From: Liu Ying User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Andrzej Hajda , CC: , , , , , , , , , , , Subject: Re: [PATCH RFC v6 16/21] drm: panel: Add support for Himax HX8369A MIPI DSI panel References: <1419835168-9034-1-git-send-email-Ying.Liu@freescale.com> <1419835168-9034-17-git-send-email-Ying.Liu@freescale.com> <54A11A65.1040509@samsung.com> <54A127D2.7080904@freescale.com> <54A131FB.8040809@samsung.com> In-Reply-To: <54A131FB.8040809@samsung.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=Ying.Liu@freescale.com; X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(339900001)(189002)(377454003)(199003)(479174004)(24454002)(23746002)(59896002)(92566001)(575784001)(120916001)(99396003)(105606002)(93886004)(33656002)(107046002)(106466001)(46102003)(36756003)(86362001)(6806004)(84676001)(87936001)(50986999)(21056001)(77156002)(62966003)(64706001)(83506001)(47776003)(65806001)(19580405001)(65956001)(104016003)(76176999)(65816999)(85426001)(77096005)(64126003)(97736003)(31966008)(2950100001)(68736005)(80316001)(19580395003)(20776003)(54356999)(50466002)(4396001)(87266999)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR0301MB0632;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0632; X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004);SRVR:BY2PR0301MB0632; X-Forefront-PRVS: 04410E544A X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0632; X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Dec 2014 02:34:54.7516 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB0632 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/29/2014 06:50 PM, Andrzej Hajda wrote: > On 12/29/2014 11:07 AM, Liu Ying wrote: >> On 12/29/2014 05:09 PM, Andrzej Hajda wrote: >>> On 12/29/2014 07:39 AM, Liu Ying wrote: >>>> This patch adds support for Himax HX8369A MIPI DSI panel. >>>> >>>> Signed-off-by: Liu Ying >>>> --- >>>> v5->v6: >>>> * Make the checkpatch.pl script be happier. >>>> * Do not set the dsi channel number to be zero in probe(), because the MIPI DSI >>>> bus driver would set it. >>>> >>>> v4->v5: >>>> * Address Andrzej Hajda's comments. >>>> * Get the bs-gpios property instead of the bs[3:0]-gpios properties. >>>> * Implement error propagation for panel register configurations. >>>> * Other minor changes to improve the code quality. >>>> >>>> v3->v4: >>>> * Move the relevant dt-bindings to a separate patch to address Stefan >>>> Wahren's comment. >>>> >>>> v2->v3: >>>> * Sort the included header files alphabetically. >>>> >>>> v1->v2: >>>> * Address almost all comments from Thierry Reding. >>>> * Remove several DT properties as they can be implied by the compatible string. >>>> * Add the HIMAX/himax prefixes to the driver's Kconfig name and driver name. >>>> * Move the driver's Makefile entry place to sort the entries alphabetically. >>>> * Reuse several standard DCS functions instead of inventing wheels. >>>> * Move the panel resetting and power logics to the driver probe/remove stages. >>>> This may simplify panel prepare/unprepare hooks. The power consumption should >>>> not change a lot at DPMS since the panel enters sleep mode at that time. >>>> * Add the module author. >>>> * Other minor changes, such as coding style issues. >>>> >>>> drivers/gpu/drm/panel/Kconfig | 5 + >>>> drivers/gpu/drm/panel/Makefile | 1 + >>>> drivers/gpu/drm/panel/panel-himax-hx8369a.c | 614 ++++++++++++++++++++++++++++ >>>> 3 files changed, 620 insertions(+) >>>> create mode 100644 drivers/gpu/drm/panel/panel-himax-hx8369a.c >>>> >>>> diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig >>>> index 024e98e..81b0bf0 100644 >>>> --- a/drivers/gpu/drm/panel/Kconfig >>>> +++ b/drivers/gpu/drm/panel/Kconfig >>>> @@ -16,6 +16,11 @@ config DRM_PANEL_SIMPLE >>>> that it can be automatically turned off when the panel goes into a >>>> low power state. >>>> >>>> +config DRM_PANEL_HIMAX_HX8369A >>>> + tristate "Himax HX8369A panel" >>>> + depends on OF >>>> + select DRM_MIPI_DSI >>>> + >>>> config DRM_PANEL_LD9040 >>>> tristate "LD9040 RGB/SPI panel" >>>> depends on OF && SPI >>>> diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile >>>> index 4b2a043..d5dbe06 100644 >>>> --- a/drivers/gpu/drm/panel/Makefile >>>> +++ b/drivers/gpu/drm/panel/Makefile >>>> @@ -1,4 +1,5 @@ >>>> obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o >>>> +obj-$(CONFIG_DRM_PANEL_HIMAX_HX8369A) += panel-himax-hx8369a.o >>>> obj-$(CONFIG_DRM_PANEL_LD9040) += panel-ld9040.o >>>> obj-$(CONFIG_DRM_PANEL_S6E8AA0) += panel-s6e8aa0.o >>>> obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o >>>> diff --git a/drivers/gpu/drm/panel/panel-himax-hx8369a.c b/drivers/gpu/drm/panel/panel-himax-hx8369a.c >>>> new file mode 100644 >>>> index 0000000..eee36a7 >>>> --- /dev/null >>>> +++ b/drivers/gpu/drm/panel/panel-himax-hx8369a.c >>>> @@ -0,0 +1,614 @@ >>>> +/* >>>> + * Himax HX8369A panel driver. >>>> + * >>>> + * Copyright (C) 2011-2014 Freescale Semiconductor, Inc. >>>> + * >>>> + * This program is free software; you can redistribute it and/or modify >>>> + * it under the terms of the GNU General Public License version 2 as >>>> + * published by the Free Software Foundation. >>>> + * >>>> + * This driver is based on Samsung s6e8aa0 panel driver. >>>> + */ >>>> + >>>> +#include >>>> +#include >>>> +#include >>>> + >>>> +#include >>>> +#include >>>> +#include >>>> + >>>> +#include