Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
6f637a64
Commit
6f637a64
authored
Jun 21, 2005
by
Greg Kroah-Hartman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] I2C: fix up some sysfs device attribute file parameters
Signed-off-by:
Greg Kroah-Hartman
<
gregkh@suse.de
>
parent
563db2fe
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
61 additions
and
34 deletions
+61
-34
drivers/i2c/chips/adm9240.c
drivers/i2c/chips/adm9240.c
+37
-17
drivers/i2c/chips/atxp1.c
drivers/i2c/chips/atxp1.c
+6
-6
drivers/i2c/chips/w83627ehf.c
drivers/i2c/chips/w83627ehf.c
+18
-11
No files found.
drivers/i2c/chips/adm9240.c
View file @
6f637a64
...
@@ -185,7 +185,9 @@ static int adm9240_write_value(struct i2c_client *client, u8 reg, u8 value)
...
@@ -185,7 +185,9 @@ static int adm9240_write_value(struct i2c_client *client, u8 reg, u8 value)
/* temperature */
/* temperature */
#define show_temp(value, scale) \
#define show_temp(value, scale) \
static ssize_t show_##value(struct device *dev, char *buf) \
static ssize_t show_##value(struct device *dev, \
struct device_attribute *attr, \
char *buf) \
{ \
{ \
struct adm9240_data *data = adm9240_update_device(dev); \
struct adm9240_data *data = adm9240_update_device(dev); \
return sprintf(buf, "%d\n", data->value * scale); \
return sprintf(buf, "%d\n", data->value * scale); \
...
@@ -195,8 +197,9 @@ show_temp(temp_hyst, 1000);
...
@@ -195,8 +197,9 @@ show_temp(temp_hyst, 1000);
show_temp
(
temp
,
500
);
/* 0.5'C per bit */
show_temp
(
temp
,
500
);
/* 0.5'C per bit */
#define set_temp(value, reg) \
#define set_temp(value, reg) \
static ssize_t set_##value(struct device *dev, const char *buf, \
static ssize_t set_##value(struct device *dev, \
size_t count) \
struct device_attribute *attr, \
const char *buf, size_t count) \
{ \
{ \
struct i2c_client *client = to_i2c_client(dev); \
struct i2c_client *client = to_i2c_client(dev); \
struct adm9240_data *data = adm9240_update_device(dev); \
struct adm9240_data *data = adm9240_update_device(dev); \
...
@@ -266,26 +269,36 @@ static ssize_t set_in_max(struct device *dev, const char *buf,
...
@@ -266,26 +269,36 @@ static ssize_t set_in_max(struct device *dev, const char *buf,
}
}
#define show_in_offset(offset) \
#define show_in_offset(offset) \
static ssize_t show_in##offset(struct device *dev, char *buf) \
static ssize_t show_in##offset(struct device *dev, \
struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_in(dev, buf, offset); \
return show_in(dev, buf, offset); \
} \
} \
static DEVICE_ATTR(in##offset##_input, S_IRUGO, show_in##offset, NULL); \
static DEVICE_ATTR(in##offset##_input, S_IRUGO, show_in##offset, NULL); \
static ssize_t show_in##offset##_min(struct device *dev, char *buf) \
static ssize_t show_in##offset##_min(struct device *dev, \
struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_in_min(dev, buf, offset); \
return show_in_min(dev, buf, offset); \
} \
} \
static ssize_t show_in##offset##_max(struct device *dev, char *buf) \
static ssize_t show_in##offset##_max(struct device *dev, \
struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_in_max(dev, buf, offset); \
return show_in_max(dev, buf, offset); \
} \
} \
static ssize_t \
static ssize_t \
set_in##offset##_min(struct device *dev, const char *buf, size_t count) \
set_in##offset##_min(struct device *dev, \
struct device_attribute *attr, const char *buf, \
size_t count) \
{ \
{ \
return set_in_min(dev, buf, count, offset); \
return set_in_min(dev, buf, count, offset); \
} \
} \
static ssize_t \
static ssize_t \
set_in##offset##_max(struct device *dev, const char *buf, size_t count) \
set_in##offset##_max(struct device *dev, \
struct device_attribute *attr, const char *buf, \
size_t count) \
{ \
{ \
return set_in_max(dev, buf, count, offset); \
return set_in_max(dev, buf, count, offset); \
} \
} \
...
@@ -401,20 +414,27 @@ static ssize_t set_fan_min(struct device *dev, const char *buf,
...
@@ -401,20 +414,27 @@ static ssize_t set_fan_min(struct device *dev, const char *buf,
}
}
#define show_fan_offset(offset) \
#define show_fan_offset(offset) \
static ssize_t show_fan_##offset (struct device *dev, char *buf) \
static ssize_t show_fan_##offset (struct device *dev, \
struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_fan(dev, buf, offset - 1); \
return show_fan(dev, buf, offset - 1); \
} \
} \
static ssize_t show_fan_##offset##_div (struct device *dev, char *buf) \
static ssize_t show_fan_##offset##_div (struct device *dev, \
struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_fan_div(dev, buf, offset - 1); \
return show_fan_div(dev, buf, offset - 1); \
} \
} \
static ssize_t show_fan_##offset##_min (struct device *dev, char *buf) \
static ssize_t show_fan_##offset##_min (struct device *dev, \
struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_fan_min(dev, buf, offset - 1); \
return show_fan_min(dev, buf, offset - 1); \
} \
} \
static ssize_t set_fan_##offset##_min (struct device *dev, \
static ssize_t set_fan_##offset##_min (struct device *dev, \
const char *buf, size_t count) \
struct device_attribute *attr, \
const char *buf, size_t count) \
{ \
{ \
return set_fan_min(dev, buf, count, offset - 1); \
return set_fan_min(dev, buf, count, offset - 1); \
} \
} \
...
@@ -429,7 +449,7 @@ show_fan_offset(1);
...
@@ -429,7 +449,7 @@ show_fan_offset(1);
show_fan_offset
(
2
);
show_fan_offset
(
2
);
/* alarms */
/* alarms */
static
ssize_t
show_alarms
(
struct
device
*
dev
,
char
*
buf
)
static
ssize_t
show_alarms
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
char
*
buf
)
{
{
struct
adm9240_data
*
data
=
adm9240_update_device
(
dev
);
struct
adm9240_data
*
data
=
adm9240_update_device
(
dev
);
return
sprintf
(
buf
,
"%u
\n
"
,
data
->
alarms
);
return
sprintf
(
buf
,
"%u
\n
"
,
data
->
alarms
);
...
@@ -437,7 +457,7 @@ static ssize_t show_alarms(struct device *dev, char *buf)
...
@@ -437,7 +457,7 @@ static ssize_t show_alarms(struct device *dev, char *buf)
static
DEVICE_ATTR
(
alarms
,
S_IRUGO
,
show_alarms
,
NULL
);
static
DEVICE_ATTR
(
alarms
,
S_IRUGO
,
show_alarms
,
NULL
);
/* vid */
/* vid */
static
ssize_t
show_vid
(
struct
device
*
dev
,
char
*
buf
)
static
ssize_t
show_vid
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
char
*
buf
)
{
{
struct
adm9240_data
*
data
=
adm9240_update_device
(
dev
);
struct
adm9240_data
*
data
=
adm9240_update_device
(
dev
);
return
sprintf
(
buf
,
"%d
\n
"
,
vid_from_reg
(
data
->
vid
,
data
->
vrm
));
return
sprintf
(
buf
,
"%d
\n
"
,
vid_from_reg
(
data
->
vid
,
data
->
vrm
));
...
@@ -445,13 +465,13 @@ static ssize_t show_vid(struct device *dev, char *buf)
...
@@ -445,13 +465,13 @@ static ssize_t show_vid(struct device *dev, char *buf)
static
DEVICE_ATTR
(
cpu0_vid
,
S_IRUGO
,
show_vid
,
NULL
);
static
DEVICE_ATTR
(
cpu0_vid
,
S_IRUGO
,
show_vid
,
NULL
);
/* analog output */
/* analog output */
static
ssize_t
show_aout
(
struct
device
*
dev
,
char
*
buf
)
static
ssize_t
show_aout
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
char
*
buf
)
{
{
struct
adm9240_data
*
data
=
adm9240_update_device
(
dev
);
struct
adm9240_data
*
data
=
adm9240_update_device
(
dev
);
return
sprintf
(
buf
,
"%d
\n
"
,
AOUT_FROM_REG
(
data
->
aout
));
return
sprintf
(
buf
,
"%d
\n
"
,
AOUT_FROM_REG
(
data
->
aout
));
}
}
static
ssize_t
set_aout
(
struct
device
*
dev
,
const
char
*
buf
,
size_t
count
)
static
ssize_t
set_aout
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
const
char
*
buf
,
size_t
count
)
{
{
struct
i2c_client
*
client
=
to_i2c_client
(
dev
);
struct
i2c_client
*
client
=
to_i2c_client
(
dev
);
struct
adm9240_data
*
data
=
i2c_get_clientdata
(
client
);
struct
adm9240_data
*
data
=
i2c_get_clientdata
(
client
);
...
@@ -466,7 +486,7 @@ static ssize_t set_aout(struct device *dev, const char *buf, size_t count)
...
@@ -466,7 +486,7 @@ static ssize_t set_aout(struct device *dev, const char *buf, size_t count)
static
DEVICE_ATTR
(
aout_output
,
S_IRUGO
|
S_IWUSR
,
show_aout
,
set_aout
);
static
DEVICE_ATTR
(
aout_output
,
S_IRUGO
|
S_IWUSR
,
show_aout
,
set_aout
);
/* chassis_clear */
/* chassis_clear */
static
ssize_t
chassis_clear
(
struct
device
*
dev
,
const
char
*
buf
,
size_t
count
)
static
ssize_t
chassis_clear
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
const
char
*
buf
,
size_t
count
)
{
{
struct
i2c_client
*
client
=
to_i2c_client
(
dev
);
struct
i2c_client
*
client
=
to_i2c_client
(
dev
);
unsigned
long
val
=
simple_strtol
(
buf
,
NULL
,
10
);
unsigned
long
val
=
simple_strtol
(
buf
,
NULL
,
10
);
...
...
drivers/i2c/chips/atxp1.c
View file @
6f637a64
...
@@ -99,7 +99,7 @@ static struct atxp1_data * atxp1_update_device(struct device *dev)
...
@@ -99,7 +99,7 @@ static struct atxp1_data * atxp1_update_device(struct device *dev)
}
}
/* sys file functions for cpu0_vid */
/* sys file functions for cpu0_vid */
static
ssize_t
atxp1_showvcore
(
struct
device
*
dev
,
char
*
buf
)
static
ssize_t
atxp1_showvcore
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
char
*
buf
)
{
{
int
size
;
int
size
;
struct
atxp1_data
*
data
;
struct
atxp1_data
*
data
;
...
@@ -111,7 +111,7 @@ static ssize_t atxp1_showvcore(struct device *dev, char *buf)
...
@@ -111,7 +111,7 @@ static ssize_t atxp1_showvcore(struct device *dev, char *buf)
return
size
;
return
size
;
}
}
static
ssize_t
atxp1_storevcore
(
struct
device
*
dev
,
const
char
*
buf
,
size_t
count
)
static
ssize_t
atxp1_storevcore
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
const
char
*
buf
,
size_t
count
)
{
{
struct
atxp1_data
*
data
;
struct
atxp1_data
*
data
;
struct
i2c_client
*
client
;
struct
i2c_client
*
client
;
...
@@ -169,7 +169,7 @@ static ssize_t atxp1_storevcore(struct device *dev, const char* buf, size_t coun
...
@@ -169,7 +169,7 @@ static ssize_t atxp1_storevcore(struct device *dev, const char* buf, size_t coun
static
DEVICE_ATTR
(
cpu0_vid
,
S_IRUGO
|
S_IWUSR
,
atxp1_showvcore
,
atxp1_storevcore
);
static
DEVICE_ATTR
(
cpu0_vid
,
S_IRUGO
|
S_IWUSR
,
atxp1_showvcore
,
atxp1_storevcore
);
/* sys file functions for GPIO1 */
/* sys file functions for GPIO1 */
static
ssize_t
atxp1_showgpio1
(
struct
device
*
dev
,
char
*
buf
)
static
ssize_t
atxp1_showgpio1
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
char
*
buf
)
{
{
int
size
;
int
size
;
struct
atxp1_data
*
data
;
struct
atxp1_data
*
data
;
...
@@ -181,7 +181,7 @@ static ssize_t atxp1_showgpio1(struct device *dev, char *buf)
...
@@ -181,7 +181,7 @@ static ssize_t atxp1_showgpio1(struct device *dev, char *buf)
return
size
;
return
size
;
}
}
static
ssize_t
atxp1_storegpio1
(
struct
device
*
dev
,
const
char
*
buf
,
size_t
count
)
static
ssize_t
atxp1_storegpio1
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
const
char
*
buf
,
size_t
count
)
{
{
struct
atxp1_data
*
data
;
struct
atxp1_data
*
data
;
struct
i2c_client
*
client
;
struct
i2c_client
*
client
;
...
@@ -211,7 +211,7 @@ static ssize_t atxp1_storegpio1(struct device *dev, const char* buf, size_t coun
...
@@ -211,7 +211,7 @@ static ssize_t atxp1_storegpio1(struct device *dev, const char* buf, size_t coun
static
DEVICE_ATTR
(
gpio1
,
S_IRUGO
|
S_IWUSR
,
atxp1_showgpio1
,
atxp1_storegpio1
);
static
DEVICE_ATTR
(
gpio1
,
S_IRUGO
|
S_IWUSR
,
atxp1_showgpio1
,
atxp1_storegpio1
);
/* sys file functions for GPIO2 */
/* sys file functions for GPIO2 */
static
ssize_t
atxp1_showgpio2
(
struct
device
*
dev
,
char
*
buf
)
static
ssize_t
atxp1_showgpio2
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
char
*
buf
)
{
{
int
size
;
int
size
;
struct
atxp1_data
*
data
;
struct
atxp1_data
*
data
;
...
@@ -223,7 +223,7 @@ static ssize_t atxp1_showgpio2(struct device *dev, char *buf)
...
@@ -223,7 +223,7 @@ static ssize_t atxp1_showgpio2(struct device *dev, char *buf)
return
size
;
return
size
;
}
}
static
ssize_t
atxp1_storegpio2
(
struct
device
*
dev
,
const
char
*
buf
,
size_t
count
)
static
ssize_t
atxp1_storegpio2
(
struct
device
*
dev
,
struct
device_attribute
*
attr
,
const
char
*
buf
,
size_t
count
)
{
{
struct
atxp1_data
*
data
;
struct
atxp1_data
*
data
;
struct
i2c_client
*
client
;
struct
i2c_client
*
client
;
...
...
drivers/i2c/chips/w83627ehf.c
View file @
6f637a64
...
@@ -486,7 +486,8 @@ store_fan_min(struct device *dev, const char *buf, size_t count, int nr)
...
@@ -486,7 +486,8 @@ store_fan_min(struct device *dev, const char *buf, size_t count, int nr)
#define sysfs_fan_offset(offset) \
#define sysfs_fan_offset(offset) \
static ssize_t \
static ssize_t \
show_reg_fan_##offset(struct device *dev, char *buf) \
show_reg_fan_##offset(struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_fan(dev, buf, offset-1); \
return show_fan(dev, buf, offset-1); \
} \
} \
...
@@ -495,13 +496,14 @@ static DEVICE_ATTR(fan##offset##_input, S_IRUGO, \
...
@@ -495,13 +496,14 @@ static DEVICE_ATTR(fan##offset##_input, S_IRUGO, \
#define sysfs_fan_min_offset(offset) \
#define sysfs_fan_min_offset(offset) \
static ssize_t \
static ssize_t \
show_reg_fan##offset##_min(struct device *dev, char *buf) \
show_reg_fan##offset##_min(struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_fan_min(dev, buf, offset-1); \
return show_fan_min(dev, buf, offset-1); \
} \
} \
static ssize_t \
static ssize_t \
store_reg_fan##offset##_min(struct device *dev,
const char *buf
, \
store_reg_fan##offset##_min(struct device *dev,
struct device_attribute *attr
, \
size_t count) \
const char *buf,
size_t count) \
{ \
{ \
return store_fan_min(dev, buf, count, offset-1); \
return store_fan_min(dev, buf, count, offset-1); \
} \
} \
...
@@ -511,7 +513,8 @@ static DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \
...
@@ -511,7 +513,8 @@ static DEVICE_ATTR(fan##offset##_min, S_IRUGO | S_IWUSR, \
#define sysfs_fan_div_offset(offset) \
#define sysfs_fan_div_offset(offset) \
static ssize_t \
static ssize_t \
show_reg_fan##offset##_div(struct device *dev, char *buf) \
show_reg_fan##offset##_div(struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_fan_div(dev, buf, offset - 1); \
return show_fan_div(dev, buf, offset - 1); \
} \
} \
...
@@ -536,7 +539,8 @@ sysfs_fan_div_offset(5);
...
@@ -536,7 +539,8 @@ sysfs_fan_div_offset(5);
#define show_temp1_reg(reg) \
#define show_temp1_reg(reg) \
static ssize_t \
static ssize_t \
show_##reg(struct device *dev, char *buf) \
show_##reg(struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
{ \
struct w83627ehf_data *data = w83627ehf_update_device(dev); \
struct w83627ehf_data *data = w83627ehf_update_device(dev); \
return sprintf(buf, "%d\n", temp1_from_reg(data->reg)); \
return sprintf(buf, "%d\n", temp1_from_reg(data->reg)); \
...
@@ -547,7 +551,8 @@ show_temp1_reg(temp1_max_hyst);
...
@@ -547,7 +551,8 @@ show_temp1_reg(temp1_max_hyst);
#define store_temp1_reg(REG, reg) \
#define store_temp1_reg(REG, reg) \
static ssize_t \
static ssize_t \
store_temp1_##reg(struct device *dev, const char *buf, size_t count) \
store_temp1_##reg(struct device *dev, struct device_attribute *attr, \
const char *buf, size_t count) \
{ \
{ \
struct i2c_client *client = to_i2c_client(dev); \
struct i2c_client *client = to_i2c_client(dev); \
struct w83627ehf_data *data = i2c_get_clientdata(client); \
struct w83627ehf_data *data = i2c_get_clientdata(client); \
...
@@ -601,7 +606,8 @@ store_temp_reg(HYST, temp_max_hyst);
...
@@ -601,7 +606,8 @@ store_temp_reg(HYST, temp_max_hyst);
#define sysfs_temp_offset(offset) \
#define sysfs_temp_offset(offset) \
static ssize_t \
static ssize_t \
show_reg_temp##offset (struct device *dev, char *buf) \
show_reg_temp##offset (struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_temp(dev, buf, offset - 2); \
return show_temp(dev, buf, offset - 2); \
} \
} \
...
@@ -610,13 +616,14 @@ static DEVICE_ATTR(temp##offset##_input, S_IRUGO, \
...
@@ -610,13 +616,14 @@ static DEVICE_ATTR(temp##offset##_input, S_IRUGO, \
#define sysfs_temp_reg_offset(reg, offset) \
#define sysfs_temp_reg_offset(reg, offset) \
static ssize_t \
static ssize_t \
show_reg_temp##offset##_##reg(struct device *dev, char *buf) \
show_reg_temp##offset##_##reg(struct device *dev, struct device_attribute *attr, \
char *buf) \
{ \
{ \
return show_temp_##reg(dev, buf, offset - 2); \
return show_temp_##reg(dev, buf, offset - 2); \
} \
} \
static ssize_t \
static ssize_t \
store_reg_temp##offset##_##reg(struct device *dev,
const char *buf
, \
store_reg_temp##offset##_##reg(struct device *dev,
struct device_attribute *attr
, \
size_t count) \
const char *buf,
size_t count) \
{ \
{ \
return store_temp_##reg(dev, buf, count, offset - 2); \
return store_temp_##reg(dev, buf, count, offset - 2); \
} \
} \
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment