Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
* 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits) arm: fix up some samsung merge sysdev conversion problems firmware: Fix an oops on reading fw_priv->fw in sysfs loading file Drivers:hv: Fix a bug in vmbus_driver_unregister() driver core: remove __must_check from device_create_file debugfs: add missing #ifdef HAS_IOMEM arm: time.h: remove device.h #include driver-core: remove sysdev.h usage. clockevents: remove sysdev.h arm: convert sysdev_class to a regular subsystem arm: leds: convert sysdev_class to a regular subsystem kobject: remove kset_find_obj_hinted() m86k: gpio - convert sysdev_class to a regular subsystem mips: txx9_sram - convert sysdev_class to a regular subsystem mips: 7segled - convert sysdev_class to a regular subsystem sh: dma - convert sysdev_class to a regular subsystem sh: intc - convert sysdev_class to a regular subsystem power: suspend - convert sysdev_class to a regular subsystem power: qe_ic - convert sysdev_class to a regular subsystem power: cmm - convert sysdev_class to a regular subsystem s390: time - convert sysdev_class to a regular subsystem ... Fix up conflicts with 'struct sysdev' removal from various platform drivers that got changed: - arch/arm/mach-exynos/cpu.c - arch/arm/mach-exynos/irq-eint.c - arch/arm/mach-s3c64xx/common.c - arch/arm/mach-s3c64xx/cpu.c - arch/arm/mach-s5p64x0/cpu.c - arch/arm/mach-s5pv210/common.c - arch/arm/plat-samsung/include/plat/cpu.h - arch/powerpc/kernel/sysfs.c and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h
This commit is contained in:
@ -9,7 +9,7 @@
|
||||
* (C) Copyright TOSHIBA CORPORATION 2005-2007
|
||||
* All Rights Reserved.
|
||||
*/
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/map_to_7segment.h>
|
||||
#include <asm/txx9/generic.h>
|
||||
@ -37,8 +37,8 @@ int txx9_7segled_putc(unsigned int pos, char c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t ascii_store(struct sys_device *dev,
|
||||
struct sysdev_attribute *attr,
|
||||
static ssize_t ascii_store(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
const char *buf, size_t size)
|
||||
{
|
||||
unsigned int ch = dev->id;
|
||||
@ -46,8 +46,8 @@ static ssize_t ascii_store(struct sys_device *dev,
|
||||
return size;
|
||||
}
|
||||
|
||||
static ssize_t raw_store(struct sys_device *dev,
|
||||
struct sysdev_attribute *attr,
|
||||
static ssize_t raw_store(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
const char *buf, size_t size)
|
||||
{
|
||||
unsigned int ch = dev->id;
|
||||
@ -55,19 +55,19 @@ static ssize_t raw_store(struct sys_device *dev,
|
||||
return size;
|
||||
}
|
||||
|
||||
static SYSDEV_ATTR(ascii, 0200, NULL, ascii_store);
|
||||
static SYSDEV_ATTR(raw, 0200, NULL, raw_store);
|
||||
static DEVICE_ATTR(ascii, 0200, NULL, ascii_store);
|
||||
static DEVICE_ATTR(raw, 0200, NULL, raw_store);
|
||||
|
||||
static ssize_t map_seg7_show(struct sysdev_class *class,
|
||||
struct sysdev_class_attribute *attr,
|
||||
static ssize_t map_seg7_show(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
memcpy(buf, &txx9_seg7map, sizeof(txx9_seg7map));
|
||||
return sizeof(txx9_seg7map);
|
||||
}
|
||||
|
||||
static ssize_t map_seg7_store(struct sysdev_class *class,
|
||||
struct sysdev_class_attribute *attr,
|
||||
static ssize_t map_seg7_store(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
const char *buf, size_t size)
|
||||
{
|
||||
if (size != sizeof(txx9_seg7map))
|
||||
@ -76,10 +76,11 @@ static ssize_t map_seg7_store(struct sysdev_class *class,
|
||||
return size;
|
||||
}
|
||||
|
||||
static SYSDEV_CLASS_ATTR(map_seg7, 0600, map_seg7_show, map_seg7_store);
|
||||
static DEVICE_ATTR(map_seg7, 0600, map_seg7_show, map_seg7_store);
|
||||
|
||||
static struct sysdev_class tx_7segled_sysdev_class = {
|
||||
.name = "7segled",
|
||||
static struct bus_type tx_7segled_subsys = {
|
||||
.name = "7segled",
|
||||
.dev_name = "7segled",
|
||||
};
|
||||
|
||||
static int __init tx_7segled_init_sysfs(void)
|
||||
@ -87,26 +88,25 @@ static int __init tx_7segled_init_sysfs(void)
|
||||
int error, i;
|
||||
if (!tx_7segled_num)
|
||||
return -ENODEV;
|
||||
error = sysdev_class_register(&tx_7segled_sysdev_class);
|
||||
error = subsys_system_register(&tx_7segled_subsys, NULL);
|
||||
if (error)
|
||||
return error;
|
||||
error = sysdev_class_create_file(&tx_7segled_sysdev_class,
|
||||
&attr_map_seg7);
|
||||
error = device_create_file(tx_7segled_subsys.dev_root, &dev_attr_map_seg7);
|
||||
if (error)
|
||||
return error;
|
||||
for (i = 0; i < tx_7segled_num; i++) {
|
||||
struct sys_device *dev;
|
||||
struct device *dev;
|
||||
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
|
||||
if (!dev) {
|
||||
error = -ENODEV;
|
||||
break;
|
||||
}
|
||||
dev->id = i;
|
||||
dev->cls = &tx_7segled_sysdev_class;
|
||||
error = sysdev_register(dev);
|
||||
dev->dev = &tx_7segled_subsys;
|
||||
error = device_register(dev);
|
||||
if (!error) {
|
||||
sysdev_create_file(dev, &attr_ascii);
|
||||
sysdev_create_file(dev, &attr_raw);
|
||||
device_create_file(dev, &dev_attr_ascii);
|
||||
device_create_file(dev, &dev_attr_raw);
|
||||
}
|
||||
}
|
||||
return error;
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/leds.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/bootinfo.h>
|
||||
@ -897,10 +897,13 @@ void __init txx9_aclc_init(unsigned long baseaddr, int irq,
|
||||
#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 sys_device dev;
|
||||
struct txx9_sramc_dev {
|
||||
struct device dev;
|
||||
struct bin_attribute bindata_attr;
|
||||
void __iomem *base;
|
||||
};
|
||||
@ -909,7 +912,7 @@ static ssize_t txx9_sram_read(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
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;
|
||||
|
||||
if (pos >= ramsize)
|
||||
@ -924,7 +927,7 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
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;
|
||||
|
||||
if (pos >= ramsize)
|
||||
@ -937,18 +940,13 @@ static ssize_t txx9_sram_write(struct file *filp, struct kobject *kobj,
|
||||
|
||||
void __init txx9_sramc_init(struct resource *r)
|
||||
{
|
||||
struct txx9_sramc_sysdev *dev;
|
||||
struct txx9_sramc_dev *dev;
|
||||
size_t size;
|
||||
int err;
|
||||
|
||||
if (!txx9_sramc_sysdev_class.name) {
|
||||
txx9_sramc_sysdev_class.name = "txx9_sram";
|
||||
err = sysdev_class_register(&txx9_sramc_sysdev_class);
|
||||
if (err) {
|
||||
txx9_sramc_sysdev_class.name = NULL;
|
||||
return;
|
||||
}
|
||||
}
|
||||
err = subsys_system_register(&txx9_sramc_subsys, NULL);
|
||||
if (err)
|
||||
return;
|
||||
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
|
||||
if (!dev)
|
||||
return;
|
||||
@ -956,7 +954,7 @@ void __init txx9_sramc_init(struct resource *r)
|
||||
dev->base = ioremap(r->start, size);
|
||||
if (!dev->base)
|
||||
goto exit;
|
||||
dev->dev.cls = &txx9_sramc_sysdev_class;
|
||||
dev->dev.bus = &txx9_sramc_subsys;
|
||||
sysfs_bin_attr_init(&dev->bindata_attr);
|
||||
dev->bindata_attr.attr.name = "bindata";
|
||||
dev->bindata_attr.attr.mode = S_IRUSR | S_IWUSR;
|
||||
@ -964,12 +962,12 @@ void __init txx9_sramc_init(struct resource *r)
|
||||
dev->bindata_attr.write = txx9_sram_write;
|
||||
dev->bindata_attr.size = size;
|
||||
dev->bindata_attr.private = dev;
|
||||
err = sysdev_register(&dev->dev);
|
||||
err = device_register(&dev->dev);
|
||||
if (err)
|
||||
goto exit;
|
||||
err = sysfs_create_bin_file(&dev->dev.kobj, &dev->bindata_attr);
|
||||
if (err) {
|
||||
sysdev_unregister(&dev->dev);
|
||||
device_unregister(&dev->dev);
|
||||
goto exit;
|
||||
}
|
||||
return;
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <linux/param.h>
|
||||
#include <linux/ptrace.h>
|
||||
|
Reference in New Issue
Block a user