[PATCH v1 00/15] auxdisplay: linedisp: Clean up and add new driver

Andy Shevchenko posted 15 patches 2 years ago
There is a newer version of this series
.../bindings/auxdisplay/maxim,max6959.yaml    |  35 +++
drivers/auxdisplay/Kconfig                    |  40 ++--
drivers/auxdisplay/Makefile                   |  13 +-
drivers/auxdisplay/ht16k33.c                  | 145 +++++--------
drivers/auxdisplay/img-ascii-lcd.c            |  24 ++-
drivers/auxdisplay/line-display.c             | 162 ++++++++++++--
drivers/auxdisplay/line-display.h             |  57 ++++-
drivers/auxdisplay/max6959.c                  | 200 ++++++++++++++++++
8 files changed, 530 insertions(+), 146 deletions(-)
create mode 100644 Documentation/devicetree/bindings/auxdisplay/maxim,max6959.yaml
create mode 100644 drivers/auxdisplay/max6959.c
[PATCH v1 00/15] auxdisplay: linedisp: Clean up and add new driver
Posted by Andy Shevchenko 2 years ago
Add a new initial driver for Maxim MAX6958/6959 chips.
While developing that driver I realised that there is a lot
of duplication between ht16k33 and a new one. Hence set of
cleanups and refactorings.

Note, the new driver has minimum support of the hardware and
I have plans to cover more features in the future.

Andy Shevchenko (15):
  auxdisplay: img-ascii-lcd: Make container_of() no-op for struct
    linedisp
  auxdisplay: linedisp: Free allocated resources in ->release()
  auxdisplay: linedisp: Use unique number for id
  auxdisplay: linedisp: Unshadow error codes in ->store()
  auxdisplay: linedisp: Add missing header(s)
  auxdisplay: linedisp: Move exported symbols to a namespace
  auxdisplay: linedisp: Group line display drivers together
  auxdisplay: linedisp: Provide struct linedisp_ops for future extension
  auxdisplay: linedisp: Add support for overriding character mapping
  auxdisplay: linedisp: Provide a small buffer in the struct linedisp
  auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
  auxdisplay: ht16k33: Switch to use line display character mapping
  auxdisplay: ht16k33: Use buffer from struct linedisp
  dt-bindings: auxdisplay: Add Maxim MAX6958/6959
  auxdisplay: Add driver for MAX695x 7-segment LED controllers

 .../bindings/auxdisplay/maxim,max6959.yaml    |  35 +++
 drivers/auxdisplay/Kconfig                    |  40 ++--
 drivers/auxdisplay/Makefile                   |  13 +-
 drivers/auxdisplay/ht16k33.c                  | 145 +++++--------
 drivers/auxdisplay/img-ascii-lcd.c            |  24 ++-
 drivers/auxdisplay/line-display.c             | 162 ++++++++++++--
 drivers/auxdisplay/line-display.h             |  57 ++++-
 drivers/auxdisplay/max6959.c                  | 200 ++++++++++++++++++
 8 files changed, 530 insertions(+), 146 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/auxdisplay/maxim,max6959.yaml
 create mode 100644 drivers/auxdisplay/max6959.c

-- 
2.43.0.rc1.1.gbec44491f096
Re: [PATCH v1 00/15] auxdisplay: linedisp: Clean up and add new driver
Posted by Conor Dooley 2 years ago
On Thu, Feb 08, 2024 at 06:58:43PM +0200, Andy Shevchenko wrote:
> Add a new initial driver for Maxim MAX6958/6959 chips.
> While developing that driver I realised that there is a lot
> of duplication between ht16k33 and a new one. Hence set of
> cleanups and refactorings.
> 
> Note, the new driver has minimum support of the hardware and
> I have plans to cover more features in the future.
> 
> Andy Shevchenko (15):
>   auxdisplay: img-ascii-lcd: Make container_of() no-op for struct
>     linedisp
>   auxdisplay: linedisp: Free allocated resources in ->release()
>   auxdisplay: linedisp: Use unique number for id
>   auxdisplay: linedisp: Unshadow error codes in ->store()
>   auxdisplay: linedisp: Add missing header(s)
>   auxdisplay: linedisp: Move exported symbols to a namespace
>   auxdisplay: linedisp: Group line display drivers together
>   auxdisplay: linedisp: Provide struct linedisp_ops for future extension
>   auxdisplay: linedisp: Add support for overriding character mapping
>   auxdisplay: linedisp: Provide a small buffer in the struct linedisp
>   auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
>   auxdisplay: ht16k33: Switch to use line display character mapping
>   auxdisplay: ht16k33: Use buffer from struct linedisp
>   dt-bindings: auxdisplay: Add Maxim MAX6958/6959
>   auxdisplay: Add driver for MAX695x 7-segment LED controllers

