All of lore.kernel.org
 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: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-16  8:24 [PATCH 1/3] auxdisplay: Make charlcd.[ch] more general 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-22  6:31     ` kernel test robot
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.