mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Lars Poeschel <poeschel@lemonage.de>
To: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: Willy Tarreau <willy@haproxy.com>,
	Ksenija Stanojevic <ksenija.stanojevic@gmail.com>,
	open list <linux-kernel@vger.kernel.org>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: Re: [PATCH 1/3] auxdisplay: Make charlcd.[ch] more general
Date: Thu, 17 Oct 2019 10:07:41 +0200	[thread overview]
Message-ID: <20191017080741.GA17556@lem-wkst-02.lemonage> (raw)
In-Reply-To: <CANiq72=uXWpEWHixM+wwyxZfzQ41WYvQsoV8B3+JLRharDjC0w@mail.gmail.com>

On Wed, Oct 16, 2019 at 06:53:20PM +0200, Miguel Ojeda wrote:
> On Wed, Oct 16, 2019 at 10:24 AM Lars Poeschel <poeschel@lemonage.de> wrote:
> >
> > charlcd.c contains lots of hd44780 hardware specific stuff. It is nearly
> > impossible to reuse the interface for other character based displays.
> > The current users of charlcd are the hd44780 and the panel drivers.
> > This does factor out the hd44780 specific stuff out of charlcd into a
> > new module called hd44780_common.
> > charlcd gets rid of the hd44780 specfics and more generally useable.
> > The hd44780 and panel drivers are modified to use the new
> > hd44780_common.
> > This is tested on a hd44780 connected through the gpios of a pcf8574.
> >
> > Signed-off-by: Lars Poeschel <poeschel@lemonage.de>
> > ---
> >  drivers/auxdisplay/Kconfig          |  16 +
> >  drivers/auxdisplay/Makefile         |   1 +
> >  drivers/auxdisplay/charlcd.c        | 591 ++++++++--------------------
> >  drivers/auxdisplay/charlcd.h        | 109 ++++-
> >  drivers/auxdisplay/hd44780.c        | 121 ++++--
> >  drivers/auxdisplay/hd44780_common.c | 370 +++++++++++++++++
> >  drivers/auxdisplay/hd44780_common.h |  32 ++
> >  drivers/auxdisplay/panel.c          | 178 ++++-----
> >  8 files changed, 851 insertions(+), 567 deletions(-)
> 
> Thanks Lars, CC'ing Geert since he wrote a large portion of this, as
> well as Andy.
> 
> From a cursory look (sorry, not doing it inline since it is a pain to
> edit in this UI given the size...):

I am okay with this. I know, what you are talking about, since I know
the code very well. But maybe it is a bit harder to follow for others.

>   * panel.c doesn't compile since lcd_backlight's return type did not
> get updated, which makes me uneasy. I am not sure why you changed the
> return type anyway, since callers ignore it and callees always return
> 0.

That panel.c doesn't compile is of course a no-go. Sorry. I missed
something and I will fix this in a next version of the patch. But before
submitting a next version, I will wait some time, if there is more
feedback.
The idea with changing the return types: It seems a bit, that with this
patch charlcd is becoming more of an universal interface and maybe more
display backends get added - maybe with displays, that can report
failure of operations. And I thought, it will be better to have this
earlier and have the "interface" stable and more uniform. But you are
the maintainer. If you don't like the changed return types I happily
revert back to the original ones in the next version of the patch.

>   * Declared and then immediately defined hd44780_common in the header...?

This is not intended. I'll change it.

>   * Some things (e.g. the addition of enums like charlcd_onoff) seem
> like could have been done other patches (since they are not really
> related to the reorganization).

I can split this out into separate patches. It'd be good know what else
you mean by "some things" so I can do this as well. Do you want each
enum as a separate patch or one big enum patch ?

>   * From checkpatch.pl: DOS line endings and trailing whitespace

Strange. I did indeed checkpatch.pl the patches before submitting and I
got no complaints about whitespace or line endings. There was "WARNING:
added, moved or deleted file(s), does MAINTAINERS need updating?" and
patch 1 also has "WARNING: please write a paragraph that describes the
config symbol fully". I submitted the patches with git send-email so it
is very unlikely, that the mailer messed up the patches. Strange...
Oh by the way: Do you know what I can do to make checkpatch happy with
its describing of the config symbol ? I tried writing a help paragraph
for the config symbols in Kconfig, but that did not help.

> I am not capable of testing this, so extra testing by anyone who has
> the different hardware affected around is very welcome.

Are you able to test the panel driver ?

Thank you for your prompt feedback!

