/*
 *  linux/arch/arm/lib/io-shark.c
 *
 *  by Alexander Schulz
 *
 * derived from:
 * linux/arch/arm/lib/io-ebsa.S
 * Copyright (C) 1995, 1996 Russell King
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
