diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/device/device.h | 39 | ||||
-rw-r--r-- | src/include/device/pci.h | 42 |
2 files changed, 41 insertions, 40 deletions
diff --git a/src/include/device/device.h b/src/include/device/device.h index 242d29762c..54d4ec314f 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -18,6 +18,8 @@ struct device; #ifndef __SIMPLE_DEVICE__ typedef struct device *device_t; +#endif + struct pci_operations; struct pci_bus_operations; struct i2c_bus_operations; @@ -43,33 +45,33 @@ struct smbios_type11; struct acpi_rsdp; struct device_operations { - void (*read_resources)(device_t dev); - void (*set_resources)(device_t dev); - void (*enable_resources)(device_t dev); - void (*init)(device_t dev); - void (*final)(device_t dev); - void (*scan_bus)(device_t bus); - void (*enable)(device_t dev); - void (*disable)(device_t dev); - void (*set_link)(device_t dev, unsigned int link); + void (*read_resources)(struct device *dev); + void (*set_resources)(struct device *dev); + void (*enable_resources)(struct device *dev); + void (*init)(struct device *dev); + void (*final)(struct device *dev); + void (*scan_bus)(struct device *bus); + void (*enable)(struct device *dev); + void (*disable)(struct device *dev); + void (*set_link)(struct device *dev, unsigned int link); void (*reset_bus)(struct bus *bus); #if IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLES) - int (*get_smbios_data)(device_t dev, int *handle, + int (*get_smbios_data)(struct device *dev, int *handle, unsigned long *current); - void (*get_smbios_strings)(device_t dev, struct smbios_type11 *t); + void (*get_smbios_strings)(struct device *dev, struct smbios_type11 *t); #endif #if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES) - unsigned long (*write_acpi_tables)(device_t dev, unsigned long start, - struct acpi_rsdp *rsdp); - void (*acpi_fill_ssdt_generator)(device_t dev); - void (*acpi_inject_dsdt_generator)(device_t dev); - const char *(*acpi_name)(device_t dev); + unsigned long (*write_acpi_tables)(struct device *dev, + unsigned long start, struct acpi_rsdp *rsdp); + void (*acpi_fill_ssdt_generator)(struct device *dev); + void (*acpi_inject_dsdt_generator)(struct device *dev); + const char *(*acpi_name)(struct device *dev); #endif const struct pci_operations *ops_pci; const struct i2c_bus_operations *ops_i2c_bus; const struct spi_bus_operations *ops_spi_bus; const struct smbus_bus_operations *ops_smbus_bus; - const struct pci_bus_operations * (*ops_pci_bus)(device_t dev); + const struct pci_bus_operations * (*ops_pci_bus)(struct device *dev); const struct pnp_mode_ops *ops_pnp_mode; }; @@ -79,9 +81,6 @@ struct device_operations { static inline void device_noop(struct device *dev) {} #define DEVICE_NOOP device_noop -#endif /* ! __SIMPLE_DEVICE__ */ - - struct bus { DEVTREE_CONST struct device *dev; /* This bridge device */ diff --git a/src/include/device/pci.h b/src/include/device/pci.h index 0f2d2bde00..bc7fada090 100644 --- a/src/include/device/pci.h +++ b/src/include/device/pci.h @@ -27,14 +27,13 @@ #include <device/pci_ops.h> #include <device/pci_rom.h> -#ifndef __SIMPLE_DEVICE__ /* Common pci operations without a standard interface */ struct pci_operations { /* set the Subsystem IDs for the PCI device */ - void (*set_subsystem)(device_t dev, unsigned int vendor, + void (*set_subsystem)(struct device *dev, unsigned int vendor, unsigned int device); - void (*set_L1_ss_latency)(device_t dev, unsigned int off); + void (*set_L1_ss_latency)(struct device *dev, unsigned int off); }; /* Common pci bus operations */ @@ -57,7 +56,11 @@ struct pci_driver { const unsigned short *devices; }; +#ifdef __SIMPLE_DEVICE__ +#define __pci_driver __attribute__((unused)) +#else #define __pci_driver __attribute__((used, __section__(".rodata.pci_driver"))) +#endif /** start of compile time generated pci driver array */ extern struct pci_driver _pci_drivers[]; /** end of compile time generated pci driver array */ @@ -67,19 +70,20 @@ extern struct pci_driver _epci_drivers[]; extern struct device_operations default_pci_ops_dev; extern struct device_operations default_pci_ops_bus; -void pci_dev_read_resources(device_t dev); -void pci_bus_read_resources(device_t dev); -void pci_dev_set_resources(device_t dev); -void pci_dev_enable_resources(device_t dev); -void pci_bus_enable_resources(device_t dev); +void pci_dev_read_resources(struct device *dev); +void pci_bus_read_resources(struct device *dev); +void pci_dev_set_resources(struct device *dev); +void pci_dev_enable_resources(struct device *dev); +void pci_bus_enable_resources(struct device *dev); void pci_bus_reset(struct bus *bus); -device_t pci_probe_dev(device_t dev, struct bus *bus, unsigned int devfn); +struct device *pci_probe_dev(struct device *dev, struct bus *bus, + unsigned int devfn); void do_pci_scan_bridge(device_t bus, void (*do_scan_bus)(struct bus *bus, unsigned int min_devfn, unsigned int max_devfn)); -void pci_scan_bridge(device_t bus); +void pci_scan_bridge(struct device *bus); void pci_scan_bus(struct bus *bus, unsigned int min_devfn, unsigned int max_devfn); @@ -87,22 +91,22 @@ uint8_t pci_moving_config8(struct device *dev, unsigned int reg); uint16_t pci_moving_config16(struct device *dev, unsigned int reg); uint32_t pci_moving_config32(struct device *dev, unsigned int reg); struct resource *pci_get_resource(struct device *dev, unsigned long index); -void pci_dev_set_subsystem(device_t dev, unsigned int vendor, +void pci_dev_set_subsystem(struct device *dev, unsigned int vendor, unsigned int device); void pci_dev_init(struct device *dev); -unsigned int pci_match_simple_dev(device_t dev, pci_devfn_t sdev); +unsigned int pci_match_simple_dev(struct device *dev, pci_devfn_t sdev); const char *pin_to_str(int pin); -int get_pci_irq_pins(device_t dev, device_t *parent_bdg); +int get_pci_irq_pins(struct device *dev, struct device **parent_bdg); void pci_assign_irqs(unsigned int bus, unsigned int slot, const unsigned char pIntAtoD[4]); -const char *get_pci_class_name(device_t dev); -const char *get_pci_subclass_name(device_t dev); +const char *get_pci_class_name(struct device *dev); +const char *get_pci_subclass_name(struct device *dev); #define PCI_IO_BRIDGE_ALIGN 4096 #define PCI_MEM_BRIDGE_ALIGN (1024*1024) -static inline const struct pci_operations *ops_pci(device_t dev) +static inline const struct pci_operations *ops_pci(struct device *dev) { const struct pci_operations *pops; pops = 0; @@ -111,16 +115,14 @@ static inline const struct pci_operations *ops_pci(device_t dev) return pops; } -#endif /* ! __SIMPLE_DEVICE__ */ - #ifdef __SIMPLE_DEVICE__ unsigned int pci_find_next_capability(pci_devfn_t dev, unsigned int cap, unsigned int last); unsigned int pci_find_capability(pci_devfn_t dev, unsigned int cap); #else /* !__SIMPLE_DEVICE__ */ -unsigned int pci_find_next_capability(device_t dev, unsigned int cap, +unsigned int pci_find_next_capability(struct device *dev, unsigned int cap, unsigned int last); -unsigned int pci_find_capability(device_t dev, unsigned int cap); +unsigned int pci_find_capability(struct device *dev, unsigned int cap); #endif /* __SIMPLE_DEVICE__ */ void pci_early_bridge_init(void); |