tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core head: a69a38e26e87ddbe993e33b55f693405cd62c76f commit: bcdc18d4a46bc321d73fa769cfe294cf3cdae07d [117/122] sched/headers: Remove <linux/cred.h> inclusion from <linux/sched.h> config: i386-randconfig-sb0-02030321 (attached as .config) compiler: gcc-5 (Debian 5.4.1-2) 5.4.1 20160904 reproduce: git checkout bcdc18d4a46bc321d73fa769cfe294cf3cdae07d # save the attached .config to linux build tree make ARCH=i386
All warnings (new ones prefixed by >>):
In file included from include/linux/linkage.h:4:0,
from include/linux/kernel.h:6,
from drivers/misc/eeprom/eeprom.c:19:
drivers/misc/eeprom/eeprom.c: In function 'eeprom_read':
drivers/misc/eeprom/eeprom.c:99:31: error: implicit declaration of function
'capable' [-Werror=implicit-function-declaration]
if (data->nature == VAIO && !capable(CAP_SYS_ADMIN)) {
^
include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^
>> drivers/misc/eeprom/eeprom.c:99:2: note: in expansion of macro 'if'
if (data->nature == VAIO && !capable(CAP_SYS_ADMIN)) {
^
drivers/misc/eeprom/eeprom.c:99:39: error: 'CAP_SYS_ADMIN' undeclared (first
use in this function)
if (data->nature == VAIO && !capable(CAP_SYS_ADMIN)) {
^
include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^
>> drivers/misc/eeprom/eeprom.c:99:2: note: in expansion of macro 'if'
if (data->nature == VAIO && !capable(CAP_SYS_ADMIN)) {
^
drivers/misc/eeprom/eeprom.c:99:39: note: each undeclared identifier is
reported only once for each function it appears in
if (data->nature == VAIO && !capable(CAP_SYS_ADMIN)) {
^
include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^
>> drivers/misc/eeprom/eeprom.c:99:2: note: in expansion of macro 'if'
if (data->nature == VAIO && !capable(CAP_SYS_ADMIN)) {
^
cc1: some warnings being treated as errors
vim +/if +99 drivers/misc/eeprom/eeprom.c
110f42290f drivers/misc/eeprom/eeprom.c Arce, Abraham 2010-05-13 13 *
This program is distributed in the hope that it will be useful,
110f42290f drivers/misc/eeprom/eeprom.c Arce, Abraham 2010-05-13 14 * but
WITHOUT ANY WARRANTY; without even the implied warranty of
110f42290f drivers/misc/eeprom/eeprom.c Arce, Abraham 2010-05-13 15 *
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
110f42290f drivers/misc/eeprom/eeprom.c Arce, Abraham 2010-05-13 16 * GNU
General Public License for more details.
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 17 */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 18
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 @19
#include <linux/kernel.h>
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 20
#include <linux/module.h>
1698da2461 drivers/misc/eeprom/eeprom.c Himangi Saraogi 2014-08-02 21
#include <linux/device.h>
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 22
#include <linux/jiffies.h>
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 23
#include <linux/i2c.h>
5c085d369c drivers/i2c/chips/eeprom.c Ingo Molnar 2006-01-18 24
#include <linux/mutex.h>
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 25
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 26 /*
Addresses to scan */
2cdddeb8d7 drivers/i2c/chips/eeprom.c Jean Delvare 2008-01-27 27 static
const unsigned short normal_i2c[] = { 0x50, 0x51, 0x52, 0x53, 0x54,
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 28
0x55, 0x56, 0x57, I2C_CLIENT_END };
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 29
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 30
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 31 /*
Size of EEPROM in bytes */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 32
#define EEPROM_SIZE 256
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 33
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 34 /*
possible types of eeprom devices */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 35 enum
eeprom_nature {
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 36
UNKNOWN,
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 37
VAIO,
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 38 };
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 39
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 40 /*
Each client has this additional data */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 41 struct
eeprom_data {
5c085d369c drivers/i2c/chips/eeprom.c Ingo Molnar 2006-01-18 42
struct mutex update_lock;
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 43
u8 valid; /* bitfield, bit!=0 if slice is valid */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 44
unsigned long last_updated[8]; /* In jiffies, 8 slices */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 45
u8 data[EEPROM_SIZE]; /* Register values */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 46
enum eeprom_nature nature;
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 47 };
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 48
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 49
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 50 static
void eeprom_update_client(struct i2c_client *client, u8 slice)
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 51 {
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 52
struct eeprom_data *data = i2c_get_clientdata(client);
1b4dff9cd3 drivers/i2c/chips/eeprom.c Jean Delvare 2008-07-14 53
int i;
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 54
5c085d369c drivers/i2c/chips/eeprom.c Ingo Molnar 2006-01-18 55
mutex_lock(&data->update_lock);
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 56
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 57
if (!(data->valid & (1 << slice)) ||
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 58
time_after(jiffies, data->last_updated[slice] + 300 * HZ)) {
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 59
dev_dbg(&client->dev, "Starting eeprom update, slice %u\n", slice);
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 60
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 61
if (i2c_check_functionality(client->adapter,
I2C_FUNC_SMBUS_READ_I2C_BLOCK)) {
4b2643d7d9 drivers/i2c/chips/eeprom.c Jean Delvare 2007-07-12 62
for (i = slice << 5; i < (slice + 1) << 5; i += 32)
4b2643d7d9 drivers/i2c/chips/eeprom.c Jean Delvare 2007-07-12 63
if (i2c_smbus_read_i2c_block_data(client, i,
4b2643d7d9 drivers/i2c/chips/eeprom.c Jean Delvare 2007-07-12 64
32, data->data + i)
4b2643d7d9 drivers/i2c/chips/eeprom.c Jean Delvare 2007-07-12 65
!= 32)
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 66
goto exit;
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 67
} else {
1b4dff9cd3 drivers/i2c/chips/eeprom.c Jean Delvare 2008-07-14 68
for (i = slice << 5; i < (slice + 1) << 5; i += 2) {
1b4dff9cd3 drivers/i2c/chips/eeprom.c Jean Delvare 2008-07-14 69
int word = i2c_smbus_read_word_data(client, i);
1b4dff9cd3 drivers/i2c/chips/eeprom.c Jean Delvare 2008-07-14 70
if (word < 0)
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 71
goto exit;
1b4dff9cd3 drivers/i2c/chips/eeprom.c Jean Delvare 2008-07-14 72
data->data[i] = word & 0xff;
1b4dff9cd3 drivers/i2c/chips/eeprom.c Jean Delvare 2008-07-14 73
data->data[i + 1] = word >> 8;
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 74
}
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 75
}
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 76
data->last_updated[slice] = jiffies;
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 77
data->valid |= (1 << slice);
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 78
}
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 79 exit:
5c085d369c drivers/i2c/chips/eeprom.c Ingo Molnar 2006-01-18 80
mutex_unlock(&data->update_lock);
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 81 }
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 82
2c3c8bea60 drivers/misc/eeprom/eeprom.c Chris Wright 2010-05-12 83 static
ssize_t eeprom_read(struct file *filp, struct kobject *kobj,
2c3c8bea60 drivers/misc/eeprom/eeprom.c Chris Wright 2010-05-12 84
struct bin_attribute *bin_attr,
91a6902958 drivers/i2c/chips/eeprom.c Zhang Rui 2007-06-09 85
char *buf, loff_t off, size_t count)
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 86 {
092462c2b5 drivers/misc/eeprom/eeprom.c Geliang Tang 2016-01-13 87
struct i2c_client *client = to_i2c_client(kobj_to_dev(kobj));
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 88
struct eeprom_data *data = i2c_get_clientdata(client);
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 89
u8 slice;
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 90
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 91
/* Only refresh slices which contain requested bytes */
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 92
for (slice = off >> 5; slice <= (off + count - 1) >> 5; slice++)
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 93
eeprom_update_client(client, slice);
^1da177e4c drivers/i2c/chips/eeprom.c Linus Torvalds 2005-04-16 94
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 95
/* Hide Vaio private settings to regular users:
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 96
- BIOS passwords: bytes 0x00 to 0x0f
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 97
- UUID: bytes 0x10 to 0x1f
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 98
- Serial number: 0xc0 to 0xdf */
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 @99
if (data->nature == VAIO && !capable(CAP_SYS_ADMIN)) {
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 100
int i;
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 101
0f2cbd38aa drivers/i2c/chips/eeprom.c Jean Delvare 2007-11-15 102
for (i = 0; i < count; i++) {
:::::: The code at line 99 was first introduced by commit
:::::: 0f2cbd38aa377e30df3b7602abed69464d1970aa i2c/eeprom: Hide Sony Vaio
serial numbers
:::::: TO: Jean Delvare <[email protected]>
:::::: CC: Jean Delvare <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip

