summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/gigaset/proc.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-08-07 22:19:37 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2006-12-01 14:51:59 -0800
commit01107d343076c34b9e1ce5d073292bd7f3097fda (patch)
tree075dcadaff7c124022157c8ee819550cd1023440 /drivers/isdn/gigaset/proc.c
parent94fbcded4ea0dc14cbfb222a5c68372f150d1476 (diff)
downloadkernel-crypto-01107d343076c34b9e1ce5d073292bd7f3097fda.tar.gz
kernel-crypto-01107d343076c34b9e1ce5d073292bd7f3097fda.tar.xz
kernel-crypto-01107d343076c34b9e1ce5d073292bd7f3097fda.zip
Driver core: convert tty core to use struct device
Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Also fixes up the isdn drivers that were putting something in the class device's directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/isdn/gigaset/proc.c')
-rw-r--r--drivers/isdn/gigaset/proc.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/isdn/gigaset/proc.c b/drivers/isdn/gigaset/proc.c
index 9ad840e95db..e767afa55ab 100644
--- a/drivers/isdn/gigaset/proc.c
+++ b/drivers/isdn/gigaset/proc.c
@@ -16,11 +16,12 @@
#include "gigaset.h"
#include <linux/ctype.h>
-static ssize_t show_cidmode(struct class_device *class, char *buf)
+static ssize_t show_cidmode(struct device *dev,
+ struct device_attribute *attr, char *buf)
{
int ret;
unsigned long flags;
- struct cardstate *cs = class_get_devdata(class);
+ struct cardstate *cs = dev_get_drvdata(dev);
spin_lock_irqsave(&cs->lock, flags);
ret = sprintf(buf, "%u\n", cs->cidmode);
@@ -29,10 +30,10 @@ static ssize_t show_cidmode(struct class_device *class, char *buf)
return ret;
}
-static ssize_t set_cidmode(struct class_device *class,
+static ssize_t set_cidmode(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
- struct cardstate *cs = class_get_devdata(class);
+ struct cardstate *cs = dev_get_drvdata(dev);
long int value;
char *end;
@@ -64,25 +65,25 @@ static ssize_t set_cidmode(struct class_device *class,
return count;
}
-static CLASS_DEVICE_ATTR(cidmode, S_IRUGO|S_IWUSR, show_cidmode, set_cidmode);
+static 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)
+ if (!cs->tty_dev)
return;
gig_dbg(DEBUG_INIT, "removing sysfs entries");
- class_device_remove_file(cs->class, &class_device_attr_cidmode);
+ device_remove_file(cs->tty_dev, &dev_attr_cidmode);
}
/* initialize sysfs for device */
void gigaset_init_dev_sysfs(struct cardstate *cs)
{
- if (!cs->class)
+ if (!cs->tty_dev)
return;
gig_dbg(DEBUG_INIT, "setting up sysfs");
- if (class_device_create_file(cs->class, &class_device_attr_cidmode))
+ if (device_create_file(cs->tty_dev, &dev_attr_cidmode))
dev_err(cs->dev, "could not create sysfs attribute\n");
}