On Wed, Oct 16, 2019 at 10:24 AM Lars Poeschel <poesc...@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 <poesc...@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...): * 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. * Declared and then immediately defined hd44780_common in the header...? * 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). * From checkpatch.pl: DOS line endings and trailing whitespace I am not capable of testing this, so extra testing by anyone who has the different hardware affected around is very welcome. Cheers, Miguel