aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/gdth.c
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
commitada47b5fe13d89735805b566185f4885f5a3f750 (patch)
tree644b88f8a71896307d71438e9b3af49126ffb22b /drivers/scsi/gdth.c
parent43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff)
parent3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff)
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/scsi/gdth.c')
-rw-r--r--drivers/scsi/gdth.c431
1 files changed, 216 insertions, 215 deletions
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 9e8fce0f0c1b..35a4b3073ec3 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -121,6 +121,7 @@
121#include <linux/dma-mapping.h> 121#include <linux/dma-mapping.h>
122#include <linux/list.h> 122#include <linux/list.h>
123#include <linux/smp_lock.h> 123#include <linux/smp_lock.h>
124#include <linux/slab.h>
124 125
125#ifdef GDTH_RTC 126#ifdef GDTH_RTC
126#include <linux/mc146818rtc.h> 127#include <linux/mc146818rtc.h>
@@ -140,40 +141,40 @@
140#include "gdth.h" 141#include "gdth.h"
141 142
142static void gdth_delay(int milliseconds); 143static void gdth_delay(int milliseconds);
143static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs); 144static void gdth_eval_mapping(u32 size, u32 *cyls, int *heads, int *secs);
144static irqreturn_t gdth_interrupt(int irq, void *dev_id); 145static irqreturn_t gdth_interrupt(int irq, void *dev_id);
145static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, 146static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
146 int gdth_from_wait, int* pIndex); 147 int gdth_from_wait, int* pIndex);
147static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index, 148static int gdth_sync_event(gdth_ha_str *ha, int service, u8 index,
148 Scsi_Cmnd *scp); 149 Scsi_Cmnd *scp);
149static int gdth_async_event(gdth_ha_str *ha); 150static int gdth_async_event(gdth_ha_str *ha);
150static void gdth_log_event(gdth_evt_data *dvr, char *buffer); 151static void gdth_log_event(gdth_evt_data *dvr, char *buffer);
151 152
152static void gdth_putq(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar priority); 153static void gdth_putq(gdth_ha_str *ha, Scsi_Cmnd *scp, u8 priority);
153static void gdth_next(gdth_ha_str *ha); 154static void gdth_next(gdth_ha_str *ha);
154static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar b); 155static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, u8 b);
155static int gdth_special_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp); 156static int gdth_special_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp);
156static gdth_evt_str *gdth_store_event(gdth_ha_str *ha, ushort source, 157static gdth_evt_str *gdth_store_event(gdth_ha_str *ha, u16 source,
157 ushort idx, gdth_evt_data *evt); 158 u16 idx, gdth_evt_data *evt);
158static int gdth_read_event(gdth_ha_str *ha, int handle, gdth_evt_str *estr); 159static int gdth_read_event(gdth_ha_str *ha, int handle, gdth_evt_str *estr);
159static void gdth_readapp_event(gdth_ha_str *ha, unchar application, 160static void gdth_readapp_event(gdth_ha_str *ha, u8 application,
160 gdth_evt_str *estr); 161 gdth_evt_str *estr);
161static void gdth_clear_events(void); 162static void gdth_clear_events(void);
162 163
163static void gdth_copy_internal_data(gdth_ha_str *ha, Scsi_Cmnd *scp, 164static void gdth_copy_internal_data(gdth_ha_str *ha, Scsi_Cmnd *scp,
164 char *buffer, ushort count); 165 char *buffer, u16 count);
165static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp); 166static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp);
166static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive); 167static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, u16 hdrive);
167 168
168static void gdth_enable_int(gdth_ha_str *ha); 169static void gdth_enable_int(gdth_ha_str *ha);
169static int gdth_test_busy(gdth_ha_str *ha); 170static int gdth_test_busy(gdth_ha_str *ha);
170static int gdth_get_cmd_index(gdth_ha_str *ha); 171static int gdth_get_cmd_index(gdth_ha_str *ha);
171static void gdth_release_event(gdth_ha_str *ha); 172static void gdth_release_event(gdth_ha_str *ha);
172static int gdth_wait(gdth_ha_str *ha, int index,ulong32 time); 173static int gdth_wait(gdth_ha_str *ha, int index,u32 time);
173static int gdth_internal_cmd(gdth_ha_str *ha, unchar service, ushort opcode, 174static int gdth_internal_cmd(gdth_ha_str *ha, u8 service, u16 opcode,
174 ulong32 p1, ulong64 p2,ulong64 p3); 175 u32 p1, u64 p2,u64 p3);
175static int gdth_search_drives(gdth_ha_str *ha); 176static int gdth_search_drives(gdth_ha_str *ha);
176static int gdth_analyse_hdrive(gdth_ha_str *ha, ushort hdrive); 177static int gdth_analyse_hdrive(gdth_ha_str *ha, u16 hdrive);
177 178
178static const char *gdth_ctr_name(gdth_ha_str *ha); 179static const char *gdth_ctr_name(gdth_ha_str *ha);
179 180
@@ -189,7 +190,7 @@ static int __gdth_queuecommand(gdth_ha_str *ha, struct scsi_cmnd *scp,
189static void gdth_scsi_done(struct scsi_cmnd *scp); 190static void gdth_scsi_done(struct scsi_cmnd *scp);
190 191
191#ifdef DEBUG_GDTH 192#ifdef DEBUG_GDTH
192static unchar DebugState = DEBUG_GDTH; 193static u8 DebugState = DEBUG_GDTH;
193 194
194#ifdef __SERIAL__ 195#ifdef __SERIAL__
195#define MAX_SERBUF 160 196#define MAX_SERBUF 160
@@ -270,30 +271,30 @@ static int ser_printk(const char *fmt, ...)
270#endif 271#endif
271 272
272#ifdef GDTH_STATISTICS 273#ifdef GDTH_STATISTICS
273static ulong32 max_rq=0, max_index=0, max_sg=0; 274static u32 max_rq=0, max_index=0, max_sg=0;
274#ifdef INT_COAL 275#ifdef INT_COAL
275static ulong32 max_int_coal=0; 276static u32 max_int_coal=0;
276#endif 277#endif
277static ulong32 act_ints=0, act_ios=0, act_stats=0, act_rq=0; 278static u32 act_ints=0, act_ios=0, act_stats=0, act_rq=0;
278static struct timer_list gdth_timer; 279static struct timer_list gdth_timer;
279#endif 280#endif
280 281
281#define PTR2USHORT(a) (ushort)(ulong)(a) 282#define PTR2USHORT(a) (u16)(unsigned long)(a)
282#define GDTOFFSOF(a,b) (size_t)&(((a*)0)->b) 283#define GDTOFFSOF(a,b) (size_t)&(((a*)0)->b)
283#define INDEX_OK(i,t) ((i)<ARRAY_SIZE(t)) 284#define INDEX_OK(i,t) ((i)<ARRAY_SIZE(t))
284 285
285#define BUS_L2P(a,b) ((b)>(a)->virt_bus ? (b-1):(b)) 286#define BUS_L2P(a,b) ((b)>(a)->virt_bus ? (b-1):(b))
286 287
287#ifdef CONFIG_ISA 288#ifdef CONFIG_ISA
288static unchar gdth_drq_tab[4] = {5,6,7,7}; /* DRQ table */ 289static u8 gdth_drq_tab[4] = {5,6,7,7}; /* DRQ table */
289#endif 290#endif
290#if defined(CONFIG_EISA) || defined(CONFIG_ISA) 291#if defined(CONFIG_EISA) || defined(CONFIG_ISA)
291static unchar gdth_irq_tab[6] = {0,10,11,12,14,0}; /* IRQ table */ 292static u8 gdth_irq_tab[6] = {0,10,11,12,14,0}; /* IRQ table */
292#endif 293#endif
293static unchar gdth_polling; /* polling if TRUE */ 294static u8 gdth_polling; /* polling if TRUE */
294static int gdth_ctr_count = 0; /* controller count */ 295static int gdth_ctr_count = 0; /* controller count */
295static LIST_HEAD(gdth_instances); /* controller list */ 296static LIST_HEAD(gdth_instances); /* controller list */
296static unchar gdth_write_through = FALSE; /* write through */ 297static u8 gdth_write_through = FALSE; /* write through */
297static gdth_evt_str ebuffer[MAX_EVENTS]; /* event buffer */ 298static gdth_evt_str ebuffer[MAX_EVENTS]; /* event buffer */
298static int elastidx; 299static int elastidx;
299static int eoldidx; 300static int eoldidx;
@@ -303,7 +304,7 @@ static int major;
303#define DOU 2 /* OUT data direction */ 304#define DOU 2 /* OUT data direction */
304#define DNO DIN /* no data transfer */ 305#define DNO DIN /* no data transfer */
305#define DUN DIN /* unknown data direction */ 306#define DUN DIN /* unknown data direction */
306static unchar gdth_direction_tab[0x100] = { 307static u8 gdth_direction_tab[0x100] = {
307 DNO,DNO,DIN,DIN,DOU,DIN,DIN,DOU,DIN,DUN,DOU,DOU,DUN,DUN,DUN,DIN, 308 DNO,DNO,DIN,DIN,DOU,DIN,DIN,DOU,DIN,DUN,DOU,DOU,DUN,DUN,DUN,DIN,
308 DNO,DIN,DIN,DOU,DIN,DOU,DNO,DNO,DOU,DNO,DIN,DNO,DIN,DOU,DNO,DUN, 309 DNO,DIN,DIN,DOU,DIN,DOU,DNO,DNO,DOU,DNO,DIN,DNO,DIN,DOU,DNO,DUN,
309 DIN,DUN,DIN,DUN,DOU,DIN,DUN,DUN,DIN,DIN,DOU,DNO,DUN,DIN,DOU,DOU, 310 DIN,DUN,DIN,DUN,DOU,DIN,DUN,DUN,DIN,DIN,DOU,DNO,DUN,DIN,DOU,DOU,
@@ -390,7 +391,7 @@ static gdth_ha_str *gdth_find_ha(int hanum)
390static struct gdth_cmndinfo *gdth_get_cmndinfo(gdth_ha_str *ha) 391static struct gdth_cmndinfo *gdth_get_cmndinfo(gdth_ha_str *ha)
391{ 392{
392 struct gdth_cmndinfo *priv = NULL; 393 struct gdth_cmndinfo *priv = NULL;
393 ulong flags; 394 unsigned long flags;
394 int i; 395 int i;
395 396
396 spin_lock_irqsave(&ha->smp_lock, flags); 397 spin_lock_irqsave(&ha->smp_lock, flags);
@@ -493,7 +494,7 @@ int gdth_execute(struct Scsi_Host *shost, gdth_cmd_str *gdtcmd, char *cmnd,
493 return rval; 494 return rval;
494} 495}
495 496
496static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs) 497static void gdth_eval_mapping(u32 size, u32 *cyls, int *heads, int *secs)
497{ 498{
498 *cyls = size /HEADS/SECS; 499 *cyls = size /HEADS/SECS;
499 if (*cyls <= MAXCYLS) { 500 if (*cyls <= MAXCYLS) {
@@ -514,9 +515,9 @@ static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs
514 515
515/* controller search and initialization functions */ 516/* controller search and initialization functions */
516#ifdef CONFIG_EISA 517#ifdef CONFIG_EISA
517static int __init gdth_search_eisa(ushort eisa_adr) 518static int __init gdth_search_eisa(u16 eisa_adr)
518{ 519{
519 ulong32 id; 520 u32 id;
520 521
521 TRACE(("gdth_search_eisa() adr. %x\n",eisa_adr)); 522 TRACE(("gdth_search_eisa() adr. %x\n",eisa_adr));
522 id = inl(eisa_adr+ID0REG); 523 id = inl(eisa_adr+ID0REG);
@@ -533,13 +534,13 @@ static int __init gdth_search_eisa(ushort eisa_adr)
533#endif /* CONFIG_EISA */ 534#endif /* CONFIG_EISA */
534 535
535#ifdef CONFIG_ISA 536#ifdef CONFIG_ISA
536static int __init gdth_search_isa(ulong32 bios_adr) 537static int __init gdth_search_isa(u32 bios_adr)
537{ 538{
538 void __iomem *addr; 539 void __iomem *addr;
539 ulong32 id; 540 u32 id;
540 541
541 TRACE(("gdth_search_isa() bios adr. %x\n",bios_adr)); 542 TRACE(("gdth_search_isa() bios adr. %x\n",bios_adr));
542 if ((addr = ioremap(bios_adr+BIOS_ID_OFFS, sizeof(ulong32))) != NULL) { 543 if ((addr = ioremap(bios_adr+BIOS_ID_OFFS, sizeof(u32))) != NULL) {
543 id = readl(addr); 544 id = readl(addr);
544 iounmap(addr); 545 iounmap(addr);
545 if (id == GDT2_ID) /* GDT2000 */ 546 if (id == GDT2_ID) /* GDT2000 */
@@ -551,7 +552,7 @@ static int __init gdth_search_isa(ulong32 bios_adr)
551 552
552#ifdef CONFIG_PCI 553#ifdef CONFIG_PCI
553 554
554static bool gdth_search_vortex(ushort device) 555static bool gdth_search_vortex(u16 device)
555{ 556{
556 if (device <= PCI_DEVICE_ID_VORTEX_GDT6555) 557 if (device <= PCI_DEVICE_ID_VORTEX_GDT6555)
557 return true; 558 return true;
@@ -603,9 +604,9 @@ static void __devexit gdth_pci_remove_one(struct pci_dev *pdev)
603static int __devinit gdth_pci_init_one(struct pci_dev *pdev, 604static int __devinit gdth_pci_init_one(struct pci_dev *pdev,
604 const struct pci_device_id *ent) 605 const struct pci_device_id *ent)
605{ 606{
606 ushort vendor = pdev->vendor; 607 u16 vendor = pdev->vendor;
607 ushort device = pdev->device; 608 u16 device = pdev->device;
608 ulong base0, base1, base2; 609 unsigned long base0, base1, base2;
609 int rc; 610 int rc;
610 gdth_pci_str gdth_pcistr; 611 gdth_pci_str gdth_pcistr;
611 gdth_ha_str *ha = NULL; 612 gdth_ha_str *ha = NULL;
@@ -658,10 +659,10 @@ static int __devinit gdth_pci_init_one(struct pci_dev *pdev,
658#endif /* CONFIG_PCI */ 659#endif /* CONFIG_PCI */
659 660
660#ifdef CONFIG_EISA 661#ifdef CONFIG_EISA
661static int __init gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha) 662static int __init gdth_init_eisa(u16 eisa_adr,gdth_ha_str *ha)
662{ 663{
663 ulong32 retries,id; 664 u32 retries,id;
664 unchar prot_ver,eisacf,i,irq_found; 665 u8 prot_ver,eisacf,i,irq_found;
665 666
666 TRACE(("gdth_init_eisa() adr. %x\n",eisa_adr)); 667 TRACE(("gdth_init_eisa() adr. %x\n",eisa_adr));
667 668
@@ -688,7 +689,7 @@ static int __init gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha)
688 return 0; 689 return 0;
689 } 690 }
690 ha->bmic = eisa_adr; 691 ha->bmic = eisa_adr;
691 ha->brd_phys = (ulong32)eisa_adr >> 12; 692 ha->brd_phys = (u32)eisa_adr >> 12;
692 693
693 outl(0,eisa_adr+MAILBOXREG); 694 outl(0,eisa_adr+MAILBOXREG);
694 outl(0,eisa_adr+MAILBOXREG+4); 695 outl(0,eisa_adr+MAILBOXREG+4);
@@ -752,12 +753,12 @@ static int __init gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha)
752#endif /* CONFIG_EISA */ 753#endif /* CONFIG_EISA */
753 754
754#ifdef CONFIG_ISA 755#ifdef CONFIG_ISA
755static int __init gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha) 756static int __init gdth_init_isa(u32 bios_adr,gdth_ha_str *ha)
756{ 757{
757 register gdt2_dpram_str __iomem *dp2_ptr; 758 register gdt2_dpram_str __iomem *dp2_ptr;
758 int i; 759 int i;
759 unchar irq_drq,prot_ver; 760 u8 irq_drq,prot_ver;
760 ulong32 retries; 761 u32 retries;
761 762
762 TRACE(("gdth_init_isa() bios adr. %x\n",bios_adr)); 763 TRACE(("gdth_init_isa() bios adr. %x\n",bios_adr));
763 764
@@ -812,7 +813,7 @@ static int __init gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha)
812 } 813 }
813 gdth_delay(1); 814 gdth_delay(1);
814 } 815 }
815 prot_ver = (unchar)readl(&dp2_ptr->u.ic.S_Info[0]); 816 prot_ver = (u8)readl(&dp2_ptr->u.ic.S_Info[0]);
816 writeb(0, &dp2_ptr->u.ic.Status); 817 writeb(0, &dp2_ptr->u.ic.Status);
817 writeb(0xff, &dp2_ptr->io.irqdel); 818 writeb(0xff, &dp2_ptr->io.irqdel);
818 if (prot_ver != PROTOCOL_VERSION) { 819 if (prot_ver != PROTOCOL_VERSION) {
@@ -859,9 +860,9 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
859 register gdt6_dpram_str __iomem *dp6_ptr; 860 register gdt6_dpram_str __iomem *dp6_ptr;
860 register gdt6c_dpram_str __iomem *dp6c_ptr; 861 register gdt6c_dpram_str __iomem *dp6c_ptr;
861 register gdt6m_dpram_str __iomem *dp6m_ptr; 862 register gdt6m_dpram_str __iomem *dp6m_ptr;
862 ulong32 retries; 863 u32 retries;
863 unchar prot_ver; 864 u8 prot_ver;
864 ushort command; 865 u16 command;
865 int i, found = FALSE; 866 int i, found = FALSE;
866 867
867 TRACE(("gdth_init_pci()\n")); 868 TRACE(("gdth_init_pci()\n"));
@@ -871,7 +872,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
871 else 872 else
872 ha->oem_id = OEM_ID_ICP; 873 ha->oem_id = OEM_ID_ICP;
873 ha->brd_phys = (pdev->bus->number << 8) | (pdev->devfn & 0xf8); 874 ha->brd_phys = (pdev->bus->number << 8) | (pdev->devfn & 0xf8);
874 ha->stype = (ulong32)pdev->device; 875 ha->stype = (u32)pdev->device;
875 ha->irq = pdev->irq; 876 ha->irq = pdev->irq;
876 ha->pdev = pdev; 877 ha->pdev = pdev;
877 878
@@ -891,7 +892,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
891 found = FALSE; 892 found = FALSE;
892 for (i = 0xC8000; i < 0xE8000; i += 0x4000) { 893 for (i = 0xC8000; i < 0xE8000; i += 0x4000) {
893 iounmap(ha->brd); 894 iounmap(ha->brd);
894 ha->brd = ioremap(i, sizeof(ushort)); 895 ha->brd = ioremap(i, sizeof(u16));
895 if (ha->brd == NULL) { 896 if (ha->brd == NULL) {
896 printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); 897 printk("GDT-PCI: Initialization error (DPMEM remap error)\n");
897 return 0; 898 return 0;
@@ -947,7 +948,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
947 } 948 }
948 gdth_delay(1); 949 gdth_delay(1);
949 } 950 }
950 prot_ver = (unchar)readl(&dp6_ptr->u.ic.S_Info[0]); 951 prot_ver = (u8)readl(&dp6_ptr->u.ic.S_Info[0]);
951 writeb(0, &dp6_ptr->u.ic.S_Status); 952 writeb(0, &dp6_ptr->u.ic.S_Status);
952 writeb(0xff, &dp6_ptr->io.irqdel); 953 writeb(0xff, &dp6_ptr->io.irqdel);
953 if (prot_ver != PROTOCOL_VERSION) { 954 if (prot_ver != PROTOCOL_VERSION) {
@@ -1000,7 +1001,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
1000 found = FALSE; 1001 found = FALSE;
1001 for (i = 0xC8000; i < 0xE8000; i += 0x4000) { 1002 for (i = 0xC8000; i < 0xE8000; i += 0x4000) {
1002 iounmap(ha->brd); 1003 iounmap(ha->brd);
1003 ha->brd = ioremap(i, sizeof(ushort)); 1004 ha->brd = ioremap(i, sizeof(u16));
1004 if (ha->brd == NULL) { 1005 if (ha->brd == NULL) {
1005 printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); 1006 printk("GDT-PCI: Initialization error (DPMEM remap error)\n");
1006 return 0; 1007 return 0;
@@ -1059,7 +1060,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
1059 } 1060 }
1060 gdth_delay(1); 1061 gdth_delay(1);
1061 } 1062 }
1062 prot_ver = (unchar)readl(&dp6c_ptr->u.ic.S_Info[0]); 1063 prot_ver = (u8)readl(&dp6c_ptr->u.ic.S_Info[0]);
1063 writeb(0, &dp6c_ptr->u.ic.Status); 1064 writeb(0, &dp6c_ptr->u.ic.Status);
1064 if (prot_ver != PROTOCOL_VERSION) { 1065 if (prot_ver != PROTOCOL_VERSION) {
1065 printk("GDT-PCI: Illegal protocol version\n"); 1066 printk("GDT-PCI: Illegal protocol version\n");
@@ -1128,7 +1129,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
1128 found = FALSE; 1129 found = FALSE;
1129 for (i = 0xC8000; i < 0xE8000; i += 0x4000) { 1130 for (i = 0xC8000; i < 0xE8000; i += 0x4000) {
1130 iounmap(ha->brd); 1131 iounmap(ha->brd);
1131 ha->brd = ioremap(i, sizeof(ushort)); 1132 ha->brd = ioremap(i, sizeof(u16));
1132 if (ha->brd == NULL) { 1133 if (ha->brd == NULL) {
1133 printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); 1134 printk("GDT-PCI: Initialization error (DPMEM remap error)\n");
1134 return 0; 1135 return 0;
@@ -1180,7 +1181,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
1180 } 1181 }
1181 gdth_delay(1); 1182 gdth_delay(1);
1182 } 1183 }
1183 prot_ver = (unchar)readl(&dp6m_ptr->u.ic.S_Info[0]); 1184 prot_ver = (u8)readl(&dp6m_ptr->u.ic.S_Info[0]);
1184 writeb(0, &dp6m_ptr->u.ic.S_Status); 1185 writeb(0, &dp6m_ptr->u.ic.S_Status);
1185 if (prot_ver != PROTOCOL_VERSION) { 1186 if (prot_ver != PROTOCOL_VERSION) {
1186 printk("GDT-PCI: Illegal protocol version\n"); 1187 printk("GDT-PCI: Illegal protocol version\n");
@@ -1223,7 +1224,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
1223 } 1224 }
1224 gdth_delay(1); 1225 gdth_delay(1);
1225 } 1226 }
1226 prot_ver = (unchar)(readl(&dp6m_ptr->u.ic.S_Info[0]) >> 16); 1227 prot_ver = (u8)(readl(&dp6m_ptr->u.ic.S_Info[0]) >> 16);
1227 writeb(0, &dp6m_ptr->u.ic.S_Status); 1228 writeb(0, &dp6m_ptr->u.ic.S_Status);
1228 if (prot_ver < 0x2b) /* FW < x.43: no 64-bit DMA support */ 1229 if (prot_ver < 0x2b) /* FW < x.43: no 64-bit DMA support */
1229 ha->dma64_support = 0; 1230 ha->dma64_support = 0;
@@ -1239,7 +1240,7 @@ static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr,
1239 1240
1240static void __devinit gdth_enable_int(gdth_ha_str *ha) 1241static void __devinit gdth_enable_int(gdth_ha_str *ha)
1241{ 1242{
1242 ulong flags; 1243 unsigned long flags;
1243 gdt2_dpram_str __iomem *dp2_ptr; 1244 gdt2_dpram_str __iomem *dp2_ptr;
1244 gdt6_dpram_str __iomem *dp6_ptr; 1245 gdt6_dpram_str __iomem *dp6_ptr;
1245 gdt6m_dpram_str __iomem *dp6m_ptr; 1246 gdt6m_dpram_str __iomem *dp6m_ptr;
@@ -1274,14 +1275,14 @@ static void __devinit gdth_enable_int(gdth_ha_str *ha)
1274} 1275}
1275 1276
1276/* return IStatus if interrupt was from this card else 0 */ 1277/* return IStatus if interrupt was from this card else 0 */
1277static unchar gdth_get_status(gdth_ha_str *ha) 1278static u8 gdth_get_status(gdth_ha_str *ha)
1278{ 1279{
1279 unchar IStatus = 0; 1280 u8 IStatus = 0;
1280 1281
1281 TRACE(("gdth_get_status() irq %d ctr_count %d\n", ha->irq, gdth_ctr_count)); 1282 TRACE(("gdth_get_status() irq %d ctr_count %d\n", ha->irq, gdth_ctr_count));
1282 1283
1283 if (ha->type == GDT_EISA) 1284 if (ha->type == GDT_EISA)
1284 IStatus = inb((ushort)ha->bmic + EDOORREG); 1285 IStatus = inb((u16)ha->bmic + EDOORREG);
1285 else if (ha->type == GDT_ISA) 1286 else if (ha->type == GDT_ISA)
1286 IStatus = 1287 IStatus =
1287 readb(&((gdt2_dpram_str __iomem *)ha->brd)->u.ic.Cmd_Index); 1288 readb(&((gdt2_dpram_str __iomem *)ha->brd)->u.ic.Cmd_Index);
@@ -1329,7 +1330,7 @@ static int gdth_get_cmd_index(gdth_ha_str *ha)
1329 if (ha->cmd_tab[i].cmnd == UNUSED_CMND) { 1330 if (ha->cmd_tab[i].cmnd == UNUSED_CMND) {
1330 ha->cmd_tab[i].cmnd = ha->pccb->RequestBuffer; 1331 ha->cmd_tab[i].cmnd = ha->pccb->RequestBuffer;
1331 ha->cmd_tab[i].service = ha->pccb->Service; 1332 ha->cmd_tab[i].service = ha->pccb->Service;
1332 ha->pccb->CommandIndex = (ulong32)i+2; 1333 ha->pccb->CommandIndex = (u32)i+2;
1333 return (i+2); 1334 return (i+2);
1334 } 1335 }
1335 } 1336 }
@@ -1362,7 +1363,7 @@ static void gdth_copy_command(gdth_ha_str *ha)
1362 register gdt6c_dpram_str __iomem *dp6c_ptr; 1363 register gdt6c_dpram_str __iomem *dp6c_ptr;
1363 gdt6_dpram_str __iomem *dp6_ptr; 1364 gdt6_dpram_str __iomem *dp6_ptr;
1364 gdt2_dpram_str __iomem *dp2_ptr; 1365 gdt2_dpram_str __iomem *dp2_ptr;
1365 ushort cp_count,dp_offset,cmd_no; 1366 u16 cp_count,dp_offset,cmd_no;
1366 1367
1367 TRACE(("gdth_copy_command() hanum %d\n", ha->hanum)); 1368 TRACE(("gdth_copy_command() hanum %d\n", ha->hanum));
1368 1369
@@ -1386,28 +1387,28 @@ static void gdth_copy_command(gdth_ha_str *ha)
1386 dp2_ptr = ha->brd; 1387 dp2_ptr = ha->brd;
1387 writew(dp_offset + DPMEM_COMMAND_OFFSET, 1388 writew(dp_offset + DPMEM_COMMAND_OFFSET,
1388 &dp2_ptr->u.ic.comm_queue[cmd_no].offset); 1389 &dp2_ptr->u.ic.comm_queue[cmd_no].offset);
1389 writew((ushort)cmd_ptr->Service, 1390 writew((u16)cmd_ptr->Service,
1390 &dp2_ptr->u.ic.comm_queue[cmd_no].serv_id); 1391 &dp2_ptr->u.ic.comm_queue[cmd_no].serv_id);
1391 memcpy_toio(&dp2_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count); 1392 memcpy_toio(&dp2_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count);
1392 } else if (ha->type == GDT_PCI) { 1393 } else if (ha->type == GDT_PCI) {
1393 dp6_ptr = ha->brd; 1394 dp6_ptr = ha->brd;
1394 writew(dp_offset + DPMEM_COMMAND_OFFSET, 1395 writew(dp_offset + DPMEM_COMMAND_OFFSET,
1395 &dp6_ptr->u.ic.comm_queue[cmd_no].offset); 1396 &dp6_ptr->u.ic.comm_queue[cmd_no].offset);
1396 writew((ushort)cmd_ptr->Service, 1397 writew((u16)cmd_ptr->Service,
1397 &dp6_ptr->u.ic.comm_queue[cmd_no].serv_id); 1398 &dp6_ptr->u.ic.comm_queue[cmd_no].serv_id);
1398 memcpy_toio(&dp6_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count); 1399 memcpy_toio(&dp6_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count);
1399 } else if (ha->type == GDT_PCINEW) { 1400 } else if (ha->type == GDT_PCINEW) {
1400 dp6c_ptr = ha->brd; 1401 dp6c_ptr = ha->brd;
1401 writew(dp_offset + DPMEM_COMMAND_OFFSET, 1402 writew(dp_offset + DPMEM_COMMAND_OFFSET,
1402 &dp6c_ptr->u.ic.comm_queue[cmd_no].offset); 1403 &dp6c_ptr->u.ic.comm_queue[cmd_no].offset);
1403 writew((ushort)cmd_ptr->Service, 1404 writew((u16)cmd_ptr->Service,
1404 &dp6c_ptr->u.ic.comm_queue[cmd_no].serv_id); 1405 &dp6c_ptr->u.ic.comm_queue[cmd_no].serv_id);
1405 memcpy_toio(&dp6c_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count); 1406 memcpy_toio(&dp6c_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count);
1406 } else if (ha->type == GDT_PCIMPR) { 1407 } else if (ha->type == GDT_PCIMPR) {
1407 dp6m_ptr = ha->brd; 1408 dp6m_ptr = ha->brd;
1408 writew(dp_offset + DPMEM_COMMAND_OFFSET, 1409 writew(dp_offset + DPMEM_COMMAND_OFFSET,
1409 &dp6m_ptr->u.ic.comm_queue[cmd_no].offset); 1410 &dp6m_ptr->u.ic.comm_queue[cmd_no].offset);
1410 writew((ushort)cmd_ptr->Service, 1411 writew((u16)cmd_ptr->Service,
1411 &dp6m_ptr->u.ic.comm_queue[cmd_no].serv_id); 1412 &dp6m_ptr->u.ic.comm_queue[cmd_no].serv_id);
1412 memcpy_toio(&dp6m_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count); 1413 memcpy_toio(&dp6m_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count);
1413 } 1414 }
@@ -1420,14 +1421,14 @@ static void gdth_release_event(gdth_ha_str *ha)
1420 1421
1421#ifdef GDTH_STATISTICS 1422#ifdef GDTH_STATISTICS
1422 { 1423 {
1423 ulong32 i,j; 1424 u32 i,j;
1424 for (i=0,j=0; j<GDTH_MAXCMDS; ++j) { 1425 for (i=0,j=0; j<GDTH_MAXCMDS; ++j) {
1425 if (ha->cmd_tab[j].cmnd != UNUSED_CMND) 1426 if (ha->cmd_tab[j].cmnd != UNUSED_CMND)
1426 ++i; 1427 ++i;
1427 } 1428 }
1428 if (max_index < i) { 1429 if (max_index < i) {
1429 max_index = i; 1430 max_index = i;
1430 TRACE3(("GDT: max_index = %d\n",(ushort)i)); 1431 TRACE3(("GDT: max_index = %d\n",(u16)i));
1431 } 1432 }
1432 } 1433 }
1433#endif 1434#endif
@@ -1450,7 +1451,7 @@ static void gdth_release_event(gdth_ha_str *ha)
1450 } 1451 }
1451} 1452}
1452 1453
1453static int gdth_wait(gdth_ha_str *ha, int index, ulong32 time) 1454static int gdth_wait(gdth_ha_str *ha, int index, u32 time)
1454{ 1455{
1455 int answer_found = FALSE; 1456 int answer_found = FALSE;
1456 int wait_index = 0; 1457 int wait_index = 0;
@@ -1476,8 +1477,8 @@ static int gdth_wait(gdth_ha_str *ha, int index, ulong32 time)
1476} 1477}
1477 1478
1478 1479
1479static int gdth_internal_cmd(gdth_ha_str *ha, unchar service, ushort opcode, 1480static int gdth_internal_cmd(gdth_ha_str *ha, u8 service, u16 opcode,
1480 ulong32 p1, ulong64 p2, ulong64 p3) 1481 u32 p1, u64 p2, u64 p3)
1481{ 1482{
1482 register gdth_cmd_str *cmd_ptr; 1483 register gdth_cmd_str *cmd_ptr;
1483 int retries,index; 1484 int retries,index;
@@ -1501,35 +1502,35 @@ static int gdth_internal_cmd(gdth_ha_str *ha, unchar service, ushort opcode,
1501 if (service == CACHESERVICE) { 1502 if (service == CACHESERVICE) {
1502 if (opcode == GDT_IOCTL) { 1503 if (opcode == GDT_IOCTL) {
1503 cmd_ptr->u.ioctl.subfunc = p1; 1504 cmd_ptr->u.ioctl.subfunc = p1;
1504 cmd_ptr->u.ioctl.channel = (ulong32)p2; 1505 cmd_ptr->u.ioctl.channel = (u32)p2;
1505 cmd_ptr->u.ioctl.param_size = (ushort)p3; 1506 cmd_ptr->u.ioctl.param_size = (u16)p3;
1506 cmd_ptr->u.ioctl.p_param = ha->scratch_phys; 1507 cmd_ptr->u.ioctl.p_param = ha->scratch_phys;
1507 } else { 1508 } else {
1508 if (ha->cache_feat & GDT_64BIT) { 1509 if (ha->cache_feat & GDT_64BIT) {
1509 cmd_ptr->u.cache64.DeviceNo = (ushort)p1; 1510 cmd_ptr->u.cache64.DeviceNo = (u16)p1;
1510 cmd_ptr->u.cache64.BlockNo = p2; 1511 cmd_ptr->u.cache64.BlockNo = p2;
1511 } else { 1512 } else {
1512 cmd_ptr->u.cache.DeviceNo = (ushort)p1; 1513 cmd_ptr->u.cache.DeviceNo = (u16)p1;
1513 cmd_ptr->u.cache.BlockNo = (ulong32)p2; 1514 cmd_ptr->u.cache.BlockNo = (u32)p2;
1514 } 1515 }
1515 } 1516 }
1516 } else if (service == SCSIRAWSERVICE) { 1517 } else if (service == SCSIRAWSERVICE) {
1517 if (ha->raw_feat & GDT_64BIT) { 1518 if (ha->raw_feat & GDT_64BIT) {
1518 cmd_ptr->u.raw64.direction = p1; 1519 cmd_ptr->u.raw64.direction = p1;
1519 cmd_ptr->u.raw64.bus = (unchar)p2; 1520 cmd_ptr->u.raw64.bus = (u8)p2;
1520 cmd_ptr->u.raw64.target = (unchar)p3; 1521 cmd_ptr->u.raw64.target = (u8)p3;
1521 cmd_ptr->u.raw64.lun = (unchar)(p3 >> 8); 1522 cmd_ptr->u.raw64.lun = (u8)(p3 >> 8);
1522 } else { 1523 } else {
1523 cmd_ptr->u.raw.direction = p1; 1524 cmd_ptr->u.raw.direction = p1;
1524 cmd_ptr->u.raw.bus = (unchar)p2; 1525 cmd_ptr->u.raw.bus = (u8)p2;
1525 cmd_ptr->u.raw.target = (unchar)p3; 1526 cmd_ptr->u.raw.target = (u8)p3;
1526 cmd_ptr->u.raw.lun = (unchar)(p3 >> 8); 1527 cmd_ptr->u.raw.lun = (u8)(p3 >> 8);
1527 } 1528 }
1528 } else if (service == SCREENSERVICE) { 1529 } else if (service == SCREENSERVICE) {
1529 if (opcode == GDT_REALTIME) { 1530 if (opcode == GDT_REALTIME) {
1530 *(ulong32 *)&cmd_ptr->u.screen.su.data[0] = p1; 1531 *(u32 *)&cmd_ptr->u.screen.su.data[0] = p1;
1531 *(ulong32 *)&cmd_ptr->u.screen.su.data[4] = (ulong32)p2; 1532 *(u32 *)&cmd_ptr->u.screen.su.data[4] = (u32)p2;
1532 *(ulong32 *)&cmd_ptr->u.screen.su.data[8] = (ulong32)p3; 1533 *(u32 *)&cmd_ptr->u.screen.su.data[8] = (u32)p3;
1533 } 1534 }
1534 } 1535 }
1535 ha->cmd_len = sizeof(gdth_cmd_str); 1536 ha->cmd_len = sizeof(gdth_cmd_str);
@@ -1555,9 +1556,9 @@ static int gdth_internal_cmd(gdth_ha_str *ha, unchar service, ushort opcode,
1555 1556
1556static int __devinit gdth_search_drives(gdth_ha_str *ha) 1557static int __devinit gdth_search_drives(gdth_ha_str *ha)
1557{ 1558{
1558 ushort cdev_cnt, i; 1559 u16 cdev_cnt, i;
1559 int ok; 1560 int ok;
1560 ulong32 bus_no, drv_cnt, drv_no, j; 1561 u32 bus_no, drv_cnt, drv_no, j;
1561 gdth_getch_str *chn; 1562 gdth_getch_str *chn;
1562 gdth_drlist_str *drl; 1563 gdth_drlist_str *drl;
1563 gdth_iochan_str *ioc; 1564 gdth_iochan_str *ioc;
@@ -1570,8 +1571,8 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1570#endif 1571#endif
1571 1572
1572#ifdef GDTH_RTC 1573#ifdef GDTH_RTC
1573 unchar rtc[12]; 1574 u8 rtc[12];
1574 ulong flags; 1575 unsigned long flags;
1575#endif 1576#endif
1576 1577
1577 TRACE(("gdth_search_drives() hanum %d\n", ha->hanum)); 1578 TRACE(("gdth_search_drives() hanum %d\n", ha->hanum));
@@ -1584,7 +1585,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1584 if (ok) 1585 if (ok)
1585 ha->screen_feat = GDT_64BIT; 1586 ha->screen_feat = GDT_64BIT;
1586 } 1587 }
1587 if (force_dma32 || (!ok && ha->status == (ushort)S_NOFUNC)) 1588 if (force_dma32 || (!ok && ha->status == (u16)S_NOFUNC))
1588 ok = gdth_internal_cmd(ha, SCREENSERVICE, GDT_INIT, 0, 0, 0); 1589 ok = gdth_internal_cmd(ha, SCREENSERVICE, GDT_INIT, 0, 0, 0);
1589 if (!ok) { 1590 if (!ok) {
1590 printk("GDT-HA %d: Initialization error screen service (code %d)\n", 1591 printk("GDT-HA %d: Initialization error screen service (code %d)\n",
@@ -1609,11 +1610,11 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1609 rtc[j] = CMOS_READ(j); 1610 rtc[j] = CMOS_READ(j);
1610 } while (rtc[0] != CMOS_READ(0)); 1611 } while (rtc[0] != CMOS_READ(0));
1611 spin_unlock_irqrestore(&rtc_lock, flags); 1612 spin_unlock_irqrestore(&rtc_lock, flags);
1612 TRACE2(("gdth_search_drives(): RTC: %x/%x/%x\n",*(ulong32 *)&rtc[0], 1613 TRACE2(("gdth_search_drives(): RTC: %x/%x/%x\n",*(u32 *)&rtc[0],
1613 *(ulong32 *)&rtc[4], *(ulong32 *)&rtc[8])); 1614 *(u32 *)&rtc[4], *(u32 *)&rtc[8]));
1614 /* 3. send to controller firmware */ 1615 /* 3. send to controller firmware */
1615 gdth_internal_cmd(ha, SCREENSERVICE, GDT_REALTIME, *(ulong32 *)&rtc[0], 1616 gdth_internal_cmd(ha, SCREENSERVICE, GDT_REALTIME, *(u32 *)&rtc[0],
1616 *(ulong32 *)&rtc[4], *(ulong32 *)&rtc[8]); 1617 *(u32 *)&rtc[4], *(u32 *)&rtc[8]);
1617#endif 1618#endif
1618 1619
1619 /* unfreeze all IOs */ 1620 /* unfreeze all IOs */
@@ -1627,7 +1628,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1627 if (ok) 1628 if (ok)
1628 ha->cache_feat = GDT_64BIT; 1629 ha->cache_feat = GDT_64BIT;
1629 } 1630 }
1630 if (force_dma32 || (!ok && ha->status == (ushort)S_NOFUNC)) 1631 if (force_dma32 || (!ok && ha->status == (u16)S_NOFUNC))
1631 ok = gdth_internal_cmd(ha, CACHESERVICE, GDT_INIT, LINUX_OS, 0, 0); 1632 ok = gdth_internal_cmd(ha, CACHESERVICE, GDT_INIT, LINUX_OS, 0, 0);
1632 if (!ok) { 1633 if (!ok) {
1633 printk("GDT-HA %d: Initialization error cache service (code %d)\n", 1634 printk("GDT-HA %d: Initialization error cache service (code %d)\n",
@@ -1635,7 +1636,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1635 return 0; 1636 return 0;
1636 } 1637 }
1637 TRACE2(("gdth_search_drives(): CACHESERVICE initialized\n")); 1638 TRACE2(("gdth_search_drives(): CACHESERVICE initialized\n"));
1638 cdev_cnt = (ushort)ha->info; 1639 cdev_cnt = (u16)ha->info;
1639 ha->fw_vers = ha->service; 1640 ha->fw_vers = ha->service;
1640 1641
1641#ifdef INT_COAL 1642#ifdef INT_COAL
@@ -1644,7 +1645,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1644 pmod = (gdth_perf_modes *)ha->pscratch; 1645 pmod = (gdth_perf_modes *)ha->pscratch;
1645 pmod->version = 1; 1646 pmod->version = 1;
1646 pmod->st_mode = 1; /* enable one status buffer */ 1647 pmod->st_mode = 1; /* enable one status buffer */
1647 *((ulong64 *)&pmod->st_buff_addr1) = ha->coal_stat_phys; 1648 *((u64 *)&pmod->st_buff_addr1) = ha->coal_stat_phys;
1648 pmod->st_buff_indx1 = COALINDEX; 1649 pmod->st_buff_indx1 = COALINDEX;
1649 pmod->st_buff_addr2 = 0; 1650 pmod->st_buff_addr2 = 0;
1650 pmod->st_buff_u_addr2 = 0; 1651 pmod->st_buff_u_addr2 = 0;
@@ -1705,7 +1706,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1705 else 1706 else
1706 ha->bus_id[bus_no] = 0xff; 1707 ha->bus_id[bus_no] = 0xff;
1707 } 1708 }
1708 ha->bus_cnt = (unchar)bus_no; 1709 ha->bus_cnt = (u8)bus_no;
1709 } 1710 }
1710 TRACE2(("gdth_search_drives() %d channels\n",ha->bus_cnt)); 1711 TRACE2(("gdth_search_drives() %d channels\n",ha->bus_cnt));
1711 1712
@@ -1789,12 +1790,12 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1789 1790
1790 /* logical drives */ 1791 /* logical drives */
1791 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_IOCTL, CACHE_DRV_CNT, 1792 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_IOCTL, CACHE_DRV_CNT,
1792 INVALID_CHANNEL,sizeof(ulong32))) { 1793 INVALID_CHANNEL,sizeof(u32))) {
1793 drv_cnt = *(ulong32 *)ha->pscratch; 1794 drv_cnt = *(u32 *)ha->pscratch;
1794 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_IOCTL, CACHE_DRV_LIST, 1795 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_IOCTL, CACHE_DRV_LIST,
1795 INVALID_CHANNEL,drv_cnt * sizeof(ulong32))) { 1796 INVALID_CHANNEL,drv_cnt * sizeof(u32))) {
1796 for (j = 0; j < drv_cnt; ++j) { 1797 for (j = 0; j < drv_cnt; ++j) {
1797 drv_no = ((ulong32 *)ha->pscratch)[j]; 1798 drv_no = ((u32 *)ha->pscratch)[j];
1798 if (drv_no < MAX_LDRIVES) { 1799 if (drv_no < MAX_LDRIVES) {
1799 ha->hdr[drv_no].is_logdrv = TRUE; 1800 ha->hdr[drv_no].is_logdrv = TRUE;
1800 TRACE2(("Drive %d is log. drive\n",drv_no)); 1801 TRACE2(("Drive %d is log. drive\n",drv_no));
@@ -1838,7 +1839,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1838 if (ok) 1839 if (ok)
1839 ha->raw_feat = GDT_64BIT; 1840 ha->raw_feat = GDT_64BIT;
1840 } 1841 }
1841 if (force_dma32 || (!ok && ha->status == (ushort)S_NOFUNC)) 1842 if (force_dma32 || (!ok && ha->status == (u16)S_NOFUNC))
1842 ok = gdth_internal_cmd(ha, SCSIRAWSERVICE, GDT_INIT, 0, 0, 0); 1843 ok = gdth_internal_cmd(ha, SCSIRAWSERVICE, GDT_INIT, 0, 0, 0);
1843 if (!ok) { 1844 if (!ok) {
1844 printk("GDT-HA %d: Initialization error raw service (code %d)\n", 1845 printk("GDT-HA %d: Initialization error raw service (code %d)\n",
@@ -1854,7 +1855,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1854 if (gdth_internal_cmd(ha, SCSIRAWSERVICE, GDT_GET_FEAT, 0, 0, 0)) { 1855 if (gdth_internal_cmd(ha, SCSIRAWSERVICE, GDT_GET_FEAT, 0, 0, 0)) {
1855 TRACE2(("gdth_search_dr(): get feat RAWSERVICE %d\n", 1856 TRACE2(("gdth_search_dr(): get feat RAWSERVICE %d\n",
1856 ha->info)); 1857 ha->info));
1857 ha->raw_feat |= (ushort)ha->info; 1858 ha->raw_feat |= (u16)ha->info;
1858 } 1859 }
1859 } 1860 }
1860 1861
@@ -1865,7 +1866,7 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1865 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_GET_FEAT, 0, 0, 0)) { 1866 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_GET_FEAT, 0, 0, 0)) {
1866 TRACE2(("gdth_search_dr(): get feat CACHESERV. %d\n", 1867 TRACE2(("gdth_search_dr(): get feat CACHESERV. %d\n",
1867 ha->info)); 1868 ha->info));
1868 ha->cache_feat |= (ushort)ha->info; 1869 ha->cache_feat |= (u16)ha->info;
1869 } 1870 }
1870 } 1871 }
1871 1872
@@ -1923,9 +1924,9 @@ static int __devinit gdth_search_drives(gdth_ha_str *ha)
1923 return 1; 1924 return 1;
1924} 1925}
1925 1926
1926static int gdth_analyse_hdrive(gdth_ha_str *ha, ushort hdrive) 1927static int gdth_analyse_hdrive(gdth_ha_str *ha, u16 hdrive)
1927{ 1928{
1928 ulong32 drv_cyls; 1929 u32 drv_cyls;
1929 int drv_hds, drv_secs; 1930 int drv_hds, drv_secs;
1930 1931
1931 TRACE(("gdth_analyse_hdrive() hanum %d drive %d\n", ha->hanum, hdrive)); 1932 TRACE(("gdth_analyse_hdrive() hanum %d drive %d\n", ha->hanum, hdrive));
@@ -1944,17 +1945,17 @@ static int gdth_analyse_hdrive(gdth_ha_str *ha, ushort hdrive)
1944 } else { 1945 } else {
1945 drv_hds = ha->info2 & 0xff; 1946 drv_hds = ha->info2 & 0xff;
1946 drv_secs = (ha->info2 >> 8) & 0xff; 1947 drv_secs = (ha->info2 >> 8) & 0xff;
1947 drv_cyls = (ulong32)ha->hdr[hdrive].size / drv_hds / drv_secs; 1948 drv_cyls = (u32)ha->hdr[hdrive].size / drv_hds / drv_secs;
1948 } 1949 }
1949 ha->hdr[hdrive].heads = (unchar)drv_hds; 1950 ha->hdr[hdrive].heads = (u8)drv_hds;
1950 ha->hdr[hdrive].secs = (unchar)drv_secs; 1951 ha->hdr[hdrive].secs = (u8)drv_secs;
1951 /* round size */ 1952 /* round size */
1952 ha->hdr[hdrive].size = drv_cyls * drv_hds * drv_secs; 1953 ha->hdr[hdrive].size = drv_cyls * drv_hds * drv_secs;
1953 1954
1954 if (ha->cache_feat & GDT_64BIT) { 1955 if (ha->cache_feat & GDT_64BIT) {
1955 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_X_INFO, hdrive, 0, 0) 1956 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_X_INFO, hdrive, 0, 0)
1956 && ha->info2 != 0) { 1957 && ha->info2 != 0) {
1957 ha->hdr[hdrive].size = ((ulong64)ha->info2 << 32) | ha->info; 1958 ha->hdr[hdrive].size = ((u64)ha->info2 << 32) | ha->info;
1958 } 1959 }
1959 } 1960 }
1960 TRACE2(("gdth_search_dr() cdr. %d size %d hds %d scs %d\n", 1961 TRACE2(("gdth_search_dr() cdr. %d size %d hds %d scs %d\n",
@@ -1964,7 +1965,7 @@ static int gdth_analyse_hdrive(gdth_ha_str *ha, ushort hdrive)
1964 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_DEVTYPE, hdrive, 0, 0)) { 1965 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_DEVTYPE, hdrive, 0, 0)) {
1965 TRACE2(("gdth_search_dr() cache drive %d devtype %d\n", 1966 TRACE2(("gdth_search_dr() cache drive %d devtype %d\n",
1966 hdrive,ha->info)); 1967 hdrive,ha->info));
1967 ha->hdr[hdrive].devtype = (ushort)ha->info; 1968 ha->hdr[hdrive].devtype = (u16)ha->info;
1968 } 1969 }
1969 1970
1970 /* cluster info */ 1971 /* cluster info */
@@ -1972,14 +1973,14 @@ static int gdth_analyse_hdrive(gdth_ha_str *ha, ushort hdrive)
1972 TRACE2(("gdth_search_dr() cache drive %d cluster info %d\n", 1973 TRACE2(("gdth_search_dr() cache drive %d cluster info %d\n",
1973 hdrive,ha->info)); 1974 hdrive,ha->info));
1974 if (!shared_access) 1975 if (!shared_access)
1975 ha->hdr[hdrive].cluster_type = (unchar)ha->info; 1976 ha->hdr[hdrive].cluster_type = (u8)ha->info;
1976 } 1977 }
1977 1978
1978 /* R/W attributes */ 1979 /* R/W attributes */
1979 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_RW_ATTRIBS, hdrive, 0, 0)) { 1980 if (gdth_internal_cmd(ha, CACHESERVICE, GDT_RW_ATTRIBS, hdrive, 0, 0)) {
1980 TRACE2(("gdth_search_dr() cache drive %d r/w attrib. %d\n", 1981 TRACE2(("gdth_search_dr() cache drive %d r/w attrib. %d\n",
1981 hdrive,ha->info)); 1982 hdrive,ha->info));
1982 ha->hdr[hdrive].rw_attribs = (unchar)ha->info; 1983 ha->hdr[hdrive].rw_attribs = (u8)ha->info;
1983 } 1984 }
1984 1985
1985 return 1; 1986 return 1;
@@ -1988,12 +1989,12 @@ static int gdth_analyse_hdrive(gdth_ha_str *ha, ushort hdrive)
1988 1989
1989/* command queueing/sending functions */ 1990/* command queueing/sending functions */
1990 1991
1991static void gdth_putq(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar priority) 1992static void gdth_putq(gdth_ha_str *ha, Scsi_Cmnd *scp, u8 priority)
1992{ 1993{
1993 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp); 1994 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp);
1994 register Scsi_Cmnd *pscp; 1995 register Scsi_Cmnd *pscp;
1995 register Scsi_Cmnd *nscp; 1996 register Scsi_Cmnd *nscp;
1996 ulong flags; 1997 unsigned long flags;
1997 1998
1998 TRACE(("gdth_putq() priority %d\n",priority)); 1999 TRACE(("gdth_putq() priority %d\n",priority));
1999 spin_lock_irqsave(&ha->smp_lock, flags); 2000 spin_lock_irqsave(&ha->smp_lock, flags);
@@ -2023,7 +2024,7 @@ static void gdth_putq(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar priority)
2023 ++flags; 2024 ++flags;
2024 if (max_rq < flags) { 2025 if (max_rq < flags) {
2025 max_rq = flags; 2026 max_rq = flags;
2026 TRACE3(("GDT: max_rq = %d\n",(ushort)max_rq)); 2027 TRACE3(("GDT: max_rq = %d\n",(u16)max_rq));
2027 } 2028 }
2028#endif 2029#endif
2029} 2030}
@@ -2032,9 +2033,9 @@ static void gdth_next(gdth_ha_str *ha)
2032{ 2033{
2033 register Scsi_Cmnd *pscp; 2034 register Scsi_Cmnd *pscp;
2034 register Scsi_Cmnd *nscp; 2035 register Scsi_Cmnd *nscp;
2035 unchar b, t, l, firsttime; 2036 u8 b, t, l, firsttime;
2036 unchar this_cmd, next_cmd; 2037 u8 this_cmd, next_cmd;
2037 ulong flags = 0; 2038 unsigned long flags = 0;
2038 int cmd_index; 2039 int cmd_index;
2039 2040
2040 TRACE(("gdth_next() hanum %d\n", ha->hanum)); 2041 TRACE(("gdth_next() hanum %d\n", ha->hanum));
@@ -2282,20 +2283,20 @@ static void gdth_next(gdth_ha_str *ha)
2282 * buffers, kmap_atomic() as needed. 2283 * buffers, kmap_atomic() as needed.
2283 */ 2284 */
2284static void gdth_copy_internal_data(gdth_ha_str *ha, Scsi_Cmnd *scp, 2285static void gdth_copy_internal_data(gdth_ha_str *ha, Scsi_Cmnd *scp,
2285 char *buffer, ushort count) 2286 char *buffer, u16 count)
2286{ 2287{
2287 ushort cpcount,i, max_sg = scsi_sg_count(scp); 2288 u16 cpcount,i, max_sg = scsi_sg_count(scp);
2288 ushort cpsum,cpnow; 2289 u16 cpsum,cpnow;
2289 struct scatterlist *sl; 2290 struct scatterlist *sl;
2290 char *address; 2291 char *address;
2291 2292
2292 cpcount = min_t(ushort, count, scsi_bufflen(scp)); 2293 cpcount = min_t(u16, count, scsi_bufflen(scp));
2293 2294
2294 if (cpcount) { 2295 if (cpcount) {
2295 cpsum=0; 2296 cpsum=0;
2296 scsi_for_each_sg(scp, sl, max_sg, i) { 2297 scsi_for_each_sg(scp, sl, max_sg, i) {
2297 unsigned long flags; 2298 unsigned long flags;
2298 cpnow = (ushort)sl->length; 2299 cpnow = (u16)sl->length;
2299 TRACE(("copy_internal() now %d sum %d count %d %d\n", 2300 TRACE(("copy_internal() now %d sum %d count %d %d\n",
2300 cpnow, cpsum, cpcount, scsi_bufflen(scp))); 2301 cpnow, cpsum, cpcount, scsi_bufflen(scp)));
2301 if (cpsum+cpnow > cpcount) 2302 if (cpsum+cpnow > cpcount)
@@ -2325,7 +2326,7 @@ static void gdth_copy_internal_data(gdth_ha_str *ha, Scsi_Cmnd *scp,
2325 2326
2326static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp) 2327static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp)
2327{ 2328{
2328 unchar t; 2329 u8 t;
2329 gdth_inq_data inq; 2330 gdth_inq_data inq;
2330 gdth_rdcap_data rdc; 2331 gdth_rdcap_data rdc;
2331 gdth_sense_data sd; 2332 gdth_sense_data sd;
@@ -2389,7 +2390,7 @@ static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp)
2389 2390
2390 case READ_CAPACITY: 2391 case READ_CAPACITY:
2391 TRACE2(("Read capacity hdrive %d\n",t)); 2392 TRACE2(("Read capacity hdrive %d\n",t));
2392 if (ha->hdr[t].size > (ulong64)0xffffffff) 2393 if (ha->hdr[t].size > (u64)0xffffffff)
2393 rdc.last_block_no = 0xffffffff; 2394 rdc.last_block_no = 0xffffffff;
2394 else 2395 else
2395 rdc.last_block_no = cpu_to_be32(ha->hdr[t].size-1); 2396 rdc.last_block_no = cpu_to_be32(ha->hdr[t].size-1);
@@ -2425,12 +2426,12 @@ static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp)
2425 return 0; 2426 return 0;
2426} 2427}
2427 2428
2428static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive) 2429static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, u16 hdrive)
2429{ 2430{
2430 register gdth_cmd_str *cmdp; 2431 register gdth_cmd_str *cmdp;
2431 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp); 2432 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp);
2432 ulong32 cnt, blockcnt; 2433 u32 cnt, blockcnt;
2433 ulong64 no, blockno; 2434 u64 no, blockno;
2434 int i, cmd_index, read_write, sgcnt, mode64; 2435 int i, cmd_index, read_write, sgcnt, mode64;
2435 2436
2436 cmdp = ha->pccb; 2437 cmdp = ha->pccb;
@@ -2498,17 +2499,17 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
2498 2499
2499 if (read_write) { 2500 if (read_write) {
2500 if (scp->cmd_len == 16) { 2501 if (scp->cmd_len == 16) {
2501 memcpy(&no, &scp->cmnd[2], sizeof(ulong64)); 2502 memcpy(&no, &scp->cmnd[2], sizeof(u64));
2502 blockno = be64_to_cpu(no); 2503 blockno = be64_to_cpu(no);
2503 memcpy(&cnt, &scp->cmnd[10], sizeof(ulong32)); 2504 memcpy(&cnt, &scp->cmnd[10], sizeof(u32));
2504 blockcnt = be32_to_cpu(cnt); 2505 blockcnt = be32_to_cpu(cnt);
2505 } else if (scp->cmd_len == 10) { 2506 } else if (scp->cmd_len == 10) {
2506 memcpy(&no, &scp->cmnd[2], sizeof(ulong32)); 2507 memcpy(&no, &scp->cmnd[2], sizeof(u32));
2507 blockno = be32_to_cpu(no); 2508 blockno = be32_to_cpu(no);
2508 memcpy(&cnt, &scp->cmnd[7], sizeof(ushort)); 2509 memcpy(&cnt, &scp->cmnd[7], sizeof(u16));
2509 blockcnt = be16_to_cpu(cnt); 2510 blockcnt = be16_to_cpu(cnt);
2510 } else { 2511 } else {
2511 memcpy(&no, &scp->cmnd[0], sizeof(ulong32)); 2512 memcpy(&no, &scp->cmnd[0], sizeof(u32));
2512 blockno = be32_to_cpu(no) & 0x001fffffUL; 2513 blockno = be32_to_cpu(no) & 0x001fffffUL;
2513 blockcnt= scp->cmnd[4]==0 ? 0x100 : scp->cmnd[4]; 2514 blockcnt= scp->cmnd[4]==0 ? 0x100 : scp->cmnd[4];
2514 } 2515 }
@@ -2516,7 +2517,7 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
2516 cmdp->u.cache64.BlockNo = blockno; 2517 cmdp->u.cache64.BlockNo = blockno;
2517 cmdp->u.cache64.BlockCnt = blockcnt; 2518 cmdp->u.cache64.BlockCnt = blockcnt;
2518 } else { 2519 } else {
2519 cmdp->u.cache.BlockNo = (ulong32)blockno; 2520 cmdp->u.cache.BlockNo = (u32)blockno;
2520 cmdp->u.cache.BlockCnt = blockcnt; 2521 cmdp->u.cache.BlockCnt = blockcnt;
2521 } 2522 }
2522 2523
@@ -2528,12 +2529,12 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
2528 if (mode64) { 2529 if (mode64) {
2529 struct scatterlist *sl; 2530 struct scatterlist *sl;
2530 2531
2531 cmdp->u.cache64.DestAddr= (ulong64)-1; 2532 cmdp->u.cache64.DestAddr= (u64)-1;
2532 cmdp->u.cache64.sg_canz = sgcnt; 2533 cmdp->u.cache64.sg_canz = sgcnt;
2533 scsi_for_each_sg(scp, sl, sgcnt, i) { 2534 scsi_for_each_sg(scp, sl, sgcnt, i) {
2534 cmdp->u.cache64.sg_lst[i].sg_ptr = sg_dma_address(sl); 2535 cmdp->u.cache64.sg_lst[i].sg_ptr = sg_dma_address(sl);
2535#ifdef GDTH_DMA_STATISTICS 2536#ifdef GDTH_DMA_STATISTICS
2536 if (cmdp->u.cache64.sg_lst[i].sg_ptr > (ulong64)0xffffffff) 2537 if (cmdp->u.cache64.sg_lst[i].sg_ptr > (u64)0xffffffff)
2537 ha->dma64_cnt++; 2538 ha->dma64_cnt++;
2538 else 2539 else
2539 ha->dma32_cnt++; 2540 ha->dma32_cnt++;
@@ -2555,8 +2556,8 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
2555 } 2556 }
2556 2557
2557#ifdef GDTH_STATISTICS 2558#ifdef GDTH_STATISTICS
2558 if (max_sg < (ulong32)sgcnt) { 2559 if (max_sg < (u32)sgcnt) {
2559 max_sg = (ulong32)sgcnt; 2560 max_sg = (u32)sgcnt;
2560 TRACE3(("GDT: max_sg = %d\n",max_sg)); 2561 TRACE3(("GDT: max_sg = %d\n",max_sg));
2561 } 2562 }
2562#endif 2563#endif
@@ -2572,7 +2573,7 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
2572 TRACE(("cache cmd: cmd %d blockno. %d, blockcnt %d\n", 2573 TRACE(("cache cmd: cmd %d blockno. %d, blockcnt %d\n",
2573 cmdp->OpCode,cmdp->u.cache64.BlockNo,cmdp->u.cache64.BlockCnt)); 2574 cmdp->OpCode,cmdp->u.cache64.BlockNo,cmdp->u.cache64.BlockCnt));
2574 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.cache64.sg_lst) + 2575 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.cache64.sg_lst) +
2575 (ushort)cmdp->u.cache64.sg_canz * sizeof(gdth_sg64_str); 2576 (u16)cmdp->u.cache64.sg_canz * sizeof(gdth_sg64_str);
2576 } else { 2577 } else {
2577 TRACE(("cache cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", 2578 TRACE(("cache cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n",
2578 cmdp->u.cache.DestAddr,cmdp->u.cache.sg_canz, 2579 cmdp->u.cache.DestAddr,cmdp->u.cache.sg_canz,
@@ -2581,7 +2582,7 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
2581 TRACE(("cache cmd: cmd %d blockno. %d, blockcnt %d\n", 2582 TRACE(("cache cmd: cmd %d blockno. %d, blockcnt %d\n",
2582 cmdp->OpCode,cmdp->u.cache.BlockNo,cmdp->u.cache.BlockCnt)); 2583 cmdp->OpCode,cmdp->u.cache.BlockNo,cmdp->u.cache.BlockCnt));
2583 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.cache.sg_lst) + 2584 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.cache.sg_lst) +
2584 (ushort)cmdp->u.cache.sg_canz * sizeof(gdth_sg_str); 2585 (u16)cmdp->u.cache.sg_canz * sizeof(gdth_sg_str);
2585 } 2586 }
2586 if (ha->cmd_len & 3) 2587 if (ha->cmd_len & 3)
2587 ha->cmd_len += (4 - (ha->cmd_len & 3)); 2588 ha->cmd_len += (4 - (ha->cmd_len & 3));
@@ -2600,15 +2601,15 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
2600 return cmd_index; 2601 return cmd_index;
2601} 2602}
2602 2603
2603static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar b) 2604static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, u8 b)
2604{ 2605{
2605 register gdth_cmd_str *cmdp; 2606 register gdth_cmd_str *cmdp;
2606 ushort i; 2607 u16 i;
2607 dma_addr_t sense_paddr; 2608 dma_addr_t sense_paddr;
2608 int cmd_index, sgcnt, mode64; 2609 int cmd_index, sgcnt, mode64;
2609 unchar t,l; 2610 u8 t,l;
2610 struct page *page; 2611 struct page *page;
2611 ulong offset; 2612 unsigned long offset;
2612 struct gdth_cmndinfo *cmndinfo; 2613 struct gdth_cmndinfo *cmndinfo;
2613 2614
2614 t = scp->device->id; 2615 t = scp->device->id;
@@ -2654,7 +2655,7 @@ static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar b)
2654 2655
2655 } else { 2656 } else {
2656 page = virt_to_page(scp->sense_buffer); 2657 page = virt_to_page(scp->sense_buffer);
2657 offset = (ulong)scp->sense_buffer & ~PAGE_MASK; 2658 offset = (unsigned long)scp->sense_buffer & ~PAGE_MASK;
2658 sense_paddr = pci_map_page(ha->pdev,page,offset, 2659 sense_paddr = pci_map_page(ha->pdev,page,offset,
2659 16,PCI_DMA_FROMDEVICE); 2660 16,PCI_DMA_FROMDEVICE);
2660 2661
@@ -2703,12 +2704,12 @@ static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar b)
2703 if (mode64) { 2704 if (mode64) {
2704 struct scatterlist *sl; 2705 struct scatterlist *sl;
2705 2706
2706 cmdp->u.raw64.sdata = (ulong64)-1; 2707 cmdp->u.raw64.sdata = (u64)-1;
2707 cmdp->u.raw64.sg_ranz = sgcnt; 2708 cmdp->u.raw64.sg_ranz = sgcnt;
2708 scsi_for_each_sg(scp, sl, sgcnt, i) { 2709 scsi_for_each_sg(scp, sl, sgcnt, i) {
2709 cmdp->u.raw64.sg_lst[i].sg_ptr = sg_dma_address(sl); 2710 cmdp->u.raw64.sg_lst[i].sg_ptr = sg_dma_address(sl);
2710#ifdef GDTH_DMA_STATISTICS 2711#ifdef GDTH_DMA_STATISTICS
2711 if (cmdp->u.raw64.sg_lst[i].sg_ptr > (ulong64)0xffffffff) 2712 if (cmdp->u.raw64.sg_lst[i].sg_ptr > (u64)0xffffffff)
2712 ha->dma64_cnt++; 2713 ha->dma64_cnt++;
2713 else 2714 else
2714 ha->dma32_cnt++; 2715 ha->dma32_cnt++;
@@ -2744,7 +2745,7 @@ static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar b)
2744 cmdp->u.raw64.sg_lst[0].sg_len)); 2745 cmdp->u.raw64.sg_lst[0].sg_len));
2745 /* evaluate command size */ 2746 /* evaluate command size */
2746 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw64.sg_lst) + 2747 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw64.sg_lst) +
2747 (ushort)cmdp->u.raw64.sg_ranz * sizeof(gdth_sg64_str); 2748 (u16)cmdp->u.raw64.sg_ranz * sizeof(gdth_sg64_str);
2748 } else { 2749 } else {
2749 TRACE(("raw cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n", 2750 TRACE(("raw cmd: addr. %x sganz %x sgptr0 %x sglen0 %x\n",
2750 cmdp->u.raw.sdata,cmdp->u.raw.sg_ranz, 2751 cmdp->u.raw.sdata,cmdp->u.raw.sg_ranz,
@@ -2752,7 +2753,7 @@ static int gdth_fill_raw_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, unchar b)
2752 cmdp->u.raw.sg_lst[0].sg_len)); 2753 cmdp->u.raw.sg_lst[0].sg_len));
2753 /* evaluate command size */ 2754 /* evaluate command size */
2754 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst) + 2755 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.raw.sg_lst) +
2755 (ushort)cmdp->u.raw.sg_ranz * sizeof(gdth_sg_str); 2756 (u16)cmdp->u.raw.sg_ranz * sizeof(gdth_sg_str);
2756 } 2757 }
2757 } 2758 }
2758 /* check space */ 2759 /* check space */
@@ -2802,7 +2803,7 @@ static int gdth_special_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp)
2802 if (cmdp->OpCode == GDT_IOCTL) { 2803 if (cmdp->OpCode == GDT_IOCTL) {
2803 TRACE2(("IOCTL\n")); 2804 TRACE2(("IOCTL\n"));
2804 ha->cmd_len = 2805 ha->cmd_len =
2805 GDTOFFSOF(gdth_cmd_str,u.ioctl.p_param) + sizeof(ulong64); 2806 GDTOFFSOF(gdth_cmd_str,u.ioctl.p_param) + sizeof(u64);
2806 } else if (cmdp->Service == CACHESERVICE) { 2807 } else if (cmdp->Service == CACHESERVICE) {
2807 TRACE2(("cache command %d\n",cmdp->OpCode)); 2808 TRACE2(("cache command %d\n",cmdp->OpCode));
2808 if (ha->cache_feat & GDT_64BIT) 2809 if (ha->cache_feat & GDT_64BIT)
@@ -2840,8 +2841,8 @@ static int gdth_special_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp)
2840 2841
2841 2842
2842/* Controller event handling functions */ 2843/* Controller event handling functions */
2843static gdth_evt_str *gdth_store_event(gdth_ha_str *ha, ushort source, 2844static gdth_evt_str *gdth_store_event(gdth_ha_str *ha, u16 source,
2844 ushort idx, gdth_evt_data *evt) 2845 u16 idx, gdth_evt_data *evt)
2845{ 2846{
2846 gdth_evt_str *e; 2847 gdth_evt_str *e;
2847 struct timeval tv; 2848 struct timeval tv;
@@ -2890,7 +2891,7 @@ static int gdth_read_event(gdth_ha_str *ha, int handle, gdth_evt_str *estr)
2890{ 2891{
2891 gdth_evt_str *e; 2892 gdth_evt_str *e;
2892 int eindex; 2893 int eindex;
2893 ulong flags; 2894 unsigned long flags;
2894 2895
2895 TRACE2(("gdth_read_event() handle %d\n", handle)); 2896 TRACE2(("gdth_read_event() handle %d\n", handle));
2896 spin_lock_irqsave(&ha->smp_lock, flags); 2897 spin_lock_irqsave(&ha->smp_lock, flags);
@@ -2919,12 +2920,12 @@ static int gdth_read_event(gdth_ha_str *ha, int handle, gdth_evt_str *estr)
2919} 2920}
2920 2921
2921static void gdth_readapp_event(gdth_ha_str *ha, 2922static void gdth_readapp_event(gdth_ha_str *ha,
2922 unchar application, gdth_evt_str *estr) 2923 u8 application, gdth_evt_str *estr)
2923{ 2924{
2924 gdth_evt_str *e; 2925 gdth_evt_str *e;
2925 int eindex; 2926 int eindex;
2926 ulong flags; 2927 unsigned long flags;
2927 unchar found = FALSE; 2928 u8 found = FALSE;
2928 2929
2929 TRACE2(("gdth_readapp_event() app. %d\n", application)); 2930 TRACE2(("gdth_readapp_event() app. %d\n", application));
2930 spin_lock_irqsave(&ha->smp_lock, flags); 2931 spin_lock_irqsave(&ha->smp_lock, flags);
@@ -2969,9 +2970,9 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
2969 gdt2_dpram_str __iomem *dp2_ptr; 2970 gdt2_dpram_str __iomem *dp2_ptr;
2970 Scsi_Cmnd *scp; 2971 Scsi_Cmnd *scp;
2971 int rval, i; 2972 int rval, i;
2972 unchar IStatus; 2973 u8 IStatus;
2973 ushort Service; 2974 u16 Service;
2974 ulong flags = 0; 2975 unsigned long flags = 0;
2975#ifdef INT_COAL 2976#ifdef INT_COAL
2976 int coalesced = FALSE; 2977 int coalesced = FALSE;
2977 int next = FALSE; 2978 int next = FALSE;
@@ -3018,7 +3019,7 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
3018 if (coalesced) { 3019 if (coalesced) {
3019 /* For coalesced requests all status 3020 /* For coalesced requests all status
3020 information is found in the status buffer */ 3021 information is found in the status buffer */
3021 IStatus = (unchar)(pcs->status & 0xff); 3022 IStatus = (u8)(pcs->status & 0xff);
3022 } 3023 }
3023#endif 3024#endif
3024 3025
@@ -3197,7 +3198,7 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
3197 ++act_int_coal; 3198 ++act_int_coal;
3198 if (act_int_coal > max_int_coal) { 3199 if (act_int_coal > max_int_coal) {
3199 max_int_coal = act_int_coal; 3200 max_int_coal = act_int_coal;
3200 printk("GDT: max_int_coal = %d\n",(ushort)max_int_coal); 3201 printk("GDT: max_int_coal = %d\n",(u16)max_int_coal);
3201 } 3202 }
3202#endif 3203#endif
3203 /* see if there is another status */ 3204 /* see if there is another status */
@@ -3225,12 +3226,12 @@ static irqreturn_t gdth_interrupt(int irq, void *dev_id)
3225 return __gdth_interrupt(ha, false, NULL); 3226 return __gdth_interrupt(ha, false, NULL);
3226} 3227}
3227 3228
3228static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index, 3229static int gdth_sync_event(gdth_ha_str *ha, int service, u8 index,
3229 Scsi_Cmnd *scp) 3230 Scsi_Cmnd *scp)
3230{ 3231{
3231 gdth_msg_str *msg; 3232 gdth_msg_str *msg;
3232 gdth_cmd_str *cmdp; 3233 gdth_cmd_str *cmdp;
3233 unchar b, t; 3234 u8 b, t;
3234 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp); 3235 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp);
3235 3236
3236 cmdp = ha->pccb; 3237 cmdp = ha->pccb;
@@ -3263,7 +3264,7 @@ static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
3263 cmdp->u.screen.su.msg.msg_addr = ha->msg_phys; 3264 cmdp->u.screen.su.msg.msg_addr = ha->msg_phys;
3264 ha->cmd_offs_dpmem = 0; 3265 ha->cmd_offs_dpmem = 0;
3265 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr) 3266 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr)
3266 + sizeof(ulong64); 3267 + sizeof(u64);
3267 ha->cmd_cnt = 0; 3268 ha->cmd_cnt = 0;
3268 gdth_copy_command(ha); 3269 gdth_copy_command(ha);
3269 gdth_release_event(ha); 3270 gdth_release_event(ha);
@@ -3297,7 +3298,7 @@ static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
3297 cmdp->u.screen.su.msg.msg_addr = ha->msg_phys; 3298 cmdp->u.screen.su.msg.msg_addr = ha->msg_phys;
3298 ha->cmd_offs_dpmem = 0; 3299 ha->cmd_offs_dpmem = 0;
3299 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr) 3300 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr)
3300 + sizeof(ulong64); 3301 + sizeof(u64);
3301 ha->cmd_cnt = 0; 3302 ha->cmd_cnt = 0;
3302 gdth_copy_command(ha); 3303 gdth_copy_command(ha);
3303 gdth_release_event(ha); 3304 gdth_release_event(ha);
@@ -3335,7 +3336,7 @@ static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
3335 cmndinfo->OpCode)); 3336 cmndinfo->OpCode));
3336 /* special commands GDT_CLUST_INFO/GDT_MOUNT ? */ 3337 /* special commands GDT_CLUST_INFO/GDT_MOUNT ? */
3337 if (cmndinfo->OpCode == GDT_CLUST_INFO) { 3338 if (cmndinfo->OpCode == GDT_CLUST_INFO) {
3338 ha->hdr[t].cluster_type = (unchar)ha->info; 3339 ha->hdr[t].cluster_type = (u8)ha->info;
3339 if (!(ha->hdr[t].cluster_type & 3340 if (!(ha->hdr[t].cluster_type &
3340 CLUSTER_MOUNTED)) { 3341 CLUSTER_MOUNTED)) {
3341 /* NOT MOUNTED -> MOUNT */ 3342 /* NOT MOUNTED -> MOUNT */
@@ -3397,7 +3398,7 @@ static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
3397 ha->hdr[t].cluster_type &= ~CLUSTER_RESERVED; 3398 ha->hdr[t].cluster_type &= ~CLUSTER_RESERVED;
3398 } 3399 }
3399 memset((char*)scp->sense_buffer,0,16); 3400 memset((char*)scp->sense_buffer,0,16);
3400 if (ha->status == (ushort)S_CACHE_RESERV) { 3401 if (ha->status == (u16)S_CACHE_RESERV) {
3401 scp->result = (DID_OK << 16) | (RESERVATION_CONFLICT << 1); 3402 scp->result = (DID_OK << 16) | (RESERVATION_CONFLICT << 1);
3402 } else { 3403 } else {
3403 scp->sense_buffer[0] = 0x70; 3404 scp->sense_buffer[0] = 0x70;
@@ -3614,16 +3615,16 @@ static int gdth_async_event(gdth_ha_str *ha)
3614 cmdp->u.screen.su.msg.msg_addr = ha->msg_phys; 3615 cmdp->u.screen.su.msg.msg_addr = ha->msg_phys;
3615 ha->cmd_offs_dpmem = 0; 3616 ha->cmd_offs_dpmem = 0;
3616 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr) 3617 ha->cmd_len = GDTOFFSOF(gdth_cmd_str,u.screen.su.msg.msg_addr)
3617 + sizeof(ulong64); 3618 + sizeof(u64);
3618 ha->cmd_cnt = 0; 3619 ha->cmd_cnt = 0;
3619 gdth_copy_command(ha); 3620 gdth_copy_command(ha);
3620 if (ha->type == GDT_EISA) 3621 if (ha->type == GDT_EISA)
3621 printk("[EISA slot %d] ",(ushort)ha->brd_phys); 3622 printk("[EISA slot %d] ",(u16)ha->brd_phys);
3622 else if (ha->type == GDT_ISA) 3623 else if (ha->type == GDT_ISA)
3623 printk("[DPMEM 0x%4X] ",(ushort)ha->brd_phys); 3624 printk("[DPMEM 0x%4X] ",(u16)ha->brd_phys);
3624 else 3625 else
3625 printk("[PCI %d/%d] ",(ushort)(ha->brd_phys>>8), 3626 printk("[PCI %d/%d] ",(u16)(ha->brd_phys>>8),
3626 (ushort)((ha->brd_phys>>3)&0x1f)); 3627 (u16)((ha->brd_phys>>3)&0x1f));
3627 gdth_release_event(ha); 3628 gdth_release_event(ha);
3628 } 3629 }
3629 3630
@@ -3640,7 +3641,7 @@ static int gdth_async_event(gdth_ha_str *ha)
3640 ha->dvr.eu.async.service = ha->service; 3641 ha->dvr.eu.async.service = ha->service;
3641 ha->dvr.eu.async.status = ha->status; 3642 ha->dvr.eu.async.status = ha->status;
3642 ha->dvr.eu.async.info = ha->info; 3643 ha->dvr.eu.async.info = ha->info;
3643 *(ulong32 *)ha->dvr.eu.async.scsi_coord = ha->info2; 3644 *(u32 *)ha->dvr.eu.async.scsi_coord = ha->info2;
3644 } 3645 }
3645 gdth_store_event( ha, ES_ASYNC, ha->service, &ha->dvr ); 3646 gdth_store_event( ha, ES_ASYNC, ha->service, &ha->dvr );
3646 gdth_log_event( &ha->dvr, NULL ); 3647 gdth_log_event( &ha->dvr, NULL );
@@ -3648,8 +3649,8 @@ static int gdth_async_event(gdth_ha_str *ha)
3648 /* new host drive from expand? */ 3649 /* new host drive from expand? */
3649 if (ha->service == CACHESERVICE && ha->status == 56) { 3650 if (ha->service == CACHESERVICE && ha->status == 56) {
3650 TRACE2(("gdth_async_event(): new host drive %d created\n", 3651 TRACE2(("gdth_async_event(): new host drive %d created\n",
3651 (ushort)ha->info)); 3652 (u16)ha->info));
3652 /* gdth_analyse_hdrive(hanum, (ushort)ha->info); */ 3653 /* gdth_analyse_hdrive(hanum, (u16)ha->info); */
3653 } 3654 }
3654 } 3655 }
3655 return 1; 3656 return 1;
@@ -3680,13 +3681,13 @@ static void gdth_log_event(gdth_evt_data *dvr, char *buffer)
3680 for (j=0,i=1; i < f[0]; i+=2) { 3681 for (j=0,i=1; i < f[0]; i+=2) {
3681 switch (f[i+1]) { 3682 switch (f[i+1]) {
3682 case 4: 3683 case 4:
3683 stack.b[j++] = *(ulong32*)&dvr->eu.stream[(int)f[i]]; 3684 stack.b[j++] = *(u32*)&dvr->eu.stream[(int)f[i]];
3684 break; 3685 break;
3685 case 2: 3686 case 2:
3686 stack.b[j++] = *(ushort*)&dvr->eu.stream[(int)f[i]]; 3687 stack.b[j++] = *(u16*)&dvr->eu.stream[(int)f[i]];
3687 break; 3688 break;
3688 case 1: 3689 case 1:
3689 stack.b[j++] = *(unchar*)&dvr->eu.stream[(int)f[i]]; 3690 stack.b[j++] = *(u8*)&dvr->eu.stream[(int)f[i]];
3690 break; 3691 break;
3691 default: 3692 default:
3692 break; 3693 break;
@@ -3712,14 +3713,14 @@ static void gdth_log_event(gdth_evt_data *dvr, char *buffer)
3712} 3713}
3713 3714
3714#ifdef GDTH_STATISTICS 3715#ifdef GDTH_STATISTICS
3715static unchar gdth_timer_running; 3716static u8 gdth_timer_running;
3716 3717
3717static void gdth_timeout(ulong data) 3718static void gdth_timeout(unsigned long data)
3718{ 3719{
3719 ulong32 i; 3720 u32 i;
3720 Scsi_Cmnd *nscp; 3721 Scsi_Cmnd *nscp;
3721 gdth_ha_str *ha; 3722 gdth_ha_str *ha;
3722 ulong flags; 3723 unsigned long flags;
3723 3724
3724 if(unlikely(list_empty(&gdth_instances))) { 3725 if(unlikely(list_empty(&gdth_instances))) {
3725 gdth_timer_running = 0; 3726 gdth_timer_running = 0;
@@ -3891,8 +3892,8 @@ static enum blk_eh_timer_return gdth_timed_out(struct scsi_cmnd *scp)
3891{ 3892{
3892 gdth_ha_str *ha = shost_priv(scp->device->host); 3893 gdth_ha_str *ha = shost_priv(scp->device->host);
3893 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp); 3894 struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp);
3894 unchar b, t; 3895 u8 b, t;
3895 ulong flags; 3896 unsigned long flags;
3896 enum blk_eh_timer_return retval = BLK_EH_NOT_HANDLED; 3897 enum blk_eh_timer_return retval = BLK_EH_NOT_HANDLED;
3897 3898
3898 TRACE(("%s() cmd 0x%x\n", scp->cmnd[0], __func__)); 3899 TRACE(("%s() cmd 0x%x\n", scp->cmnd[0], __func__));
@@ -3924,9 +3925,9 @@ static int gdth_eh_bus_reset(Scsi_Cmnd *scp)
3924{ 3925{
3925 gdth_ha_str *ha = shost_priv(scp->device->host); 3926 gdth_ha_str *ha = shost_priv(scp->device->host);
3926 int i; 3927 int i;
3927 ulong flags; 3928 unsigned long flags;
3928 Scsi_Cmnd *cmnd; 3929 Scsi_Cmnd *cmnd;
3929 unchar b; 3930 u8 b;
3930 3931
3931 TRACE2(("gdth_eh_bus_reset()\n")); 3932 TRACE2(("gdth_eh_bus_reset()\n"));
3932 3933
@@ -3974,7 +3975,7 @@ static int gdth_eh_bus_reset(Scsi_Cmnd *scp)
3974 3975
3975static int gdth_bios_param(struct scsi_device *sdev,struct block_device *bdev,sector_t cap,int *ip) 3976static int gdth_bios_param(struct scsi_device *sdev,struct block_device *bdev,sector_t cap,int *ip)
3976{ 3977{
3977 unchar b, t; 3978 u8 b, t;
3978 gdth_ha_str *ha = shost_priv(sdev->host); 3979 gdth_ha_str *ha = shost_priv(sdev->host);
3979 struct scsi_device *sd; 3980 struct scsi_device *sd;
3980 unsigned capacity; 3981 unsigned capacity;
@@ -4062,7 +4063,7 @@ static int ioc_event(void __user *arg)
4062{ 4063{
4063 gdth_ioctl_event evt; 4064 gdth_ioctl_event evt;
4064 gdth_ha_str *ha; 4065 gdth_ha_str *ha;
4065 ulong flags; 4066 unsigned long flags;
4066 4067
4067 if (copy_from_user(&evt, arg, sizeof(gdth_ioctl_event))) 4068 if (copy_from_user(&evt, arg, sizeof(gdth_ioctl_event)))
4068 return -EFAULT; 4069 return -EFAULT;
@@ -4098,8 +4099,8 @@ static int ioc_event(void __user *arg)
4098static int ioc_lockdrv(void __user *arg) 4099static int ioc_lockdrv(void __user *arg)
4099{ 4100{
4100 gdth_ioctl_lockdrv ldrv; 4101 gdth_ioctl_lockdrv ldrv;
4101 unchar i, j; 4102 u8 i, j;
4102 ulong flags; 4103 unsigned long flags;
4103 gdth_ha_str *ha; 4104 gdth_ha_str *ha;
4104 4105
4105 if (copy_from_user(&ldrv, arg, sizeof(gdth_ioctl_lockdrv))) 4106 if (copy_from_user(&ldrv, arg, sizeof(gdth_ioctl_lockdrv)))
@@ -4165,7 +4166,7 @@ static int ioc_general(void __user *arg, char *cmnd)
4165{ 4166{
4166 gdth_ioctl_general gen; 4167 gdth_ioctl_general gen;
4167 char *buf = NULL; 4168 char *buf = NULL;
4168 ulong64 paddr; 4169 u64 paddr;
4169 gdth_ha_str *ha; 4170 gdth_ha_str *ha;
4170 int rval; 4171 int rval;
4171 4172
@@ -4194,7 +4195,7 @@ static int ioc_general(void __user *arg, char *cmnd)
4194 gen.command.u.cache64.DeviceNo = gen.command.u.cache.DeviceNo; 4195 gen.command.u.cache64.DeviceNo = gen.command.u.cache.DeviceNo;
4195 /* addresses */ 4196 /* addresses */
4196 if (ha->cache_feat & SCATTER_GATHER) { 4197 if (ha->cache_feat & SCATTER_GATHER) {
4197 gen.command.u.cache64.DestAddr = (ulong64)-1; 4198 gen.command.u.cache64.DestAddr = (u64)-1;
4198 gen.command.u.cache64.sg_canz = 1; 4199 gen.command.u.cache64.sg_canz = 1;
4199 gen.command.u.cache64.sg_lst[0].sg_ptr = paddr; 4200 gen.command.u.cache64.sg_lst[0].sg_ptr = paddr;
4200 gen.command.u.cache64.sg_lst[0].sg_len = gen.data_len; 4201 gen.command.u.cache64.sg_lst[0].sg_len = gen.data_len;
@@ -4207,7 +4208,7 @@ static int ioc_general(void __user *arg, char *cmnd)
4207 if (ha->cache_feat & SCATTER_GATHER) { 4208 if (ha->cache_feat & SCATTER_GATHER) {
4208 gen.command.u.cache.DestAddr = 0xffffffff; 4209 gen.command.u.cache.DestAddr = 0xffffffff;
4209 gen.command.u.cache.sg_canz = 1; 4210 gen.command.u.cache.sg_canz = 1;
4210 gen.command.u.cache.sg_lst[0].sg_ptr = (ulong32)paddr; 4211 gen.command.u.cache.sg_lst[0].sg_ptr = (u32)paddr;
4211 gen.command.u.cache.sg_lst[0].sg_len = gen.data_len; 4212 gen.command.u.cache.sg_lst[0].sg_len = gen.data_len;
4212 gen.command.u.cache.sg_lst[1].sg_len = 0; 4213 gen.command.u.cache.sg_lst[1].sg_len = 0;
4213 } else { 4214 } else {
@@ -4230,7 +4231,7 @@ static int ioc_general(void __user *arg, char *cmnd)
4230 gen.command.u.raw64.direction = gen.command.u.raw.direction; 4231 gen.command.u.raw64.direction = gen.command.u.raw.direction;
4231 /* addresses */ 4232 /* addresses */
4232 if (ha->raw_feat & SCATTER_GATHER) { 4233 if (ha->raw_feat & SCATTER_GATHER) {
4233 gen.command.u.raw64.sdata = (ulong64)-1; 4234 gen.command.u.raw64.sdata = (u64)-1;
4234 gen.command.u.raw64.sg_ranz = 1; 4235 gen.command.u.raw64.sg_ranz = 1;
4235 gen.command.u.raw64.sg_lst[0].sg_ptr = paddr; 4236 gen.command.u.raw64.sg_lst[0].sg_ptr = paddr;
4236 gen.command.u.raw64.sg_lst[0].sg_len = gen.data_len; 4237 gen.command.u.raw64.sg_lst[0].sg_len = gen.data_len;
@@ -4244,14 +4245,14 @@ static int ioc_general(void __user *arg, char *cmnd)
4244 if (ha->raw_feat & SCATTER_GATHER) { 4245 if (ha->raw_feat & SCATTER_GATHER) {
4245 gen.command.u.raw.sdata = 0xffffffff; 4246 gen.command.u.raw.sdata = 0xffffffff;
4246 gen.command.u.raw.sg_ranz = 1; 4247 gen.command.u.raw.sg_ranz = 1;
4247 gen.command.u.raw.sg_lst[0].sg_ptr = (ulong32)paddr; 4248 gen.command.u.raw.sg_lst[0].sg_ptr = (u32)paddr;
4248 gen.command.u.raw.sg_lst[0].sg_len = gen.data_len; 4249 gen.command.u.raw.sg_lst[0].sg_len = gen.data_len;
4249 gen.command.u.raw.sg_lst[1].sg_len = 0; 4250 gen.command.u.raw.sg_lst[1].sg_len = 0;
4250 } else { 4251 } else {
4251 gen.command.u.raw.sdata = paddr; 4252 gen.command.u.raw.sdata = paddr;
4252 gen.command.u.raw.sg_ranz = 0; 4253 gen.command.u.raw.sg_ranz = 0;
4253 } 4254 }
4254 gen.command.u.raw.sense_data = (ulong32)paddr + gen.data_len; 4255 gen.command.u.raw.sense_data = (u32)paddr + gen.data_len;
4255 } 4256 }
4256 } else { 4257 } else {
4257 gdth_ioctl_free(ha, gen.data_len+gen.sense_len, buf, paddr); 4258 gdth_ioctl_free(ha, gen.data_len+gen.sense_len, buf, paddr);
@@ -4283,7 +4284,7 @@ static int ioc_hdrlist(void __user *arg, char *cmnd)
4283 gdth_ioctl_rescan *rsc; 4284 gdth_ioctl_rescan *rsc;
4284 gdth_cmd_str *cmd; 4285 gdth_cmd_str *cmd;
4285 gdth_ha_str *ha; 4286 gdth_ha_str *ha;
4286 unchar i; 4287 u8 i;
4287 int rc = -ENOMEM; 4288 int rc = -ENOMEM;
4288 u32 cluster_type = 0; 4289 u32 cluster_type = 0;
4289 4290
@@ -4335,11 +4336,11 @@ static int ioc_rescan(void __user *arg, char *cmnd)
4335{ 4336{
4336 gdth_ioctl_rescan *rsc; 4337 gdth_ioctl_rescan *rsc;
4337 gdth_cmd_str *cmd; 4338 gdth_cmd_str *cmd;
4338 ushort i, status, hdr_cnt; 4339 u16 i, status, hdr_cnt;
4339 ulong32 info; 4340 u32 info;
4340 int cyls, hds, secs; 4341 int cyls, hds, secs;
4341 int rc = -ENOMEM; 4342 int rc = -ENOMEM;
4342 ulong flags; 4343 unsigned long flags;
4343 gdth_ha_str *ha; 4344 gdth_ha_str *ha;
4344 4345
4345 rsc = kmalloc(sizeof(*rsc), GFP_KERNEL); 4346 rsc = kmalloc(sizeof(*rsc), GFP_KERNEL);
@@ -4367,7 +4368,7 @@ static int ioc_rescan(void __user *arg, char *cmnd)
4367 4368
4368 status = __gdth_execute(ha->sdev, cmd, cmnd, 30, &info); 4369 status = __gdth_execute(ha->sdev, cmd, cmnd, 30, &info);
4369 i = 0; 4370 i = 0;
4370 hdr_cnt = (status == S_OK ? (ushort)info : 0); 4371 hdr_cnt = (status == S_OK ? (u16)info : 0);
4371 } else { 4372 } else {
4372 i = rsc->hdr_no; 4373 i = rsc->hdr_no;
4373 hdr_cnt = i + 1; 4374 hdr_cnt = i + 1;
@@ -4418,7 +4419,7 @@ static int ioc_rescan(void __user *arg, char *cmnd)
4418 status = __gdth_execute(ha->sdev, cmd, cmnd, 30, &info); 4419 status = __gdth_execute(ha->sdev, cmd, cmnd, 30, &info);
4419 4420
4420 spin_lock_irqsave(&ha->smp_lock, flags); 4421 spin_lock_irqsave(&ha->smp_lock, flags);
4421 ha->hdr[i].devtype = (status == S_OK ? (ushort)info : 0); 4422 ha->hdr[i].devtype = (status == S_OK ? (u16)info : 0);
4422 spin_unlock_irqrestore(&ha->smp_lock, flags); 4423 spin_unlock_irqrestore(&ha->smp_lock, flags);
4423 4424
4424 cmd->Service = CACHESERVICE; 4425 cmd->Service = CACHESERVICE;
@@ -4432,7 +4433,7 @@ static int ioc_rescan(void __user *arg, char *cmnd)
4432 4433
4433 spin_lock_irqsave(&ha->smp_lock, flags); 4434 spin_lock_irqsave(&ha->smp_lock, flags);
4434 ha->hdr[i].cluster_type = 4435 ha->hdr[i].cluster_type =
4435 ((status == S_OK && !shared_access) ? (ushort)info : 0); 4436 ((status == S_OK && !shared_access) ? (u16)info : 0);
4436 spin_unlock_irqrestore(&ha->smp_lock, flags); 4437 spin_unlock_irqrestore(&ha->smp_lock, flags);
4437 rsc->hdr_list[i].cluster_type = ha->hdr[i].cluster_type; 4438 rsc->hdr_list[i].cluster_type = ha->hdr[i].cluster_type;
4438 4439
@@ -4446,7 +4447,7 @@ static int ioc_rescan(void __user *arg, char *cmnd)
4446 status = __gdth_execute(ha->sdev, cmd, cmnd, 30, &info); 4447 status = __gdth_execute(ha->sdev, cmd, cmnd, 30, &info);
4447 4448
4448 spin_lock_irqsave(&ha->smp_lock, flags); 4449 spin_lock_irqsave(&ha->smp_lock, flags);
4449 ha->hdr[i].rw_attribs = (status == S_OK ? (ushort)info : 0); 4450 ha->hdr[i].rw_attribs = (status == S_OK ? (u16)info : 0);
4450 spin_unlock_irqrestore(&ha->smp_lock, flags); 4451 spin_unlock_irqrestore(&ha->smp_lock, flags);
4451 } 4452 }
4452 4453
@@ -4466,7 +4467,7 @@ static int gdth_ioctl(struct inode *inode, struct file *filep,
4466{ 4467{
4467 gdth_ha_str *ha; 4468 gdth_ha_str *ha;
4468 Scsi_Cmnd *scp; 4469 Scsi_Cmnd *scp;
4469 ulong flags; 4470 unsigned long flags;
4470 char cmnd[MAX_COMMAND_SIZE]; 4471 char cmnd[MAX_COMMAND_SIZE];
4471 void __user *argp = (void __user *)arg; 4472 void __user *argp = (void __user *)arg;
4472 4473
@@ -4495,9 +4496,9 @@ static int gdth_ioctl(struct inode *inode, struct file *filep,
4495 { 4496 {
4496 gdth_ioctl_osvers osv; 4497 gdth_ioctl_osvers osv;
4497 4498
4498 osv.version = (unchar)(LINUX_VERSION_CODE >> 16); 4499 osv.version = (u8)(LINUX_VERSION_CODE >> 16);
4499 osv.subversion = (unchar)(LINUX_VERSION_CODE >> 8); 4500 osv.subversion = (u8)(LINUX_VERSION_CODE >> 8);
4500 osv.revision = (ushort)(LINUX_VERSION_CODE & 0xff); 4501 osv.revision = (u16)(LINUX_VERSION_CODE & 0xff);
4501 if (copy_to_user(argp, &osv, sizeof(gdth_ioctl_osvers))) 4502 if (copy_to_user(argp, &osv, sizeof(gdth_ioctl_osvers)))
4502 return -EFAULT; 4503 return -EFAULT;
4503 break; 4504 break;
@@ -4512,10 +4513,10 @@ static int gdth_ioctl(struct inode *inode, struct file *filep,
4512 return -EFAULT; 4513 return -EFAULT;
4513 4514
4514 if (ha->type == GDT_ISA || ha->type == GDT_EISA) { 4515 if (ha->type == GDT_ISA || ha->type == GDT_EISA) {
4515 ctrt.type = (unchar)((ha->stype>>20) - 0x10); 4516 ctrt.type = (u8)((ha->stype>>20) - 0x10);
4516 } else { 4517 } else {
4517 if (ha->type != GDT_PCIMPR) { 4518 if (ha->type != GDT_PCIMPR) {
4518 ctrt.type = (unchar)((ha->stype<<4) + 6); 4519 ctrt.type = (u8)((ha->stype<<4) + 6);
4519 } else { 4520 } else {
4520 ctrt.type = 4521 ctrt.type =
4521 (ha->oem_id == OEM_ID_INTEL ? 0xfd : 0xfe); 4522 (ha->oem_id == OEM_ID_INTEL ? 0xfd : 0xfe);
@@ -4546,7 +4547,7 @@ static int gdth_ioctl(struct inode *inode, struct file *filep,
4546 case GDTIOCTL_LOCKCHN: 4547 case GDTIOCTL_LOCKCHN:
4547 { 4548 {
4548 gdth_ioctl_lockchn lchn; 4549 gdth_ioctl_lockchn lchn;
4549 unchar i, j; 4550 u8 i, j;
4550 4551
4551 if (copy_from_user(&lchn, argp, sizeof(gdth_ioctl_lockchn)) || 4552 if (copy_from_user(&lchn, argp, sizeof(gdth_ioctl_lockchn)) ||
4552 (NULL == (ha = gdth_find_ha(lchn.ionode)))) 4553 (NULL == (ha = gdth_find_ha(lchn.ionode))))
@@ -4670,7 +4671,7 @@ static struct scsi_host_template gdth_template = {
4670}; 4671};
4671 4672
4672#ifdef CONFIG_ISA 4673#ifdef CONFIG_ISA
4673static int __init gdth_isa_probe_one(ulong32 isa_bios) 4674static int __init gdth_isa_probe_one(u32 isa_bios)
4674{ 4675{
4675 struct Scsi_Host *shp; 4676 struct Scsi_Host *shp;
4676 gdth_ha_str *ha; 4677 gdth_ha_str *ha;
@@ -4802,7 +4803,7 @@ static int __init gdth_isa_probe_one(ulong32 isa_bios)
4802#endif /* CONFIG_ISA */ 4803#endif /* CONFIG_ISA */
4803 4804
4804#ifdef CONFIG_EISA 4805#ifdef CONFIG_EISA
4805static int __init gdth_eisa_probe_one(ushort eisa_slot) 4806static int __init gdth_eisa_probe_one(u16 eisa_slot)
4806{ 4807{
4807 struct Scsi_Host *shp; 4808 struct Scsi_Host *shp;
4808 gdth_ha_str *ha; 4809 gdth_ha_str *ha;
@@ -5120,7 +5121,7 @@ static void gdth_remove_one(gdth_ha_str *ha)
5120 scsi_host_put(shp); 5121 scsi_host_put(shp);
5121} 5122}
5122 5123
5123static int gdth_halt(struct notifier_block *nb, ulong event, void *buf) 5124static int gdth_halt(struct notifier_block *nb, unsigned long event, void *buf)
5124{ 5125{
5125 gdth_ha_str *ha; 5126 gdth_ha_str *ha;
5126 5127
@@ -5158,14 +5159,14 @@ static int __init gdth_init(void)
5158 if (probe_eisa_isa) { 5159 if (probe_eisa_isa) {
5159 /* scanning for controllers, at first: ISA controller */ 5160 /* scanning for controllers, at first: ISA controller */
5160#ifdef CONFIG_ISA 5161#ifdef CONFIG_ISA
5161 ulong32 isa_bios; 5162 u32 isa_bios;
5162 for (isa_bios = 0xc8000UL; isa_bios <= 0xd8000UL; 5163 for (isa_bios = 0xc8000UL; isa_bios <= 0xd8000UL;
5163 isa_bios += 0x8000UL) 5164 isa_bios += 0x8000UL)
5164 gdth_isa_probe_one(isa_bios); 5165 gdth_isa_probe_one(isa_bios);
5165#endif 5166#endif
5166#ifdef CONFIG_EISA 5167#ifdef CONFIG_EISA
5167 { 5168 {
5168 ushort eisa_slot; 5169 u16 eisa_slot;
5169 for (eisa_slot = 0x1000; eisa_slot <= 0x8000; 5170 for (eisa_slot = 0x1000; eisa_slot <= 0x8000;
5170 eisa_slot += 0x1000) 5171 eisa_slot += 0x1000)
5171 gdth_eisa_probe_one(eisa_slot); 5172 gdth_eisa_probe_one(eisa_slot);