lkml.org 
[lkml]   [2004]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjectcciss updates for 2.6 [7 of 11]
Patch 7 of 11. Please apply in order.
This patch replaces reading directly form PCI config space where possible.
Most of what we need is in the pdev struct.
This is in 2.4.
--------------------------------------------------------------------------------------
diff -burN lx261-p006/drivers/block/cciss.c lx261/drivers/block/cciss.c
--- lx261-p006/drivers/block/cciss.c 2004-01-22 15:20:16.000000000 -0600
+++ lx261/drivers/block/cciss.c 2004-01-22 15:36:17.000000000 -0600
@@ -2121,9 +2121,8 @@

static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
{
- ushort vendor_id, device_id, command;
- unchar cache_line_size, latency_timer;
- unchar irq, revision;
+ ushort subsystem_vendor_id, subsystem_device_id, command;
+ unchar irq = pdev->irq;
__u32 board_id, scratchpad = 0;
__u64 cfg_offset;
__u32 cfg_base_addr;
@@ -2150,17 +2149,10 @@
return(-1);
}

- vendor_id = pdev->vendor;
- device_id = pdev->device;
- irq = pdev->irq;
-
- (void) pci_read_config_byte(pdev, PCI_CLASS_REVISION, &revision);
- (void) pci_read_config_byte(pdev, PCI_CACHE_LINE_SIZE,
- &cache_line_size);
- (void) pci_read_config_byte(pdev, PCI_LATENCY_TIMER,
- &latency_timer);
- (void) pci_read_config_dword(pdev, PCI_SUBSYSTEM_VENDOR_ID,
- &board_id);
+ subsystem_vendor_id = pdev->subsystem_vendor;
+ subsystem_device_id = pdev->subsystem_device;
+ board_id = (((__u32) (subsystem_device_id << 16) & 0xffff0000) |
+ subsystem_vendor_id);

/* search for our IO range so we can protect it */
for(i=0; i<DEVICE_COUNT_RESOURCE; i++)
@@ -2188,15 +2180,8 @@
}

#ifdef CCISS_DEBUG
- printk("vendor_id = %x\n", vendor_id);
- printk("device_id = %x\n", device_id);
printk("command = %x\n", command);
- for(i=0; i<6; i++)
- printk("addr[%d] = %x\n", i, pci_resource_start(pdev, i);
- printk("revision = %x\n", revision);
printk("irq = %x\n", irq);
- printk("cache_line_size = %x\n", cache_line_size);
- printk("latency_timer = %x\n", latency_timer);
printk("board_id = %x\n", board_id);
#endif /* CCISS_DEBUG */

Thanks,
mikem
mike.miller@hp.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:00    [W:0.031 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site