at v2.6.22-rc2 41 lines 1.3 kB view raw
1#ifndef _ASM_POWERPC_OF_DEVICE_H 2#define _ASM_POWERPC_OF_DEVICE_H 3#ifdef __KERNEL__ 4 5#include <linux/device.h> 6#include <linux/mod_devicetable.h> 7#include <asm/prom.h> 8 9 10/* 11 * The of_device is a kind of "base class" that is a superset of 12 * struct device for use by devices attached to an OF node and 13 * probed using OF properties 14 */ 15struct of_device 16{ 17 struct device_node *node; /* to be obsoleted */ 18 u64 dma_mask; /* DMA mask */ 19 struct device dev; /* Generic device interface */ 20}; 21#define to_of_device(d) container_of(d, struct of_device, dev) 22 23extern const struct of_device_id *of_match_node( 24 const struct of_device_id *matches, const struct device_node *node); 25extern const struct of_device_id *of_match_device( 26 const struct of_device_id *matches, const struct of_device *dev); 27 28extern struct of_device *of_dev_get(struct of_device *dev); 29extern void of_dev_put(struct of_device *dev); 30 31extern int of_device_register(struct of_device *ofdev); 32extern void of_device_unregister(struct of_device *ofdev); 33extern void of_release_dev(struct device *dev); 34 35extern ssize_t of_device_get_modalias(struct of_device *ofdev, 36 char *str, ssize_t len); 37extern int of_device_uevent(struct device *dev, 38 char **envp, int num_envp, char *buffer, int buffer_size); 39 40#endif /* __KERNEL__ */ 41#endif /* _ASM_POWERPC_OF_DEVICE_H */