[PATCH 0/2] i2c: tegra: allow compiling out support for Tegra's special constrollers

Michał Mirosław posted 2 patches 4 years, 5 months ago
There is a newer version of this series
drivers/i2c/busses/Kconfig     | 16 ++++++++++++++++
drivers/i2c/busses/i2c-tegra.c | 35 +++++++++++++++++++++-------------
2 files changed, 38 insertions(+), 13 deletions(-)
[PATCH 0/2] i2c: tegra: allow compiling out support for Tegra's special constrollers
Posted by Michał Mirosław 4 years, 5 months ago
To patches that, combined, reduce I2C driver's code by ~2kB and a bit
from runtime overhead for non-Tegra20 or non-Tegra210 builds.

Michał Mirosław (2):
  i2c: tegra: allow DVC support to be compiled out
  i2c: tegra: allow VI support to be compiled out

 drivers/i2c/busses/Kconfig     | 16 ++++++++++++++++
 drivers/i2c/busses/i2c-tegra.c | 35 +++++++++++++++++++++-------------
 2 files changed, 38 insertions(+), 13 deletions(-)

-- 
2.30.2

Re: [PATCH 0/2] i2c: tegra: allow compiling out support for Tegra's special constrollers
Posted by Dmitry Osipenko 4 years, 5 months ago
16.01.2022 19:02, Michał Mirosław пишет:
> To patches that, combined, reduce I2C driver's code by ~2kB and a bit
> from runtime overhead for non-Tegra20 or non-Tegra210 builds.
> 
> Michał Mirosław (2):
>   i2c: tegra: allow DVC support to be compiled out
>   i2c: tegra: allow VI support to be compiled out
> 
>  drivers/i2c/busses/Kconfig     | 16 ++++++++++++++++
>  drivers/i2c/busses/i2c-tegra.c | 35 +++++++++++++++++++++-------------
>  2 files changed, 38 insertions(+), 13 deletions(-)
> 

2KB is a too small difference to justify the ifdefs and Kconfig entries,
IMO.
Re: [PATCH 0/2] i2c: tegra: allow compiling out support for Tegra's special constrollers
Posted by Michał Mirosław 4 years, 5 months ago
On Sun, Jan 16, 2022 at 08:54:08PM +0300, Dmitry Osipenko wrote:
> 16.01.2022 19:02, Michał Mirosław пишет:
> > To patches that, combined, reduce I2C driver's code by ~2kB and a bit
> > from runtime overhead for non-Tegra20 or non-Tegra210 builds.
> > 
> > Michał Mirosław (2):
> >   i2c: tegra: allow DVC support to be compiled out
> >   i2c: tegra: allow VI support to be compiled out
> > 
> >  drivers/i2c/busses/Kconfig     | 16 ++++++++++++++++
> >  drivers/i2c/busses/i2c-tegra.c | 35 +++++++++++++++++++++-------------
> >  2 files changed, 38 insertions(+), 13 deletions(-)
> > 
> 
> 2KB is a too small difference to justify the ifdefs and Kconfig entries,
> IMO.

Maybe I should have mentioned that it's ~20%? With my "embedded" hat on:
I think it might be small, but sometimes it is the difference between
bootable kernel or one too big.

Best Regards
Michał Mirosław
Re: [PATCH 0/2] i2c: tegra: allow compiling out support for Tegra's special constrollers
Posted by Dmitry Osipenko 4 years, 5 months ago
16.01.2022 21:03, Michał Mirosław пишет:
> On Sun, Jan 16, 2022 at 08:54:08PM +0300, Dmitry Osipenko wrote:
>> 16.01.2022 19:02, Michał Mirosław пишет:
>>> To patches that, combined, reduce I2C driver's code by ~2kB and a bit
>>> from runtime overhead for non-Tegra20 or non-Tegra210 builds.
>>>
>>> Michał Mirosław (2):
>>>   i2c: tegra: allow DVC support to be compiled out
>>>   i2c: tegra: allow VI support to be compiled out
>>>
>>>  drivers/i2c/busses/Kconfig     | 16 ++++++++++++++++
>>>  drivers/i2c/busses/i2c-tegra.c | 35 +++++++++++++++++++++-------------
>>>  2 files changed, 38 insertions(+), 13 deletions(-)
>>>
>>
>> 2KB is a too small difference to justify the ifdefs and Kconfig entries,
>> IMO.
> 
> Maybe I should have mentioned that it's ~20%? With my "embedded" hat on:
> I think it might be small, but sometimes it is the difference between
> bootable kernel or one too big.

10KB is a small size too. I'm very doubtful that such changes make any
real difference in practice.

Much more practical should be to modularize more kernel code. You should
be able to squeeze zImage down to 3MB without any code changes by
toggling more kernel config options to =m. Try to use grate_defconfig
[1] for the base, that is what postmarketOS kernel build uses.

[1]
https://github.com/grate-driver/linux/blob/master/arch/arm/configs/grate_defconfig