summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/device/device.h39
-rw-r--r--src/include/device/pci.h42
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);