[0/5] Add support for framer infrastructure and PEF2256 framer

Message ID 20231128132534.258459-1-herve.codina@bootlin.com
Headers
Series Add support for framer infrastructure and PEF2256 framer |

Message

Herve Codina Nov. 28, 2023, 1:25 p.m. UTC
  Hi,

This series introduces the framer infrastructure and adds the PEF2256
framer provider.

Patches were previously sent as part of a full feature series and were
previously reviewed in that context:
"Add support for QMC HDLC, framer infrastructure and PEF2256 framer" [1]

In order to ease the merge, the full feature series has been split and
this series contains patches related to the framer part (infrastructure
and provider).
 - Introduce framer infrastructure (patch 1)
 - Add PEF2256 framer provider (patches 2, 3, 4, 5)

Compare to the original full feature series, a modification was done on
patch 3 in order to fix a dependency issue detected my a kernel test
robot.

Best regards,
Hervé

[1]: https://lore.kernel.org/linux-kernel/20231115144007.478111-1-herve.codina@bootlin.com/

Changes compare to the full feature series:
  - Patch 3
    Add 'depends on HAS_IOMEM' to fix the following issue detected by a
    kernel test robot:
       WARNING: unmet direct dependencies detected for MFD_CORE
       Depends on [n]: HAS_IOMEM [=n]
       Selected by [y]:
       - FRAMER_PEF2256 [=y] && NETDEVICES [=y] && WAN [=y] && FRAMER [=y] && OF [=y]

Patches extracted:
  - Patch 1 : full feature series patch 21
  - Patch 2 : full feature series patch 22
  - Patch 3 : full feature series patch 23
  - Patch 4 : full feature series patch 24
  - Patch 5 : full feature series patch 25

Herve Codina (5):
  net: wan: Add framer framework support
  dt-bindings: net: Add the Lantiq PEF2256 E1/T1/J1 framer
  net: wan: framer: Add support for the Lantiq PEF2256 framer
  pinctrl: Add support for the Lantic PEF2256 pinmux
  MAINTAINERS: Add the Lantiq PEF2256 driver entry

 .../bindings/net/lantiq,pef2256.yaml          | 213 +++++
 MAINTAINERS                                   |   8 +
 drivers/net/wan/Kconfig                       |   2 +
 drivers/net/wan/Makefile                      |   2 +
 drivers/net/wan/framer/Kconfig                |  42 +
 drivers/net/wan/framer/Makefile               |   7 +
 drivers/net/wan/framer/framer-core.c          | 882 ++++++++++++++++++
 drivers/net/wan/framer/pef2256/Makefile       |   8 +
 drivers/net/wan/framer/pef2256/pef2256-regs.h | 250 +++++
 drivers/net/wan/framer/pef2256/pef2256.c      | 880 +++++++++++++++++
 drivers/pinctrl/Kconfig                       |  15 +
 drivers/pinctrl/Makefile                      |   1 +
 drivers/pinctrl/pinctrl-pef2256.c             | 358 +++++++
 include/linux/framer/framer-provider.h        | 194 ++++
 include/linux/framer/framer.h                 | 205 ++++
 include/linux/framer/pef2256.h                |  31 +
 16 files changed, 3098 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/lantiq,pef2256.yaml
 create mode 100644 drivers/net/wan/framer/Kconfig
 create mode 100644 drivers/net/wan/framer/Makefile
 create mode 100644 drivers/net/wan/framer/framer-core.c
 create mode 100644 drivers/net/wan/framer/pef2256/Makefile
 create mode 100644 drivers/net/wan/framer/pef2256/pef2256-regs.h
 create mode 100644 drivers/net/wan/framer/pef2256/pef2256.c
 create mode 100644 drivers/pinctrl/pinctrl-pef2256.c
 create mode 100644 include/linux/framer/framer-provider.h
 create mode 100644 include/linux/framer/framer.h
 create mode 100644 include/linux/framer/pef2256.h
  

Comments

Mark Brown Nov. 28, 2023, 2:03 p.m. UTC | #1
On Tue, Nov 28, 2023 at 02:25:29PM +0100, Herve Codina wrote:
> Hi,
> 
> This series introduces the framer infrastructure and adds the PEF2256
> framer provider.
> 
> Patches were previously sent as part of a full feature series and were
> previously reviewed in that context:
> "Add support for QMC HDLC, framer infrastructure and PEF2256 framer" [1]
> 
> In order to ease the merge, the full feature series has been split and
> this series contains patches related to the framer part (infrastructure
> and provider).
>  - Introduce framer infrastructure (patch 1)
>  - Add PEF2256 framer provider (patches 2, 3, 4, 5)

If this gets applied it'd be good to get a signed tag based off Linus'
tree so things that depend on it can be pulled into other trees (eg, the
ASoC mapping for the framer).
  
