All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5] ARM: orion5x/dove/mv78xx0 multiplatform
Date: Fri, 11 Dec 2015 22:33:41 +0100	[thread overview]
Message-ID: <2569698.WNyYKB5EP3@wuerfel> (raw)
In-Reply-To: <5669808F.2050909@vollmann.ch>

On Thursday 10 December 2015 14:39:27 Detlef Vollmann wrote:
> #
> # Automatically generated file; DO NOT EDIT.
> # Linux/arm 4.4.0-rc3 Kernel Configuration
> #

Just for fun, a few things you can probably disable without
much downsides:

> CONFIG_DEFAULT_HOSTNAME="dns-323"
> CONFIG_SWAP=y
> CONFIG_SYSVIPC=y
> CONFIG_SYSVIPC_SYSCTL=y

SYSVIPC could be disabled in principle for most embedded systems

> CONFIG_SYSFS_DEPRECATED=y
> CONFIG_SYSFS_DEPRECATED_V2=y
> # CONFIG_RELAY is not set
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_INITRAMFS_SOURCE=""

SYSFS_DEPRECATED can probably go, initramfs would be smaller than initrd

> CONFIG_COMPAT_BRK=y
> CONFIG_SLAB=y
> # CONFIG_SLUB is not set
> # CONFIG_SLOB is not set
> # CONFIG_SYSTEM_DATA_VERIFICATION is not set
> # CONFIG_PROFILING is not set
> CONFIG_KEXEC_CORE=y
> CONFIG_HAVE_OPROFILE=y

SLOB would be smaller than SLAB, kexec is often not needed. 

> CONFIG_SWIOTLB=y
> CONFIG_IOMMU_HELPER=y

I have no idea why SWIOTLB is always enabled on ARM, I suspect that's
a bug, and disabling it would save some space (need to change arm/Kconfig)

> #
> # User Modules And Translation Layers
> #
> CONFIG_MTD_BLKDEVS=y
> CONFIG_MTD_BLOCK=y

I suspect you don't use MTD_BLOCK

> CONFIG_BLK_DEV=y
> # CONFIG_BLK_DEV_NULL_BLK is not set
> # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
> # CONFIG_BLK_CPQ_CISS_DA is not set
> # CONFIG_BLK_DEV_DAC960 is not set
> # CONFIG_BLK_DEV_UMEM is not set
> # CONFIG_BLK_DEV_COW_COMMON is not set
> CONFIG_BLK_DEV_LOOP=y
> CONFIG_BLK_DEV_LOOP_MIN_COUNT=4
> # CONFIG_BLK_DEV_CRYPTOLOOP is not set
> # CONFIG_BLK_DEV_DRBD is not set
> # CONFIG_BLK_DEV_NBD is not set
> # CONFIG_BLK_DEV_SX8 is not set
> CONFIG_BLK_DEV_RAM=y

Loop and RAM could be loadable modules, if that saves space in the
end. If modules are actually larger, you can have everything built-in.
> #
> # Serial drivers
> #
> CONFIG_SERIAL_EARLYCON=y
> CONFIG_SERIAL_8250=y
> # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_SERIAL_8250_DMA=y
> # CONFIG_SERIAL_8250_PCI is not set
> CONFIG_SERIAL_8250_NR_UARTS=2
> CONFIG_SERIAL_8250_RUNTIME_UARTS=2
> # CONFIG_SERIAL_8250_EXTENDED is not set
> CONFIG_SERIAL_8250_FSL=y

No need for 8250_FSL or 8250_DMA on your hardware

> #
> # Memory mapped GPIO drivers
> #
> # CONFIG_GPIO_74XX_MMIO is not set
> # CONFIG_GPIO_ALTERA is not set
> # CONFIG_GPIO_DWAPB is not set
> # CONFIG_GPIO_EM is not set
> # CONFIG_GPIO_GENERIC_PLATFORM is not set
> # CONFIG_GPIO_GRGPIO is not set
> CONFIG_GPIO_MVEBU=y
> # CONFIG_GPIO_VX855 is not set
> # CONFIG_GPIO_XILINX is not set
> # CONFIG_GPIO_ZEVIO is not set
> # CONFIG_GPIO_ZX is not set

