/* * Copyright 2006-2008, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: * Axel Dörfler, axeld@pinc-software.de */ #ifndef DRIVER_H #define DRIVER_H #include #include #include "intel_extreme_private.h" // PCI Communications #define read8(address) (*((volatile uint8 *)(address))) #define read16(address) (*((volatile uint16 *)(address))) #define read32(address) (*((volatile uint32 *)(address))) #define write8(address, data) (*((volatile uint8 *)(address)) = (data)) #define write16(address, data) (*((volatile uint16 *)(address)) = (data)) #define write32(address, data) (*((volatile uint32 *)(address)) = (data)) extern char *gDeviceNames[]; extern intel_info *gDeviceInfo[]; extern pci_module_info *gPCI; extern agp_gart_module_info *gGART; extern struct lock gLock; static inline uint32 get_pci_config(pci_info *info, uint8 offset, uint8 size) { return gPCI->read_pci_config(info->bus, info->device, info->function, offset, size); } static inline void set_pci_config(pci_info *info, uint8 offset, uint8 size, uint32 value) { gPCI->write_pci_config(info->bus, info->device, info->function, offset, size, value); } #endif /* DRIVER_H */