compat-3.2.h: Avoid module_platform_driver redefinition
[~tnikolova/compat/.git] / compat / compat-2.6.35.c
1 /*
2  * Copyright 2010    Kshitij Kulshreshtha <kkhere.geo@gmail.com>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * Compatibility file for Linux wireless for kernels 2.6.35.
9  */
10
11 #include <linux/compat.h>
12 #include <linux/ctype.h>
13
14 /**
15  * hex_to_bin - convert a hex digit to its real value
16  * @ch: ascii character represents hex digit
17  *
18  * hex_to_bin() converts one hex digit to its actual value or -1 in case of bad
19  * input.
20  */
21 int hex_to_bin(char ch)
22 {
23         if ((ch >= '0') && (ch <= '9'))
24                 return ch - '0';
25         ch = tolower(ch);
26         if ((ch >= 'a') && (ch <= 'f'))
27                 return ch - 'a' + 10;
28         return -1;
29 }
30 EXPORT_SYMBOL_GPL(hex_to_bin);
31
32 /**
33  * noop_llseek - No Operation Performed llseek implementation
34  * @file:       file structure to seek on
35  * @offset:     file offset to seek to
36  * @origin:     type of seek
37  *
38  * This is an implementation of ->llseek useable for the rare special case when
39  * userspace expects the seek to succeed but the (device) file is actually not
40  * able to perform the seek. In this case you use noop_llseek() instead of
41  * falling back to the default implementation of ->llseek.
42  */
43 loff_t noop_llseek(struct file *file, loff_t offset, int origin)
44 {
45         return file->f_pos;
46 }
47 EXPORT_SYMBOL_GPL(noop_llseek);