Not all of these patches have made their way to the lists FYI:
2024-02-08 16:58 Andy Shevchenko [this message]
2024-02-08 16:58 ` [PATCH v1 01/15] auxdisplay: img-ascii-lcd: Make container_of() no-op for struct linedisp Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 02/15] auxdisplay: linedisp: Free allocated resources in ->release() Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 03/15] auxdisplay: linedisp: Use unique number for id Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 06/15] auxdisplay: linedisp: Move exported symbols to a namespace Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 07/15] auxdisplay: linedisp: Group line display drivers together Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 08/15] auxdisplay: linedisp: Provide struct linedisp_ops for future extension Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 09/15] auxdisplay: linedisp: Add support for overriding character mapping Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 10/15] auxdisplay: linedisp: Provide a small buffer in the struct linedisp Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 14/15] dt-bindings: auxdisplay: Add Maxim MAX6958/6959 Andy Shevchenko
2024-02-08 16:58 ` [PATCH v1 15/15] auxdisplay: Add driver for MAX695x 7-segment LED controllers Andy Shevchenko
https://lore.kernel.org/all/20240208165937.2221193-1-andriy.shevchenko@linux.intel.com/

Cheers,
Conor.
Re: [PATCH v1 00/15] auxdisplay: linedisp: Clean up and add new driver
Posted by Geert Uytterhoeven 1 year, 12 months ago
On Thu, Feb 8, 2024 at 6:52 PM Conor Dooley <conor@kernel.org> wrote:
> On Thu, Feb 08, 2024 at 06:58:43PM +0200, Andy Shevchenko wrote:
> > Add a new initial driver for Maxim MAX6958/6959 chips.
> > While developing that driver I realised that there is a lot
> > of duplication between ht16k33 and a new one. Hence set of
> > cleanups and refactorings.
> >
> > Note, the new driver has minimum support of the hardware and
> > I have plans to cover more features in the future.
> >
> > Andy Shevchenko (15):
> >   auxdisplay: img-ascii-lcd: Make container_of() no-op for struct
> >     linedisp
> >   auxdisplay: linedisp: Free allocated resources in ->release()
> >   auxdisplay: linedisp: Use unique number for id
> >   auxdisplay: linedisp: Unshadow error codes in ->store()
> >   auxdisplay: linedisp: Add missing header(s)
> >   auxdisplay: linedisp: Move exported symbols to a namespace
> >   auxdisplay: linedisp: Group line display drivers together
> >   auxdisplay: linedisp: Provide struct linedisp_ops for future extension
> >   auxdisplay: linedisp: Add support for overriding character mapping
> >   auxdisplay: linedisp: Provide a small buffer in the struct linedisp
> >   auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
> >   auxdisplay: ht16k33: Switch to use line display character mapping
> >   auxdisplay: ht16k33: Use buffer from struct linedisp
> >   dt-bindings: auxdisplay: Add Maxim MAX6958/6959
> >   auxdisplay: Add driver for MAX695x 7-segment LED controllers
>
> Not all of these patches have made their way to the lists FYI:
> 2024-02-08 16:58 Andy Shevchenko [this message]
> 2024-02-08 16:58 ` [PATCH v1 01/15] auxdisplay: img-ascii-lcd: Make container_of() no-op for struct linedisp Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 02/15] auxdisplay: linedisp: Free allocated resources in ->release() Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 03/15] auxdisplay: linedisp: Use unique number for id Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 06/15] auxdisplay: linedisp: Move exported symbols to a namespace Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 07/15] auxdisplay: linedisp: Group line display drivers together Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 08/15] auxdisplay: linedisp: Provide struct linedisp_ops for future extension Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 09/15] auxdisplay: linedisp: Add support for overriding character mapping Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 10/15] auxdisplay: linedisp: Provide a small buffer in the struct linedisp Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 14/15] dt-bindings: auxdisplay: Add Maxim MAX6958/6959 Andy Shevchenko
> 2024-02-08 16:58 ` [PATCH v1 15/15] auxdisplay: Add driver for MAX695x 7-segment LED controllers Andy Shevchenko
> https://lore.kernel.org/all/20240208165937.2221193-1-andriy.shevchenko@linux.intel.com/

