summaryrefslogtreecommitdiffstats
path: root/drivers/serial/mcf.c
Commit message (Collapse)AuthorAgeFilesLines
* serial: mcf: don't take spinlocks in already protected functionsYury Georgievskiy2010-08-101-18/+13
| | | | | | | | | | | | | | | | | | | Don't take the port spinlock in uart functions where the serial core already takes care of locking/unlocking them. The code would actually lock up on architectures where spinlocks are implemented. Also protect calling mcf_rx_chars/mcf_tx_chars in the interrupt handler by the port spinlock and use IRQ_RETVAL to return from isr. [akpm@linux-foundation.org: make irq-handler return value more explicit] Signed-off-by: Yury Georgievskiy <ygeorgie@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* m68knommu: allow 4 coldfire serial portsPhilippe De Muyter2010-04-211-1/+1
| | | | | | | Fix driver/serial/mcf.c for 4-ports coldfire's (e.g. MCF5484). Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: fix coldfire tcdrainPhilippe De Muyter2010-04-211-1/+3
| | | | | | | | | | | Fix tcdrain on coldfire uarts. Currently with coldfire uarts tcdrain returns without waiting for txempty, because (tx)fifosize is 0. Fix that and call uart_update_timeout when setting the baud rate, otherwise tcdrain will wait for an half our :) Also constify mcf_uart_ops. Signed-off-by: Philippe De Muyter <phdm@macqel.be> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: move mcf_remove to .devexit.textUwe Kleine-König2009-12-041-1/+1
| | | | | | | | | | | | The function mcf_remove is used only wrapped by __devexit_p so define it using __devexit. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Len Sorensen <lsorense@csclub.uwaterloo.ca> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Alan Cox <alan@linux.intel.com> Cc: linux-kernel@vger.kernel.org Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* serial: kill off uart_infoAlan Cox2009-09-191-2/+2
| | | | | | | | We moved this into uart_state, now move the fields out of the separate structure and kill it off. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* m68knommu: Fix support for console port other than ttyS0 on mcf.cLen Sorensen2009-03-241-1/+1
| | | | | | | | | | | | | | | | Due to a case of backwards logic, mfc.c always makes the console port be ttyS0 even when you ask for another port. This patch fixes this issue. Only when the requested port is NOT in the range 0 to MAXPORTS-1 do we force it to be treated as if port 0 was requested. Forcing the port to 0 when it is in fact in the range 0 to MAXPORTS is not helpful. Tested with working console on ttyS2 on a 5271evb. Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* m68knommu: fix ColdFire 5272 serial baud rates in mcf.cJohn Adamson2009-01-271-0/+11
| | | | | | | | I noticed (the hard way) that the mcf.c driver doesn't support the fractional precision register on the MCF5272. This makes the console dicey at 115200 baud and a system clock of 66.0 MHz. On the other hand, if your hardware is running at 66.666 MHz, it probably isn't a problem. Patch submitted by John Adamson <jadamson@allen-organ.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
* Fix compile errors in SGI console drivers (linux-next tree)Takashi Iwai2008-07-201-1/+1
| | | | | | | | | | The below is the patch to replace blindly all possible places, including Jack's fixes. Signed-off-by: Takashi Iwai <tiwai@suse.de> (Reviewed and checked rather than blindly added) Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* serial: fix platform driver hotplug/coldplugKay Sievers2008-04-151-0/+1
| | | | | | | | | | | | | | | | | Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable serial platform drivers, to re-enable auto loading. NOTE that Kconfig for some of these drivers doesn't allow modular builds, and thus doesn't match the driver source's unload support. Presumably their unload code is buggy and/or weakly tested... [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: use ARRAY_SIZE in ColdFire serial driverGreg Ungerer2008-02-051-1/+1
| | | | | | | | Use ARRAY_SIZE macroto get maximum ports in ColdFire serial driver. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: use container_of in mcf.cGreg Ungerer2008-02-011-10/+10
| | | | | | | | Use container_of() instead of assuming local uart struct is first member of uart_port struct. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: new style ColdFire UART driverGreg Ungerer2007-10-231-0/+653
A new style serial driver for the Freescale ColdFire UART to replace the old style one currently in the tree (drivers/serial/mcfserial.c). Currently this UART is only found in the ColdFire CPU family of parts (thus I prefixed this patch [M68KNOMMU]). This has been around for a long while now, tested on all available platforms. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>