Lars

  reply	other threads:[~2019-10-17  8:07 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-16  8:24 Lars Poeschel
2019-10-16  8:26 ` [PATCH 2/3] auxdisplay: lcd2s DT binding doc Lars Poeschel
2019-10-29  1:24   ` Rob Herring
2019-10-16  8:27 ` [PATCH 3/3] auxdisplay: add a driver for lcd2s character display Lars Poeschel
2019-10-16 16:53 ` [PATCH 1/3] auxdisplay: Make charlcd.[ch] more general Miguel Ojeda
2019-10-17  8:07   ` Lars Poeschel [this message]
2019-10-17 11:26     ` Andy Shevchenko
2019-10-18 15:08     ` Miguel Ojeda
2019-10-18 15:33       ` Joe Perches
2019-10-18 21:55         ` Andi Kleen
2020-09-21 14:46 ` [PATCH v2 00/33] Make charlcd device independent poeschel
2020-09-21 14:46   ` [PATCH v2 01/32] auxdisplay: Use an enum for charlcd backlight on/off ops poeschel
2020-09-21 14:46   ` [PATCH v2 02/32] auxdisplay: Introduce hd44780_common.[ch] poeschel
2020-09-21 15:30     ` Randy Dunlap
2020-09-21 14:46   ` [PATCH v2 03/32] auxdisplay: Move hwidth and bwidth to struct hd44780_common poeschel
2020-09-21 14:46   ` [PATCH v2 04/32] auxdisplay: Move ifwidth " poeschel
2020-09-21 14:46   ` [PATCH v2 05/32] auxdisplay: Move write_data pointer to hd44780_common poeschel
2020-09-21 14:46   ` [PATCH v2 06/32] auxdisplay: Move write_cmd pointers to hd44780 drivers poeschel
2020-09-21 14:46   ` [PATCH v2 07/32] auxdisplay: Move addr out of charlcd_priv poeschel
2020-09-21 14:46   ` [PATCH v2 08/32] auxdisplay: hd44780_common_print poeschel
2020-09-21 14:46   ` [PATCH v2 09/32] auxdisplay: provide hd44780_common_gotoxy poeschel
2020-09-21 14:46   ` [PATCH v2 10/32] auxdisplay: add home to charlcd_ops poeschel
2020-09-21 14:46   ` [PATCH v2 11/32] auxdisplay: Move clear_display to hd44780_common poeschel
2020-09-21 14:46   ` [PATCH v2 12/32] auxdisplay: make charlcd_backlight visible " poeschel
2020-09-21 14:46   ` [PATCH v2 13/32] auxdisplay: Make use of enum for backlight on / off poeschel
2020-09-21 14:46   ` [PATCH v2 14/32] auxdisplay: Move init_display to hd44780_common poeschel
2020-09-21 14:46   ` [PATCH v2 15/32] auxdisplay: implement hd44780_common_shift_cursor poeschel
2020-09-21 14:46   ` [PATCH v2 16/32] auxdisplay: Implement hd44780_common_display_shift poeschel
2020-09-21 14:46   ` [PATCH v2 17/32] auxdisplay: Implement a hd44780_common_display poeschel
2020-09-21 14:46   ` [PATCH v2 18/32] auxdisplay: Implement hd44780_common_cursor poeschel
2020-09-21 14:46   ` [PATCH v2 19/32] auxdisplay: Implement hd44780_common_blink poeschel
2020-09-21 14:46   ` [PATCH v2 20/32] auxdisplay: cleanup unnecessary hd44780 code in charlcd poeschel
2020-09-21 14:46   ` [PATCH v2 21/32] auxdisplay: Implement hd44780_common_fontsize poeschel
2020-09-21 14:46   ` [PATCH v2 22/32] auxdisplay: Implement hd44780_common_lines poeschel
2020-09-21 14:46   ` [PATCH v2 23/32] auxdisplay: Remove unnecessary hd44780 from charlcd poeschel
2020-09-21 14:46   ` [PATCH v2 24/32] auxdisplay: Move char redefine code to hd44780_common poeschel
2020-09-21 14:46   ` [PATCH v2 25/32] auxdisplay: Call charlcd_backlight in place poeschel
2020-09-21 14:46   ` [PATCH v2 26/32] auxdisplay: Move clear_fast to hd44780 poeschel
2020-09-21 14:46   ` [PATCH v2 27/32] auxdisplay: remove naive display clear impl poeschel
2020-09-21 14:46   ` [PATCH v2 28/32] auxdisplay: hd44780: Remove clear_fast poeschel
2020-09-22  5:22     ` Willy Tarreau
2020-09-22  8:49       ` Lars Poeschel
2020-09-22  9:21         ` Willy Tarreau
2020-09-22 11:51           ` Lars Poeschel
2020-09-21 14:46   ` [PATCH v2 29/32] auxdisplay: charlcd: replace last device specific stuff poeschel
2020-09-21 14:46   ` [PATCH v2 30/32] auxdisplay: Change gotoxy calling interface poeschel
2020-09-21 14:46   ` [PATCH v2 31/32] auxdisplay: charlcd: Do not print chars at end of line poeschel
2020-09-22  5:27     ` Willy Tarreau
2020-09-22  9:44       ` Lars Poeschel
2020-09-22 10:04         ` Willy Tarreau
2020-09-22 10:20           ` Miguel Ojeda
2020-09-22 11:51             ` Lars Poeschel
2020-09-21 14:46   ` [PATCH v2 32/32] auxdisplay: lcd2s DT binding doc poeschel
2020-09-22 15:58     ` Rob Herring
2020-10-02 13:45       ` Lars Poeschel
2020-09-21 14:46   ` [PATCH v2 33/33] auxdisplay: add a driver for lcd2s character display poeschel
2020-09-21 15:33     ` Randy Dunlap
2020-10-02 12:42     ` Pavel Machek
2020-10-02 13:15       ` Lars Poeschel
2020-09-22  5:31   ` [PATCH v2 00/33] Make charlcd device independent Willy Tarreau
2020-09-22 10:23   ` Miguel Ojeda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191017080741.GA17556@lem-wkst-02.lemonage \
    --to=poeschel@lemonage.de \
    --cc=andy.shevchenko@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=geert@linux-m68k.org \
    --cc=ksenija.stanojevic@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miguel.ojeda.sandonis@gmail.com \
    --cc=willy@haproxy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®