mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Mikael Starvik" <mikael.starvik@axis.com>
To: <linux-kernel@vger.kernel.org>, <akpm@osdl.org>
Subject: [PATCH 4/10] CRIS architecture update - IDE
Date: Tue, 2 Nov 2004 14:04:39 +0100	[thread overview]
Message-ID: <BFECAF9E178F144FAEF2BF4CE739C668014C7488@exmail1.se.axis.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 76 bytes --]

Update CRIS IDE driver for 2.6.9.

Signed-Off-By: starvik@axis.com

/Mikael

[-- Attachment #2: cris269_4.patch --]
[-- Type: application/octet-stream, Size: 3984 bytes --]

diff -urNP --exclude='*.cvsignore' ../linux/arch/cris/arch-v10/drivers/ide.c lx25/arch/cris/arch-v10/drivers/ide.c
--- ../linux/arch/cris/arch-v10/drivers/ide.c	Mon Oct 18 23:54:08 2004
+++ lx25/arch/cris/arch-v10/drivers/ide.c	Tue Oct 12 09:55:48 2004
@@ -1,4 +1,4 @@
-/* $Id: ide.c,v 1.1 2004/01/22 08:22:58 starvik Exp $
+/* $Id: ide.c,v 1.4 2004/10/12 07:55:48 starvik Exp $
  *
  * Etrax specific IDE functions, like init and PIO-mode setting etc.
  * Almost the entire ide.c is used for the rest of the Etrax ATA driver.
@@ -45,18 +45,13 @@
 
 #define IDE_REGISTER_TIMEOUT 300
 
-#ifdef CONFIG_ETRAX_IDE_CSE1_16_RESET
-/* address where the memory-mapped IDE reset bit lives, if used */
-static volatile unsigned long *reset_addr;
-#endif
-
 static int e100_read_command = 0;
 
 #define LOWDB(x)
 #define D(x)
 
 void
-etrax100_ide_outw(unsigned short data, ide_ioreg_t reg) {
+etrax100_ide_outw(unsigned short data, unsigned long reg) {
 	int timeleft;
 	LOWDB(printk("ow: data 0x%x, reg 0x%x\n", data, reg));
 
@@ -89,7 +84,7 @@
 }
 
 void
-etrax100_ide_outb(unsigned char data, ide_ioreg_t reg)
+etrax100_ide_outb(unsigned char data, unsigned long reg)
 {
 	etrax100_ide_outw(data, reg);
 }
@@ -101,7 +96,7 @@
 }
 
 unsigned short
-etrax100_ide_inw(ide_ioreg_t reg) {
+etrax100_ide_inw(unsigned long reg) {
 	int status;
 	int timeleft;
 
@@ -149,7 +144,7 @@
 }
 
 unsigned char
-etrax100_ide_inb(ide_ioreg_t reg)
+etrax100_ide_inb(unsigned long reg)
 {
 	return (unsigned char)etrax100_ide_inw(reg);
 }
@@ -336,14 +331,14 @@
 
 #ifdef CONFIG_ETRAX_IDE_G27_RESET
         REG_SHADOW_SET(R_PORT_G_DATA, port_g_data_shadow, 27, 0);
-#endif
+#endif 
 #ifdef CONFIG_ETRAX_IDE_CSE1_16_RESET
         REG_SHADOW_SET(port_cse1_addr, port_cse1_shadow, 16, 0);
 #endif
 #ifdef CONFIG_ETRAX_IDE_CSP0_8_RESET
         REG_SHADOW_SET(port_csp0_addr, port_csp0_shadow, 8, 0);
 #endif
-#ifdef CONFIG_ETRAX_IDE_PB7_RESET
+#ifdef CONFIG_ETRAX_IDE_PB7_RESET 
 	port_pb_dir_shadow = port_pb_dir_shadow |
 		IO_STATE(R_PORT_PB_DIR, dir7, output);
 	*R_PORT_PB_DIR = port_pb_dir_shadow;
@@ -424,7 +419,7 @@
 static void
 e100_atapi_input_bytes (ide_drive_t *drive, void *buffer, unsigned int bytecount)
 {
-	ide_ioreg_t data_reg = IDE_DATA_REG;
+	unsigned long data_reg = IDE_DATA_REG;
 
 	D(printk("atapi_input_bytes, dreg 0x%x, buffer 0x%x, count %d\n",
 		 data_reg, buffer, bytecount));
@@ -503,7 +498,7 @@
 static void
 e100_atapi_output_bytes (ide_drive_t *drive, void *buffer, unsigned int bytecount)
 {
-	ide_ioreg_t data_reg = IDE_DATA_REG;
+	unsigned long data_reg = IDE_DATA_REG;
 
 	D(printk("atapi_output_bytes, dreg 0x%x, buffer 0x%x, count %d\n",
 		 data_reg, buffer, bytecount));
@@ -563,7 +558,7 @@
                 IO_STATE(R_ATA_CTRL_DATA, dma_size, word);
 
         LED_DISK_WRITE(1);
-
+ 
         /* Etrax will set busy = 1 until the multi pio transfer has finished
          * and tr_rdy = 1 after each successful word transfer.
          * When the last byte has been transferred Etrax will first set tr_tdy = 1
@@ -811,7 +806,7 @@
 			ide_set_handler(drive, &etrax_dma_intr, WAIT_CMD, NULL);
 
 			/* issue cmd to drive */
-                        if ((HWGROUP(drive)->rq->cmd == IDE_DRIVE_TASKFILE) &&
+                        if ((HWGROUP(drive)->rq->flags & REQ_DRIVE_TASKFILE) &&
 			    (drive->addressing == 1)) {
 				ide_task_t *args = HWGROUP(drive)->rq->special;
 				etrax100_ide_outb(args->tfRegister[IDE_COMMAND_OFFSET], IDE_COMMAND_REG);
@@ -869,7 +864,7 @@
 			ide_set_handler(drive, &etrax_dma_intr, WAIT_CMD, NULL);
 
 			/* issue cmd to drive */
-			if ((HWGROUP(drive)->rq->cmd == IDE_DRIVE_TASKFILE) &&
+			if ((HWGROUP(drive)->rq->flags & REQ_DRIVE_TASKFILE) &&
 			    (drive->addressing == 1)) {
 				ide_task_t *args = HWGROUP(drive)->rq->special;
 				etrax100_ide_outb(args->tfRegister[IDE_COMMAND_OFFSET], IDE_COMMAND_REG);

             reply	other threads:[~2004-11-02 13:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-02 13:04 Mikael Starvik [this message]
2004-11-02 14:14 ` Bartlomiej Zolnierkiewicz
     [not found] <BFECAF9E178F144FAEF2BF4CE739C66801AF70DD@exmail1.se.axis.com>
2004-11-02 14:16 ` Mikael Starvik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BFECAF9E178F144FAEF2BF4CE739C668014C7488@exmail1.se.axis.com \
    --to=mikael.starvik@axis.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®