|
@@ -16,12 +16,11 @@
|
|
|
#include "gigaset.h"
|
|
|
#include <linux/ctype.h>
|
|
|
|
|
|
-static ssize_t show_cidmode(struct device *dev, struct device_attribute *attr,
|
|
|
- char *buf)
|
|
|
+static ssize_t show_cidmode(struct class_device *class, char *buf)
|
|
|
{
|
|
|
int ret;
|
|
|
unsigned long flags;
|
|
|
- struct cardstate *cs = dev_get_drvdata(dev);
|
|
|
+ struct cardstate *cs = class_get_devdata(class);
|
|
|
|
|
|
spin_lock_irqsave(&cs->lock, flags);
|
|
|
ret = sprintf(buf, "%u\n", cs->cidmode);
|
|
@@ -30,10 +29,10 @@ static ssize_t show_cidmode(struct device *dev, struct device_attribute *attr,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static ssize_t set_cidmode(struct device *dev, struct device_attribute *attr,
|
|
|
+static ssize_t set_cidmode(struct class_device *class,
|
|
|
const char *buf, size_t count)
|
|
|
{
|
|
|
- struct cardstate *cs = dev_get_drvdata(dev);
|
|
|
+ struct cardstate *cs = class_get_devdata(class);
|
|
|
long int value;
|
|
|
char *end;
|
|
|
|
|
@@ -65,18 +64,24 @@ static ssize_t set_cidmode(struct device *dev, struct device_attribute *attr,
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
-static DEVICE_ATTR(cidmode, S_IRUGO|S_IWUSR, show_cidmode, set_cidmode);
|
|
|
+static CLASS_DEVICE_ATTR(cidmode, S_IRUGO|S_IWUSR, show_cidmode, set_cidmode);
|
|
|
|
|
|
/* free sysfs for device */
|
|
|
void gigaset_free_dev_sysfs(struct cardstate *cs)
|
|
|
{
|
|
|
+ if (!cs->class)
|
|
|
+ return;
|
|
|
+
|
|
|
gig_dbg(DEBUG_INIT, "removing sysfs entries");
|
|
|
- device_remove_file(cs->dev, &dev_attr_cidmode);
|
|
|
+ class_device_remove_file(cs->class, &class_device_attr_cidmode);
|
|
|
}
|
|
|
|
|
|
/* initialize sysfs for device */
|
|
|
void gigaset_init_dev_sysfs(struct cardstate *cs)
|
|
|
{
|
|
|
+ if (!cs->class)
|
|
|
+ return;
|
|
|
+
|
|
|
gig_dbg(DEBUG_INIT, "setting up sysfs");
|
|
|
- device_create_file(cs->dev, &dev_attr_cidmode);
|
|
|
+ class_device_create_file(cs->class, &class_device_attr_cidmode);
|
|
|
}
|