From patchwork Fri Aug 9 04:23:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 103382 X-Patchwork-Delegate: sakari.ailus@iki.fi Received: from sv.mirrors.kernel.org ([139.178.88.99]) by linuxtv.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1scHA9-0003MZ-2U for patchwork@linuxtv.org; Fri, 09 Aug 2024 04:23:39 +0000 Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id E0655287982 for ; Fri, 9 Aug 2024 04:23:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CED5116631D; Fri, 9 Aug 2024 04:23:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="IZnOBqz0" X-Original-To: linux-media@vger.kernel.org Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010030.outbound.protection.outlook.com [52.101.228.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CB5F1649CC; Fri, 9 Aug 2024 04:23:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.30 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723177410; cv=fail; b=sbcQ2nPQ3195FcoGExT6adAwZYJc0LFIRcg3GqgONEpuzGkaQNhl6yg0G+M+Dgd1KlMi/W4kAJ6HDixX+S4ZDaBeDHHG7brvoYPuCHyrMkFrPZnHnVbUeN9JdMnf28nE/PYSPk6L/03Tg7POhFyomZdLzt0gTejHLnJ0w+duqAk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1723177410; c=relaxed/simple; bh=mg8aPdjfj8RwMfSnBel27b47brMcpDU/JeJn8rTtrvc=; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type: Date:MIME-Version; b=JoW1kjXjzpmqVmL/LCtZ/YurAZ5kDlj7r5a8iIuTDzh+bNn5x5jGFPuSuaUPoV09o/RWF65DsciSD4AX0VkjdWK1h5BqU1w9AmcC4U6yBo2ZkUbxtcQbkVgJSUJpp9YM/00/yoK2T3vj+DWEwdvEmNIVSdqTcFyuums5m3IumyI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=IZnOBqz0; arc=fail smtp.client-ip=52.101.228.30 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CL8gjZl+zPsZQ+sUjHufG4dvGKnlzDHjQheyqAYBFZ2sZiqxOsMv/hs7c4F+3leB+uQDGD7q4I9cB72QLjXvI9AayUqfunvgQsBJ7IiACXz1on+ppV4jnnV5j7wp5vO8Zy1/vgAU6Uru2aZ8JKk8FugGlhS9gB1tjlxhu9g+s1tOjf9LRxjq0uVb03y9SjD0ir/DIRPpHko7kupjO0eA9dwOtYWMv5HdsUnG6dnr3+FfT5k8NJ+v+UPJeo4wVRBacOnqwPRTcMEaCCdfbNJgKINQWs0wxnfWtLqt+LdMLh1AYdDoAygshNq4wFMJlgpSWOC+puJwmpwv3bdVzCSpWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bqpCLsY1CmrUuWtVZbk0ujoYsWif8tltOD/VUVSoA/Y=; b=O8ow9SgcKWeykHmjxh2nH8EyCgp+VBRj5c3PWL1/aCiZzDO/SGlhHqSP/oJNkTMsqgfOBeCvLyQaUUwV/tTsKwKpH+x3dJkthzJ15LUramH8L8zgPkURuQVeWxPGDxxB44e+n2LIb80McSnYd0pwREz7oHWbwbIiPQQzlehgezt+TracGIuuZ+srIq4kVqcI+f8Y4hHwkW+oj0yJJhh06csFavgnnJB7tl6+EHYkBVsuolEyiFEM5gNSi2g920vTvpkg4XncFNwrcYeuP5abppRDddhW1kmF08RG3mY6GoOucoLYXoiESYM903NYDRttkWxfHrsOHkafjJxSSk4hLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bqpCLsY1CmrUuWtVZbk0ujoYsWif8tltOD/VUVSoA/Y=; b=IZnOBqz00GKPu18D1MG8FMHpC3NTysmmE1y2BB4VwiIh+TEtn+iMIuqINcqBDY3vMx/1bdbha8NApJnxwbIt1t8kQ7aFDTTLMqf2oGA9KCTF482HvBZursQE2mav25jQ4drhffrUHRV39U7pr6lOnBKdnScpb2PUPoFP/ZhyDT0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by OS3PR01MB9639.jpnprd01.prod.outlook.com (2603:1096:604:1cf::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.15; Fri, 9 Aug 2024 04:23:25 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.7849.014; Fri, 9 Aug 2024 04:23:25 +0000 Message-ID: <87ttfu729u.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH v2 8/9] fbdev: omapfb: use new of_graph functions User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Daniel Vetter , David Airlie , Helge Deller , Jaroslav Kysela , Laurent Pinchart , Liam Girdwood , Maarten Lankhorst , Mark Brown , Mauro Carvalho Chehab , Maxime Ripard , Michal Simek , Rob Herring , Saravana Kannan , Takashi Iwai , Thomas Zimmermann , Tomi Valkeinen , devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-fbdev@vger.kernel.org, linux-media@vger.kernel.org, linux-omap@vger.kernel.org, linux-sound@vger.kernel.org In-Reply-To: <875xsa8gws.wl-kuninori.morimoto.gx@renesas.com> References: <875xsa8gws.wl-kuninori.morimoto.gx@renesas.com> Date: Fri, 9 Aug 2024 04:23:25 +0000 X-ClientProxiedBy: TYCP286CA0099.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:2b4::17) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|OS3PR01MB9639:EE_ X-MS-Office365-Filtering-Correlation-Id: a6d344b1-1e6e-4100-12a4-08dcb82b0349 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|1800799024|376014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: hO3TwniK2jtjd4K1zlz2D0jq88l+/Qnuo9M+mJDWf9k1klKJr5f0lAn36r1YzMAQMD8EYeUaB6TT97ZhxWBQIYfpQGiQuItoMEKEoG3eK99R+kBY1Rj39Uh8QRJNZ3Aszm6xymSwurRf7ByJJ/vYbgWvB0W1WgVuojwH1e3nbnY9rIWZBELTaKVyFUs7YXSGq62fFGdC1aYyXOp8V7nQgniL8rnveYz+Nfx1zf9f9IzoHBnfyK5PNZoSi51n/UUoDsW3yrg/Cg7y76WDozG+lAcY8lsZqpD5mg6hw+oer5Qm4c4K80L6g+WYelk+5ZVitgShMklQCAVNUKFkCO6GSTMgGlOKU0Me+ryDXy/FxbdlboFpJVXQVx1jAC6lSaeUjUyMReVbGmfPpZnA/9J5Sl2GFkHna7lvMdYiuGjlP2Hf0zXmQrNOQ7Nw4wucENXANr7uynDFxwCp9S2APfbibyJDu2j9L2VlbiJyVPTddRR+ACXSj+oRIDHudv/AXO1x3l5roEzlxeI1T9vYYfg4lghUjC95msYGpFnsnKcPgP7mWAlTDlgBq1Acf0WerAKFZxhdOQW1X7yyACKY2tKrAcSMFJ/tTDX4XrYB67Kmc3fKY+urlBsmT/LdzO9rJqikUJFJifAby2W1mvFCkfnlzeSr4najPMgQAJ32mphGfwXxGAARZR0n+OSVaoJZTjzlOdhqOpfDfUbaG7jRFD0DfjXnQA4maGNxZ0wl6+y7DXC0tMhfGlPGzF40jJhUQJacMiHv7MxMYkC2hll1aDgbvEkYFpe4GUJzceZFM6834BlWBHxlCDiz1MUJCQs6X5x6495rZRq9Jhv2EYe3QCnKITb5O+HFriNnR+rD0dnrhZzMqHK5wM5dbnU+MAeBEE8AY8RNlg0YhTfOql2HhYwKQBQTh4A12iDKeRvRG57XWt1aJ8JV9UsgrsuTrhD9ZYjSIhwHHsjH3MPgByPka5tdaXGn5Cw1nCJ3QjekhGaLU8Bp7heq0pv2eCLaRVqrGuIQkL5BnP1zemPc7qpj7ZEiWXhBv+MyOj2XSdUAi8COcY9T4udqpde/Zc6e/Ergu7t1yu9lboPIkpCnt0/sVIRnxFaxGeaDv34jXgLbkchV0+wh5YxJ6cgTvUIaPV5T0FCjhPlwd3vSTc5VzNV0pLE31iyPI9L2av+RZe2ilBZpmBGSg7lWod1TC/1tQZi0hQGK96otU/9MWLApWs5Z+z4aKwgID2/idsrltyxz8lP+gIEgJd4JHx4pvaYFEIE0WfTq60nuytLuq6D+8A7qr4/kOWv6W1S6Pf5pkxJeljqvAnBcFmtYZy9XSe9eGgFzaAVTlgXjwVoreaRANdRsn2scNx+PzbJIqOMAnQV0PBsJ/tyHXfN7ey925Zi8Pb1X4L7x95BUPjoi+UHuo1u5cZ/HdUhErj+bTA9FyJOQDCCsa/k= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB10914.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(1800799024)(376014)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: a1nDOUIozb4HP8H4qpodupMG8Cz81wXtg61yXq4ti5ZZjgdzF278aWw0aLkBxNSpVxLgbRE4wE430VKgg7cuQgfhMsHl1Hkk+gxvzjmRd+OU4kAwzdzlp2JGUJFfqjoHWOQcg/rYKdIH8afNjSV6yhKD0c5nXxmhblFyed2KXZrxnL4FQpCbjQpz4WwynUWWfLnBmqPgLF/qHK1OjUyaknbq6LvxKamVkR79+lN0MkQ1cqiyGpsSUc8esKS25H06rz3HBbfpaOBzrbMIrNrf/jg7fFDuEWN+P4c7hwzr/CCaHHWqITTi6u8t0vsAdAHC7ADXEEHBZ8WQA21en+tweJJGpNxJIsutRVBhmtG2fgSG4HBRE4dKl/1FVQP60fLYXw+qAOPZ1zJigVrIMl64x36G1AnuXr6IEsPU4+8TewCQI01Ko9Zk07eXpavWb05H/Lhq0V1J3nHtU1oJWAO3L3n3BwoeUoX4yaqkWUZnsWPBEPO9J5Q5M1K4MNTisKDXoWj0JqzfDaxeUZ8SMRuqmenQIRPp8wnlE6kCUaAxLPewfCtOj8nCAn6PdXOgKSg/T47DKZ21q6Nn30aWwttzuiTND+3+boS8S7nD6gRdS9GTOOFiOxOS2FxSZoQtIWHG8WRMisjUkcFwWT5zF/iEOSOz3GrCynTfggzAfRFSZou+GlyeqwONiyS9KYxHd9g23wTaMTenF96FDaKWjDcgafp9hfoAgwlhZcKM26iOWDEMXNR/Mh/uhsWNZVNz1v2j/M89FQQpW2R3N7e2qbrppPHx5XPvVkWRzIZs/nx/wVpJ3yCd8V3jXE5da2r3BA8AiDCOrj+TwANUuSKM/uzp78hTVQ84ryenpRwUNCj1y/je6dAAFFEMTMWMm+8Vp/Vo6YxDFAS6ADQHCo4qhu2sV6Gm1qKMOBpTaOdmVzlN/FqHPeS2jOLlL2RLLV4OVude28DHBMkcubntk3oLp9tqzyAZxQxCtyvMnWOVqN3C2PjVqqtION3nuckVVqaF8VBn9YHLMafAgWhj5Rqhqa+5tGeMAV77NY0OT9kLnY/92gJ2D9HiwM0JCa0x/14z0xdMGrDFswlTuRjIMrhKjnLc0uuK7DUvE1vbh0uvpEJ2wGItaf5CoLM5XMguX5YyB1q8IXXjg2uiHzGiu1Vd87wjMR3UgMnuTk86KgicyZ3nG+tPpBnYCEnQemwR8gmZF981Zrnx3mqieOD71ZOaanIdFtN5jW+AmULjZdY+Zucvxv/rpKKCJSggRvxIOGZuaSJm10k3pc0AJtJlvjCOPgWIPHF2jJsY9NLaL0Pv7yN+FW2bpOvr6nRYtvFBTYQfbumyUI80fsFnWa+oJ9SASAEuG3aG+NvsT3lrtBF1FxP3I8EPpnb30J4G5tvpAOJY7NqEDw439pHQ4zqw4wlQwhShmSfREx/1HqDTE+/Rg8fZw19nj5pS+YMawFwn8AI6kmtlP5enzdhhSxpNuFHpqfVP1zMre8uQ8afxRCIT3Va49vEHGgPfXMp0VndoAStvpTjNIbE7xMvZDNsNdEwDW5fAZmffggTxRH72ZDGvZTzBROJgA+BG9gwrDphU/t6d5gNVlAEg0dSYYaUuJVSZsoXUASldDKTIIyNKOOl7+mn4QRk= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6d344b1-1e6e-4100-12a4-08dcb82b0349 X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2024 04:23:25.9005 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FPxlLvGOmbq9AhV4dbWxotOYBoaeQSdkVc6WxERNvqzY6M3lBnP8ch3Zj+TQGgRDgYR4KI0RadKeX8IvvAieOFrWbxQK33qKLrTtc1VjaJDJHG/cHwyRERobtOibDoSE X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB9639 X-LSpam-Score: -8.6 (--------) X-LSpam-Report: No, score=-8.6 required=5.0 tests=ARC_SIGNED=0.001,ARC_VALID=-0.1,BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,DMARC_PASS=-0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,RCVD_IN_VALIDITY_CERTIFIED=-3,RCVD_IN_VALIDITY_RPBL=1.31,RCVD_IN_VALIDITY_SAFE=-2,SPF_HELO_NONE=0.001,SPF_PASS=-0.001 autolearn=ham autolearn_force=no Now we can use new port related functions for port parsing. Use it. Signed-off-by: Kuninori Morimoto --- drivers/video/fbdev/omap2/omapfb/dss/dpi.c | 3 +- drivers/video/fbdev/omap2/omapfb/dss/dss-of.c | 66 ------------------- drivers/video/fbdev/omap2/omapfb/dss/dss.c | 9 +-- drivers/video/fbdev/omap2/omapfb/dss/sdi.c | 3 +- include/video/omapfb_dss.h | 8 --- 5 files changed, 9 insertions(+), 80 deletions(-) diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dpi.c b/drivers/video/fbdev/omap2/omapfb/dss/dpi.c index 7c1b7d89389a..395b1139a5ae 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/dpi.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/dpi.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -845,7 +846,7 @@ int dpi_init_port(struct platform_device *pdev, struct device_node *port) if (!dpi) return -ENOMEM; - ep = omapdss_of_get_next_endpoint(port, NULL); + ep = of_graph_get_next_port_endpoint(port, NULL); if (!ep) return 0; diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c index 4040e247e026..efb7d2e4ce85 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c @@ -15,72 +15,6 @@ #include "dss.h" -struct device_node * -omapdss_of_get_next_port(const struct device_node *parent, - struct device_node *prev) -{ - struct device_node *port = NULL; - - if (!parent) - return NULL; - - if (!prev) { - struct device_node *ports; - /* - * It's the first call, we have to find a port subnode - * within this node or within an optional 'ports' node. - */ - ports = of_get_child_by_name(parent, "ports"); - if (ports) - parent = ports; - - port = of_get_child_by_name(parent, "port"); - - /* release the 'ports' node */ - of_node_put(ports); - } else { - struct device_node *ports; - - ports = of_get_parent(prev); - if (!ports) - return NULL; - - do { - port = of_get_next_child(ports, prev); - if (!port) { - of_node_put(ports); - return NULL; - } - prev = port; - } while (!of_node_name_eq(port, "port")); - - of_node_put(ports); - } - - return port; -} -EXPORT_SYMBOL_GPL(omapdss_of_get_next_port); - -struct device_node * -omapdss_of_get_next_endpoint(const struct device_node *parent, - struct device_node *prev) -{ - struct device_node *ep = NULL; - - if (!parent) - return NULL; - - do { - ep = of_get_next_child(parent, prev); - if (!ep) - return NULL; - prev = ep; - } while (!of_node_name_eq(ep, "endpoint")); - - return ep; -} -EXPORT_SYMBOL_GPL(omapdss_of_get_next_endpoint); - struct device_node *dss_of_port_get_parent_device(struct device_node *port) { struct device_node *np; diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss.c b/drivers/video/fbdev/omap2/omapfb/dss/dss.c index d814e4baa4b3..5cab317011ee 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/dss.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -922,7 +923,7 @@ static int dss_init_ports(struct platform_device *pdev) if (parent == NULL) return 0; - port = omapdss_of_get_next_port(parent, NULL); + port = of_graph_get_next_port(parent, NULL); if (!port) return 0; @@ -953,7 +954,7 @@ static int dss_init_ports(struct platform_device *pdev) break; } } while (!ret && - (port = omapdss_of_get_next_port(parent, port)) != NULL); + (port = of_graph_get_next_port(parent, port)) != NULL); if (ret) dss_uninit_ports(pdev); @@ -969,7 +970,7 @@ static void dss_uninit_ports(struct platform_device *pdev) if (parent == NULL) return; - port = omapdss_of_get_next_port(parent, NULL); + port = of_graph_get_next_port(parent, NULL); if (!port) return; @@ -1000,7 +1001,7 @@ static void dss_uninit_ports(struct platform_device *pdev) default: break; } - } while ((port = omapdss_of_get_next_port(parent, port)) != NULL); + } while ((port = of_graph_get_next_port(parent, port)) != NULL); } static int dss_video_pll_probe(struct platform_device *pdev) diff --git a/drivers/video/fbdev/omap2/omapfb/dss/sdi.c b/drivers/video/fbdev/omap2/omapfb/dss/sdi.c index d527931b2b16..22a6243d7abf 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/sdi.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/sdi.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include