blob: e3e06e0f7fc0b14d78b0205bc74a865768554305 [file] [log] [blame]
Benjamin Herrenschmidtc6dbaef2006-11-11 17:18:39 +11001/*
2 * Arch specific extensions to struct device
3 *
4 * This file is released under the GPLv2
5 */
Benjamin Herrenschmidt12d04ee2006-11-11 17:25:02 +11006#ifndef _ASM_POWERPC_DEVICE_H
7#define _ASM_POWERPC_DEVICE_H
Benjamin Herrenschmidtc6dbaef2006-11-11 17:18:39 +11008
Benjamin Herrenschmidt12d04ee2006-11-11 17:25:02 +11009struct dma_mapping_ops;
10struct device_node;
11
12struct dev_archdata {
13 /* Optional pointer to an OF device node */
14 struct device_node *of_node;
15
16 /* DMA operations on that device */
17 struct dma_mapping_ops *dma_ops;
18 void *dma_data;
Benjamin Herrenschmidt12d04ee2006-11-11 17:25:02 +110019};
20
Anton Vorontsov3f3b1632008-11-28 09:13:23 +000021static inline void dev_archdata_set_node(struct dev_archdata *ad,
22 struct device_node *np)
23{
24 ad->of_node = np;
25}
26
27static inline struct device_node *
28dev_archdata_get_node(const struct dev_archdata *ad)
29{
30 return ad->of_node;
31}
32
Magnus Dammd7aacad2009-07-08 13:21:31 +020033struct pdev_archdata {
34};
35
Benjamin Herrenschmidt12d04ee2006-11-11 17:25:02 +110036#endif /* _ASM_POWERPC_DEVICE_H */