On Fri, Jan 15, 2021 at 15:48, Andrew Lunn <and...@lunn.ch> wrote: > On Fri, Jan 15, 2021 at 04:36:49PM +0200, Vladimir Oltean wrote: >> On Fri, Jan 15, 2021 at 03:30:30PM +0100, Andrew Lunn wrote: >> > On Fri, Jan 15, 2021 at 11:58:33AM +0100, Tobias Waldekranz wrote: >> > > Support for Global 2 registers is build-time optional. >> > >> > I was never particularly happy about that. Maybe we should revisit >> > what features we loose when global 2 is dropped, and see if it still >> > makes sense to have it as optional? >> >> Marvell switch newbie here, what do you mean "global 2 is dropped"? > > I was not aware detect() actually enforced it when needed. It used to > be, you could leave it out, and you would just get reduced > functionality for devices which had global2, but the code was not > compiled in. > > At the beginning of the life of this driver, i guess it was maybe > 25%/75% without/with global2, so it might of made sense to reduce the > binary size. But today the driver is much bigger with lots of other > things which those early chips don't have, SERDES for example. And > that ratio has dramatically reduced, there are very few devices > without those registers. This is why i think we can make our lives > easier and make global2 always compiled in.
Hear, hear! I took a quick look at the (stripped) object sizes (ppc32): # du -ab 6116 ./global1_vtu.o 5904 ./devlink.o 11500 ./port.o 9640 ./global2.o 3016 ./phy.o 5368 ./global1.o 51784 ./chip.o 9892 ./serdes.o 5140 ./global1_atu.o 1916 ./global2_avb.o 2248 ./global2_scratch.o 948 ./port_hidden.o 1828 ./smi.o 119396 . So, roughly, you save 10%/13k. That hardly justifies the complexity IMO. Andrew, do you want to do this? If not, I can look into it.