s390/stp: allow group and users to read stp sysfs files
There are no secrets in these files, so allow all users to read it. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
committed by
Heiko Carstens
parent
28ccce5f50
commit
66a049b764
@@ -683,7 +683,7 @@ static struct bus_type stp_subsys = {
|
|||||||
.dev_name = "stp",
|
.dev_name = "stp",
|
||||||
};
|
};
|
||||||
|
|
||||||
static ssize_t stp_ctn_id_show(struct device *dev,
|
static ssize_t ctn_id_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -693,9 +693,9 @@ static ssize_t stp_ctn_id_show(struct device *dev,
|
|||||||
*(unsigned long long *) stp_info.ctnid);
|
*(unsigned long long *) stp_info.ctnid);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(ctn_id, 0400, stp_ctn_id_show, NULL);
|
static DEVICE_ATTR_RO(ctn_id);
|
||||||
|
|
||||||
static ssize_t stp_ctn_type_show(struct device *dev,
|
static ssize_t ctn_type_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -704,9 +704,9 @@ static ssize_t stp_ctn_type_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", stp_info.ctn);
|
return sprintf(buf, "%i\n", stp_info.ctn);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(ctn_type, 0400, stp_ctn_type_show, NULL);
|
static DEVICE_ATTR_RO(ctn_type);
|
||||||
|
|
||||||
static ssize_t stp_dst_offset_show(struct device *dev,
|
static ssize_t dst_offset_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -715,9 +715,9 @@ static ssize_t stp_dst_offset_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", (int)(s16) stp_info.dsto);
|
return sprintf(buf, "%i\n", (int)(s16) stp_info.dsto);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(dst_offset, 0400, stp_dst_offset_show, NULL);
|
static DEVICE_ATTR_RO(dst_offset);
|
||||||
|
|
||||||
static ssize_t stp_leap_seconds_show(struct device *dev,
|
static ssize_t leap_seconds_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -726,9 +726,9 @@ static ssize_t stp_leap_seconds_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", (int)(s16) stp_info.leaps);
|
return sprintf(buf, "%i\n", (int)(s16) stp_info.leaps);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(leap_seconds, 0400, stp_leap_seconds_show, NULL);
|
static DEVICE_ATTR_RO(leap_seconds);
|
||||||
|
|
||||||
static ssize_t stp_stratum_show(struct device *dev,
|
static ssize_t stratum_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -737,9 +737,9 @@ static ssize_t stp_stratum_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", (int)(s16) stp_info.stratum);
|
return sprintf(buf, "%i\n", (int)(s16) stp_info.stratum);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(stratum, 0400, stp_stratum_show, NULL);
|
static DEVICE_ATTR_RO(stratum);
|
||||||
|
|
||||||
static ssize_t stp_time_offset_show(struct device *dev,
|
static ssize_t time_offset_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -748,9 +748,9 @@ static ssize_t stp_time_offset_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", (int) stp_info.tto);
|
return sprintf(buf, "%i\n", (int) stp_info.tto);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(time_offset, 0400, stp_time_offset_show, NULL);
|
static DEVICE_ATTR_RO(time_offset);
|
||||||
|
|
||||||
static ssize_t stp_time_zone_offset_show(struct device *dev,
|
static ssize_t time_zone_offset_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -759,10 +759,9 @@ static ssize_t stp_time_zone_offset_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", (int)(s16) stp_info.tzo);
|
return sprintf(buf, "%i\n", (int)(s16) stp_info.tzo);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(time_zone_offset, 0400,
|
static DEVICE_ATTR_RO(time_zone_offset);
|
||||||
stp_time_zone_offset_show, NULL);
|
|
||||||
|
|
||||||
static ssize_t stp_timing_mode_show(struct device *dev,
|
static ssize_t timing_mode_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -771,9 +770,9 @@ static ssize_t stp_timing_mode_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", stp_info.tmd);
|
return sprintf(buf, "%i\n", stp_info.tmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(timing_mode, 0400, stp_timing_mode_show, NULL);
|
static DEVICE_ATTR_RO(timing_mode);
|
||||||
|
|
||||||
static ssize_t stp_timing_state_show(struct device *dev,
|
static ssize_t timing_state_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
@@ -782,16 +781,16 @@ static ssize_t stp_timing_state_show(struct device *dev,
|
|||||||
return sprintf(buf, "%i\n", stp_info.tst);
|
return sprintf(buf, "%i\n", stp_info.tst);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(timing_state, 0400, stp_timing_state_show, NULL);
|
static DEVICE_ATTR_RO(timing_state);
|
||||||
|
|
||||||
static ssize_t stp_online_show(struct device *dev,
|
static ssize_t online_show(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%i\n", stp_online);
|
return sprintf(buf, "%i\n", stp_online);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t stp_online_store(struct device *dev,
|
static ssize_t online_store(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
const char *buf, size_t count)
|
const char *buf, size_t count)
|
||||||
{
|
{
|
||||||
@@ -817,18 +816,14 @@ static ssize_t stp_online_store(struct device *dev,
|
|||||||
* Can't use DEVICE_ATTR because the attribute should be named
|
* Can't use DEVICE_ATTR because the attribute should be named
|
||||||
* stp/online but dev_attr_online already exists in this file ..
|
* stp/online but dev_attr_online already exists in this file ..
|
||||||
*/
|
*/
|
||||||
static struct device_attribute dev_attr_stp_online = {
|
static DEVICE_ATTR_RW(online);
|
||||||
.attr = { .name = "online", .mode = 0600 },
|
|
||||||
.show = stp_online_show,
|
|
||||||
.store = stp_online_store,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct device_attribute *stp_attributes[] = {
|
static struct device_attribute *stp_attributes[] = {
|
||||||
&dev_attr_ctn_id,
|
&dev_attr_ctn_id,
|
||||||
&dev_attr_ctn_type,
|
&dev_attr_ctn_type,
|
||||||
&dev_attr_dst_offset,
|
&dev_attr_dst_offset,
|
||||||
&dev_attr_leap_seconds,
|
&dev_attr_leap_seconds,
|
||||||
&dev_attr_stp_online,
|
&dev_attr_online,
|
||||||
&dev_attr_stratum,
|
&dev_attr_stratum,
|
||||||
&dev_attr_time_offset,
|
&dev_attr_time_offset,
|
||||||
&dev_attr_time_zone_offset,
|
&dev_attr_time_zone_offset,
|
||||||
|
|||||||
Reference in New Issue
Block a user