linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Pavel Machek <pavel@ucw.cz>
Cc: Robin van der Gracht <robin@protonic.nl>,
	Rob Herring <robh+dt@kernel.org>, Miguel Ojeda <ojeda@kernel.org>,
	Paul Burton <paulburton@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>,
	"open list:BROADCOM NVRAM DRIVER" <linux-mips@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-leds <linux-leds@vger.kernel.org>,
	Dan Murphy <dmurphy@ti.com>
Subject: Re: [PATCH 17/17] auxdisplay: ht16k33: Add segment display LED support
Date: Wed, 24 Mar 2021 09:31:13 +0100	[thread overview]
Message-ID: <CAMuHMdVF30BCA-7vCiwmKO6KVFhtNLbL+VEW59oxcAfwJ+jXyg@mail.gmail.com> (raw)
In-Reply-To: <20210323204038.GA10002@duo.ucw.cz>

Hi Pavel,

On Tue, Mar 23, 2021 at 9:40 PM Pavel Machek <pavel@ucw.cz> wrote:
> > CC linux-leds (which I intended, but forgot to add)
> >
> > cover letter at
> > https://lore.kernel.org/linux-devicetree/20210322144848.1065067-1-geert@linux-m68k.org/
>
> Still does not tell me... riscv on fpga with 4 character display. What
> is this? :-).

https://gregdavill.github.io/OrangeCrab/r0.2/
https://github.com/litex-hub/linux-on-litex-vexriscv
https://www.adafruit.com/product/3130

> > On Tue, Mar 23, 2021 at 11:08 AM Robin van der Gracht <robin@protonic.nl> wrote:
> > > On 2021-03-22 15:48, Geert Uytterhoeven wrote:
> > > > Instantiate a single LED for a segment display.  This allows the user
> > > > to
> > > > control display brightness and blinking through the LED class API and
> > > > triggers, and exposes the display color.
> > > >
> > > > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> > > > ---
> > > > For setting display brightness, this could use the existing backlight
> > > > support for frame buffer devices instantiated for dot-matrix displays.
> > > > However, using the leds subsystem instead has the advantage that the
> > > > driver can make use of the HT16K33's hardware blinking support, and can
> > > > expose the display color.
>
> We have multicolor support now...

The color is fixed by the LED color, so there is no need for multicolor
(yet, one day someone might connect RGB 7-segment LED displays
(https://www.rgbdigit.com/rgbdigit/ ;-)

> > > > -     err = ht16k33_brightness_set(priv, MAX_BRIGHTNESS);
> > > > +     of_property_read_u32(node, "color", &color);
> > > > +     seg->led.name = devm_kasprintf(dev, GFP_KERNEL,
> > > > +                     DRIVER_NAME ":%s:" LED_FUNCTION_BACKLIGHT,
> > > > +                     color < LED_COLOR_ID_MAX ? led_colors[color] : "");
>
> And would prefer not to see driver_name as part of LED name.

OK. So what should I use instead? Or just leave the part before the
first colon empty?

> > > > +     err = ht16k33_brightness_set(priv, seg->led.brightness);
> > > >       if (err)
> > > >               return err;
> > >
> > > The LED class can pretty much do what the backlight class can and more.
> > >
> > > Maybe we can stop registering a backlight device in the fbdev case and
> > > register a led device for both. This makes the code cleaner and drops
> > > a dependency but will break backwards compatibility.
> > >
> > > I'd prefer a single solution that covers both use cases, but I'm not
> > > sure about the 'breaking backwards compatibility' consequence...
>
> For new drivers, breaking compatibility should not be a problem.

The dot-matrix support is part of the existing driver, thus subject to
backwards compatibility.
Perhaps we can register the LED device for both, and build the backlight
device on top of the LED device, like "led-backlight" does.  Would that
work? Or can't the LED no longer be controlled from sysfs (e.g.
triggers) if it is in use by a backlight driver?

Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@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

  reply	other threads:[~2021-03-24  8:32 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22 14:48 [PATCH 00/17] auxdisplay: ht16k33: Add character display support Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 01/17] uapi: Add <linux/map_to_14segment.h> Geert Uytterhoeven
2021-03-22 17:05   ` Miguel Ojeda
2021-03-22 17:51     ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 02/17] dt-bindings: auxdisplay: ht16k33: Document Adafruit segment displays Geert Uytterhoeven
2021-03-22 17:38   ` Rob Herring
2021-03-23  9:12   ` robin
2021-05-18 14:35     ` Geert Uytterhoeven
2021-05-19 10:37       ` Robin van der Gracht
2021-05-19 11:02         ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 03/17] auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 04/17] auxdisplay: img-ascii-lcd: Add helper variable dev Geert Uytterhoeven
2021-03-22 16:59   ` Miguel Ojeda
2021-03-22 17:53     ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 05/17] auxdisplay: img-ascii-lcd: Convert device attribute to sysfs_emit() Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 06/17] auxdisplay: Extract character line display core support Geert Uytterhoeven
2021-03-23  8:18   ` robin
2021-03-23  8:52     ` Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 07/17] auxdisplay: linedisp: Use kmemdup_nul() helper Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 08/17] auxdisplay: linedisp: Add support for changing scroll rate Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 09/17] auxdisplay: ht16k33: Use HT16K33_FB_SIZE in ht16k33_initialize() Geert Uytterhoeven
2021-03-23  7:59   ` robin
2021-03-22 14:48 ` [PATCH 10/17] auxdisplay: ht16k33: Remove unneeded error check in keypad probe() Geert Uytterhoeven
2021-03-23  8:08   ` robin
2021-03-22 14:48 ` [PATCH 11/17] auxdisplay: ht16k33: Convert to simple i2c probe function Geert Uytterhoeven
2021-03-23  8:31   ` robin
2021-03-22 14:48 ` [PATCH 12/17] auxdisplay: ht16k33: Add helper variable dev Geert Uytterhoeven
2021-03-23  8:57   ` robin
2021-03-22 14:48 ` [PATCH 13/17] auxdisplay: ht16k33: Move delayed work Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 14/17] auxdisplay: ht16k33: Extract ht16k33_brightness_set() Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 15/17] auxdisplay: ht16k33: Extract frame buffer probing Geert Uytterhoeven
2021-03-22 14:48 ` [PATCH 16/17] auxdisplay: ht16k33: Add support for segment displays Geert Uytterhoeven
2021-03-29  7:08   ` Robin van der Gracht
2021-03-29  7:15     ` Geert Uytterhoeven
2021-03-29  7:30       ` Robin van der Gracht
2021-03-22 14:48 ` [PATCH 17/17] auxdisplay: ht16k33: Add segment display LED support Geert Uytterhoeven
2021-03-23 10:08   ` Robin van der Gracht
2021-03-23 12:32     ` Geert Uytterhoeven
2021-03-23 20:40       ` Pavel Machek
2021-03-24  8:31         ` Geert Uytterhoeven [this message]
2021-03-27 22:19           ` Pavel Machek
2021-06-25 12:39           ` Geert Uytterhoeven
2021-03-22 17:03 ` [PATCH 00/17] auxdisplay: ht16k33: Add character display support 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=CAMuHMdVF30BCA-7vCiwmKO6KVFhtNLbL+VEW59oxcAfwJ+jXyg@mail.gmail.com \
    --to=geert@linux-m68k.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmurphy@ti.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=ojeda@kernel.org \
    --cc=paulburton@kernel.org \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    --cc=robin@protonic.nl \
    /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;
as well as URLs for NNTP newsgroup(s).