aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2010-08-19 17:13:40 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-20 12:34:55 -0400
commitf3c072ad727617f00bffae17dba8cd895f5b7bdb (patch)
treeadfc9f4da5f4ce01fb7e936bea2f6ec0ab9a68c4 /include/linux
parent8d6c83f0ba5e1bd1e8bb2e3c7de4c276dc247f99 (diff)
uml: fix compile error in dma_get_cache_alignment()
Fix uml compile error: include/linux/dma-mapping.h:145: error: redefinition of 'dma_get_cache_alignment' arch/um/include/asm/dma-mapping.h:99: note: previous definition of 'dma_get_cache_alignment' was here Introduced by commit 4565f0170dfc ("dma-mapping: unify dma_get_cache_alignment implementations") Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Cc: Jeff Dike <jdike@addtoit.com> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
n> (*show)(struct sysdev_class *, struct sysdev_class_attribute *, char *); ssize_t (*store)(struct sysdev_class *, struct sysdev_class_attribute *, const char *, size_t); }; #define _SYSDEV_CLASS_ATTR(_name,_mode,_show,_store) \ { \ .attr = {.name = __stringify(_name), .mode = _mode }, \ .show = _show, \ .store = _store, \ } #define SYSDEV_CLASS_ATTR(_name,_mode,_show,_store) \ struct sysdev_class_attribute attr_##_name = \ _SYSDEV_CLASS_ATTR(_name,_mode,_show,_store) extern int sysdev_class_register(struct sysdev_class *); extern void sysdev_class_unregister(struct sysdev_class *); extern int sysdev_class_create_file(struct sysdev_class *, struct sysdev_class_attribute *); extern void sysdev_class_remove_file(struct sysdev_class *, struct sysdev_class_attribute *); /** * Auxillary system device drivers. */ struct sysdev_driver { struct list_head entry; int (*add)(struct sys_device *); int (*remove)(struct sys_device *); #ifndef CONFIG_ARCH_NO_SYSDEV_OPS int (*shutdown)(struct sys_device *); int (*suspend)(struct sys_device *, pm_message_t state); int (*resume)(struct sys_device *); #endif }; extern int sysdev_driver_register(struct sysdev_class *, struct sysdev_driver *); extern void sysdev_driver_unregister(struct sysdev_class *, struct sysdev_driver *); /** * sys_devices can be simplified a lot from regular devices, because they're * simply not as versatile. */ struct sys_device { u32 id; struct sysdev_class * cls; struct kobject kobj; }; extern int sysdev_register(struct sys_device *); extern void sysdev_unregister(struct sys_device *); struct sysdev_attribute { struct attribute attr; ssize_t (*show)(struct sys_device *, struct sysdev_attribute *, char *); ssize_t (*store)(struct sys_device *, struct sysdev_attribute *, const char *, size_t); }; #define _SYSDEV_ATTR(_name, _mode, _show, _store) \ { \ .attr = { .name = __stringify(_name), .mode = _mode }, \ .show = _show, \ .store = _store, \ } #define SYSDEV_ATTR(_name, _mode, _show, _store) \ struct sysdev_attribute attr_##_name = \ _SYSDEV_ATTR(_name, _mode, _show, _store); extern int sysdev_create_file(struct sys_device *, struct sysdev_attribute *); extern void sysdev_remove_file(struct sys_device *, struct sysdev_attribute *); /* Create/remove NULL terminated attribute list */ static inline int sysdev_create_files(struct sys_device *d, struct sysdev_attribute **a) { return sysfs_create_files(&d->kobj, (const struct attribute **)a); } static inline void sysdev_remove_files(struct sys_device *d, struct sysdev_attribute **a) { return sysfs_remove_files(&d->kobj, (const struct attribute **)a); } struct sysdev_ext_attribute { struct sysdev_attribute attr; void *var; }; /* * Support for simple variable sysdev attributes. * The pointer to the variable is stored in a sysdev_ext_attribute */ /* Add more types as needed */ extern ssize_t sysdev_show_ulong(struct sys_device *, struct sysdev_attribute *, char *); extern ssize_t sysdev_store_ulong(struct sys_device *, struct sysdev_attribute *, const char *, size_t); extern ssize_t sysdev_show_int(struct sys_device *, struct sysdev_attribute *, char *); extern ssize_t sysdev_store_int(struct sys_device *, struct sysdev_attribute *, const char *, size_t); #define _SYSDEV_ULONG_ATTR(_name, _mode, _var) \ { _SYSDEV_ATTR(_name, _mode, sysdev_show_ulong, sysdev_store_ulong), \ &(_var) } #define SYSDEV_ULONG_ATTR(_name, _mode, _var) \ struct sysdev_ext_attribute attr_##_name = \ _SYSDEV_ULONG_ATTR(_name, _mode, _var); #define _SYSDEV_INT_ATTR(_name, _mode, _var) \ { _SYSDEV_ATTR(_name, _mode, sysdev_show_int, sysdev_store_int), \ &(_var) } #define SYSDEV_INT_ATTR(_name, _mode, _var) \ struct sysdev_ext_attribute attr_##_name = \ _SYSDEV_INT_ATTR(_name, _mode, _var); #endif /* _SYSDEV_H_ */