Leif,
Thanks for introducing such an interesting tool.
I see this too is very useful for code refactoring.
It's a game changing tool😊

To help me understand, do you suggest MAYBE when incompatible changes like this
happen, the change owners propose the semantic patches for all platforms?


Thanks,
Ray


> -----Original Message-----
> From: Leif Lindholm <l...@nuviainc.com>
> Sent: Tuesday, March 31, 2020 5:22 PM
> To: Ni, Ray <ray...@intel.com>
> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>; Jiang, Guomin 
> <guomin.ji...@intel.com>; devel@edk2.groups.io; Andrew
> Fish <af...@apple.com>; Laszlo Ersek <ler...@redhat.com>; Kinney, Michael D 
> <michael.d.kin...@intel.com>
> Subject: Re: [edk2-devel] API breakages and their implications. Was: [PATCH 
> 1/1] MdeModulePkg: UART Dynamic clock freq
> Support
> 
> On Tue, Mar 31, 2020 at 01:53:21 +0000, Ni, Ray wrote:
> > Leif,
> > Please understand that the concern of this change is all the platforms that 
> > uses
> > this serial port lib must be changed otherwise build breaks.
> 
> Yes. This is the nature of collaborative development.
> This is something we on the ARM side have lived with since we got
> involved with EDK2, being the less-deployed user of the codebase, and
> that is fine.
> 
> TianoCore specifically produced the UDK to make life easier for those
> who are unable to track upstream, and we have followed that up with
> stable tags. I would highly recommend that any team that feels that
> this change would be too much effort to move to edk2-stable202002. Of
> course, they would then need to manually cherry-pick any improvements
> and security fixes from master. That is their choice.
> 
> Nevertheless, breaking existing platforms is a side effect, not a
> goal. So if an alternative solution can be found (which is not a hack
> that is going to affect the codebase negatively over time and simply
> need to be fixed properly at a later date), then clearly that is
> preferable.
> 
> "This breaks many platforms" is a good argument for seeing if a
> solution can be found that does not break (as) many platforms. It is
> not an argument for duplicating drivers when the change needed for
> those platforms is trivial.
> 
> These days, Linux tends to deal with API breakages (and other things)
> using a semantic patch tool called Coccinelle[1]. It would not be
> unreasonable, and indeed it would be helpful to us on the non-x86 side
> if something similar was adopted (and semantic patches mandated) for
> API breakages in EDK2.
> 
> [1] http://coccinelle.lip6.fr/sp.php
> 
> Regards,
> 
> Leif
> 
> > Ard,
> > Using Guided HOB sounds a good idea to me: )
> > The benefits of using HOB is:
> >   Length field in the HOB header can be used for extension if more 
> > parameters are needed.
> >   DXE can have the HOB access as well.
> >
> > EFI_SEC_HOB_DATA_PPI can be used to return the new Guided HOB from SEC 
> > phase if needed.
> >
> > Thanks,
> > Ray
> >
> >
> > > -----Original Message-----
> > > From: Ard Biesheuvel <ard.biesheu...@linaro.org>
> > > Sent: Monday, March 30, 2020 3:45 PM
> > > To: Leif Lindholm <l...@nuviainc.com>
> > > Cc: Jiang, Guomin <guomin.ji...@intel.com>; devel@edk2.groups.io; 
> > > pankaj.ban...@nxp.com; Ni, Ray
> <ray...@intel.com>;
> > > Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A <hao.a...@intel.com>; Ma, 
> > > Maurice <maurice...@intel.com>; Dong,
> > > Guo <guo.d...@intel.com>; You, Benjamin <benjamin....@intel.com>; 
> > > Meenakshi Aggarwal
> > > <meenakshi.aggar...@nxp.com>; Varun Sethi <v.se...@nxp.com>; Samer 
> > > El-Haj-Mahmoud <Samer.El-Haj-
> > > mahm...@arm.com>
> > > Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg: UART Dynamic clock 
> > > freq Support
> > >
> > > On Mon, 30 Mar 2020 at 09:35, Leif Lindholm <l...@nuviainc.com> wrote:
> > > >
> > > > Hi Jiang,
> > > >
> > > > It is not a question of effort of copying a driver, it is a question
> > > > that copying drivers is something that should be avoided wherever
> > > > practically possible. I did not think this topic was still under
> > > > debate.
> > > >
> > > > If the existing 16550 SerialPortLib is overspecialised to the point
> > > > where it only works on a subset of 16550 implementations, then it
> > > > should change. There are going to be more non-PC systems turning up
> > > > with 16550 UARTs - should they each copy/modify their drivers?
> > > >
> > > > If there are better ways of solving that problem, please suggest.
> > > > But more duplicated drivers is not the answer.
> > > >
> > >
> > > Could we use a GUIDed HOB? If it exists, we use its contents, and if
> > > it doesn't, we use the default set by the FixedPCD.

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#56754): https://edk2.groups.io/g/devel/message/56754
Mute This Topic: https://groups.io/mt/72673070/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to