Commit 06000c03 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

staging: greybus: vibrator: remove KERNEL_VERSION checks

No need to support older kernel versions in the Greybus Vibrator driver,
so remove the checks as needed, we can now rely on all of the correct
driver core apis being present.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent be21106d
...@@ -108,9 +108,7 @@ ATTRIBUTE_GROUPS(vibrator); ...@@ -108,9 +108,7 @@ ATTRIBUTE_GROUPS(vibrator);
static struct class vibrator_class = { static struct class vibrator_class = {
.name = "vibrator", .name = "vibrator",
.owner = THIS_MODULE, .owner = THIS_MODULE,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
.dev_groups = vibrator_groups, .dev_groups = vibrator_groups,
#endif
}; };
static DEFINE_IDA(minors); static DEFINE_IDA(minors);
...@@ -169,19 +167,6 @@ static int gb_vibrator_probe(struct gb_bundle *bundle, ...@@ -169,19 +167,6 @@ static int gb_vibrator_probe(struct gb_bundle *bundle,
} }
vib->dev = dev; vib->dev = dev;
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,11,0)
/*
* Newer kernels handle this in a race-free manner, by the dev_groups
* field in the struct class up above. But for older kernels, we need
* to "open code this :(
*/
retval = sysfs_create_group(&dev->kobj, vibrator_groups[0]);
if (retval) {
device_unregister(dev);
goto err_ida_remove;
}
#endif
INIT_DELAYED_WORK(&vib->delayed_work, gb_vibrator_worker); INIT_DELAYED_WORK(&vib->delayed_work, gb_vibrator_worker);
gb_pm_runtime_put_autosuspend(bundle); gb_pm_runtime_put_autosuspend(bundle);
...@@ -212,9 +197,6 @@ static void gb_vibrator_disconnect(struct gb_bundle *bundle) ...@@ -212,9 +197,6 @@ static void gb_vibrator_disconnect(struct gb_bundle *bundle)
if (cancel_delayed_work_sync(&vib->delayed_work)) if (cancel_delayed_work_sync(&vib->delayed_work))
turn_off(vib); turn_off(vib);
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,11,0)
sysfs_remove_group(&vib->dev->kobj, vibrator_groups[0]);
#endif
device_unregister(vib->dev); device_unregister(vib->dev);
ida_simple_remove(&minors, vib->minor); ida_simple_remove(&minors, vib->minor);
gb_connection_disable(vib->connection); gb_connection_disable(vib->connection);
......
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