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:
@ -13,7 +13,7 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
@ -337,9 +337,9 @@ static struct kobj_type ktype_percpu_entry = {
|
||||
.default_attrs = sq_sysfs_attrs,
|
||||
};
|
||||
|
||||
static int __devinit sq_sysdev_add(struct sys_device *sysdev)
|
||||
static int __devinit sq_dev_add(struct device *dev)
|
||||
{
|
||||
unsigned int cpu = sysdev->id;
|
||||
unsigned int cpu = dev->id;
|
||||
struct kobject *kobj;
|
||||
int error;
|
||||
|
||||
@ -348,25 +348,27 @@ static int __devinit sq_sysdev_add(struct sys_device *sysdev)
|
||||
return -ENOMEM;
|
||||
|
||||
kobj = sq_kobject[cpu];
|
||||
error = kobject_init_and_add(kobj, &ktype_percpu_entry, &sysdev->kobj,
|
||||
error = kobject_init_and_add(kobj, &ktype_percpu_entry, &dev->kobj,
|
||||
"%s", "sq");
|
||||
if (!error)
|
||||
kobject_uevent(kobj, KOBJ_ADD);
|
||||
return error;
|
||||
}
|
||||
|
||||
static int __devexit sq_sysdev_remove(struct sys_device *sysdev)
|
||||
static int __devexit sq_dev_remove(struct device *dev)
|
||||
{
|
||||
unsigned int cpu = sysdev->id;
|
||||
unsigned int cpu = dev->id;
|
||||
struct kobject *kobj = sq_kobject[cpu];
|
||||
|
||||
kobject_put(kobj);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct sysdev_driver sq_sysdev_driver = {
|
||||
.add = sq_sysdev_add,
|
||||
.remove = __devexit_p(sq_sysdev_remove),
|
||||
static struct subsys_interface sq_interface = {
|
||||
.name = "sq"
|
||||
.subsys = &cpu_subsys,
|
||||
.add_dev = sq_dev_add,
|
||||
.remove_dev = __devexit_p(sq_dev_remove),
|
||||
};
|
||||
|
||||
static int __init sq_api_init(void)
|
||||
@ -386,7 +388,7 @@ static int __init sq_api_init(void)
|
||||
if (unlikely(!sq_bitmap))
|
||||
goto out;
|
||||
|
||||
ret = sysdev_driver_register(&cpu_sysdev_class, &sq_sysdev_driver);
|
||||
ret = subsys_interface_register(&sq_interface);
|
||||
if (unlikely(ret != 0))
|
||||
goto out;
|
||||
|
||||
@ -401,7 +403,7 @@ out:
|
||||
|
||||
static void __exit sq_api_exit(void)
|
||||
{
|
||||
sysdev_driver_unregister(&cpu_sysdev_class, &sq_sysdev_driver);
|
||||
subsys_interface_unregister(&sq_interface);
|
||||
kfree(sq_bitmap);
|
||||
kmem_cache_destroy(sq_cache);
|
||||
}
|
||||
|
Reference in New Issue
Block a user