* Patch(2.5.44 and 2.4.x): 6 files referenced pci_dev.driver_data instead of pci_{g,s}et_drv_data
@ 2002-10-27 8:36 Adam J. Richter
2002-10-27 15:06 ` Jeff Garzik
2002-11-07 22:55 ` [Trivial Driver patch] - PC300 driver Henrique Gobbi
0 siblings, 2 replies; 3+ messages in thread
From: Adam J. Richter @ 2002-10-27 8:36 UTC (permalink / raw)
To: alan, andre, axboe, netwerk, jerdfelt, neilb, mikep, linux-tr,
arjanv, henrique
Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1843 bytes --]
Six driver in linux-2.5.44 directly reference
pci_dev.driver_data. This patch makes them use pci_{get,set}_drv_data
instead.
This patch is of more than just academic interest, as I intend
to submit a patch shortly for 2.5 that will eliminate
pci_dev.driver_data in favor of pci_dev.dev.driver_data. By applying
these changes to both 2.5.44 and your 2.4 trees if you maintiain them,
it will be one less difference between 2.4 and 2.5 for you to think
about.
I have verified that the updated drivers compile without any
warnings related to this change (one of IDE drivers has some other
warnings). I have not otherwise tested these changes, but they should
compile to the same object code as before.
I would appreciate it if you would apply these changes to your
respective drivers and forward the changes for your drivers to Linus.
If you would prefer that I send the changes to Linus or follow some
other course of action I can, but I think requires few of Linus's CPU
cycles when changes for a driver are emailed from that driver's
maintainer. If I have failed to contact the appropriate maintainer,
please let me know.
Modified files I think maintainers are...
drivers/block/umem.c nettwerk@valinux.com
jerdefelt@valinux.com
neilb@cse.unsw.edu.au
drivers/ide/pci/hpt366.c alan@lxorg.uk.uu.org.uk
drivers/ide/pci/siimage.c andre@linux-ide.org
axboe@suse.de
drivers/net/tokenring/3c359.c mikep@linuxtr.net
linux-tr@linux-tr.net
drivers/net/tulip/xircom_cb.c arjanv@redhat.com
drivers/net/wan/pc300_drv.c henrique@cyclades.com
--
Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Milpitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
"Free Software For The Rest Of Us."
[-- Attachment #2: diff --]
[-- Type: text/plain, Size: 6671 bytes --]
--- linux-2.5.44/drivers/block/umem.c 2002-10-18 21:02:34.000000000 -0700
+++ linux/drivers/block/umem.c 2002-10-27 01:09:51.000000000 -0700
@@ -1039,11 +1039,11 @@
printk(KERN_INFO "MM%d: Window size %d bytes, IRQ %d\n", card->card_number,
card->win_size, card->irq);
spin_lock_init(&card->lock);
- dev->driver_data = card;
+ pci_set_drvdata(dev, card);
if (pci_write_cmd != 0x0F) /* If not Memory Write & Invalidate */
pci_write_cmd = 0x07; /* then Memory Write command */
if (pci_write_cmd & 0x08) { /* use Memory Write and Invalidate */
@@ -1098,11 +1098,11 @@
-- mm_pci_remove
-----------------------------------------------------------------------------------
*/
static void mm_pci_remove(struct pci_dev *dev)
{
- struct cardinfo *card = dev->driver_data;
+ struct cardinfo *card = pci_get_drvdata(dev);
tasklet_kill(&card->tasklet);
iounmap(card->csr_remap);
release_mem_region(card->csr_base, card->csr_len);
#ifdef CONFIG_MM_MAP_MEMORY
--- linux-2.5.44/drivers/ide/pci/hpt366.c 2002-10-18 21:01:57.000000000 -0700
+++ linux/drivers/ide/pci/hpt366.c 2002-10-27 01:09:53.000000000 -0700
@@ -314,11 +314,11 @@
if (drive_fast & 0x80)
pci_write_config_byte(dev, regfast, drive_fast & ~0x80);
#endif
reg2 = pci_bus_clock_list(speed,
- (struct chipset_bus_clock_list_entry *) dev->driver_data);
+ (struct chipset_bus_clock_list_entry *) pci_get_drvdata(dev));
/*
* Disable on-chip PIO FIFO/buffer
* (to avoid problems handling I/O errors later)
*/
pci_read_config_dword(dev, regtime, ®1);
@@ -367,11 +367,11 @@
if (new_fast != drive_fast)
pci_write_config_byte(dev, regfast, new_fast);
list_conf = pci_bus_clock_list(speed,
(struct chipset_bus_clock_list_entry *)
- dev->driver_data);
+ pci_get_drvdata(dev));
pci_read_config_dword(dev, drive_pci, &drive_conf);
list_conf = (list_conf & ~conf_mask) | (drive_conf & conf_mask);
if (speed < XFER_MW_DMA_0) {
@@ -399,11 +399,11 @@
drive_fast &= ~0x07;
pci_write_config_byte(dev, regfast, drive_fast);
list_conf = pci_bus_clock_list(speed,
(struct chipset_bus_clock_list_entry *)
- dev->driver_data);
+ pci_get_drvdata(dev));
pci_read_config_dword(dev, drive_pci, &drive_conf);
list_conf = (list_conf & ~conf_mask) | (drive_conf & conf_mask);
if (speed < XFER_MW_DMA_0)
list_conf &= ~0x80000000; /* Disable on-chip PIO FIFO/buffer */
pci_write_config_dword(dev, drive_pci, list_conf);
@@ -839,11 +839,11 @@
* speed that we're running at. NOTE: the internal PLL will
* result in slow reads when using a 33MHz PCI clock. we also
* don't like to use the PLL because it will cause glitches
* on PRST/SRST when the HPT state engine gets reset.
*/
- if (dev->driver_data)
+ if (pci_get_drvdata(dev))
goto init_hpt37X_done;
/*
* adjust PLL based upon PCI clock, enable it, and wait for
* stabilization.
@@ -921,11 +921,11 @@
default:
pci_set_drvdata(dev, (void *) thirty_three_base_hpt366);
break;
}
- if (!dev->driver_data)
+ if (!pci_get_drvdata(dev))
{
printk(KERN_ERR "hpt366: unknown bus timing.\n");
return -EOPNOTSUPP;
}
return 0;
--- linux-2.5.44/drivers/ide/pci/siimage.c 2002-10-18 21:01:48.000000000 -0700
+++ linux/drivers/ide/pci/siimage.c 2002-10-27 01:09:54.000000000 -0700
@@ -28,12 +28,12 @@
static int n_siimage_devs;
static char * print_siimage_get_info (char *buf, struct pci_dev *dev, int index)
{
char *p = buf;
- u8 mmio = (dev->driver_data != NULL) ? 1 : 0;
- u32 bmdma = (mmio) ? ((u32) dev->driver_data) :
+ u8 mmio = (pci_get_drvdata(dev) != NULL) ? 1 : 0;
+ u32 bmdma = (mmio) ? ((u32) pci_get_drvdata(dev)) :
(pci_resource_start(dev, 4));
p += sprintf(p, "\nController: %d\n", index);
p += sprintf(p, "SiI%x Chipset.\n", dev->device);
if (mmio)
@@ -767,18 +767,18 @@
hwif->rqsize = 128;
if ((dev->device == PCI_DEVICE_ID_SII_3112) && (!(class_rev)))
hwif->rqsize = 16;
- if (dev->driver_data == NULL)
+ if (pci_get_drvdata(dev) == NULL)
return;
init_mmio_iops_siimage(hwif);
}
static unsigned int __init ata66_siimage (ide_hwif_t *hwif)
{
- if (hwif->pci_dev->driver_data == NULL) {
+ if (pci_get_drvdata(hwif->pci_dev) == NULL) {
u8 ata66 = 0;
pci_read_config_byte(hwif->pci_dev, SELREG(0), &ata66);
return (ata66 & 0x01) ? 1 : 0;
}
#ifndef CONFIG_TRY_MMIO_SIIMAGE
--- linux-2.5.44/drivers/net/tokenring/3c359.c 2002-10-18 21:02:34.000000000 -0700
+++ linux/drivers/net/tokenring/3c359.c 2002-10-27 01:09:55.000000000 -0700
@@ -1778,11 +1778,11 @@
return 0 ;
}
static void __devexit xl_remove_one (struct pci_dev *pdev)
{
- struct net_device *dev = pdev->driver_data;
+ struct net_device *dev = pci_get_drvdata(pdev);
struct xl_private *xl_priv=(struct xl_private *)dev->priv;
unregister_trdev(dev);
iounmap(xl_priv->xl_mmio) ;
pci_release_regions(pdev) ;
--- linux-2.5.44/drivers/net/tulip/xircom_cb.c 2002-10-18 21:02:28.000000000 -0700
+++ linux/drivers/net/tulip/xircom_cb.c 2002-10-27 01:09:56.000000000 -0700
@@ -297,11 +297,11 @@
dev->hard_start_xmit = &xircom_start_xmit;
dev->stop = &xircom_close;
dev->get_stats = &xircom_get_stats;
dev->priv = private;
dev->do_ioctl = &private_ioctl;
- pdev->driver_data = dev;
+ pci_set_drvdata(pdev, dev);
/* start the transmitter to get a heartbeat */
/* TODO: send 2 dummy packets here */
tranceiver_voodoo(private);
@@ -324,11 +324,11 @@
Interrupts and such are already stopped in the "ifconfig ethX down"
code.
*/
static void __devexit xircom_remove(struct pci_dev *pdev)
{
- struct net_device *dev = pdev->driver_data;
+ struct net_device *dev = pci_get_drvdata(pdev);
struct xircom_private *card;
enter("xircom_remove");
if (dev!=NULL) {
card=dev->priv;
if (card!=NULL) {
--- linux-2.5.44/drivers/net/wan/pc300_drv.c 2002-10-18 21:02:32.000000000 -0700
+++ linux/drivers/net/wan/pc300_drv.c 2002-10-27 01:09:57.000000000 -0700
@@ -3554,11 +3554,11 @@
card->hw.rambase, card->hw.plxbase, card->hw.scabase,
card->hw.falcbase);
#endif
/* Set PCI drv pointer to the card structure */
- pdev->driver_data = card;
+ pci_set_drvdata(pdev, card);
/* Set board type */
switch (device_id) {
case PCI_DEVICE_ID_PC300_TE_1:
case PCI_DEVICE_ID_PC300_TE_2:
@@ -3629,11 +3629,11 @@
return -ENODEV;
}
static void __devexit cpc_remove_one(struct pci_dev *pdev)
{
- pc300_t *card = (pc300_t *) pdev->driver_data;
+ pc300_t *card = pci_get_drvdata(pdev);
if (card->hw.rambase != 0) {
int i;
/* Disable interrupts on the PCI bridge */
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Patch(2.5.44 and 2.4.x): 6 files referenced pci_dev.driver_data instead of pci_{g,s}et_drv_data
2002-10-27 8:36 Patch(2.5.44 and 2.4.x): 6 files referenced pci_dev.driver_data instead of pci_{g,s}et_drv_data Adam J. Richter
@ 2002-10-27 15:06 ` Jeff Garzik
2002-11-07 22:55 ` [Trivial Driver patch] - PC300 driver Henrique Gobbi
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Garzik @ 2002-10-27 15:06 UTC (permalink / raw)
To: Adam J. Richter
Cc: alan, andre, axboe, netwerk, jerdfelt, neilb, mikep, linux-tr,
arjanv, henrique, linux-kernel
Patch looks good to me. I'll queue for Linus unless someone else has
already done so.
could you be talked into doing a similar patch for 2.4.x?
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Trivial Driver patch] - PC300 driver
2002-10-27 8:36 Patch(2.5.44 and 2.4.x): 6 files referenced pci_dev.driver_data instead of pci_{g,s}et_drv_data Adam J. Richter
2002-10-27 15:06 ` Jeff Garzik
@ 2002-11-07 22:55 ` Henrique Gobbi
1 sibling, 0 replies; 3+ messages in thread
From: Henrique Gobbi @ 2002-11-07 22:55 UTC (permalink / raw)
To: torvalds; +Cc: linux-kernel
Hello,
Please include this patch to the linux-2.5.46/drivers/net/wan/pc300_drv.c
file. It includes the MODULE_xxx macros.
thanks in advance
Henrique
--- linux-2.5.46/drivers/net/wan/pc300_drv.c.old Thu Nov 7 22:42:12
2002
+++ linux-2.5.46/drivers/net/wan/pc300_drv.c Thu Nov 7 22:42:19 2002
@@ -3687,3 +3687,9 @@
module_init(cpc_init);
module_exit(cpc_cleanup_module);
+
+MODULE_DESCRIPTION("Cyclades-PC300 cards driver");
+MODULE_AUTHOR( "Author: Ivan Passos <ivan@cyclades.com>\r\n"
+ "Maintainer: Henrique Gobbi <henrique.gobbi@cyclades.com");
+MODULE_LICENSE("GPL");
+
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-11-07 22:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-27 8:36 Patch(2.5.44 and 2.4.x): 6 files referenced pci_dev.driver_data instead of pci_{g,s}et_drv_data Adam J. Richter
2002-10-27 15:06 ` Jeff Garzik
2002-11-07 22:55 ` [Trivial Driver patch] - PC300 driver Henrique Gobbi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.