/** * @file compat.c * This file is intended to be up-to-date with the last linux version and * provide work-arounds for missing features in previous kernel version * * @remark Copyright 2002 OProfile authors * @remark Read the file COPYING * * @author John Levon * @author Philippe Elie */ #include "op_dcache.h" #include <linux/ioport.h> #ifdef NEED_2_2_DENTRIES /* note - assumes you only test for NULL, and not * actually care about the return value */ void * compat_request_region(unsigned long start, unsigned long n, char const * name) { if (check_region(start, n) != 0) return NULL; request_region(start, n, name); return (void *)1; } int wind_dentries_2_2(struct dentry * dentry) { struct dentry * root = current->fs->root; if (dentry->d_parent != dentry && list_empty(&dentry->d_hash)) return 0; for (;;) { struct dentry * parent; if (dentry == root) break; dentry = dentry->d_covers; parent = dentry->d_parent; if (dentry == parent) break; push_dname(&dentry->d_name); dentry = parent; } return 1; } /* called with note_lock held */ uint do_path_hash_2_2(struct dentry * dentry) { /* BKL is already taken */ return do_hash(dentry, 0, 0, 0); } #endif /* NEED_2_2_DENTRIES */