From patchwork Fri Aug 29 18:05:49 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartlomiej Zolnierkiewicz X-Patchwork-Id: 4811971 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id A116C9F37E for ; Fri, 29 Aug 2014 18:08:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B04792011B for ; Fri, 29 Aug 2014 18:08:45 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BA30F20117 for ; Fri, 29 Aug 2014 18:08:44 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XNQZ2-00040C-LT; Fri, 29 Aug 2014 18:06:20 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XNQYz-0003uk-Ot for linux-arm-kernel@lists.infradead.org; Fri, 29 Aug 2014 18:06:18 +0000 Received: from epcpsbgm2.samsung.com (epcpsbgm2 [203.254.230.27]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NB200DBRY9SHY30@mailout3.samsung.com> for linux-arm-kernel@lists.infradead.org; Sat, 30 Aug 2014 03:05:52 +0900 (KST) X-AuditID: cbfee61b-f79f86d00000144c-17-5400c100bce6 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id AE.6A.05196.001C0045; Sat, 30 Aug 2014 03:05:52 +0900 (KST) Received: from amdc1032.localnet ([106.116.147.136]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0NB2007G2Y9Q7450@mmp2.samsung.com>; Sat, 30 Aug 2014 03:05:52 +0900 (KST) From: Bartlomiej Zolnierkiewicz To: linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 1/2] ARM: multi_v7_defconfig: Enable shmobile platforms Date: Fri, 29 Aug 2014 20:05:49 +0200 Message-id: <1965890.bT7bZyQJt8@amdc1032> User-Agent: KMail/4.8.4 (Linux/3.2.0-54-generic-pae; KDE/4.8.5; i686; ; ) In-reply-to: <1409234429-1916-1-git-send-email-geert+renesas@glider.be> References: <1409234429-1916-1-git-send-email-geert+renesas@glider.be> MIME-version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrKLMWRmVeSWpSXmKPExsVy+t9jQV2GgwwhBpfuC1v8nXSM3WLu7EmM Fs1bvzJabHp8jdVizp8pzBYPVr9lszh1/TObA7vH71+TGD0mntX12DnrLrvH5iX1HldONLF6 zPn5jcXj8ya5APYoLpuU1JzMstQifbsErozJjzayF7zSqHh7Zw5zA+NipS5GTg4JAROJg5uW M0HYYhIX7q1n62Lk4hASmM4ocfnJQVYIp4VJ4vW0JkaQKjYBK4mJ7avAbBEBDYkpXY/ZQYqY BW4wSuxonsUMkhAW8Ja4c/oa2FgWAVWJHQfXg9m8ApoSf59/YgWxRQU8JXZsX8kGYnMKuEus nb8QbKiQgJvE00tdzBD1ghI/Jt9jAbGZBeQl9u2fygpha0ms33mcaQKjwCwkZbOQlM1CUraA kXkVo2hqQXJBcVJ6rpFecWJucWleul5yfu4mRnDgP5PewbiqweIQowAHoxIPb8fJ/8FCrIll xZW5hxglOJiVRHjvLmEIEeJNSaysSi3Kjy8qzUktPsQozcGiJM57sNU6UEggPbEkNTs1tSC1 CCbLxMEp1cBofEzw69llzQf3z0g9IrLe4MxUna3ZP5s697tIhH/XLKmr4vwwadWdA01HtLWn CfpOklo7I2XG+YfJj/nb7UzqW95mmpX/3fr0Xbl41P1U21glT9sl/37vNTDX+5f/sDEwJl53 /gmxk14mKkfOa6odPuT520ug80T80iXcb9fsDWC4PeGJu2qpEktxRqKhFnNRcSIAXyJMpXgC AAA= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140829_110617_963845_63301084 X-CRM114-Status: GOOD ( 13.81 ) X-Spam-Score: -5.0 (-----) Cc: Geert Uytterhoeven , Arnd Bergmann , linux-sh@vger.kernel.org, Magnus Damm , Simon Horman , Olof Johansson X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi, On Thursday, August 28, 2014 04:00:28 PM Geert Uytterhoeven wrote: > Signed-off-by: Geert Uytterhoeven > --- > Based on next-20140828 > For now excluding r8a7740/armadillo, as it fails to boot on armadillo > > arch/arm/configs/multi_v7_defconfig | 51 +++++++++++++++++++++++++++++++++++-- > 1 file changed, 49 insertions(+), 2 deletions(-) I've been looking lately into making it possible to easily go from multi_v7_defconfig config to a single platform one (in my case Exynos one) and removing the need to keep the latter (i.e. exynos_defconfig) in the kernel tree in the long-term. Because of this I've noticed that some config options for platform specific hardware that are selected in multi_v7_defconfig don't have proper dependencies. This results in more complex than necessary single platform configs (obtained from a multiplatform config) and unnecessarily bigger resulting kernel images. Your patch also adds/uncovers some such config options. Lets first look at sizes of resulting vmlinux images for single platform Exynos config before and after your patch: $ size vmlinux.* text data bss dec hex filename 7817317 517188 278992 8613497 836e79 vmlinux.before 7978325 527012 279056 8784393 860a09 vmlinux.after (=> the patch results in 170kB bigger vmlinux size) and the configs diff later: CONFIG_MARVELL_PHY=y CONFIG_ICPLUS_PHY=y +CONFIG_MICREL_PHY=y This gets selected by CONFIG_SH_ETH and costs us 4kB. CONFIG_USB_PEGASUS=y CONFIG_USB_USBNET=y CONFIG_USB_NET_SMSC75XX=y @@ -110,6 +114,7 @@ CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_8250_EM=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_SERIAL_SAMSUNG=y @@ -122,11 +127,13 @@ CONFIG_SERIAL_ST_ASC=y CONFIG_SERIAL_ST_ASC_CONSOLE=y CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y CONFIG_I2C_MUX_PCA954x=y CONFIG_I2C_MUX_PINCTRL=y CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_NOMADIK=y CONFIG_I2C_XILINX=y +CONFIG_SPI=y CONFIG_SPI_CADENCE=y CONFIG_SPI_PL022=y CONFIG_SPI_XILINX=y @@ -135,6 +142,7 @@ CONFIG_PINCTRL_PALMAS=y CONFIG_GPIO_SYSFS=y CONFIG_GPIO_DWAPB=y +CONFIG_GPIO_EM=y CONFIG_GPIO_PL061=y CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y @@ -173,6 +181,7 @@ CONFIG_REGULATOR_VIRTUAL_CONSUMER=y CONFIG_REGULATOR_AS3722=y CONFIG_REGULATOR_BCM590XX=y +CONFIG_REGULATOR_DA9210=y CONFIG_REGULATOR_GPIO=y CONFIG_REGULATOR_MAX8907=y CONFIG_REGULATOR_PALMAS=y @@ -187,9 +196,18 @@ CONFIG_REGULATOR_VEXPRESS=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=y CONFIG_USB_GSPCA=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_SOC_CAMERA=y +CONFIG_SOC_CAMERA_PLATFORM=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_RENESAS_VSP1=y This seems to be another option for Renesas specific hardware and it has a footprint of 23kB. [ I think that this option should depend on ARCH_SHMOBILE. ] +# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set +CONFIG_VIDEO_ADV7180=y CONFIG_DRM=y CONFIG_FB=y CONFIG_FB_ARMCLCD=y @@ -204,6 +222,7 @@ CONFIG_SND_SOC=y CONFIG_SND_SOC_WM8753=y CONFIG_SND_SOC_WM8903=y +CONFIG_SND_SIMPLE_CARD=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_EHCI_HCD=y @@ -211,6 +230,7 @@ CONFIG_USB_ISP1760_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_RENESAS_USBHS=y It seems to be yet another option for Renesas specific hardware and it has a footprint of 18kB. [ I think that this option should depend on ARCH_SHMOBILE || ARCH_SH. ] CONFIG_USB_STORAGE=y CONFIG_USB_CHIPIDEA=y CONFIG_USB_CHIPIDEA_HOST=y @@ -220,6 +240,8 @@ CONFIG_USB_GPIO_VBUS=y CONFIG_USB_ISP1301=y CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_RENESAS_USBHS_UDC=y This one depends on CONFIG_USB_RENESAS_USBHS and costs us 3kB. CONFIG_MMC=y CONFIG_MMC_BLOCK_MINORS=16 CONFIG_MMC_ARMMMCI=y In total by fixing the above three options to have correct dependencies it is possible to recover 86kB out of 170kB of vmlinux size inrease for a single platform only config derived from a multiplatform one. Simon/Magnus, is it okay to send patches fixing CONFIG_SH_ETH CONFIG_VIDEO_RENESAS_VSP1 CONFIG_USB_RENESAS_USBHS dependencies? Best regards, --- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics --- multi_v7_exynos_only 2014-08-29 12:29:31.881485357 +0200 +++ multi_v7_exynos_only_shmobile 2014-08-29 12:36:24.361496247 +0200 @@ -70,6 +70,8 @@ CONFIG_BRCMSTB_GISB_ARB=y CONFIG_VEXPRESS_CONFIG=y CONFIG_MTD=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_SPI_NOR=y CONFIG_BLK_DEV_LOOP=y CONFIG_ICS932S401=y CONFIG_APDS9802ALS=y @@ -86,11 +88,13 @@ CONFIG_MVMDIO=y CONFIG_KS8851=y CONFIG_R8169=y +CONFIG_SH_ETH=y This seems to be option for Renesas specific hardware and it has a footprint of 23kB. [ I think that this option should depend on ARCH_SHMOBILE || ARCH_SH. ] CONFIG_SMSC911X=y CONFIG_STMMAC_ETH=y CONFIG_AT803X_PHY=y