It looks like you get two GPIO drivers for the same hardware.
We should probably change this so you only need one of the two.

> #
> # USB Host Controller Drivers
> #
> # CONFIG_USB_C67X00_HCD is not set
> # CONFIG_USB_XHCI_HCD is not set
> CONFIG_USB_EHCI_HCD=y
> CONFIG_USB_EHCI_ROOT_HUB_TT=y
> # CONFIG_USB_EHCI_TT_NEWSCHED is not set
> CONFIG_USB_EHCI_PCI=y
> CONFIG_USB_EHCI_HCD_ORION=y

You probably don't have a PCI EHCI

> CONFIG_USB_STORAGE=y

module

> #
> # PHY Subsystem
> #
> CONFIG_GENERIC_PHY=y

probably not needed since you have no specific driver for it.

> #
> # File systems
> #
> CONFIG_EXT2_FS=y
> CONFIG_EXT2_FS_XATTR=y
> CONFIG_EXT2_FS_POSIX_ACL=y

EXT2 no longer needs to be built when EXT4 is enabled, you can just
use the EXT4 code to mount EXT2 file systems.

> CONFIG_XFS_FS=y
> # CONFIG_XFS_QUOTA is not set

XFS is huge. If you don't need it, that would likely save more than anything
else.

> CONFIG_MINIX_FS=y

minixfs is almost never needed, but small.

> # CONFIG_OMFS_FS is not set
> # CONFIG_HPFS_FS is not set
> # CONFIG_QNX4FS_FS is not set
> # CONFIG_QNX6FS_FS is not set
> # CONFIG_ROMFS_FS is not set
> # CONFIG_PSTORE is not set
> # CONFIG_SYSV_FS is not set
> # CONFIG_UFS_FS is not set
> CONFIG_NETWORK_FILESYSTEMS=y
> CONFIG_NFS_FS=y
> CONFIG_NFS_V2=y
> CONFIG_NFS_V3=y

NFS and NFSD are also pretty big, but I assume you need them.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Detlef Vollmann <dv@vollmann.ch>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Russell King <linux@arm.linux.org.uk>,
	Jason Cooper <jason@lakedaemon.net>,
	Benjamin Cama <benoar@dolka.fr>,
	linux-kernel@vger.kernel.org,
	Gregory CLEMENT <gregory.clement@free-electrons.com>,
	"Evgeniy A. Dushistov" <dushistov@mail.ru>,
	linux-arm-kernel@lists.infradead.org,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Subject: Re: [PATCH 0/5] ARM: orion5x/dove/mv78xx0 multiplatform
Date: Fri, 11 Dec 2015 22:33:41 +0100	[thread overview]
Message-ID: <2569698.WNyYKB5EP3@wuerfel> (raw)
In-Reply-To: <5669808F.2050909@vollmann.ch>

On Thursday 10 December 2015 14:39:27 Detlef Vollmann wrote:
> #
> # Automatically generated file; DO NOT EDIT.
> # Linux/arm 4.4.0-rc3 Kernel Configuration
> #

Just for fun, a few things you can probably disable without
much downsides:

> CONFIG_DEFAULT_HOSTNAME="dns-323"
> CONFIG_SWAP=y
> CONFIG_SYSVIPC=y
> CONFIG_SYSVIPC_SYSCTL=y

SYSVIPC could be disabled in principle for most embedded systems

> CONFIG_SYSFS_DEPRECATED=y
> CONFIG_SYSFS_DEPRECATED_V2=y
> # CONFIG_RELAY is not set
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_INITRAMFS_SOURCE=""

SYSFS_DEPRECATED can probably go, initramfs would be smaller than initrd

