Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3203999pxk; Mon, 21 Sep 2020 07:48:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyxXMCby7iu29R6DQtEpt8CdDcWwHZrKZM1uyZeLhwJzy/E46pB3Y8qQhTFCdXE5gJwe3yB X-Received: by 2002:a50:fb98:: with SMTP id e24mr31499edq.130.1600699735356; Mon, 21 Sep 2020 07:48:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600699735; cv=none; d=google.com; s=arc-20160816; b=uJHFgPGXFvsmkUgorBgja2pV25pWXpwbiX3u10whqgbuyMLE2ZKquCn8EbvHs6BNWQ 5nALTmrnRtz1x72NryDrk+Mxp3WCZpDdt6R4rc5Qo43Xo4lVtkO5mESP+J2x/XOYj/eB YW5UUXlpKL1148hVuV9JjHUb+7NXJ3LCuFrUNo6gf1ojW5OE7BIFvJzGvvtTJvJLte03 uV/bdNmV11cy8Nn7DL5i4b/EJZeu7pFY3vRiKBaX24VGuQRZ5YL/EwUrCaZp9O94OZxx DpNVjl7CWKpDkEhuiYZzDd8pbFj4CxwzO5bposvkaIaMag3lzYJM/dUIwjeXzOJAHTG0 brnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=yQEz2b7lrxtYXk3NK02yJt+l5KoAwrP3loXtlS/e83U=; b=ZvHRdbCK9Sf7yZVmm43uCIdKp7oiBtYbGkUKz5/m4yVdB89aS/NdqH5ZiR/C8WzkdD NuNpxhdZJpQt0jZwHFkjOHDrZOaliIAz6ZmjiyDlrEirbSug0DdQ3c5SS8UBpwlkO7Qp cyf0VhymigqZ39f/C4BjHv1u6LTT9Eg7GWGiPOam+nWff9vtl43yS9S2gaGSTjsOBQOz Yr8MPnMcHrFUSc1Jc0SfmL+9Lv0kwc0AbLwu45f0yHlY6Q512c5P54WpCWqxpydUzgPW /2d/UCNlofKLJusQiPDhDMeosugCB1Glb3R7pPeKKQWugMkuub6swB8dTc+HasL9Y/sC mYqg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lr3si9270432ejb.744.2020.09.21.07.48.30; Mon, 21 Sep 2020 07:48:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727378AbgIUOrh (ORCPT + 99 others); Mon, 21 Sep 2020 10:47:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44246 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727219AbgIUOrh (ORCPT ); Mon, 21 Sep 2020 10:47:37 -0400 Received: from smtp1.goneo.de (smtp1.goneo.de [IPv6:2001:1640:5::8:30]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23BA4C061755 for ; Mon, 21 Sep 2020 07:47:36 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.goneo.de (Postfix) with ESMTP id 9BCC223F03F; Mon, 21 Sep 2020 16:47:33 +0200 (CEST) X-Virus-Scanned: by goneo X-Spam-Flag: NO X-Spam-Score: -3.012 X-Spam-Level: X-Spam-Status: No, score=-3.012 tagged_above=-999 tests=[ALL_TRUSTED=-1, AWL=-0.112, BAYES_00=-1.9] autolearn=ham Received: from smtp1.goneo.de ([127.0.0.1]) by localhost (smtp1.goneo.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MVJH7DocHExI; Mon, 21 Sep 2020 16:47:32 +0200 (CEST) Received: from lem-wkst-02.lemonage.de. (hq.lemonage.de [87.138.178.34]) by smtp1.goneo.de (Postfix) with ESMTPA id F3B3D23F0E6; Mon, 21 Sep 2020 16:47:31 +0200 (CEST) From: poeschel@lemonage.de To: Miguel Ojeda Sandonis , Willy Tarreau , Ksenija Stanojevic , linux-kernel@vger.kernel.org Cc: Lars Poeschel Subject: [PATCH v2 00/33] Make charlcd device independent Date: Mon, 21 Sep 2020 16:46:12 +0200 Message-Id: <20200921144645.2061313-1-poeschel@lemonage.de> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20191016082430.5955-1-poeschel@lemonage.de> References: <20191016082430.5955-1-poeschel@lemonage.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Lars Poeschel This tries to make charlcd device independent. At the moment hd44780 device specific code is contained deep in charlcd. This moves this out into a hd44780_common module, where the two hd44780 drivers we have at the moment (hd44780 and panel) can use this from. The goal is that at the end other drivers can use the charlcd interface. I add one such driver at the end with the last patch. I submitted this already some time ago [1], where the wish was so split this into smaller chunks what I try to do with this new patchset. Most of the patches pick one specific function in charlcd and move the device specific code into hd44780_common. [1] https://marc.info/?l=linux-kernel&m=157121432124507 Lars Poeschel (33): auxdisplay: Use an enum for charlcd backlight on/off ops auxdisplay: Introduce hd44780_common.[ch] auxdisplay: Move hwidth and bwidth to struct hd44780_common auxdisplay: Move ifwidth to struct hd44780_common auxdisplay: Move write_data pointer to hd44780_common auxdisplay: Move write_cmd pointers to hd44780 drivers auxdisplay: Move addr out of charlcd_priv auxdisplay: hd44780_common_print auxdisplay: provide hd44780_common_gotoxy auxdisplay: add home to charlcd_ops auxdisplay: Move clear_display to hd44780_common auxdisplay: make charlcd_backlight visible to hd44780_common auxdisplay: Make use of enum for backlight on / off auxdisplay: Move init_display to hd44780_common auxdisplay: implement hd44780_common_shift_cursor auxdisplay: Implement hd44780_common_display_shift auxdisplay: Implement a hd44780_common_display auxdisplay: Implement hd44780_common_cursor auxdisplay: Implement hd44780_common_blink auxdisplay: cleanup unnecessary hd44780 code in charlcd auxdisplay: Implement hd44780_common_fontsize auxdisplay: Implement hd44780_common_lines auxdisplay: Remove unnecessary hd44780 from charlcd auxdisplay: Move char redefine code to hd44780_common auxdisplay: Call charlcd_backlight in place auxdisplay: Move clear_fast to hd44780 auxdisplay: remove naive display clear impl auxdisplay: hd44780: Remove clear_fast auxdisplay: charlcd: replace last device specific stuff auxdisplay: Change gotoxy calling interface auxdisplay: charlcd: Do not print chars at end of line auxdisplay: lcd2s DT binding doc auxdisplay: add a driver for lcd2s character display .../bindings/auxdisplay/modtronix,lcd2s.yaml | 55 +++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + drivers/auxdisplay/Kconfig | 31 ++ drivers/auxdisplay/Makefile | 2 + drivers/auxdisplay/charlcd.c | 406 +++++------------ drivers/auxdisplay/charlcd.h | 86 +++- drivers/auxdisplay/hd44780.c | 120 +++-- drivers/auxdisplay/hd44780_common.c | 367 ++++++++++++++++ drivers/auxdisplay/hd44780_common.h | 34 ++ drivers/auxdisplay/lcd2s.c | 409 ++++++++++++++++++ drivers/auxdisplay/panel.c | 125 ++++-- 11 files changed, 1254 insertions(+), 383 deletions(-) create mode 100644 Documentation/devicetree/bindings/auxdisplay/modtronix,lcd2s.yaml create mode 100644 drivers/auxdisplay/hd44780_common.c create mode 100644 drivers/auxdisplay/hd44780_common.h create mode 100644 drivers/auxdisplay/lcd2s.c -- 2.28.0