Dne ponedeljek, 14. marec 2022 ob 17:34:42 CET je Mauro Carvalho Chehab
napisal(a):
> As the end goal is to have platform drivers split by vendor,
> rename sunxi/ to allwinner/.
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I would rather not do that. Everything related to Allwinner is called sunxi,
albeit there are a few outliers. This is similar to Amlogic/meson situation.
Best regards,
Jernej
Em Mon, 14 Mar 2022 18:22:20 +0100
Jernej Škrabec <[email protected]> escreveu:
> Dne ponedeljek, 14. marec 2022 ob 17:34:42 CET je Mauro Carvalho Chehab
> napisal(a):
> > As the end goal is to have platform drivers split by vendor,
> > rename sunxi/ to allwinner/.
> >
> > Signed-off-by: Mauro Carvalho Chehab <[email protected]>
>
> I would rather not do that. Everything related to Allwinner is called sunxi,
> albeit there are a few outliers. This is similar to Amlogic/meson situation.
The rationale of having one directory per manufacturer is that, if drivers
for newer platforms with different names from the same manufacturers are
added, those will still fit under allwinner/ and amlogic/.
The Kconfig names for sunxi and meson didn't change, nor the driver's name.
Also, the directories under allwinner preserve sun<x>i name on them:
drivers/media/platform/allwinner/
├── sun4i-csi
├── sun6i-csi
├── sun8i-di
└── sun8i-rotate
and so the directory under amlogic/:
drivers/media/platform/amlogic/
└── meson-ge2d
Now, if Allinner decides to release a new platforms named after another star,
let's say, "Vega" and "Rigel", it would be just a matter of adding
"vega/" and "rigel/" directories under allwinner. No need to touch
media/platform/Kconfig and media/platform/Makefile. Everything will happen
on much more smaller vendor-specific Kconfig/Makefile.
See for instance, TI. We had initially a single driver, and everywhere it
was called "omap", which was had gained different versions (omap2, omap3,
...). Then, TI decided to use other names for newer IP (davinci, am437x),
and now the current development is at cal and vpe.
If we had placed a ti/ directory by the time omap were added (and the
same for the other vendors), we would have avoided the need of this
reorg.
Thanks,
Mauro
Hi Mauro,
On Tue, Mar 15, 2022 at 06:40:05AM +0100, Mauro Carvalho Chehab wrote:
> Em Mon, 14 Mar 2022 18:22:20 +0100 Jernej Škrabec escreveu:
>
> > Dne ponedeljek, 14. marec 2022 ob 17:34:42 CET je Mauro Carvalho Chehab
> > napisal(a):
> > > As the end goal is to have platform drivers split by vendor,
> > > rename sunxi/ to allwinner/.
> > >
> > > Signed-off-by: Mauro Carvalho Chehab <[email protected]>
> >
> > I would rather not do that. Everything related to Allwinner is called sunxi,
> > albeit there are a few outliers. This is similar to Amlogic/meson situation.
>
> The rationale of having one directory per manufacturer is that, if drivers
> for newer platforms with different names from the same manufacturers are
> added, those will still fit under allwinner/ and amlogic/.
>
> The Kconfig names for sunxi and meson didn't change, nor the driver's name.
> Also, the directories under allwinner preserve sun<x>i name on them:
>
> drivers/media/platform/allwinner/
> ├── sun4i-csi
> ├── sun6i-csi
> ├── sun8i-di
> └── sun8i-rotate
>
> and so the directory under amlogic/:
>
> drivers/media/platform/amlogic/
> └── meson-ge2d
>
> Now, if Allinner decides to release a new platforms named after another star,
> let's say, "Vega" and "Rigel", it would be just a matter of adding
> "vega/" and "rigel/" directories under allwinner. No need to touch
> media/platform/Kconfig and media/platform/Makefile. Everything will happen
> on much more smaller vendor-specific Kconfig/Makefile.
But the day Allwinner changes its name to Noloser, we'll have a similar
problem. Thnk about Freescale vs. NXP, or Altera bought by Intel. No
naming scheme is totally future-proof. If the accepted standard through
the kernel is to use sunxi to refer to Allwinner SoCs, I don't think
it's a bit idea to go with that.
> See for instance, TI. We had initially a single driver, and everywhere it
> was called "omap", which was had gained different versions (omap2, omap3,
> ...). Then, TI decided to use other names for newer IP (davinci, am437x),
> and now the current development is at cal and vpe.
>
> If we had placed a ti/ directory by the time omap were added (and the
> same for the other vendors), we would have avoided the need of this
> reorg.
--
Regards,
Laurent Pinchart
Em Tue, 15 Mar 2022 08:54:25 +0200
Laurent Pinchart <[email protected]> escreveu:
> Hi Mauro,
>
> On Tue, Mar 15, 2022 at 06:40:05AM +0100, Mauro Carvalho Chehab wrote:
> > Em Mon, 14 Mar 2022 18:22:20 +0100 Jernej Škrabec escreveu:
> >
> > > Dne ponedeljek, 14. marec 2022 ob 17:34:42 CET je Mauro Carvalho Chehab
> > > napisal(a):
> > > > As the end goal is to have platform drivers split by vendor,
> > > > rename sunxi/ to allwinner/.
> > > >
> > > > Signed-off-by: Mauro Carvalho Chehab <[email protected]>
> > >
> > > I would rather not do that. Everything related to Allwinner is called sunxi,
> > > albeit there are a few outliers. This is similar to Amlogic/meson situation.
> >
> > The rationale of having one directory per manufacturer is that, if drivers
> > for newer platforms with different names from the same manufacturers are
> > added, those will still fit under allwinner/ and amlogic/.
> >
> > The Kconfig names for sunxi and meson didn't change, nor the driver's name.
> > Also, the directories under allwinner preserve sun<x>i name on them:
> >
> > drivers/media/platform/allwinner/
> > ├── sun4i-csi
> > ├── sun6i-csi
> > ├── sun8i-di
> > └── sun8i-rotate
> >
> > and so the directory under amlogic/:
> >
> > drivers/media/platform/amlogic/
> > └── meson-ge2d
> >
> > Now, if Allinner decides to release a new platforms named after another star,
> > let's say, "Vega" and "Rigel", it would be just a matter of adding
> > "vega/" and "rigel/" directories under allwinner. No need to touch
> > media/platform/Kconfig and media/platform/Makefile. Everything will happen
> > on much more smaller vendor-specific Kconfig/Makefile.
>
> But the day Allwinner changes its name to Noloser, we'll have a similar
> problem.
Not really. It will still be a single directory per vendor (whatever
name it is).
> Thnk about Freescale vs. NXP, or Altera bought by Intel.
Yeah, when some drivers move from one vendor to another one that
already exists there, we should probably move the directories, in
order to keep things well organized.
The worse case scenario is really if, let's say, TI decides to sell their
omap architecture to NXP, keeping the rest. On such case, the best would
be to move platform/ti/omap* to the directory of its newer owner.
That's said, when things like that happen, there are usually a change
at MAINTAINERS, as e-mails, mailing lists and contact people will
likely change. So, this will very likely generate patches anyway.
> No
> naming scheme is totally future-proof. If the accepted standard through
> the kernel is to use sunxi to refer to Allwinner SoCs, I don't think
> it's a bit idea to go with that.
I'm not too concerned about the name here, but rather about the
process. Needing to do reorg like this is painful, as it causes
all pending work to fail merging against upstream, requiring rebases.
So, we should avoid needing to re-do it by trying our best to avoid
the need of another global change like that in the future.
By organizing entries per vendor, while we may need to do puntual
per-vendor adjustments when they rename and change IP with other
vendors, the global platform Kconfig/Make will contain a single entry
per vendor. I can't foresee any need to change this in the future,
if we take care of keeping the entries there properly sorted.
With regards to naming the per-vendor directory, while I do prefer to have
the directories named after the vendor, and not after a vendor's nick
name, It should also be ok to use a vendor's nick name, provided that
such name is meant to be used by all their current and future IP.
Not sure if "sunxi" is actually a vendor's nick name. It sounds
much likely that it is, instead, a brand name that covers their
current media-related SoC.
Can someone from the vendor shed a light on it?
Thanks,
Mauro