aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'next' of ↵Linus Torvalds2008-12-282-14/+87
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits) powerpc/44x: Support 16K/64K base page sizes on 44x powerpc: Force memory size to be a multiple of PAGE_SIZE powerpc/32: Wire up the trampoline code for kdump powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M powerpc/32: Allow __ioremap on RAM addresses for kdump kernel powerpc/32: Setup OF properties for kdump powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs() powerpc: Prepare xmon_save_regs for use with kdump powerpc: Remove default kexec/crash_kernel ops assignments powerpc: Make default kexec/crash_kernel ops implicit powerpc: Setup OF properties for ppc32 kexec powerpc/pseries: Fix cpu hotplug powerpc: Fix KVM build on ppc440 powerpc/cell: add QPACE as a separate Cell platform powerpc/cell: fix build breakage with CONFIG_SPUFS disabled powerpc/mpc5200: fix error paths in PSC UART probe function powerpc/mpc5200: add rts/cts handling in PSC UART driver powerpc/mpc5200: Make PSC UART driver update serial errors counters powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver ... Fix trivial conflict in drivers/char/Makefile as per Paul's directions
| * powerpc/mpc5200: fix error paths in PSC UART probe functionWolfram Sang2008-12-211-8/+15
| | | | | | | | | | | | | | | | - error cases for mapbase and irq were unbundled - mapped irq now gets disposed on error Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * powerpc/mpc5200: add rts/cts handling in PSC UART driverWolfram Sang2008-12-211-4/+37
| | | | | | | | | | | | | | | | Add RTS/CTS-support for the PSC of the MPC5200B. Tested with a Phytec MPC5200B-IO. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * powerpc/mpc5200: Make PSC UART driver update serial errors countersRené Bürgel2008-12-211-2/+8
| | | | | | | | | | | | | | | | | | This patch adds the capability to the mpc52xx-uart to report framing errors, parity errors, breaks and overruns to userspace. These values may be requested in userspace by using the ioctl TIOCGICOUNT. Signed-off-by: René Bürgel <r.buergel@unicontrol.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * Merge branch 'merge' into nextPaul Mackerras2008-12-163-6/+6
| |\
| * \ Merge branch 'merge'Paul Mackerras2008-12-031-2/+2
| |\ \
| * \ \ Merge branch 'linux-2.6' into nextPaul Mackerras2008-11-192-18/+20
| |\ \ \
| * | | | serial/pmac_zilog: Add console polling supportChris J Arges2008-11-191-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements poll_get_char and poll_put_char for console polling, which enables kgdb to work on machines that use the pmac_zilog serial driver, for example the Apple PowerMac G5. Signed-off-by: Chris J Arges <arges@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | | | serial: sh-sci: Fix up port pinmux for SH7366.Paul Mundt2008-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | serial: sh-sci: sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL.Paul Mundt2008-12-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sci_poll_put_char() happens to also be used by the serial console, while sci_poll_get_char() is only used by CONFIG_CONSOLE_POLL. Add another gnarly ifdef to shut up the compiler. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | serial: sh-sci: Generalize port pin initialization.Paul Mundt2008-12-222-114/+43
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | serial: sh-sci: Tidy up fifo overrun error handling.Paul Mundt2008-12-222-27/+29
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | serial: sh-sci: pr_debug() -> dev_dbg() conversion.Paul Mundt2008-12-221-23/+26
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | serial: sh-sci: Fix up the cpufreq notifier to use the proper port clock.Paul Mundt2008-12-221-28/+10
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | serial: sh-sci: Implement CONSOLE_POLL support and kill off old kgdb console.Paul Mundt2008-12-221-181/+20
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | sh: Add support for SH7201 CPU subtype.Peter Griffin2008-12-221-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the SH-2A FPU based SH7201 processor subtype. Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | | serial: sh-sci: Codestyle cleanup patch.Michael Trimarchi2008-12-221-56/+74
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Trivial coding style cleanups. Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | Merge branch 'release' of ↵Linus Torvalds2008-12-101-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] SN: prevent IRQ retargetting in request_irq() [IA64] Fix section mismatch ioc3uart_init()/ioc3uart_submodule [IA64] Clear up section mismatch for ioc4_ide_attach_one. [IA64] Clear up section mismatch with arch_unregister_cpu() [IA64] Clear up section mismatch for sn_check_wars. [IA64] Updated the generic_defconfig to work with the 2.6.28-rc7 kernel. [IA64] Fix GRU compile error w/o CONFIG_HUGETLB_PAGE [IA64] eliminate NULL test and memset after alloc_bootmem [IA64] remove BUILD_BUG_ON from paravirt_getreg()
| * | | | [IA64] Fix section mismatch ioc3uart_init()/ioc3uart_submoduleTony Luck2008-12-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s/ioc3uart_submodule/ioc3uart_ops/ makes the section mismatch check happy. Signed-off-by: Tony Luck <tony.luck@intel.com>
* | | | | drivers/serial/s3c2440.c: fix typo in MODULE_LICENSEBalaji Rao2008-12-101-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Balaji Rao <balajirrao@gmail.com> Acked-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | Fix incorrect use of loose in tty/serial driversNick Andrew2008-12-051-2/+2
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | [Folded together as one diff from 3] It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew <nick@nick-andrew.net> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into mergePaul Mackerras2008-11-241-2/+2
|\ \ \ | |_|/ |/| |
| * | powerpc/virtex: fix various format/casting printk mismatchesGrant Likely2008-11-141-2/+2
| |/ | | | | | | | | | | | | | | | | Various printk format string in code used by the Xilinx Virtex platform are not 32-bit/64-bit safe. Add correct casting to fix the bugs. Reported-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
* | serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.Paul Mundt2008-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Under qemu there is a race between the TDxE read-and-clear and the SCxTDR write. While on hardware it can be gauranteed that the read-and-clear will happen prior to the character being written out, no such assumption can be made under emulation. As this path happens with IRQs off and the hardware itself doesn't care about the ordering, move the SCxTDR write until after the read-and-clear. Signed-off-by: Vladimir Prus <vladimir@codesourcery.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | serial: sh-sci: fix cannot work SH7723 SCIFAYoshihiro Shimoda2008-11-122-17/+19
|/ | | | | | | | SH7723 has SCIFA. This module is similer SCI register map, but it has FIFO. So this patch adds new type(PORT_SCIFA) and change some type checking. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* atmel_serial: keep clock off when it's not neededDavid Brownell2008-11-061-3/+14
| | | | | | | | | | | | | | | | | | | | | | 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>
* Merge branch 'cris_move' of git://www.jni.nu/crisLinus Torvalds2008-11-012-3/+3
|\ | | | | | | | | | | * 'cris_move' of git://www.jni.nu/cris: [CRIS] Move header files from include to arch/cris/include. [CRISv32] Remove warning in io.h
| * [CRIS] Move header files from include to arch/cris/include.Jesper Nilsson2008-10-292-3/+3
| | | | | | | | | | | | | | Change all users of header files to correct path. Remove some unneeded headers for arch-v32. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
* | Merge branch 'master' of ↵Paul Mundt2008-10-312-4/+4
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * | [ARM] build fixes for netX serial driverPaul Bolle2008-10-302-4/+4
| |/ | | | | | | | | | | | | | | | | Make the netX serial driver tristate (as the help text implied). Make the serial driver build correctly if the netX serial console is disabled. Do not allow the netX serial console if the netX serial driver is build as a module. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | sh: Fix up the shared IRQ demuxer's control bit testing logic.Michael Trimarchi2008-10-312-11/+13
| | | | | | | | | | | | | | | | | | Correct the interrupt handler in sh4 serial device, return the correct value and check for what is anabled in the SCSCR register. The sh7722 is broken just sending a break using minicom. Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Define SCSPTR1 for SH 7751RMatt Fleming2008-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | After the recent commit to kill off SCI/SCIF special casing SH 7751R fails to compile with CONFIG_SH_RTS7751R2D set. This is because SCSPTR1 is undefined. Take the value for SCSPTR1 from the SH7751R Group Hardware Manual. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add sci_rxd_in of SH4-202Nobuhiro Iwamatsu2008-10-311-2/+8
| | | | | | | | | | | | | | | | SH4-202 doesn't have SCSXX1. But it is treated so that there is SCSPTR1 in current code. This patch add sci_rxd_in of SH4-202. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Change register name SCSPTR to SCSPTR2Nobuhiro Iwamatsu2008-10-311-1/+1
| | | | | | | | | | | | | | | | This change a name of SCSPTR used in sci_rxd_in of SH5-101. SCSPTR is not declared and will become the error. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Revert "SH 7366 needs SCIF_ONLY"Paul Mundt2008-10-281-1/+0
| | | | | | | | | | | | | | | | | | This reverts commit 5ca8c4852fcbbc8a8497c4ee8b2a0a7466f3524c. With the killing off of SCIF_ONLY and its spawn in sh-sci, we no longer require this change, so just revert it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| |
| \
*-. \ Merge branches 'sh/serial-rework' and 'sh/oprofile'Paul Mundt2008-10-282-83/+16
|\ \ \ | | |/
| * | serial: sh-sci: Kill off all of the SCI/SCIF special casing.Paul Mundt2008-10-022-83/+16
| | | | | | | | | | | | | | | | | | | | | | | | This was added at a time when the compiler did a less than stellar job of optimizing out dead code. These days this tends to be less of a concern, so kill it all off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | SH 7366 needs SCIF_ONLYKuninori Morimoto2008-10-281-0/+1
| |/ |/| | | | | | | | | | | | | | | SH 7366 has compile bug. because there is no SCIF_ONLY for SH 7366. this patch add it. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | 8250: Add more OxSemi devicesLee Howard2008-10-231-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | These have the Mainpine PCI identifier on however Additional paranoia check for Tornado versions added by Alan Cox (and this time I remembered to do an stg refresh so that the corrections ended up in these patches not randomly attached to another diff -- Alan) Signed-off-by: Lee Howard <lee.howard@mainpine.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | 8250: Oxford Semiconductor DevicesLee Howard2008-10-231-0/+211
| | | | | | | | | | | | | | | | | | | | Add support for the OxSemi 'Tornado' devices. Reformatted and reworked a bit by Alan Cox Signed-off-by: Lee Howard <lee.howard@mainpine.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-10-231-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] clps711x: add sparsemem definitions [ARM] 5315/1: Fix section mismatch warning (sa1111) [ARM] Orion: activate workaround for 88f6183 SPI clock erratum [ARM] Orion: instantiate the dsa switch driver [ARM] mv78xx0: force link speed/duplex on eth2/eth3 [ARM] remove extra brace in arch/arm/mach-pxa/trizeps4.c [ARM] balance parenthesis in header file [ARM] pxa: fix trizeps PCMCIA build [ARM] pxa: fix trizeps defconfig [ARM] dmabounce requires ZONE_DMA [ARM] 5303/1: period_cycles should be greater than 1 [ARM] 5310/1: Fix cache flush functions for ARMv4 [ARM] pxa: fix 3bca103a1e658d23737d20e1989139d9ca8973bf [ARM] pxa: fix redefinition of NR_IRQS [ARM] S3C24XX: Fix redefine of DEFINE_TIMER() in s3c24xx pwm-clock.c [ARM] S3C2443: Fix HCLK rate [ARM] S3C24XX: Serial driver debug depends on DEBUG_LL [ARM] S3C24XX: pwm-clock set_parent mask fix
| * \ Merge branch 'for-rmk-fixes' of git://aeryn.fluff.org.uk/bjdooks/linuxRussell King2008-10-171-1/+1
| |\ \
| | * | [ARM] S3C24XX: Serial driver debug depends on DEBUG_LLBen Dooks2008-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SERIAL_SAMSUNG_DEBUG used printascii() to avoid debugging through itself when selected as a console. Disable this option when DEBUG_LL is not set (printascii is unavailable). Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | | | Merge branch 'genirq-v28-for-linus' of ↵Linus Torvalds2008-10-2010-31/+67
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip This merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu and x86/uv. The sparseirq branch is just preliminary groundwork: no sparse IRQs are actually implemented by this tree anymore - just the new APIs are added while keeping the old way intact as well (the new APIs map 1:1 to irq_desc[]). The 'real' sparse IRQ support will then be a relatively small patch ontop of this - with a v2.6.29 merge target. * 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits) genirq: improve include files intr_remapping: fix typo io_apic: make irq_mis_count available on 64-bit too genirq: fix name space collisions of nr_irqs in arch/* genirq: fix name space collision of nr_irqs in autoprobe.c genirq: use iterators for irq_desc loops proc: fixup irq iterator genirq: add reverse iterator for irq_desc x86: move ack_bad_irq() to irq.c x86: unify show_interrupts() and proc helpers x86: cleanup show_interrupts genirq: cleanup the sparseirq modifications genirq: remove artifacts from sparseirq removal genirq: revert dynarray genirq: remove irq_to_desc_alloc genirq: remove sparse irq code genirq: use inline function for irq_to_desc genirq: consolidate nr_irqs and for_each_irq_desc() x86: remove sparse irq from Kconfig genirq: define nr_irqs for architectures with GENERIC_HARDIRQS=n ...
| * | | | drivers/serial: use nr_irqsYinghai Lu2008-10-169-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | | | serial, 8250: remove NR_IRQ usageAlan Cox2008-10-162-21/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Works on my test box with a quick test. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2008-10-202-51/+62
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (112 commits) sh: Move SH-4 CPU headers down one more level. sh: Only build in gpio.o when CONFIG_GENERIC_GPIO is selected. sh: Migrate common board headers to mach-common/. sh: Move the CPU definition headers from asm/ to cpu/. serial: sh-sci: Add support SCIF of SH7723 video: add sh_mobile_lcdc platform flags video: remove unused sh_mobile_lcdc platform data sh: remove consistent alloc cruft sh: add dynamic crash base address support sh: reduce Migo-R smc91x overruns sh: Fix up some merge damage. Fix debugfs_create_file's error checking method for arch/sh/mm/ Fix debugfs_create_dir's error checking method for arch/sh/kernel/ sh: ap325rxa: Add support RTC RX-8564LC in AP325RXA board sh: Use sh7720 GPIO on magicpanelr2 board sh: Add sh7720 pinmux code sh: Use sh7203 GPIO on rsk7203 board sh: Add sh7203 pinmux code sh: Use sh7723 GPIO on AP325RXA board sh: Add sh7723 pinmux code ...
| * | | | | serial: sh-sci: Add support SCIF of SH7723Nobuhiro Iwamatsu2008-10-201-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SH7723 has two types of SCIF (SCIF and SCIFA). The current sh-sci driver supports only SCIFA, and calculation methods of SCBRR are different. This patch support this methods. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | | Merge branch 'master' of ↵Paul Mundt2008-10-2028-2554/+415
| |\ \ \ \ \ | | | |/ / / | | |/| | / | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/kernel-parameters.txt arch/sh/include/asm/elf.h
| * | | | Merge branch 'sh/g3-prep'Paul Mundt2008-10-022-18/+37
| |\ \ \ \