Commit 269a3eb1 authored by Kay Sievers's avatar Kay Sievers Committed by Greg Kroah-Hartman

mips: txx9_sram - convert sysdev_class to a regular subsystem

After all sysdev classes are ported to regular driver core entities, the
sysdev implementation will be entirely removed from the kernel.

Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Cc: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 0e38eaf3
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/sysdev.h> #include <linux/device.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <asm/bootinfo.h> #include <asm/bootinfo.h>
...@@ -897,10 +897,13 @@ void __init txx9_aclc_init(unsigned long baseaddr, int irq, ...@@ -897,10 +897,13 @@ void __init txx9_aclc_init(unsigned long baseaddr, int irq,
#endif #endif
} }
static struct sysdev_class txx9_sramc_sysdev_class; static struct bus_type txx9_sramc_subsys = {
.name = "txx9_sram",
.dev_name = "txx9_sram",
};
struct txx9_sramc_sysdev { struct txx9_sramc_dev {
struct sys_device dev; struct device dev;
struct bin_attribute bindata_attr; struct bin_attribute bindata_attr;
void __iomem *base; void __iomem *base;
}; };
...@@ -909,7 +912,7 @@ static ssize_t txx9_sram_read(struct file *filp, struct kobject *kobj, ...@@ -909,7 +912,7 @@ static ssize_t txx9_sram_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, struct bin_attribute *bin_attr,
char *buf, loff_t pos, size_t size) char *buf, loff_t pos, size_t size)
{ {
struct txx9_sramc_sysdev *dev = bin_attr->private; struct txx9_sramc_dev *dev = bin_attr->private;
size_t ramsize = bin_attr->size; size_t ramsize = bin_attr->size;
if (pos >= ramsize) if (pos >= ramsize)
...@@ -924,7 +927,7 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj, ...@@ -924,7 +927,7 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, struct bin_attribute *bin_attr,
char *buf, loff_t pos, size_t size) char *buf, loff_t pos, size_t size)
{ {
struct txx9_sramc_sysdev *dev = bin_attr->private; struct txx9_sramc_dev *dev = bin_attr->private;
size_t ramsize = bin_attr->size; size_t ramsize = bin_attr->size;
if (pos >= ramsize) if (pos >= ramsize)
...@@ -937,18 +940,13 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj, ...@@ -937,18 +940,13 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj,
void __init txx9_sramc_init(struct resource *r) void __init txx9_sramc_init(struct resource *r)
{ {
struct txx9_sramc_sysdev *dev; struct txx9_sramc_dev *dev;
size_t size; size_t size;
int err; int err;
if (!txx9_sramc_sysdev_class.name) { err = subsys_system_register(&txx9_sramc_subsys, NULL);
txx9_sramc_sysdev_class.name = "txx9_sram"; if (err)
err = sysdev_class_register(&txx9_sramc_sysdev_class); return;
if (err) {
txx9_sramc_sysdev_class.name = NULL;
return;
}
}
dev = kzalloc(sizeof(*dev), GFP_KERNEL); dev = kzalloc(sizeof(*dev), GFP_KERNEL);
if (!dev) if (!dev)
return; return;
...@@ -956,7 +954,7 @@ void __init txx9_sramc_init(struct resource *r) ...@@ -956,7 +954,7 @@ void __init txx9_sramc_init(struct resource *r)
dev->base = ioremap(r->start, size); dev->base = ioremap(r->start, size);
if (!dev->base) if (!dev->base)
goto exit; goto exit;
dev->dev.cls = &txx9_sramc_sysdev_class; dev->dev.bus = &txx9_sramc_subsys;
sysfs_bin_attr_init(&dev->bindata_attr); sysfs_bin_attr_init(&dev->bindata_attr);
dev->bindata_attr.attr.name = "bindata"; dev->bindata_attr.attr.name = "bindata";
dev->bindata_attr.attr.mode = S_IRUSR | S_IWUSR; dev->bindata_attr.attr.mode = S_IRUSR | S_IWUSR;
...@@ -964,12 +962,12 @@ void __init txx9_sramc_init(struct resource *r) ...@@ -964,12 +962,12 @@ void __init txx9_sramc_init(struct resource *r)
dev->bindata_attr.write = txx9_sram_write; dev->bindata_attr.write = txx9_sram_write;
dev->bindata_attr.size = size; dev->bindata_attr.size = size;
dev->bindata_attr.private = dev; dev->bindata_attr.private = dev;
err = sysdev_register(&dev->dev); err = device_register(&dev->dev);
if (err) if (err)
goto exit; goto exit;
err = sysfs_create_bin_file(&dev->dev.kobj, &dev->bindata_attr); err = sysfs_create_bin_file(&dev->dev.kobj, &dev->bindata_attr);
if (err) { if (err) {
sysdev_unregister(&dev->dev); device_unregister(&dev->dev);
goto exit; goto exit;
} }
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment