|
@@ -31,7 +31,8 @@ MODULE_DESCRIPTION("Display Output Switcher Lowlevel Control Abstraction");
|
|
|
MODULE_LICENSE("GPL");
|
|
|
MODULE_AUTHOR("Luming Yu <luming.yu@intel.com>");
|
|
|
|
|
|
-static ssize_t video_output_show_state(struct class_device *dev,char *buf)
|
|
|
+static ssize_t video_output_show_state(struct device *dev,
|
|
|
+ struct device_attribute *attr, char *buf)
|
|
|
{
|
|
|
ssize_t ret_size = 0;
|
|
|
struct output_device *od = to_output_device(dev);
|
|
@@ -40,8 +41,9 @@ static ssize_t video_output_show_state(struct class_device *dev,char *buf)
|
|
|
return ret_size;
|
|
|
}
|
|
|
|
|
|
-static ssize_t video_output_store_state(struct class_device *dev,
|
|
|
- const char *buf,size_t count)
|
|
|
+static ssize_t video_output_store_state(struct device *dev,
|
|
|
+ struct device_attribute *attr,
|
|
|
+ const char *buf,size_t count)
|
|
|
{
|
|
|
char *endp;
|
|
|
struct output_device *od = to_output_device(dev);
|
|
@@ -60,21 +62,22 @@ static ssize_t video_output_store_state(struct class_device *dev,
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
-static void video_output_class_release(struct class_device *dev)
|
|
|
+static void video_output_release(struct device *dev)
|
|
|
{
|
|
|
struct output_device *od = to_output_device(dev);
|
|
|
kfree(od);
|
|
|
}
|
|
|
|
|
|
-static struct class_device_attribute video_output_attributes[] = {
|
|
|
+static struct device_attribute video_output_attributes[] = {
|
|
|
__ATTR(state, 0644, video_output_show_state, video_output_store_state),
|
|
|
__ATTR_NULL,
|
|
|
};
|
|
|
|
|
|
+
|
|
|
static struct class video_output_class = {
|
|
|
.name = "video_output",
|
|
|
- .release = video_output_class_release,
|
|
|
- .class_dev_attrs = video_output_attributes,
|
|
|
+ .dev_release = video_output_release,
|
|
|
+ .dev_attrs = video_output_attributes,
|
|
|
};
|
|
|
|
|
|
struct output_device *video_output_register(const char *name,
|
|
@@ -91,11 +94,11 @@ struct output_device *video_output_register(const char *name,
|
|
|
goto error_return;
|
|
|
}
|
|
|
new_dev->props = op;
|
|
|
- new_dev->class_dev.class = &video_output_class;
|
|
|
- new_dev->class_dev.dev = dev;
|
|
|
- strlcpy(new_dev->class_dev.class_id,name,KOBJ_NAME_LEN);
|
|
|
- class_set_devdata(&new_dev->class_dev,devdata);
|
|
|
- ret_code = class_device_register(&new_dev->class_dev);
|
|
|
+ new_dev->dev.class = &video_output_class;
|
|
|
+ new_dev->dev.parent = dev;
|
|
|
+ strlcpy(new_dev->dev.bus_id,name, BUS_ID_SIZE);
|
|
|
+ dev_set_drvdata(&new_dev->dev, devdata);
|
|
|
+ ret_code = device_register(&new_dev->dev);
|
|
|
if (ret_code) {
|
|
|
kfree(new_dev);
|
|
|
goto error_return;
|
|
@@ -111,7 +114,7 @@ void video_output_unregister(struct output_device *dev)
|
|
|
{
|
|
|
if (!dev)
|
|
|
return;
|
|
|
- class_device_unregister(&dev->class_dev);
|
|
|
+ device_unregister(&dev->dev);
|
|
|
}
|
|
|
EXPORT_SYMBOL(video_output_unregister);
|
|
|
|