mirror of https://gitee.com/openkylin/linux.git
Convert from class_device to device for drivers/video
Convert from class_device to device for drivers/video. Signed-off-by: Tony Jones <tonyj@suse.de> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
34b51f39e2
commit
60043428a5
|
@ -316,7 +316,7 @@ static int acpi_video_output_get(struct output_device *od)
|
|||
{
|
||||
unsigned long state;
|
||||
struct acpi_video_device *vd =
|
||||
(struct acpi_video_device *)class_get_devdata(&od->class_dev);
|
||||
(struct acpi_video_device *)dev_get_drvdata(&od->dev);
|
||||
acpi_video_device_get_state(vd, &state);
|
||||
return (int)state;
|
||||
}
|
||||
|
@ -325,7 +325,7 @@ static int acpi_video_output_set(struct output_device *od)
|
|||
{
|
||||
unsigned long state = od->request_state;
|
||||
struct acpi_video_device *vd=
|
||||
(struct acpi_video_device *)class_get_devdata(&od->class_dev);
|
||||
(struct acpi_video_device *)dev_get_drvdata(&od->dev);
|
||||
return acpi_video_device_set_state(vd, state);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -31,9 +31,9 @@ struct output_properties {
|
|||
struct output_device {
|
||||
int request_state;
|
||||
struct output_properties *props;
|
||||
struct class_device class_dev;
|
||||
struct device dev;
|
||||
};
|
||||
#define to_output_device(obj) container_of(obj, struct output_device, class_dev)
|
||||
#define to_output_device(obj) container_of(obj, struct output_device, dev)
|
||||
struct output_device *video_output_register(const char *name,
|
||||
struct device *dev,
|
||||
void *devdata,
|
||||
|
|
Loading…
Reference in New Issue