struct tpci200_regs {
__le16 revision; /* writes to control should occur with the mutex held to protect
* read-modify-write operations */
__le16 control[4];
__le16 reset;
__le16 status;
u8 reserved[242];
} __packed;
/** * struct slot_irq - slot IRQ definition. * @vector Vector number * @handler Handler called when IRQ arrives * @arg Handler argument *
*/ struct slot_irq { struct ipack_device *holder; int vector;
irqreturn_t (*handler)(void *); void *arg;
};
/** * struct tpci200_slot - data specific to the tpci200 slot. * @slot_id Slot identification gived to external interface * @irq Slot IRQ infos * @io_phys IO physical base address register of the slot * @id_phys ID physical base address register of the slot * @int_phys INT physical base address register of the slot * @mem_phys MEM physical base address register of the slot *
*/ struct tpci200_slot { struct slot_irq *irq;
};
/** * struct tpci200_infos - informations specific of the TPCI200 tpci200. * @pci_dev PCI device * @interface_regs Pointer to IP interface space (Bar 2) * @ioidint_space Pointer to IP ID, IO and INT space (Bar 3) * @mem8_space Pointer to MEM space (Bar 4) *
*/ struct tpci200_infos { struct pci_dev *pdev; struct pci_device_id *id_table; struct tpci200_regs __iomem *interface_regs; void __iomem *cfg_regs; struct ipack_bus_device *ipack_bus;
}; struct tpci200_board { unsignedint number; struct mutex mutex;
spinlock_t regs_lock; struct tpci200_slot *slots; struct tpci200_infos *info;
phys_addr_t mod_mem[IPACK_SPACE_COUNT];
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.