Denys Vlasenko
08bfb453f0
radeonfb: Deinline large functions
...
With this .config: http://busybox.net/~vda/kernel_config ,
after uninlining these functions have sizes and callsite counts
as follows:
__OUTPLLP: 61 bytes, 12 callsites
__INPLL: 79 bytes, 150 callsites
__OUTPLL: 82 bytes, 138 callsites
_OUTREGP: 101 bytes, 8 callsites
_radeon_msleep: 66 bytes, 18 callsites
_radeon_fifo_wait: 83 bytes, 24 callsites
_radeon_engine_idle: 92 bytes, 10 callsites
radeon_engine_flush: 105 bytes, 2 callsites
radeon_pll_errata_after_index_slow: 31 bytes, 11 callsites
radeon_pll_errata_after_data_slow: 91 bytes, 9 callsites
radeon_pll_errata_after_FOO functions are split into two parts:
the inlined part which checks corresponding rinfo->errata bit,
and out-of-line part which performs workaround magic per se.
Reduction in code size is about 49,500 bytes:
text data bss dec hex filename
85789648 22294616 20627456 128711720 7abfc28 vmlinux.before
85740176 22294680 20627456 128662312 7ab3b28 vmlinux
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Airlie <airlied@linux.ie>
Cc: Alex Deucher <alexdeucher@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Dave Airlie <airlied@redhat.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2015-10-08 12:24:12 +03:00
..
accessibility
acpi
ACPI: Eliminate CONFIG_.*{, _MODULE} #ifdef in favor of IS_ENABLED()
2015-09-15 03:05:45 +02:00
amba
android
mm: mark most vm_operations_struct const
2015-09-10 13:29:01 -07:00
ata
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2015-09-03 16:55:55 -07:00
atm
auxdisplay
base
platform-msi: Do not cache msi_desc in handler_data
2015-09-15 17:06:29 +02:00
bcma
block
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
2015-09-19 18:57:09 -07:00
bluetooth
Bluetooth: hci_bcm: Fix crash on suspend
2015-08-28 21:09:14 +02:00
bus
regmap: Changes for v4.3
2015-09-08 16:48:55 -07:00
cdrom
char
IPMI updates for 4.3
2015-09-08 18:19:17 -07:00
clk
A few driver fixes for tegra, rockchip, and st SoCs and a two-liner
2015-09-19 20:17:40 -07:00
clocksource
- New Device Support
2015-09-04 11:35:03 -07:00
connector
cpufreq
cpufreq: acpi-cpufreq: Use cpufreq_cpu_get_raw() in ->get()
2015-09-16 02:17:49 +02:00
cpuidle
Additional power management and ACPI material for v4.3-rc1
2015-09-11 19:11:06 -07:00
crypto
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2015-09-16 07:53:33 -07:00
dca
devfreq
PM / devfreq: Fix incorrect type issue.
2015-09-11 14:23:30 +09:00
dio
dma
genirq: Remove irq argument from irq flow handlers
2015-09-16 15:47:51 +02:00
dma-buf
edac
edac updates for v4.3-rc1
2015-09-11 16:21:12 -07:00
eisa
extcon
regulator: Updates for v4.3
2015-08-31 15:49:19 -07:00
firewire
firmware
kexec: split kexec_load syscall from kexec core code
2015-09-10 13:29:01 -07:00
fmc
gpio
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-18 08:11:42 -07:00
gpu
gpu/drm: Kill off set_irq_flags usage
2015-09-16 16:53:38 +02:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2015-09-04 12:02:11 -07:00
hsi
mm: mark most vm_operations_struct const
2015-09-10 13:29:01 -07:00
hv
hwmon
hwmon: (nct6775) Add support for NCT6793D
2015-09-12 19:43:02 -07:00
hwspinlock
hwtracing /coresight
i2c
Merge branch 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
2015-09-08 16:16:26 -07:00
ide
idle
iio
This is the bulk of GPIO changes for the v4.3 kernel cycle:
2015-09-04 10:07:45 -07:00
infiniband
Changes for 4.3-rc1
2015-09-16 09:16:20 -07:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2015-09-11 19:17:28 -07:00
iommu
fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void
2015-09-11 15:21:34 -07:00
ipack
irqchip
irqchip: Kill off set_irq_flags usage
2015-09-16 16:53:38 +02:00
isdn
libnvdimm for 4.3:
2015-09-08 14:35:59 -07:00
leds
leds:lp55xx: Correct Kconfig dependency for f/w user helper
2015-09-17 10:02:20 +02:00
lguest
macintosh
powerpc updates for 4.3
2015-09-03 16:41:38 -07:00
mailbox
Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration
2015-09-05 18:11:04 -07:00
mcb
md
SCSI misc on 20150911
2015-09-11 18:15:18 -07:00
media
media updates for v4.3-rc1
2015-09-11 16:42:39 -07:00
memory
IOMMU Updates for Linux v4.3
2015-09-08 17:22:35 -07:00
memstick
message
mfd
genirq: Remove irq argument from irq flow handlers
2015-09-16 15:47:51 +02:00
misc
powerpc fixes for 4.3
2015-09-18 08:01:06 -07:00
mmc
MMC core:
2015-09-08 16:33:16 -07:00
mtd
MTD updates #2 for 4.3-rc1:
2015-09-09 11:17:33 -07:00
net
net/mlx4_en: Use access helper irq_data_get_affinity_mask()
2015-09-15 17:06:28 +02:00
nfc
This is the bulk of GPIO changes for the v4.3 kernel cycle:
2015-09-04 10:07:45 -07:00
ntb
NTB: Fix range check on memory window index
2015-09-07 15:27:12 -04:00
nubus
nvdimm
pmem: add proper fencing to pmem_rw_page()
2015-09-17 11:49:28 -04:00
nvmem
of
Merge branch 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
2015-09-08 16:16:26 -07:00
oprofile
parisc
parisc: use seq_hex_dump() to dump buffers
2015-09-10 13:29:01 -07:00
parport
pci
genirq: Remove irq argument from irq flow handlers
2015-09-16 15:47:51 +02:00
pcmcia
pcmcia: soc_common: remove skt_dev_info's clk pointer
2015-09-03 16:01:03 +01:00
perf
phy
This is the bulk of GPIO changes for the v4.3 kernel cycle:
2015-09-04 10:07:45 -07:00
pinctrl
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-18 08:11:42 -07:00
platform
platform-drivers-x86 for 4.3-2
2015-09-17 21:41:02 -07:00
pnp
power
power supply and reset fixes for the v4.3 series
2015-09-17 12:25:42 -07:00
powercap
powercap / RAPL: disable the 2nd power limit properly
2015-08-29 01:46:40 +02:00
pps
ps3
ptp
pwm
pwm: Changes for v4.3-rc1
2015-09-09 10:55:32 -07:00
rapidio
ras
regulator
regmap: Changes for v4.3
2015-09-08 16:48:55 -07:00
remoteproc
reset
reset: ath79: Fix missing spin_lock_init
2015-09-01 14:48:40 +02:00
rpmsg
rtc
rtc: abx80x: fix RTC write bit
2015-09-05 19:37:31 +02:00
s390
virtio: fixes on top of 4.3-rc1
2015-09-18 09:28:20 -07:00
sbus
scsi
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2015-09-11 19:00:42 -07:00
sfi
sh
sh: Kill off set_irq_flags usage
2015-09-16 16:53:39 +02:00
sn
soc
genirq: Remove irq argument from irq flow handlers
2015-09-16 15:47:51 +02:00
spi
Merge remote-tracking branches 'spi/topic/ti-qspi', 'spi/topic/xcomm' and 'spi/topic/xlp' into spi-next
2015-08-31 14:45:45 +01:00
spmi
genirq: Remove irq argument from irq flow handlers
2015-09-16 15:47:51 +02:00
ssb
staging
Changes for 4.3-rc1
2015-09-19 20:04:11 -07:00
target
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2015-09-11 19:00:42 -07:00
tc
thermal
thermal: fix intel PCH thermal driver mismerge
2015-09-11 20:06:59 -07:00
thunderbolt
tty
xen: MFN/GFN/BFN terminology changes for 4.3-rc0
2015-09-10 16:21:11 -07:00
uio
usb
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2015-09-01 18:46:42 -07:00
uwb
vfio
vhost
virtio: fixes on top of 4.3-rc1
2015-09-18 09:28:20 -07:00
video
radeonfb: Deinline large functions
2015-10-08 12:24:12 +03:00
virt
virtio
virtio_balloon: do not change memory amount visible via /proc/meminfo
2015-09-08 13:32:11 +03:00
vlynq
vme
w1
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2015-09-01 18:46:42 -07:00
watchdog
Merge git://www.linux-watchdog.org/linux-watchdog
2015-09-11 15:12:59 -07:00
xen
Merge branch 'akpm' (patches from Andrew)
2015-09-10 18:19:42 -07:00
zorro
Kconfig
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
2015-09-03 16:27:01 -07:00
Makefile
This is the bulk of pin control changes for the v4.3 development
2015-09-04 10:22:09 -07:00