It is currently Thu, 20 Jan 2022 03:36:08 GMT



 
Author Message
 pcibios functions left in m68knommu port
Hi,

I just noticed the arch/m68knommu/kernel/comempci.c file, which contains
a lot of pcibios functions that are now removed from the rest of the
kernel.  Are these present for any specific reason, or would you be
willing to take a patch removing them?

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at   http://www.**-**.com/
Please read the FAQ at   http://www.**-**.com/



 Sat, 04 Jun 2005 18:30:16 GMT   
 pcibios functions left in m68knommu port
Hi Greg,

Happy to take a patch.
Most of that baggage has been carried through since that support
was first coded (circa linux-2.0.38).

Regards
Greg

------------------------------------------------------------------------
Greg Ungerer  --  Chief Software Wizard        EMAIL:  g...@snapgear.com
SnapGear Pty Ltd                               PHONE:    +61 7 3435 2888
825 Stanley St,                                  FAX:    +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia              WEB:   www.SnapGear.com

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



 Sun, 05 Jun 2005 02:00:08 GMT   
 pcibios functions left in m68knommu port

Great, here's a patch against 2.5.52 that removes the unneeded
functions.  I think you might be able to remove a few of the static
variables in this file now too, but I don't want to break anything, as I
don't have a machine to test this on.

Hm, I think I have a uCsimm around here somewhere...

thanks,

greg k-h

# removed unused pcibios functions from the m68knommu code.

diff -Nru a/arch/m68knommu/kernel/comempci.c b/arch/m68knommu/kernel/comempci.c
--- a/arch/m68knommu/kernel/comempci.c  Thu Dec 19 09:43:11 2002
+++ b/arch/m68knommu/kernel/comempci.c  Thu Dec 19 09:43:11 2002
@@ -338,254 +338,6 @@

 /*****************************************************************************/

