linux/drivers/serial
David Brownell 06a7f05876 atmel_serial: keep clock off when it's not needed
The atmel_serial driver is mismanaging its clock by leaving it on at all
times ...  the whole point of clock management is to leave it off unless
it's actively needed, which conserves power!!

Although the kernel doesn't actually hang without my fix, it does
discard quite a lot of early console output.

The result still looks correct:

          usart        users= 1 on   35000000 Hz, for atmel_usart.0
          usart        users= 0 off  35000000 Hz, for atmel_usart.2

when using ttyS0 as serial console.

[haavard.skinnemoen@atmel.com: Make sure clock is enabled early for console]
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-11-06 15:41:19 -08:00
..
cpm_uart Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-20 13:23:01 -07:00
jsm serial: use tty_port 2008-07-20 17:12:35 -07:00
8250_accent.c
8250_acorn.c [ARM] ecard: add ecardm_iomap() / ecardm_iounmap() 2007-05-11 17:19:02 +01:00
8250_boca.c
8250_early.c 8250: switch 8250 drivers to use _nocache ioremaps 2008-05-01 08:04:00 -07:00
8250_exar_st16c554.c
8250_fourport.c
8250_gsc.c make probe_serial_gsc() static 2008-10-20 08:52:36 -07:00
8250_hp300.c 8250_hp300: coding style 2008-02-08 09:22:25 -08:00
8250_hub6.c 8250_hub6: codding style 2008-02-08 09:22:25 -08:00
8250_mca.c
8250_pci.c 8250: Add more OxSemi devices 2008-10-23 09:35:18 -07:00
8250_pnp.c drivers/serial/: remove CVS keywords 2008-07-20 17:12:35 -07:00
8250.c Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-20 13:23:01 -07:00
8250.h 8250: improve workaround for UARTs that don't re-assert THRE correctly 2008-09-02 19:21:38 -07:00
21285.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
68328serial.c serial, 8250: remove NR_IRQ usage 2008-10-16 16:52:02 +02:00
68328serial.h
68360serial.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
amba-pl010.c drivers/serial: use nr_irqs 2008-10-16 16:52:06 +02:00
amba-pl011.c drivers/serial: use nr_irqs 2008-10-16 16:52:06 +02:00
atmel_serial.c atmel_serial: keep clock off when it's not needed 2008-11-06 15:41:19 -08:00
bfin_5xx.c Blackfin Serial Driver: Fix bug - request UART2/3 peripheral mapped interrupts in PIO mode 2008-10-13 09:51:38 -07:00
bfin_sport_uart.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
bfin_sport_uart.h Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART 2008-04-30 08:29:30 -07:00
clps711x.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
crisv10.c [CRIS] Move header files from include to arch/cris/include. 2008-10-29 17:29:44 +01:00
crisv10.h [CRIS] Move header files from include to arch/cris/include. 2008-10-29 17:29:44 +01:00
dz.c serial: DZ11: avoid a hang at console switch-over 2008-07-24 10:47:29 -07:00
dz.h dz: clean up and improve the setup of termios settings 2008-02-07 08:42:24 -08:00
icom.c ttydev: Fix up compile failures in the PPC build 2008-07-22 13:03:22 -07:00
icom.h Coding style fix drivers/serial/icom.h 2008-02-03 14:47:38 +02:00
imx.c imx serial: fix rts handling for non imx1 based hardware 2008-09-02 10:19:30 +02:00
ioc3_serial.c - Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
ioc4_serial.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
ip22zilog.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
ip22zilog.h
Kconfig [ARM] build fixes for netX serial driver 2008-10-30 09:41:59 +01:00
kgdboc.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
m32r_sio_reg.h
m32r_sio.c drivers/serial: use nr_irqs 2008-10-16 16:52:06 +02:00
m32r_sio.h m32r: serial: remove M32R_SIO_SHARE_IRQS 2007-10-16 09:43:04 -07:00
Makefile serial: allow 8250 to be used on sparc 2008-10-13 09:51:40 -07:00
mcf.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
mpc52xx_uart.c serial/mpc52xx_uart: remove code associated with !CONFIG_PPC_MERGE 2008-09-25 10:28:26 -05:00
mpsc.c kgdb: kgdboc console poll hooks for mpsc uart 2008-07-23 11:30:16 -05:00
mux.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
netx-serial.c [ARM] build fixes for netX serial driver 2008-10-30 09:41:59 +01:00
of_serial.c of_serial: Use linux/of_platform.h instead of asm 2008-06-09 13:46:37 +10:00
pmac_zilog.c ttydev: fix pamc_zilog for tty pointer move 2008-07-20 17:12:36 -07:00
pmac_zilog.h
pnx8xxx_uart.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
pxa.c [ARM] 5244/1: Add hardware CTSRTS flow control to pxa serial driver 2008-09-09 16:32:53 +01:00
s3c2400.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
s3c2410.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
s3c2412.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
s3c2440.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
sa1100.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
samsung.c [ARM] S3C24XX: Move files out of include/asm-arm/plat-s3c* 2008-10-07 22:26:09 +01:00
samsung.h [ARM] S3C24XX: Split serial driver into core and per-cpu drivers 2008-07-03 16:51:31 +01:00
sb1250-duart.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
sc26xx.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
serial_core.c drivers/serial: use nr_irqs 2008-10-16 16:52:06 +02:00
serial_cs.c pcmcia: remove unused argument to pcmcia_parse_tuple() 2008-08-31 15:50:33 +02:00
serial_ks8695.c [ARM] 5250/1: unbalanced enable_irq() for serial_ks8695.c fix 2008-10-01 22:41:43 +01:00
serial_lh7a40x.c drivers/serial: use nr_irqs 2008-10-16 16:52:06 +02:00
serial_txx9.c serial_txx9: use %lx for iobase 2008-10-20 08:50:24 -07:00
sh-sci.c sh: Fix up the shared IRQ demuxer's control bit testing logic. 2008-10-31 16:10:23 +09:00
sh-sci.h sh: Fix up the shared IRQ demuxer's control bit testing logic. 2008-10-31 16:10:23 +09:00
sn_console.c Altix serial: fix 2008-10-20 08:52:36 -07:00
suncore.c [SERIAL]: Fix section mismatches in Sun serial console drivers. 2007-12-29 01:19:49 -08:00
suncore.h [SERIAL] sparc: Infrastructure to fix section mismatch bugs. 2007-12-12 07:36:34 -08:00
sunhv.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunsab.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunsab.h
sunsu.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunzilog.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sunzilog.h [SERIAL] sunzilog: Interrupt enable before ISR handler installed 2007-05-09 13:49:04 -07:00
uartlite.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
ucc_uart.c Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-20 13:23:01 -07:00
vr41xx_siu.c Fix compile errors in SGI console drivers (linux-next tree) 2008-07-20 17:12:36 -07:00
zs.c serial: Z85C30: avoid a hang at console switch-over 2008-07-24 10:47:29 -07:00
zs.h zs: move to the serial subsystem 2007-07-18 08:38:22 -07:00