Same for my mailbox.

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
Re: [PATCH v1 00/15] auxdisplay: linedisp: Clean up and add new driver
Posted by Andy Shevchenko 1 year, 12 months ago
On Thu, Feb 08, 2024 at 07:10:40PM +0100, Geert Uytterhoeven wrote:
> On Thu, Feb 8, 2024 at 6:52 PM Conor Dooley <conor@kernel.org> wrote:
> > On Thu, Feb 08, 2024 at 06:58:43PM +0200, Andy Shevchenko wrote:
> > > Add a new initial driver for Maxim MAX6958/6959 chips.
> > > While developing that driver I realised that there is a lot
> > > of duplication between ht16k33 and a new one. Hence set of
> > > cleanups and refactorings.
> > >
> > > Note, the new driver has minimum support of the hardware and
> > > I have plans to cover more features in the future.
> > >
> > > Andy Shevchenko (15):
> > >   auxdisplay: img-ascii-lcd: Make container_of() no-op for struct
> > >     linedisp
> > >   auxdisplay: linedisp: Free allocated resources in ->release()
> > >   auxdisplay: linedisp: Use unique number for id
> > >   auxdisplay: linedisp: Unshadow error codes in ->store()
> > >   auxdisplay: linedisp: Add missing header(s)
> > >   auxdisplay: linedisp: Move exported symbols to a namespace
> > >   auxdisplay: linedisp: Group line display drivers together
> > >   auxdisplay: linedisp: Provide struct linedisp_ops for future extension
> > >   auxdisplay: linedisp: Add support for overriding character mapping
> > >   auxdisplay: linedisp: Provide a small buffer in the struct linedisp
> > >   auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
> > >   auxdisplay: ht16k33: Switch to use line display character mapping
> > >   auxdisplay: ht16k33: Use buffer from struct linedisp
> > >   dt-bindings: auxdisplay: Add Maxim MAX6958/6959
> > >   auxdisplay: Add driver for MAX695x 7-segment LED controllers
> >
> > Not all of these patches have made their way to the lists FYI:
> > 2024-02-08 16:58 Andy Shevchenko [this message]
> > 2024-02-08 16:58 ` [PATCH v1 01/15] auxdisplay: img-ascii-lcd: Make container_of() no-op for struct linedisp Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 02/15] auxdisplay: linedisp: Free allocated resources in ->release() Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 03/15] auxdisplay: linedisp: Use unique number for id Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 06/15] auxdisplay: linedisp: Move exported symbols to a namespace Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 07/15] auxdisplay: linedisp: Group line display drivers together Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 08/15] auxdisplay: linedisp: Provide struct linedisp_ops for future extension Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 09/15] auxdisplay: linedisp: Add support for overriding character mapping Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 10/15] auxdisplay: linedisp: Provide a small buffer in the struct linedisp Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 14/15] dt-bindings: auxdisplay: Add Maxim MAX6958/6959 Andy Shevchenko
> > 2024-02-08 16:58 ` [PATCH v1 15/15] auxdisplay: Add driver for MAX695x 7-segment LED controllers Andy Shevchenko
> > https://lore.kernel.org/all/20240208165937.2221193-1-andriy.shevchenko@linux.intel.com/
> 
> Same for my mailbox.

I just resent it, hopefully without missing parts now.

-- 
With Best Regards,
Andy Shevchenko