{"id":813139,"url":"http://patchwork.ozlabs.org/api/patches/813139/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20170913021751.9289-2-icenowy@aosc.io/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170913021751.9289-2-icenowy@aosc.io>","list_archive_url":null,"date":"2017-09-13T02:17:49","name":"[U-Boot,v3,1/3] video: sunxi: extract simplefb match code to a new file","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"b1565d47b7b319926e07c5f2a287851800fa14d5","submitter":{"id":71295,"url":"http://patchwork.ozlabs.org/api/people/71295/?format=json","name":"Icenowy Zheng","email":"icenowy@aosc.io"},"delegate":{"id":17739,"url":"http://patchwork.ozlabs.org/api/users/17739/?format=json","username":"jagan","first_name":"Jagannadha Sutradharudu","last_name":"Teki","email":"jagannadh.teki@gmail.com"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20170913021751.9289-2-icenowy@aosc.io/mbox/","series":[{"id":2799,"url":"http://patchwork.ozlabs.org/api/series/2799/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=2799","date":"2017-09-13T02:17:48","name":"Allwinner DE2 HDMI SimpleFB support","version":3,"mbox":"http://patchwork.ozlabs.org/series/2799/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/813139/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/813139/checks/","tags":{},"related":[],"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xsQPg5Bklz9sNr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 12:20:55 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 736AFC2215D; Wed, 13 Sep 2017 02:19:36 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 4F398C222EC;\n\tWed, 13 Sep 2017 02:19:34 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid D38D0C222F8; Wed, 13 Sep 2017 02:18:47 +0000 (UTC)","from cross.birch.relay.mailchannels.net\n\t(cross.birch.relay.mailchannels.net [23.83.209.46])\n\tby lists.denx.de (Postfix) with ESMTPS id 258EBC22256\n\tfor <u-boot@lists.denx.de>; Wed, 13 Sep 2017 02:18:41 +0000 (UTC)","from relay.mailchannels.net (localhost [127.0.0.1])\n\tby relay.mailchannels.net (Postfix) with ESMTP id 6D5478A82A9;\n\tWed, 13 Sep 2017 02:18:39 +0000 (UTC)","from hermes.aosc.io (unknown [100.96.129.245])\n\t(Authenticated sender: lmn-TZDUIOWCRQMW)\n\tby relay.mailchannels.net (Postfix) with ESMTPA id A36198A7C5C;\n\tWed, 13 Sep 2017 02:18:38 +0000 (UTC)","from hermes.aosc.io (hermes.aosc.io [172.20.88.133])\n\t(using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)\n\tby 0.0.0.0:2500 (trex/5.9.14); Wed, 13 Sep 2017 02:18:39 +0000","from localhost (localhost [127.0.0.1]) (Authenticated sender:\n\ticenowy@aosc.io)\n\tby hermes.aosc.io (Postfix) with ESMTPSA id 15E264720A;\n\tWed, 13 Sep 2017 02:18:34 +0000 (UTC)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_MSPIKE_H3,\n\tRCVD_IN_MSPIKE_WL autolearn=unavailable autolearn_force=no\n\tversion=3.4.0","X-Sender-Id":["lmn-tzduiowcrqmw|x-authsender|icenowy@aosc.io","lmn-tzduiowcrqmw|x-authsender|icenowy@aosc.io"],"X-MC-Relay":"Neutral","X-MailChannels-SenderId":"lmn-tzduiowcrqmw|x-authsender|icenowy@aosc.io","X-MailChannels-Auth-Id":"lmn-TZDUIOWCRQMW","X-Squirrel-Shoe":"077ae3e75dd97682_1505269119211_1152704517","X-MC-Loop-Signature":"1505269119211:2722729554","X-MC-Ingress-Time":"1505269119211","From":"Icenowy Zheng <icenowy@aosc.io>","To":"Maxime Ripard <maxime.ripard@free-electrons.com>,\n\tJagan Teki <jagan@openedev.com>","Date":"Wed, 13 Sep 2017 10:17:49 +0800","Message-Id":"<20170913021751.9289-2-icenowy@aosc.io>","In-Reply-To":"<20170913021751.9289-1-icenowy@aosc.io>","References":"<20170913021751.9289-1-icenowy@aosc.io>","Cc":"u-boot@lists.denx.de, linux-sunxi@googlegroups.com,\n\tIcenowy Zheng <icenowy@aosc.io>","Subject":"[U-Boot] [PATCH v3 1/3] video: sunxi: extract simplefb match code\n\tto a new file","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"},"content":"As the DE2 simplefb setup code can also benefit from the simplefb match\ncode, extract it to a new source file.\n\nSigned-off-by: Icenowy Zheng <icenowy@aosc.io>\nReviewed-by: Andre Przywara <andre.przywara@arm.com>\n---\nChanges in v3:\n- Use /** to start kerndoc.\n\n drivers/video/sunxi/Makefile          |  2 +-\n drivers/video/sunxi/simplefb_common.c | 29 +++++++++++++++++++++++++++++\n drivers/video/sunxi/simplefb_common.h | 22 ++++++++++++++++++++++\n drivers/video/sunxi/sunxi_display.c   | 13 ++-----------\n 4 files changed, 54 insertions(+), 12 deletions(-)\n create mode 100644 drivers/video/sunxi/simplefb_common.c\n create mode 100644 drivers/video/sunxi/simplefb_common.h","diff":"diff --git a/drivers/video/sunxi/Makefile b/drivers/video/sunxi/Makefile\nindex 0d64c2021f..10862edaca 100644\n--- a/drivers/video/sunxi/Makefile\n+++ b/drivers/video/sunxi/Makefile\n@@ -5,5 +5,5 @@\n # SPDX-License-Identifier:\tGPL-2.0+\n #\n \n-obj-$(CONFIG_VIDEO_SUNXI) += sunxi_display.o lcdc.o tve_common.o ../videomodes.o\n+obj-$(CONFIG_VIDEO_SUNXI) += sunxi_display.o simplefb_common.o lcdc.o tve_common.o ../videomodes.o\n obj-$(CONFIG_VIDEO_DE2) += sunxi_de2.o sunxi_dw_hdmi.o lcdc.o ../dw_hdmi.o\ndiff --git a/drivers/video/sunxi/simplefb_common.c b/drivers/video/sunxi/simplefb_common.c\nnew file mode 100644\nindex 0000000000..4823f13a0c\n--- /dev/null\n+++ b/drivers/video/sunxi/simplefb_common.c\n@@ -0,0 +1,29 @@\n+/*\n+ * Common code for Allwinner SimpleFB with pipeline.\n+ *\n+ * (C) Copyright 2014-2015 Hans de Goede <hdegoede@redhat.com>\n+ * (C) Copyright 2017 Icenowy Zheng <icenowy@aosc.io>\n+ *\n+ * SPDX-License-Identifier:\tGPL-2.0+\n+ */\n+\n+#include <fdtdec.h>\n+\n+int sunxi_simplefb_fdt_match(void *blob, const char *pipeline)\n+{\n+\tint offset, ret;\n+\n+\t/* Find a prefilled simpefb node, matching out pipeline config */\n+\toffset = fdt_node_offset_by_compatible(blob, -1,\n+\t\t\t\t\t       \"allwinner,simple-framebuffer\");\n+\twhile (offset >= 0) {\n+\t\tret = fdt_stringlist_search(blob, offset, \"allwinner,pipeline\",\n+\t\t\t\t\t    pipeline);\n+\t\tif (ret == 0)\n+\t\t\tbreak;\n+\t\toffset = fdt_node_offset_by_compatible(blob, offset,\n+\t\t\t\t\t       \"allwinner,simple-framebuffer\");\n+\t}\n+\n+\treturn offset;\n+}\ndiff --git a/drivers/video/sunxi/simplefb_common.h b/drivers/video/sunxi/simplefb_common.h\nnew file mode 100644\nindex 0000000000..1a2bfabf00\n--- /dev/null\n+++ b/drivers/video/sunxi/simplefb_common.h\n@@ -0,0 +1,22 @@\n+/*\n+ * (C) Copyright 2017 Icenowy Zheng <icenowy@aosc.io>\n+ *\n+ * SPDX-License-Identifier:\tGPL-2.0+\n+ */\n+\n+#ifndef __SIMPLEFB_COMMON_H\n+#define __SIMPLEFB_COMMON_H\n+\n+/**\n+ * sunxi_simplefb_fdt_match() - match a sunxi simplefb node\n+ *\n+ * Match a sunxi simplefb device node with a specified pipeline, and\n+ * return its offset.\n+ *\n+ * @blob: device tree blob\n+ * @pipeline: display pipeline\n+ * @return device node offset in blob, or negative values if failed\n+ */\n+int sunxi_simplefb_fdt_match(void *blob, const char *pipeline);\n+\n+#endif\ndiff --git a/drivers/video/sunxi/sunxi_display.c b/drivers/video/sunxi/sunxi_display.c\nindex de768ba94a..7f25ed5f26 100644\n--- a/drivers/video/sunxi/sunxi_display.c\n+++ b/drivers/video/sunxi/sunxi_display.c\n@@ -29,6 +29,7 @@\n #include \"../anx9804.h\"\n #include \"../hitachi_tx18d42vm_lcd.h\"\n #include \"../ssd2828.h\"\n+#include \"simplefb_common.h\"\n \n #ifdef CONFIG_VIDEO_LCD_BL_PWM_ACTIVE_LOW\n #define PWM_ON 0\n@@ -1377,17 +1378,7 @@ int sunxi_simplefb_setup(void *blob)\n \t\tbreak;\n \t}\n \n-\t/* Find a prefilled simpefb node, matching out pipeline config */\n-\toffset = fdt_node_offset_by_compatible(blob, -1,\n-\t\t\t\t\t       \"allwinner,simple-framebuffer\");\n-\twhile (offset >= 0) {\n-\t\tret = fdt_stringlist_search(blob, offset, \"allwinner,pipeline\",\n-\t\t\t\t\t    pipeline);\n-\t\tif (ret == 0)\n-\t\t\tbreak;\n-\t\toffset = fdt_node_offset_by_compatible(blob, offset,\n-\t\t\t\t\t       \"allwinner,simple-framebuffer\");\n-\t}\n+\toffset = sunxi_simplefb_fdt_match(blob, pipeline);\n \tif (offset < 0) {\n \t\teprintf(\"Cannot setup simplefb: node not found\\n\");\n \t\treturn 0; /* Keep older kernels working */\n","prefixes":["U-Boot","v3","1/3"]}