drivers/scsi/3w-xxxx.h

Source file repositories/reference/linux-study-clean/drivers/scsi/3w-xxxx.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/3w-xxxx.h
Extension
.h
Size
16183 bytes
Lines
440
Domain
Driver Families
Bucket
drivers/scsi
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

3w-xxxx.h -- 3ware Storage Controller device driver for Linux.

   Written By: Adam Radford <aradford@gmail.com>
   Modifications By: Joel Jacobson <linux@3ware.com>
                     Arnaldo Carvalho de Melo <acme@conectiva.com.br>
                     Brad Strand <linux@3ware.com>

   Copyright (C) 1999-2010 3ware Inc.

   Kernel compatibility By:	Andre Hedrick <andre@suse.com>
   Non-Copyright (C) 2000	Andre Hedrick <andre@suse.com>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   NO WARRANTY
   THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
   LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
   solely responsible for determining the appropriateness of using and
   distributing the Program and assumes all risks associated with its
   exercise of rights under this Agreement, including but not limited to
   the risks and costs of program errors, damage to or loss of data,
   programs or equipment, and unavailability or interruption of operations.

   DISCLAIMER OF LIABILITY
   NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
   TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
   HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

   Bugs/Comments/Suggestions should be mailed to:

   aradford@gmail.com

   For more information, goto:
   http://www.lsi.com
*/

#ifndef _3W_XXXX_H
#define _3W_XXXX_H

#include <linux/types.h>

/* AEN strings */
static char *tw_aen_string[] = {
	[0x000] = "INFO: AEN queue empty",
	[0x001] = "INFO: Soft reset occurred",
	[0x002] = "ERROR: Unit degraded: Unit #",
	[0x003] = "ERROR: Controller error",
	[0x004] = "ERROR: Rebuild failed: Unit #",
	[0x005] = "INFO: Rebuild complete: Unit #",
	[0x006] = "ERROR: Incomplete unit detected: Unit #",
	[0x007] = "INFO: Initialization complete: Unit #",
	[0x008] = "WARNING: Unclean shutdown detected: Unit #",
	[0x009] = "WARNING: ATA port timeout: Port #",
	[0x00A] = "ERROR: Drive error: Port #",
	[0x00B] = "INFO: Rebuild started: Unit #",
	[0x00C] = "INFO: Initialization started: Unit #",
	[0x00D] = "ERROR: Logical unit deleted: Unit #",
	[0x00F] = "WARNING: SMART threshold exceeded: Port #",
	[0x021] = "WARNING: ATA UDMA downgrade: Port #",
	[0x022] = "WARNING: ATA UDMA upgrade: Port #",
	[0x023] = "WARNING: Sector repair occurred: Port #",
	[0x024] = "ERROR: SBUF integrity check failure",
	[0x025] = "ERROR: Lost cached write: Port #",
	[0x026] = "ERROR: Drive ECC error detected: Port #",
	[0x027] = "ERROR: DCB checksum error: Port #",
	[0x028] = "ERROR: DCB unsupported version: Port #",
	[0x029] = "INFO: Verify started: Unit #",
	[0x02A] = "ERROR: Verify failed: Port #",
	[0x02B] = "INFO: Verify complete: Unit #",
	[0x02C] = "WARNING: Overwrote bad sector during rebuild: Port #",
	[0x02D] = "ERROR: Encountered bad sector during rebuild: Port #",
	[0x02E] = "ERROR: Replacement drive is too small: Port #",
	[0x02F] = "WARNING: Verify error: Unit not previously initialized: Unit #",

Annotation

Implementation Notes