android_kernel_xiaomi_sm8350/drivers/watchdog
Linus Torvalds 1f6ef23429 [watchdog] hpwdt: fix use of inline assembly
The inline assembly in drivers/watchdog/hpwdt.c was incredibly broken,
and included all the function prologue and epilogue stuff, even though
it was itself then inside a C function where the compiler would add its
own prologue and epilogue on top of it all.

This then just _happened_ to work if you had exactly the right compiler
version and exactly the right compiler flags, so that gcc just happened
to not create any prologue at all (the gcc-generated epilogue wouldn't
matter, since it would never be reached).

But the more proper way to fix it is to simply not do this.  Move the
inline asm to the top level, with no surrounding function at all (the
better alternative would be to remove the prologue and make it actually
use proper description of the arguments to the inline asm, but that's a
bigger change than the one I'm willing to make right now).

Tested-by: S.Çağlar Onur <caglar@pardus.org.tr>
Acked-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-20 12:25:34 -07:00
..
acquirewdt.c
advantechwdt.c
alim1535_wdt.c
alim7101_wdt.c
ar7_wdt.c
at32ap700x_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
at91rm9200_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
bfin_wdt.c [WATCHDOG] Blackfin Watchdog Driver: split platform device/driver 2008-05-25 09:01:36 +00:00
booke_wdt.c [WATCHDOG] Fix booke_wdt.c on MPC85xx SMP system's 2008-05-25 09:43:06 +00:00
cpu5wdt.c [WATCHDOG] Remove volatiles from watchdog device structures 2008-03-06 11:30:32 +00:00
davinci_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
ep93xx_wdt.c
eurotechwdt.c
geodewdt.c drivers/watchdog/geodewdt.c: build fix 2008-05-30 10:16:58 -07:00
hpwdt.c [watchdog] hpwdt: fix use of inline assembly 2008-06-20 12:25:34 -07:00
i6300esb.c
ib700wdt.c
ibmasr.c
indydog.c
iop_wdt.c
it8712f_wdt.c [WATCHDOG] it8712f_wdt Zero MSB timeout byte when disabling watchdog 2008-04-06 19:12:22 +00:00
iTCO_vendor_support.c
iTCO_wdt.c [WATCHDOG] Add ICH9DO into the iTCO_wdt.c driver 2008-05-25 09:45:39 +00:00
ixp4xx_wdt.c
ixp2000_wdt.c
Kconfig [WATCHDOG] Add a watchdog driver based on the CS5535/CS5536 MFGPT timers 2008-05-25 09:02:17 +00:00
ks8695_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
machzwd.c [WATCHDOG] replace remaining __FUNCTION__ occurrences 2008-03-06 11:30:26 +00:00
Makefile [WATCHDOG] hpwdt: Add CFLAGS to get driver working 2008-06-17 20:58:03 +00:00
mixcomwd.c
mpc8xx_wdt.c
mpc83xx_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
mpc5200_wdt.c
mpcore_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
mtx-1_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
mv64x60_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
omap_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
omap_wdt.h
pc87413_wdt.c
pcwd_pci.c
pcwd_usb.c [WATCHDOG] replace remaining __FUNCTION__ occurrences 2008-03-06 11:30:26 +00:00
pcwd.c
pnx4008_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rm9k_wdt.c
s3c2410_wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
sa1100_wdt.c
sb_wdog.c
sbc60xxwdt.c
sbc7240_wdt.c
sbc8360.c
sbc_epx_c3.c
sc520_wdt.c
sc1200wdt.c Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
scx200_wdt.c
shwdt.c [WATCHDOG] replace remaining __FUNCTION__ occurrences 2008-03-06 11:30:26 +00:00
smsc37b787_wdt.c
softdog.c
txx9wdt.c watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
w83627hf_wdt.c
w83697hf_wdt.c [WATCHDOG] Add w83697h_wdt early_disable option 2008-05-25 09:00:51 +00:00
w83877f_wdt.c
w83977f_wdt.c
wafer5823wdt.c
wd501p.h
wdrtas.c
wdt285.c
wdt977.c
wdt_pci.c
wdt.c