Author: uwe Date: 2007-09-25 02:16:31 +0200 (Tue, 25 Sep 2007) New Revision: 499
Modified: LinuxBIOSv3/device/pci_device.c LinuxBIOSv3/include/device/device.h Log: Add more information to the device structure, so an Open Firmware device tree can be created from data in struct device.
Signed-off-by: Jens Freimann jens@freimann.org Acked-by: Uwe Hermann uwe@hermann-uwe.de
Modified: LinuxBIOSv3/device/pci_device.c =================================================================== --- LinuxBIOSv3/device/pci_device.c 2007-09-16 14:37:59 UTC (rev 498) +++ LinuxBIOSv3/device/pci_device.c 2007-09-25 00:16:31 UTC (rev 499) @@ -964,6 +964,15 @@ /* Read the rest of the PCI configuration information. */ hdr_type = pci_read_config8(dev, PCI_HEADER_TYPE); class = pci_read_config32(dev, PCI_CLASS_REVISION); + dev->status = pci_read_config16(dev, PCI_STATUS); + dev->revision = pci_read_config8(dev, PCI_REVISION_ID); + dev->cache_line = pci_read_config8(dev, PCI_CACHE_LINE_SIZE); + dev->irq_line = pci_read_config8(dev, PCI_INTERRUPT_LINE); + dev->irq_pin = pci_read_config8(dev, PCI_INTERRUPT_PIN); + dev->min_gnt = pci_read_config8(dev, PCI_MIN_GNT); + dev->max_lat = pci_read_config8(dev, PCI_MAX_LAT); + dev->subsystem_vendor = pci_read_config16(dev, PCI_SUBSYSTEM_VENDOR_ID); + dev->subsystem_device = pci_read_config16(dev, PCI_SUBSYSTEM_ID);
/* Store the interesting information in the device structure. */ dev->vendor = id & 0xffff;
Modified: LinuxBIOSv3/include/device/device.h =================================================================== --- LinuxBIOSv3/include/device/device.h 2007-09-16 14:37:59 UTC (rev 498) +++ LinuxBIOSv3/include/device/device.h 2007-09-25 00:16:31 UTC (rev 499) @@ -188,6 +188,16 @@ char dtsname[MAX_DTSNAME_SIZE]; /* the name from the dts */ unsigned vendor; unsigned device; + u16 status; + u8 revision; + u8 cache_line; + u8 irq_line; + u8 irq_pin; + u8 min_gnt; + u8 max_lat; + u16 subsystem_vendor; + u16 subsystem_device; + unsigned int class; /* 3 bytes: (base,sub,prog-if) */ unsigned int hdr_type; /* PCI header type */ unsigned int enabled : 1; /* set if we should enable the device */