[PATCH v2 5/6] auxdisplay: add support for Titanmec TM1628 7 segment display controller

Geert Uytterhoeven geert at linux-m68k.org
Tue Feb 22 00:19:36 PST 2022


Hi Heiner,

On Mon, Feb 21, 2022 at 9:26 PM Heiner Kallweit <hkallweit1 at gmail.com> wrote:
> This patch adds support for the Titanmec TM1628 7 segment display
> controller. It's based on previous RFC work from Andreas Färber.
> The RFC version placed the driver in the LED subsystem, but this was
> NAK'ed by the LED maintainer. Therefore I moved the driver to
> /drivers/auxdisplay what seems most reasonable to me.
>
> Further changes to the RFC version:
> - Driver can be built also w/o LED class support, for displays that
>   don't have any symbols to be exposed as LED's.
> - Simplified the code and rewrote a lot of it.
> - Driver is now kind of a MVP, but functionality should be sufficient
>   for most use cases.
> - Use the existing 7 segment support in uapi/linux/map_to_7segment.h
>   as suggested by Geert Uytterhoeven.
>
> Note: There's a number of chips from other manufacturers that are
>       almost identical, e.g. FD628, SM1628. Only difference I saw so
>       far is that they partially support other display modes.
>       TM1628: 6x12, 7x11
>       SM1628C: 4x13, 5x12, 6x11, 7x10
>       For typical displays on devices using these chips this
>       difference shouldn't matter.
>
> Successfully tested on a TX3 Mini TV box that has an SM1628C and a
> display with 4 digits and 7 symbols.
>
> Tested-by: Christian Hewitt <christianshewitt at gmail.com>
> Signed-off-by: Andreas Färber <afaerber at suse.de>
> Signed-off-by: Heiner Kallweit <hkallweit1 at gmail.com>

Thanks for your patch!

> --- /dev/null
> +++ b/drivers/auxdisplay/tm1628.c

> +static int tm1628_show_text(struct tm1628 *s)
> +{
> +       static SEG7_CONVERSION_MAP(map_seg7, MAP_ASCII7SEG_ALPHANUM);

This mapping can not be overridden by the user.  Is there any
specific reason you didn't make the mapping configurable from sysfs,
cfr. map_seg7_{show,store}() in include/uapi/linux/map_to_7segment.h?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-amlogic mailing list