1 #ifndef __MACIO_ASIC_H__
2 #define __MACIO_ASIC_H__
13 #define MACIO_DEV_COUNT_RESOURCES 8
14 #define MACIO_DEV_COUNT_IRQS 8
26 struct macio_chip *
chip;
39 struct macio_bus *
bus;
40 struct macio_dev *media_bay;
48 #define to_macio_device(d) container_of(d, struct macio_dev, ofdev.dev)
49 #define of_to_macio_device(d) container_of(d, struct macio_dev, ofdev)
59 static inline int macio_resource_count(
struct macio_dev *
dev)
61 return dev->n_resources;
64 static inline unsigned long macio_resource_start(
struct macio_dev *
dev,
int resource_no)
66 return dev->resource[resource_no].start;
69 static inline unsigned long macio_resource_end(
struct macio_dev *
dev,
int resource_no)
71 return dev->resource[resource_no].end;
74 static inline unsigned long macio_resource_len(
struct macio_dev *
dev,
int resource_no)
79 return resource_size(res);
89 static inline int macio_irq_count(
struct macio_dev *dev)
91 return dev->n_interrupts;
94 static inline int macio_irq(
struct macio_dev *dev,
int irq_no)
96 return dev->interrupt[irq_no].start;
99 static inline void macio_set_drvdata(
struct macio_dev *dev,
void *
data)
104 static inline void* macio_get_drvdata(
struct macio_dev *dev)
109 static inline struct device_node *macio_get_of_node(
struct macio_dev *mdev)
111 return mdev->ofdev.dev.of_node;
115 static inline struct pci_dev *macio_get_pci_dev(
struct macio_dev *mdev)
117 return mdev->bus->pdev;
127 int (*
remove)(
struct macio_dev*
dev);
131 int (*shutdown)(
struct macio_dev*
dev);
133 #ifdef CONFIG_PMAC_MEDIABAY
134 void (*mediabay_event)(
struct macio_dev*
dev,
int mb_state);
138 #define to_macio_driver(drv) container_of(drv,struct macio_driver, driver)