[BK PATCH] PCI fixes for 2.6.0-test2

From: Greg KH (greg@kroah.com)
Date: Fri Aug 01 2003 - 14:29:24 EST


Hi,

I turns out the we can not mark pci_device_id variables as __initdata or
__devinitdata due to the way the pci probe functions work (the .id
pointer can be looked at after init runs if a pci module is loaded by
the user.) We had the same issue come up with USB device ids a while
ago and we had to make this same fix. I think 2.4 might also have this
problem, but haven't had the time to look into it yet or not.

So these patches fix up all the pci_device_id references that I could
find in the kernel tree that are wrong. I might have missed a few due
to the different merges happening, so there might be more patches coming
later to catch the stragglers.

Thanks to Andrew Morton and Jeff Garzik for talking it over about this
problem and notifying me of it.

The pnp_id variables also have the same problem, and Adam is fixing them
all up right now. Any other subsystem that uses the driver core for
probing needs to be checked to make sure this problem isn't there too.

I've also added a documentation and pci_ids.h patch to this tree, as
they had been floating around for a while.

Please pull from:
        bk://kernel.bkbits.net/gregkh/linux/pci-2.6

thanks,

greg k-h

p.s. I'll send these as patches in response to this email to lkml for
those who want to see them.

 Documentation/DMA-mapping.txt | 2
 arch/mips/vr41xx/common/vrc4173.c | 2
 drivers/atm/eni.c | 2
 drivers/atm/firestream.c | 5
 drivers/atm/he.c | 2
 drivers/atm/idt77252.c | 2
 drivers/atm/iphase.c | 2
 drivers/block/umem.c | 2
 drivers/char/agp/ali-agp.c | 2
 drivers/char/agp/amd-k7-agp.c | 2
 drivers/char/agp/amd-k8-agp.c | 2
 drivers/char/agp/i460-agp.c | 2
 drivers/char/agp/intel-agp.c | 2
 drivers/char/agp/nvidia-agp.c | 2
 drivers/char/agp/sworks-agp.c | 2
 drivers/char/epca.c | 2
 drivers/char/synclink.c | 4
 drivers/char/synclinkmp.c | 4
 drivers/char/watchdog/wdt_pci.c | 10
 drivers/i2c/busses/i2c-ali1535.c | 2
 drivers/i2c/busses/i2c-ali15x3.c | 2
 drivers/i2c/busses/i2c-amd756.c | 2
 drivers/i2c/busses/i2c-amd8111.c | 2
 drivers/i2c/busses/i2c-i801.c | 2
 drivers/i2c/busses/i2c-piix4.c | 2
 drivers/i2c/busses/i2c-sis96x.c | 2
 drivers/i2c/busses/i2c-viapro.c | 2
 drivers/i2c/chips/via686a.c | 2
 drivers/i2c/i2c-prosavage.c | 2
 drivers/ide/pci/aec62xx.c | 2
 drivers/ide/pci/alim15x3.c | 2
 drivers/ide/pci/amd74xx.c | 2
 drivers/ide/pci/cmd64x.c | 2
 drivers/ide/pci/cs5520.c | 2
 drivers/ide/pci/cs5530.c | 2
 drivers/ide/pci/cy82c693.c | 2
 drivers/ide/pci/generic.c | 2
 drivers/ide/pci/hpt34x.c | 2
 drivers/ide/pci/hpt366.c | 2
 drivers/ide/pci/it8172.c | 2
 drivers/ide/pci/ns87415.c | 2
 drivers/ide/pci/opti621.c | 2
 drivers/ide/pci/pdc202xx_new.c | 2
 drivers/ide/pci/pdc202xx_old.c | 2
 drivers/ide/pci/pdcadma.c | 2
 drivers/ide/pci/piix.c | 2
 drivers/ide/pci/rz1000.c | 2
 drivers/ide/pci/sc1200.c | 2
 drivers/ide/pci/serverworks.c | 2
 drivers/ide/pci/siimage.c | 2
 drivers/ide/pci/sis5513.c | 2
 drivers/ide/pci/sl82c105.c | 2
 drivers/ide/pci/slc90e66.c | 2
 drivers/ide/pci/triflex.h | 2
 drivers/ide/pci/trm290.c | 2
 drivers/ide/pci/via82cxxx.c | 2
 drivers/ieee1394/ohci1394.c | 2
 drivers/ieee1394/pcilynx.c | 2
 drivers/input/gameport/cs461x.c | 2
 drivers/input/gameport/emu10k1-gp.c | 2
 drivers/input/gameport/fm801-gp.c | 2
 drivers/input/gameport/vortex.c | 2
 drivers/isdn/hardware/avm/b1pci.c | 2
 drivers/isdn/hardware/avm/c4.c | 2
 drivers/isdn/hardware/avm/t1pci.c | 2
 drivers/isdn/hardware/eicon/divasmain.c | 2
 drivers/isdn/hisax/hisax_fcpcipnp.c | 2
 drivers/isdn/hisax/hisax_hfcpci.c | 2
 drivers/isdn/tpam/tpam_main.c | 2
 drivers/media/radio/radio-maxiradio.c | 2
 drivers/media/video/bttv-driver.c | 2
 drivers/media/video/meye.c | 2
 drivers/mtd/maps/amd76xrom.c | 2
 drivers/mtd/maps/ich2rom.c | 2
 drivers/mtd/maps/pci.c | 2
 drivers/mtd/maps/scb2_flash.c | 4
 drivers/net/3c59x.c | 4
 drivers/net/8139cp.c | 2
 drivers/net/8139too.c | 2
 drivers/net/acenic.c | 2
 drivers/net/amd8111e.c | 2
 drivers/net/arcnet/com20020-pci.c | 2
 drivers/net/b44.c | 2
 drivers/net/defxx.c | 2
 drivers/net/dl2k.h | 2
 drivers/net/e100/e100_main.c | 2
 drivers/net/e1000/e1000_main.c | 2
 drivers/net/eepro100.c | 2
 drivers/net/epic100.c | 2
 drivers/net/fealnx.c | 2
 drivers/net/hamachi.c | 2
 drivers/net/ioc3-eth.c | 2
 drivers/net/irda/donauboe.c | 2
 drivers/net/irda/toshoboe.c | 2
 drivers/net/irda/vlsi_ir.c | 2
 drivers/net/ixgb/ixgb_main.c | 2
 drivers/net/natsemi.c | 2
 drivers/net/ne2k-pci.c | 2
 drivers/net/ns83820.c | 2
 drivers/net/pci-skeleton.c | 2
 drivers/net/pcnet32.c | 2
 drivers/net/r8169.c | 2
 drivers/net/rcpci45.c | 2
 drivers/net/rrunner.c | 2
 drivers/net/sis900.c | 2
 drivers/net/sk98lin/skge.c | 2
 drivers/net/starfire.c | 2
 drivers/net/sundance.c | 2
 drivers/net/sungem.c | 2
 drivers/net/sunhme.c | 2
 drivers/net/tc35815.c | 2
 drivers/net/tg3.c | 3
 drivers/net/tlan.c | 2
 drivers/net/tokenring/3c359.c | 4
 drivers/net/tokenring/abyss.c | 2
 drivers/net/tokenring/lanstreamer.c | 2
 drivers/net/tokenring/olympic.c | 2
 drivers/net/tokenring/tmspci.c | 2
 drivers/net/tulip/de2104x.c | 2
 drivers/net/tulip/dmfe.c | 2
 drivers/net/tulip/tulip_core.c | 2
 drivers/net/tulip/winbond-840.c | 2
 drivers/net/tulip/xircom_cb.c | 2
 drivers/net/tulip/xircom_tulip_cb.c | 2
 drivers/net/typhoon.c | 2
 drivers/net/via-rhine.c | 2
 drivers/net/wan/dscc4.c | 4
 drivers/net/wan/farsync.c | 2
 drivers/net/wan/lmc/lmc_main.c | 2
 drivers/net/wan/pc300_drv.c | 4
 drivers/net/wireless/airo.c | 2
 drivers/net/wireless/orinoco_pci.c | 2
 drivers/net/wireless/orinoco_plx.c | 2
 drivers/net/wireless/orinoco_tmd.c | 2
 drivers/net/yellowfin.c | 2
 drivers/parisc/eisa.c | 2
 drivers/parisc/superio.c | 2
 drivers/parport/parport_pc.c | 2
 drivers/parport/parport_serial.c | 2
 drivers/pci/hotplug/cpcihp_zt5550.c | 5
 drivers/pci/hotplug/cpqphp_core.c | 2
 drivers/pci/hotplug/ibmphp_ebda.c | 2
 drivers/pcmcia/yenta_socket.c | 2
 drivers/scsi/dc395x.c | 4
 drivers/scsi/gdth.c | 4
 drivers/scsi/ips.c | 2
 drivers/scsi/nsp32.c | 2
 drivers/scsi/tmscsim.c | 4
 drivers/serial/8250_pci.c | 2
 drivers/video/aty/aty128fb.c | 2
 drivers/video/chipsfb.c | 2
 drivers/video/console/sticore.c | 2
 drivers/video/cyber2000fb.c | 2
 drivers/video/i810/i810_main.h | 34 +-
 drivers/video/imsttfb.c | 2
 drivers/video/matrox/matroxfb_base.c | 2
 drivers/video/neofb.c | 2
 drivers/video/radeonfb.c | 2
 drivers/video/riva/fbdev.c | 2
 drivers/video/sstfb.c | 2
 drivers/video/tdfxfb.c | 4
 drivers/video/tridentfb.c | 2
 include/linux/pci_ids.h | 2
 sound/oss/ad1889.c | 2
 sound/oss/ali5455.c | 2
 sound/oss/btaudio.c | 2
 sound/oss/cs4281/cs4281m.c | 2
 sound/oss/cs46xx.c | 2
 sound/oss/es1370.c | 2
 sound/oss/es1371.c | 2
 sound/oss/esssolo1.c | 2
 sound/oss/forte.c | 2
 sound/oss/i810_audio.c | 2
 sound/oss/ite8172.c | 2
 sound/oss/kahlua.c | 2
 sound/oss/maestro.c | 4
 sound/oss/maestro3.c | 2
 sound/oss/nec_vrc5477.c | 2
 sound/oss/nm256_audio.c | 2
 sound/oss/rme96xx.c | 2
 sound/oss/sonicvibes.c | 4
 sound/oss/trident.c | 2
 sound/oss/via82cxxx_audio.c | 2
 sound/oss/ymfpci.c | 2
 sound/pci/ali5451/ali5451.c | 54 +---
 sound/pci/als4000.c | 2
 sound/pci/azt3328.c | 2
 sound/pci/cmipci.c | 6
 sound/pci/cs4281.c | 76 ++---
 sound/pci/cs46xx/cs46xx.c | 15 -
 sound/pci/emu10k1/emu10k1.c | 12
 sound/pci/ens1370.c | 12
 sound/pci/es1938.c | 8
 sound/pci/es1968.c | 50 +--
 sound/pci/fm801.c | 2
 sound/pci/ice1712/ice1712.c | 2
 sound/pci/ice1712/ice1724.c | 6
 sound/pci/intel8x0.c | 360 ++++++++++++++++-----------
 sound/pci/korg1212/korg1212.c | 2
 sound/pci/maestro3.c | 102 ++++---
 sound/pci/nm256/nm256.c | 15 -
 sound/pci/rme32.c | 2
 sound/pci/rme96.c | 20 -
 sound/pci/rme9652/hdsp.c | 419 +++++++++++++++++++-------------
 sound/pci/rme9652/rme9652.c | 80 +++---
 sound/pci/sonicvibes.c | 8
 sound/pci/trident/trident.c | 17 -
 sound/pci/via82xx.c | 8
 sound/pci/vx222/vx222.c | 2
 sound/pci/ymfpci/ymfpci.c | 17 -
 210 files changed, 913 insertions(+), 827 deletions(-)
-----

Greg Kroah-Hartman:
  o PCI: merge fixups
  o PCI: pci_device_id can not be marked __devinitdata
  o PCI: pci_device_id can not be marked __devinitdata
  o PCI: pci_device_id can not be marked __devinitdata
  o PCI: pci_device_id can not be marked __devinitdata
  o PCI: pci_device_id can not be marked __devinitdata
  o PCI: pci_device_id can not be marked __devinitdata. Fixes up sound/*

Mitchell Blank Jr.:
  o PCI: add 2 entries to pci_ids.h
  o PCI: Trivial DMA-mapping.txt fix

-
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/



This archive was generated by hypermail 2b29 : Thu Aug 07 2003 - 22:00:17 EST