> CONFIG_COMPAT_BRK=y
> CONFIG_SLAB=y
> # CONFIG_SLUB is not set
> # CONFIG_SLOB is not set
> # CONFIG_SYSTEM_DATA_VERIFICATION is not set
> # CONFIG_PROFILING is not set
> CONFIG_KEXEC_CORE=y
> CONFIG_HAVE_OPROFILE=y

SLOB would be smaller than SLAB, kexec is often not needed. 

> CONFIG_SWIOTLB=y
> CONFIG_IOMMU_HELPER=y

I have no idea why SWIOTLB is always enabled on ARM, I suspect that's
a bug, and disabling it would save some space (need to change arm/Kconfig)

> #
> # User Modules And Translation Layers
> #
> CONFIG_MTD_BLKDEVS=y
> CONFIG_MTD_BLOCK=y

I suspect you don't use MTD_BLOCK

> CONFIG_BLK_DEV=y
> # CONFIG_BLK_DEV_NULL_BLK is not set
> # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
> # CONFIG_BLK_CPQ_CISS_DA is not set
> # CONFIG_BLK_DEV_DAC960 is not set
> # CONFIG_BLK_DEV_UMEM is not set
> # CONFIG_BLK_DEV_COW_COMMON is not set
> CONFIG_BLK_DEV_LOOP=y
> CONFIG_BLK_DEV_LOOP_MIN_COUNT=4
> # CONFIG_BLK_DEV_CRYPTOLOOP is not set
> # CONFIG_BLK_DEV_DRBD is not set
> # CONFIG_BLK_DEV_NBD is not set
> # CONFIG_BLK_DEV_SX8 is not set
> CONFIG_BLK_DEV_RAM=y

Loop and RAM could be loadable modules, if that saves space in the
end. If modules are actually larger, you can have everything built-in.
> #
> # Serial drivers
> #
> CONFIG_SERIAL_EARLYCON=y
> CONFIG_SERIAL_8250=y
> # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_SERIAL_8250_DMA=y
> # CONFIG_SERIAL_8250_PCI is not set
> CONFIG_SERIAL_8250_NR_UARTS=2
> CONFIG_SERIAL_8250_RUNTIME_UARTS=2
> # CONFIG_SERIAL_8250_EXTENDED is not set
> CONFIG_SERIAL_8250_FSL=y

No need for 8250_FSL or 8250_DMA on your hardware

> #
> # Memory mapped GPIO drivers
> #
> # CONFIG_GPIO_74XX_MMIO is not set
> # CONFIG_GPIO_ALTERA is not set
> # CONFIG_GPIO_DWAPB is not set
> # CONFIG_GPIO_EM is not set
> # CONFIG_GPIO_GENERIC_PLATFORM is not set
> # CONFIG_GPIO_GRGPIO is not set
> CONFIG_GPIO_MVEBU=y
> # CONFIG_GPIO_VX855 is not set
> # CONFIG_GPIO_XILINX is not set
> # CONFIG_GPIO_ZEVIO is not set
> # CONFIG_GPIO_ZX is not set

It looks like you get two GPIO drivers for the same hardware.
We should probably change this so you only need one of the two.

> #
> # USB Host Controller Drivers
> #
> # CONFIG_USB_C67X00_HCD is not set
> # CONFIG_USB_XHCI_HCD is not set
> CONFIG_USB_EHCI_HCD=y
> CONFIG_USB_EHCI_ROOT_HUB_TT=y
> # CONFIG_USB_EHCI_TT_NEWSCHED is not set
> CONFIG_USB_EHCI_PCI=y
> CONFIG_USB_EHCI_HCD_ORION=y

You probably don't have a PCI EHCI

> CONFIG_USB_STORAGE=y

module

> #
> # PHY Subsystem
> #
> CONFIG_GENERIC_PHY=y

probably not needed since you have no specific driver for it.

