linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] pinctrl: samsung: Data structure clean-up
@ 2014-10-02 18:52 Tomasz Figa
  2014-10-02 18:52 ` [PATCH v2 1/5] pinctrl: samsung: Make samsung_pinctrl_get_soc_data use ERR_PTR() Tomasz Figa
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Tomasz Figa @ 2014-10-02 18:52 UTC (permalink / raw)
  To: linux-arm-kernel

This series intends to clean up data structures used by pinctrl-samsung driver.
More specifically, it separates initial compile time constants from data used
at runtime, allowing unused variant data to be dropped and selected structures
constified to improve safety.

As a side effect, size of vmlinux built from multi_v7_defconfig was reduced
from:

 text     data    bss    dec      hex    filename
 10296708 1227100 313544 11837352 b49fa8 vmlinux

to:

 text     data    bss    dec      hex    filename
 10296740 1176860 313544 11787144 b3db88 vmlinux

and quite a bit of data were moved from normal data sections to .init.data:

pre:

Idx Name          Size      VMA       LMA       File off  Algn
  3 .rodata       0026c080  c0881000  c0881000  00681000  2**6
 23 .init.data    0003ff7c  c0bdb830  c0bdb830  009e3830  2**3
 24 .data..percpu 00002100  c0c1c000  c0c1c000  00a24000  2**6
 25 .data         000e98e0  c0c20000  c0c20000  00a28000  2**6

post:

Idx Name          Size      VMA       LMA       File off  Algn
  3 .rodata       0026bf20  c0881000  c0881000  00681000  2**6
 23 .init.data    00041bbc  c0bdb830  c0bdb830  009e3830  2**3
 24 .data..percpu 00002100  c0c1e000  c0c1e000  00a26000  2**6
 25 .data         000db860  c0c22000  c0c22000  00a2a000  2**6

This series should not introduce any functional changes.

Tested on S3C6410-based Mini6410 board booted using device tree, with GPIO
leds and GPIO keyboard. Compile tested for s3c24xx, exynos, s5pv210.

Changes since v1:
 - rebased on current devel branch of pinctrl tree.

Tomasz Figa (5):
  pinctrl: samsung: Make samsung_pinctrl_get_soc_data use ERR_PTR()
  pinctrl: samsung: Drop unused label field in samsung_pin_ctrl struct
  pinctrl: samsung: Constify samsung_pin_bank_type struct
  pinctrl: samsung: Constify samsung_pin_ctrl struct
  pinctrl: samsung: Separate per-bank init and runtime data

 drivers/pinctrl/samsung/pinctrl-exynos.c  | 111 ++++++++++----------------
 drivers/pinctrl/samsung/pinctrl-s3c24xx.c |  30 +++----
 drivers/pinctrl/samsung/pinctrl-s3c64xx.c |  31 ++++----
 drivers/pinctrl/samsung/pinctrl-samsung.c | 126 ++++++++++++++++--------------
 drivers/pinctrl/samsung/pinctrl-samsung.h |  78 ++++++++++++------
 5 files changed, 192 insertions(+), 184 deletions(-)

-- 
2.1.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-10-24 12:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-02 18:52 [PATCH v2 0/5] pinctrl: samsung: Data structure clean-up Tomasz Figa
2014-10-02 18:52 ` [PATCH v2 1/5] pinctrl: samsung: Make samsung_pinctrl_get_soc_data use ERR_PTR() Tomasz Figa
2014-10-02 18:52 ` [PATCH v2 2/5] pinctrl: samsung: Drop unused label field in samsung_pin_ctrl struct Tomasz Figa
2014-10-02 18:52 ` [PATCH v2 3/5] pinctrl: samsung: Constify samsung_pin_bank_type struct Tomasz Figa
2014-10-02 18:52 ` [PATCH v2 4/5] pinctrl: samsung: Constify samsung_pin_ctrl struct Tomasz Figa
2014-10-02 18:52 ` [PATCH v2 5/5] pinctrl: samsung: Separate per-bank init and runtime data Tomasz Figa
2014-10-08 10:23 ` [PATCH v2 0/5] pinctrl: samsung: Data structure clean-up Linus Walleij
2014-10-11 18:52   ` Tomasz Figa
2014-10-24 12:02   ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).