forked from luck/tmp_suning_uos_patched
rtc: m41t80: update sysfs entries export
The driver used an old sysfs entry export. Update it to use the DEVICE_ATTR_XX macro and remove the unnecessary CONFIG_RTC_INTF_SYSFS macro. Signed-off-by: Mylène Josserand <mylene.josserand@free-electrons.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
This commit is contained in:
parent
fa5691131a
commit
ef6b3125ca
@ -230,8 +230,7 @@ static struct rtc_class_ops m41t80_rtc_ops = {
|
||||
.proc = m41t80_rtc_proc,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_RTC_INTF_SYSFS) || defined(CONFIG_RTC_INTF_SYSFS_MODULE)
|
||||
static ssize_t m41t80_sysfs_show_flags(struct device *dev,
|
||||
static ssize_t flags_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
@ -242,9 +241,9 @@ static ssize_t m41t80_sysfs_show_flags(struct device *dev,
|
||||
return val;
|
||||
return sprintf(buf, "%#x\n", val);
|
||||
}
|
||||
static DEVICE_ATTR(flags, S_IRUGO, m41t80_sysfs_show_flags, NULL);
|
||||
static DEVICE_ATTR_RO(flags);
|
||||
|
||||
static ssize_t m41t80_sysfs_show_sqwfreq(struct device *dev,
|
||||
static ssize_t sqwfreq_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
@ -272,7 +271,8 @@ static ssize_t m41t80_sysfs_show_sqwfreq(struct device *dev,
|
||||
}
|
||||
return sprintf(buf, "%d\n", val);
|
||||
}
|
||||
static ssize_t m41t80_sysfs_set_sqwfreq(struct device *dev,
|
||||
|
||||
static ssize_t sqwfreq_store(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
@ -324,8 +324,7 @@ static ssize_t m41t80_sysfs_set_sqwfreq(struct device *dev,
|
||||
}
|
||||
return count;
|
||||
}
|
||||
static DEVICE_ATTR(sqwfreq, S_IRUGO | S_IWUSR,
|
||||
m41t80_sysfs_show_sqwfreq, m41t80_sysfs_set_sqwfreq);
|
||||
static DEVICE_ATTR_RW(sqwfreq);
|
||||
|
||||
static struct attribute *attrs[] = {
|
||||
&dev_attr_flags.attr,
|
||||
@ -336,17 +335,6 @@ static struct attribute_group attr_group = {
|
||||
.attrs = attrs,
|
||||
};
|
||||
|
||||
static int m41t80_sysfs_register(struct device *dev)
|
||||
{
|
||||
return sysfs_create_group(&dev->kobj, &attr_group);
|
||||
}
|
||||
#else
|
||||
static int m41t80_sysfs_register(struct device *dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RTC_DRV_M41T80_WDT
|
||||
/*
|
||||
*****************************************************************************
|
||||
@ -636,6 +624,14 @@ static struct notifier_block wdt_notifier = {
|
||||
*
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
static void m41t80_remove_sysfs_group(void *_dev)
|
||||
{
|
||||
struct device *dev = _dev;
|
||||
|
||||
sysfs_remove_group(&dev->kobj, &attr_group);
|
||||
}
|
||||
|
||||
static int m41t80_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
{
|
||||
@ -697,9 +693,21 @@ static int m41t80_probe(struct i2c_client *client,
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = m41t80_sysfs_register(&client->dev);
|
||||
if (rc)
|
||||
/* Export sysfs entries */
|
||||
rc = sysfs_create_group(&(&client->dev)->kobj, &attr_group);
|
||||
if (rc) {
|
||||
dev_err(&client->dev, "Failed to create sysfs group: %d\n", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = devm_add_action(&client->dev, m41t80_remove_sysfs_group,
|
||||
&client->dev);
|
||||
if (rc) {
|
||||
m41t80_remove_sysfs_group(&client->dev);
|
||||
dev_err(&client->dev,
|
||||
"Failed to add sysfs cleanup action: %d\n", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_RTC_DRV_M41T80_WDT
|
||||
if (clientdata->features & M41T80_FEATURE_HT) {
|
||||
|
Loading…
Reference in New Issue
Block a user