> #
> # File systems
> #
> CONFIG_EXT2_FS=y
> CONFIG_EXT2_FS_XATTR=y
> CONFIG_EXT2_FS_POSIX_ACL=y

EXT2 no longer needs to be built when EXT4 is enabled, you can just
use the EXT4 code to mount EXT2 file systems.

> CONFIG_XFS_FS=y
> # CONFIG_XFS_QUOTA is not set

XFS is huge. If you don't need it, that would likely save more than anything
else.

> CONFIG_MINIX_FS=y

minixfs is almost never needed, but small.

> # CONFIG_OMFS_FS is not set
> # CONFIG_HPFS_FS is not set
> # CONFIG_QNX4FS_FS is not set
> # CONFIG_QNX6FS_FS is not set
> # CONFIG_ROMFS_FS is not set
> # CONFIG_PSTORE is not set
> # CONFIG_SYSV_FS is not set
> # CONFIG_UFS_FS is not set
> CONFIG_NETWORK_FILESYSTEMS=y
> CONFIG_NFS_FS=y
> CONFIG_NFS_V2=y
> CONFIG_NFS_V3=y

NFS and NFSD are also pretty big, but I assume you need them.

	Arnd

  parent reply	other threads:[~2015-12-11 21:33 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-25 15:49 [PATCH 0/5] ARM: orion5x/dove/mv78xx0 multiplatform Arnd Bergmann
2015-11-25 15:49 ` Arnd Bergmann
2015-11-25 15:49 ` [PATCH 1/5] ARM: orion: move watchdog setup to mach-orion5x Arnd Bergmann
2015-11-25 15:49   ` Arnd Bergmann
2015-11-25 15:49 ` [PATCH 2/5] ARM: orion: always use MULTI_IRQ_HANDLER Arnd Bergmann
2015-11-25 15:49   ` Arnd Bergmann
2015-11-25 15:49 ` [PATCH 3/5] ARM: orion: use SPARSE_IRQ everywhere Arnd Bergmann
2015-11-25 15:49   ` Arnd Bergmann
2015-11-25 15:49 ` [PATCH 4/5] ARM: orion: clean up mach/*.h headers Arnd Bergmann
2015-11-25 15:49   ` Arnd Bergmann
2015-11-25 15:49 ` [PATCH 5/5] ARM: orion: multiplatform support Arnd Bergmann
2015-11-25 15:49   ` Arnd Bergmann
2015-11-25 16:09 ` [PATCH 0/5] ARM: orion5x/dove/mv78xx0 multiplatform Andrew Lunn
2015-11-25 16:09   ` Andrew Lunn
2015-11-25 17:34   ` Gregory CLEMENT
2015-11-25 17:34     ` Gregory CLEMENT
2015-11-25 17:44     ` Andrew Lunn
2015-11-25 17:44       ` Andrew Lunn
2015-11-25 19:58       ` Arnd Bergmann
2015-11-25 19:58         ` Arnd Bergmann
2015-11-26 14:50         ` Jason Cooper
2015-11-26 14:50           ` Jason Cooper
2015-11-25 18:37   ` Russell King - ARM Linux
2015-11-25 18:37     ` Russell King - ARM Linux
2015-11-25 19:16     ` Andrew Lunn
2015-11-25 19:16       ` Andrew Lunn
2015-11-25 19:29       ` Russell King - ARM Linux
2015-11-25 19:29         ` Russell King - ARM Linux
2015-11-25 23:19       ` Russell King - ARM Linux
2015-11-25 23:19         ` Russell King - ARM Linux
2015-11-25 20:05     ` Arnd Bergmann
2015-11-25 20:05       ` Arnd Bergmann
2015-11-25 22:47       ` Russell King - ARM Linux
2015-11-25 22:47         ` Russell King - ARM Linux
2015-11-25 20:14 ` Andrew Lunn
2015-11-25 20:14   ` Andrew Lunn
2015-11-30 13:37 ` Gregory CLEMENT
2015-11-30 13:37   ` Gregory CLEMENT
2015-11-30 13:43   ` Gregory CLEMENT
2015-12-01 17:22     ` Detlef Vollmann
2015-12-02 11:08       ` Gregory CLEMENT
2015-12-02 14:55         ` Andrew Lunn
2015-12-02 14:55           ` Andrew Lunn
2015-12-10 12:56     ` Detlef Vollmann
2015-12-10 13:18       ` Arnd Bergmann
2015-12-10 13:18         ` Arnd Bergmann
2015-12-10 13:43         ` Arnd Bergmann
2015-12-10 13:43           ` Arnd Bergmann
2015-12-10 19:03           ` Detlef Vollmann
2015-12-10 20:59             ` Arnd Bergmann
2015-12-10 20:59               ` Arnd Bergmann
2015-12-10 21:14               ` Detlef Vollmann
2015-12-10 21:29                 ` Arnd Bergmann
2015-12-10 21:29                   ` Arnd Bergmann
2015-12-10 22:00                   ` Detlef Vollmann
2015-12-10 23:10                     ` Arnd Bergmann
2015-12-10 23:10                       ` Arnd Bergmann
2015-12-11 13:36                       ` Jason Cooper
2015-12-11 13:36                         ` Jason Cooper
2015-12-11 14:46                         ` Arnd Bergmann
2015-12-11 14:46                           ` Arnd Bergmann
2015-12-11 14:55                           ` Jason Cooper
2015-12-11 14:55                             ` Jason Cooper
2015-12-11 22:41                             ` Detlef Vollmann
2015-12-11 18:27                         ` Josh Triplett
2015-12-11 18:27                           ` Josh Triplett
2015-12-11 18:46                           ` Jason Cooper
2015-12-11 18:46                             ` Jason Cooper
2015-12-11 19:08                             ` Josh Triplett
2015-12-11 19:08                               ` Josh Triplett
2015-12-11 19:14                               ` Jason Cooper
2015-12-11 19:14                                 ` Jason Cooper
     [not found]         ` <5669808F.2050909@vollmann.ch>
2015-12-11 21:33           ` Arnd Bergmann [this message]
2015-12-11 21:33             ` Arnd Bergmann
2015-12-11 23:18             ` Detlef Vollmann
2015-12-01 22:51   ` Andrew Lunn
2015-12-01 22:51     ` Andrew Lunn
2015-12-01 22:55     ` Arnd Bergmann
2015-12-01 22:55       ` Arnd Bergmann
2015-12-02 11:03     ` Gregory CLEMENT
2015-12-02 11:03       ` Gregory CLEMENT
2015-12-02 12:33   ` Russell King - ARM Linux
2015-12-02 12:33     ` Russell King - ARM Linux
2015-12-02 15:49     ` Arnd Bergmann
2015-12-02 15:49       ` Arnd Bergmann
2015-12-02 19:28       ` Russell King - ARM Linux
2015-12-02 19:28         ` Russell King - ARM Linux
2015-12-02 19:37         ` Russell King - ARM Linux
2015-12-02 19:37           ` Russell King - ARM Linux
2015-12-02 19:54           ` Arnd Bergmann
2015-12-02 19:54             ` Arnd Bergmann
2015-12-02 19:51         ` Arnd Bergmann
2015-12-02 19:51           ` Arnd Bergmann
2015-12-02 20:22           ` Russell King - ARM Linux
2015-12-02 20:22             ` Russell King - ARM Linux
2015-12-02 20:38             ` Andrew Lunn
2015-12-02 20:38               ` Andrew Lunn
2015-12-02 21:03               ` Russell King - ARM Linux
2015-12-02 21:03                 ` Russell King - ARM Linux
2015-12-02 21:15               ` Arnd Bergmann
2015-12-02 21:15                 ` Arnd Bergmann
2015-12-02 23:59                 ` Andrew Lunn
2015-12-02 23:59                   ` Andrew Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2569698.WNyYKB5EP3@wuerfel \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.