-int pcibios_present(void)
-{
-       return(pci_bus_is_present);
-}
-
-/*****************************************************************************/
-
-int pcibios_read_config_dword(unsigned char bus, unsigned char dev,
-       unsigned char offset, unsigned int *val)
-{
-       volatile unsigned long  *rp;
-       unsigned long           idsel, fnsel;
-
-#ifdef DEBUGPCI
-       printk("pcibios_read_config_dword(bus=%x,dev=%x,offset=%x,val=%x)\n",
-                bus, dev, offset, val);
-#endif
-
-       if (bus || ((pci_slotmask & (0x1 << PCI_SLOT(dev))) == 0)) {
-               *val = 0xffffffff;
-               return(PCIBIOS_SUCCESSFUL);
-       }
-
-       rp = (volatile unsigned long *) COMEM_BASE;
-       idsel = COMEM_DA_CFGRD | COMEM_DA_ADDR(0x1 << ((dev >> 3) + 16));
-       fnsel = (dev & 0x7) << 8;
-
-       rp[LREG(COMEM_DAHBASE)] = idsel;
-       *val = rp[LREG(COMEM_PCIBUS + (offset & 0xfc) + fnsel)];
-
-#if 1
-       /* If we get back what we wrote, then nothing there */
-       /* This is pretty dodgy, but, hey, what else do we do?? */
-       if (!offset && (*val == ((idsel & 0xfffff000) | (offset & 0x00000fff))))
-               *val = 0xffffffff;
-#endif
-
-       return(PCIBIOS_SUCCESSFUL);
-}
-
-/*****************************************************************************/
-
-int pcibios_read_config_word(unsigned char bus, unsigned char dev,
-       unsigned char offset, unsigned short *val)
-{
-       volatile unsigned long  *rp;
-       volatile unsigned short *bp;
-       unsigned long           idsel, fnsel;
-       unsigned char           swapoffset;
-
-#ifdef DEBUGPCI
-       printk("pcibios_read_config_word(bus=%x,dev=%x,offset=%x)\n",
-               bus, dev, offset);
-#endif
-
-       if (bus || ((pci_slotmask & (0x1 << PCI_SLOT(dev))) == 0)) {
-               *val = 0xffff;
-               return(PCIBIOS_SUCCESSFUL);
-       }
-
-       rp = (volatile unsigned long *) COMEM_BASE;
-       bp = (volatile unsigned short *) COMEM_BASE;
-       idsel = COMEM_DA_CFGRD | COMEM_DA_ADDR(0x1 << ((dev >> 3) + 16));
-       fnsel = (dev & 0x7) << 8;
-       swapoffset = (offset & 0xfc) + (~offset & 0x02);
-
-       rp[LREG(COMEM_DAHBASE)] = idsel;
-       *val = bp[WREG(COMEM_PCIBUS + swapoffset + fnsel)];
-
-       return(PCIBIOS_SUCCESSFUL);
-}
-
-/*****************************************************************************/
-
-int pcibios_read_config_byte(unsigned char bus, unsigned char dev,
-       unsigned char offset, unsigned char *val)
-{
-       volatile unsigned long  *rp;
-       volatile unsigned char  *bp;
-       unsigned long           idsel, fnsel;
-       unsigned char           swapoffset;
-
-#ifdef DEBUGPCI
-       printk("pcibios_read_config_byte(bus=%x,dev=%x,offset=%x)\n",
-               bus, dev, offset);
-#endif
-
-       if (bus || ((pci_slotmask & (0x1 << PCI_SLOT(dev))) == 0)) {
-               *val = 0xff;
-               return(PCIBIOS_SUCCESSFUL);
-       }
-
-       rp = (volatile unsigned long *) COMEM_BASE;
-       bp = (volatile unsigned char *) COMEM_BASE;
-       idsel = COMEM_DA_CFGRD | COMEM_DA_ADDR(0x1 << ((dev >> 3) + 16));
-       fnsel = (dev & 0x7) << 8;
-       swapoffset = (offset & 0xfc) + (~offset & 0x03);
-
-       rp[LREG(COMEM_DAHBASE)] = idsel;
-       *val = bp[(COMEM_PCIBUS + swapoffset + fnsel)];
-
-       return(PCIBIOS_SUCCESSFUL);
-}
-
-/*****************************************************************************/
-
-int pcibios_write_config_dword(unsigned char bus, unsigned char dev,
-       unsigned char offset, unsigned int val)
-{
-       volatile unsigned long  *rp;
-       unsigned long           idsel, fnsel;
-
-#ifdef DEBUGPCI
-       printk("pcibios_write_config_dword(bus=%x,dev=%x,offset=%x,val=%x)\n",
-                bus, dev, offset, val);
-#endif
-
-       if (bus || ((pci_slotmask & (0x1 << PCI_SLOT(dev))) == 0))
-               return(PCIBIOS_SUCCESSFUL);
-
-       rp = (volatile unsigned long *) COMEM_BASE;
-       idsel = COMEM_DA_CFGRD | COMEM_DA_ADDR(0x1 << ((dev >> 3) + 16));
-       fnsel = (dev & 0x7) << 8;
-
-       rp[LREG(COMEM_DAHBASE)] = idsel;
-       rp[LREG(COMEM_PCIBUS + (offset & 0xfc) + fnsel)] = val;
-       return(PCIBIOS_SUCCESSFUL);
-}
-
-/*****************************************************************************/
-
-int pcibios_write_config_word(unsigned char bus, unsigned char dev,
-       unsigned char offset, unsigned short val)
-{
-
-       volatile unsigned long  *rp;
-       volatile unsigned short *bp;
-       unsigned long           idsel, fnsel;
-       unsigned char           swapoffset;
-
-#ifdef DEBUGPCI
-       printk("pcibios_write_config_word(bus=%x,dev=%x,offset=%x,val=%x)\n",
-                bus, dev, offset, val);
-#endif
-
-       if (bus || ((pci_slotmask & (0x1 << PCI_SLOT(dev))) == 0))
-               return(PCIBIOS_SUCCESSFUL);
-
-       rp = (volatile unsigned long *) COMEM_BASE;
-       bp = (volatile unsigned short *) COMEM_BASE;
-       idsel = COMEM_DA_CFGRD | COMEM_DA_ADDR(0x1 << ((dev >> 3) + 16));
-       fnsel = (dev & 0x7) << 8;
-       swapoffset = (offset & 0xfc) + (~offset & 0x02);
-
-       rp[LREG(COMEM_DAHBASE)] = idsel;
-       bp[WREG(COMEM_PCIBUS + swapoffset + fnsel)] = val;
-       return(PCIBIOS_SUCCESSFUL);
-}
-
-/*****************************************************************************/
-
-int pcibios_write_config_byte(unsigned char bus, unsigned char dev,
-       unsigned char offset, unsigned char val)
-{
-       volatile unsigned long  *rp;
-       volatile unsigned char  *bp;
-       unsigned long           idsel, fnsel;
-       unsigned char           swapoffset;
-
-#ifdef DEBUGPCI
-       printk("pcibios_write_config_byte(bus=%x,dev=%x,offset=%x,val=%x)\n",
-                bus, dev, offset, val);
-#endif
-
-       if (bus || ((pci_slotmask & (0x1 << PCI_SLOT(dev))) == 0))
-               return(PCIBIOS_SUCCESSFUL);
-
-       rp = (volatile unsigned long *) COMEM_BASE;
-       bp = (volatile unsigned char *) COMEM_BASE;
-       idsel = COMEM_DA_CFGRD | COMEM_DA_ADDR(0x1 << ((dev >> 3) + 16));
-       fnsel = (dev & 0x7) << 8;
-       swapoffset = (offset & 0xfc) + (~offset & 0x03);
-
-       rp[LREG(COMEM_DAHBASE)] = idsel;
-       bp[(COMEM_PCIBUS + swapoffset + fnsel)] = val;
-       return(PCIBIOS_SUCCESSFUL);
-}
-
-/*****************************************************************************/
-
-int pcibios_find_device(unsigned short vendor, unsigned short devid,
-       unsigned short index, unsigned char *bus, unsigned char *dev)
-{
-       unsigned int    vendev, val;
-       unsigned char   devnr;
-
-#ifdef DEBUGPCI
-       printk("pcibios_find_device(vendor=%04x,devid=%04x,index=%d)\n",
-               vendor, devid, index);
-#endif
-
-       if (vendor == 0xffff)
-               return(PCIBIOS_BAD_VENDOR_ID);
-
-       vendev = (devid << 16) | vendor;
-       for (devnr = 0; (devnr < 32); devnr++) {
-               pcibios_read_config_dword(0, devnr, PCI_VENDOR_ID, &val);
-               if (vendev == val) {
-                       if (index-- == 0) {
-                               *bus = 0;
-                               *dev = devnr;
-                               return(PCIBIOS_SUCCESSFUL);
-                       }
-               }
-       }
-
-       return(PCIBIOS_DEVICE_NOT_FOUND);
-}
-
-/*****************************************************************************/
-
-int pcibios_find_class(unsigned int class, unsigned short index,
-       unsigned char *bus, unsigned char *dev)
-{
-       unsigned int    val;
-       unsigned char   devnr;
-
-#ifdef DEBUGPCI
-       printk("pcibios_find_class(class=%04x,index=%d)\n", class, index);
-#endif
-
-       /* FIXME: this ignores multi-function devices... */
-       for (devnr = 0; (devnr < 128); devnr += 8) {
-               pcibios_read_config_dword(0, devnr, PCI_CLASS_REVISION, &val);
-               if ((val >> 8) == class) {
-                       if (index-- == 0) {
-                               *bus = 0;
-                               *dev = devnr;
-                               return(PCIBIOS_SUCCESSFUL);
-                       }
-               }
-       }
-
-       return(PCIBIOS_DEVICE_NOT_FOUND);
-}
-
-/*****************************************************************************/
-
 /*
  *     Local routines to interrcept the standard I/O and vector handling
  *     code. Don't include this 'till now - initialization code above needs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



 Mon, 06 Jun 2005 18:50:13 GMT   
 pcibios functions left in m68knommu port
Hi Greg,

You could on that, but it doesn't have a PCI bus, so you
couldn't really test with that. The only 2 boards I know
of that this supports are the Motorola M5407C3 and the
Moreton Bay eLIA.

Regards
Greg

------------------------------------------------------------------------
Greg Ungerer  --  Chief Software Wizard        EMAIL:  g...@snapgear.com
SnapGear Pty Ltd                               PHONE:    +61 7 3435 2888
825 Stanley St,                                  FAX:    +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia              WEB:   www.SnapGear.com

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



 Tue, 07 Jun 2005 07:10:05 GMT   
 
   [ 4 post ] 

Similar Threads

1. using pcibios functions

2. Getting left function keys to work under X

3. Functions for the Left keys on the Sun keyboard

4. C function to display memory left?

5. Phanomen with using write() function on AIX when no space left

6. Phanomen with using write() function on AIX when no space left

7. leaving tcsh's watch function ?

8. : linux-2.5.44-ac4-uc2 (m68knommu/v850 architecture cleanup)

9. ne.o needs PCIBIOS ???


 
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software