Linus Walleij Nov. 28, 2023, 2:26 p.m. UTC | #2
On Tue, Nov 28, 2023 at 3:03 PM Mark Brown <broonie@kernel.org> wrote:
> On Tue, Nov 28, 2023 at 02:25:29PM +0100, Herve Codina wrote:
> > Hi,
> >
> > This series introduces the framer infrastructure and adds the PEF2256
> > framer provider.
> >
> > Patches were previously sent as part of a full feature series and were
> > previously reviewed in that context:
> > "Add support for QMC HDLC, framer infrastructure and PEF2256 framer" [1]
> >
> > In order to ease the merge, the full feature series has been split and
> > this series contains patches related to the framer part (infrastructure
> > and provider).
> >  - Introduce framer infrastructure (patch 1)
> >  - Add PEF2256 framer provider (patches 2, 3, 4, 5)
>
> If this gets applied it'd be good to get a signed tag based off Linus'
> tree so things that depend on it can be pulled into other trees (eg, the
> ASoC mapping for the framer).

Do you mean my pin control tree or the big penguins tree? :D
(I'm guessing mine.)

I thought this thing would be merged primarily into the networking
tree, and I don't know if they do signed tags, I usually create an
immutable branch but that should work just as fine I guess.

If people wants this from the pinctrl tree (and patches are ACKed by
everyone involved etc) I can certainly do that if the netdev
people are happy to pull an immutable branch from me.

Yours,
Linus Walleij
  
Mark Brown Nov. 28, 2023, 2:41 p.m. UTC | #3
On Tue, Nov 28, 2023 at 03:26:56PM +0100, Linus Walleij wrote:
> On Tue, Nov 28, 2023 at 3:03 PM Mark Brown <broonie@kernel.org> wrote:

> > If this gets applied it'd be good to get a signed tag based off Linus'
> > tree so things that depend on it can be pulled into other trees (eg, the
> > ASoC mapping for the framer).

> Do you mean my pin control tree or the big penguins tree? :D
> (I'm guessing mine.)

I actually meant mainline there.

> I thought this thing would be merged primarily into the networking
> tree, and I don't know if they do signed tags, I usually create an
> immutable branch but that should work just as fine I guess.

Right, I'd expect a signed tag on the immutable branch - it's generally
helpful to avoid confusion about the branch actually being immutable.
  
Linus Walleij Nov. 28, 2023, 2:51 p.m. UTC | #4
On Tue, Nov 28, 2023 at 3:41 PM Mark Brown <broonie@kernel.org> wrote:
> On Tue, Nov 28, 2023 at 03:26:56PM +0100, Linus Walleij wrote:
> > On Tue, Nov 28, 2023 at 3:03 PM Mark Brown <broonie@kernel.org> wrote:
>
> > > If this gets applied it'd be good to get a signed tag based off Linus'
> > > tree so things that depend on it can be pulled into other trees (eg, the
> > > ASoC mapping for the framer).
>
> > Do you mean my pin control tree or the big penguins tree? :D
> > (I'm guessing mine.)
>
> I actually meant mainline there.

Ah based off, not residing in. My bad.

> > I thought this thing would be merged primarily into the networking
> > tree, and I don't know if they do signed tags, I usually create an
> > immutable branch but that should work just as fine I guess.
>
> Right, I'd expect a signed tag on the immutable branch - it's generally
> helpful to avoid confusion about the branch actually being immutable.

Makes sense, best to create that in the netdev tree if possible
I guess.

Yours,
Linus Walleij
  
Jakub Kicinski Nov. 29, 2023, 1:31 a.m. UTC | #5
On Tue, 28 Nov 2023 15:51:01 +0100 Linus Walleij wrote:
> > > I thought this thing would be merged primarily into the networking
> > > tree, and I don't know if they do signed tags, I usually create an
> > > immutable branch but that should work just as fine I guess.  
> >
> > Right, I'd expect a signed tag on the immutable branch - it's generally
> > helpful to avoid confusion about the branch actually being immutable.  
> 
> Makes sense, best to create that in the netdev tree if possible
> I guess.

I think you offered creating the branch / tag in an earlier reply,
that's less work for me so yes please! :)

FWIW I usually put the branches / tags in my personal k.org tree.
I don't wanna pollute the trees for the $many people who fetch
netdev with random tags.
  
Linus Walleij Nov. 29, 2023, 2 p.m. UTC | #6
On Wed, Nov 29, 2023 at 2:31 AM Jakub Kicinski <kuba@kernel.org> wrote:
> On Tue, 28 Nov 2023 15:51:01 +0100 Linus Walleij wrote:
> > > > I thought this thing would be merged primarily into the networking
> > > > tree, and I don't know if they do signed tags, I usually create an
> > > > immutable branch but that should work just as fine I guess.
> > >
> > > Right, I'd expect a signed tag on the immutable branch - it's generally
> > > helpful to avoid confusion about the branch actually being immutable.
> >
> > Makes sense, best to create that in the netdev tree if possible
> > I guess.
>
> I think you offered creating the branch / tag in an earlier reply,
> that's less work for me so yes please! :)

OK I fix!

Just waiting for some final reviews to trickle in.

Herve: nag me if it doesn't happen in time!

> FWIW I usually put the branches / tags in my personal k.org tree.
> I don't wanna pollute the trees for the $many people who fetch
> netdev with random tags.

Aha yeah pin control is relatively small so I just carry misc sync
tags there.

Yours,
Linus Walleij
  
Herve Codina Dec. 12, 2023, 9:59 a.m. UTC | #7
Hi Linus,

On Wed, 29 Nov 2023 15:00:40 +0100
Linus Walleij <linus.walleij@linaro.org> wrote:

> On Wed, Nov 29, 2023 at 2:31 AM Jakub Kicinski <kuba@kernel.org> wrote:
> > On Tue, 28 Nov 2023 15:51:01 +0100 Linus Walleij wrote:  
> > > > > I thought this thing would be merged primarily into the networking
> > > > > tree, and I don't know if they do signed tags, I usually create an
> > > > > immutable branch but that should work just as fine I guess.  
> > > >
> > > > Right, I'd expect a signed tag on the immutable branch - it's generally
> > > > helpful to avoid confusion about the branch actually being immutable.  
> > >
> > > Makes sense, best to create that in the netdev tree if possible
> > > I guess.  
> >
> > I think you offered creating the branch / tag in an earlier reply,
> > that's less work for me so yes please! :)  
> 
> OK I fix!
> 
> Just waiting for some final reviews to trickle in.
> 
> Herve: nag me if it doesn't happen in time!

As you tell me, this is my reminder.

Best regards,
Hervé

> 
> > FWIW I usually put the branches / tags in my personal k.org tree.
> > I don't wanna pollute the trees for the $many people who fetch
> > netdev with random tags.  
> 
> Aha yeah pin control is relatively small so I just carry misc sync
> tags there.
> 
> Yours,
> Linus Walleij
  
Linus Walleij Dec. 12, 2023, 10:15 p.m. UTC | #8
Hi Herve, Jakub, Mark,

here is an immutable tag for the PEF2256 framer, as promised.

I have already merged it into the pinctrl tree for starters.

Yours,
Linus Walleij

The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:

  Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pef2256-framer

for you to fetch changes up to 1e95d20ae8e6a383b4c1dd2282e5259790724037:

  MAINTAINERS: Add the Lantiq PEF2256 driver entry (2023-12-12 23:05:25 +0100)

----------------------------------------------------------------
Immutable tag for the PEF2256 framer

----------------------------------------------------------------
Herve Codina (5):
      net: wan: Add framer framework support
      dt-bindings: net: Add the Lantiq PEF2256 E1/T1/J1 framer
      net: wan: framer: Add support for the Lantiq PEF2256 framer
      pinctrl: Add support for the Lantic PEF2256 pinmux
      MAINTAINERS: Add the Lantiq PEF2256 driver entry

 .../devicetree/bindings/net/lantiq,pef2256.yaml    | 213 +++++
 MAINTAINERS                                        |   8 +
 drivers/net/wan/Kconfig                            |   2 +
 drivers/net/wan/Makefile                           |   2 +
 drivers/net/wan/framer/Kconfig                     |  42 +
 drivers/net/wan/framer/Makefile                    |   7 +
 drivers/net/wan/framer/framer-core.c               | 882 +++++++++++++++++++++
 drivers/net/wan/framer/pef2256/Makefile            |   8 +
 drivers/net/wan/framer/pef2256/pef2256-regs.h      | 250 ++++++
 drivers/net/wan/framer/pef2256/pef2256.c           | 880 ++++++++++++++++++++
 drivers/pinctrl/Kconfig                            |  15 +
 drivers/pinctrl/Makefile                           |   1 +
 drivers/pinctrl/pinctrl-pef2256.c                  | 358 +++++++++
 include/linux/framer/framer-provider.h             | 194 +++++
 include/linux/framer/framer.h                      | 205 +++++
 include/linux/framer/pef2256.h                     |  31 +
 16 files changed, 3098 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/lantiq,pef2256.yaml
 create mode 100644 drivers/net/wan/framer/Kconfig
 create mode 100644 drivers/net/wan/framer/Makefile
 create mode 100644 drivers/net/wan/framer/framer-core.c
 create mode 100644 drivers/net/wan/framer/pef2256/Makefile
 create mode 100644 drivers/net/wan/framer/pef2256/pef2256-regs.h
 create mode 100644 drivers/net/wan/framer/pef2256/pef2256.c
 create mode 100644 drivers/pinctrl/pinctrl-pef2256.c
 create mode 100644 include/linux/framer/framer-provider.h
 create mode 100644 include/linux/framer/framer.h
 create mode 100644 include/linux/framer/pef2256.h
  
Jakub Kicinski Dec. 13, 2023, midnight UTC | #9
On Tue, 12 Dec 2023 23:15:38 +0100 Linus Walleij wrote:
> here is an immutable tag for the PEF2256 framer, as promised.
> 
> I have already merged it into the pinctrl tree for starters.

Pulled to net-next as well, thank you!