Subject: [PATCH] [acpi video] Add skeleton driver for ACPI video devices - Make the target called 'video.o', which is compatible with current module name - Always build it with video bus driver - Create dev-*.c to house the driver - Define struct acpi_video_dev to describe it Signed-off-by: Patrick Mochel --- drivers/acpi/drivers/video/Makefile | 15 ++++++++- drivers/acpi/drivers/video/dev-device.c | 14 ++++++++ drivers/acpi/drivers/video/dev-driver.c | 54 +++++++++++++++++++++++++++++++ drivers/acpi/drivers/video/dev-event.c | 12 +++++++ drivers/acpi/drivers/video/dev-proc.c | 16 +++++++++ drivers/acpi/drivers/video/dev-sysfs.c | 12 +++++++ drivers/acpi/drivers/video/video.h | 5 +++ 7 files changed, 127 insertions(+), 1 deletions(-) create mode 100644 drivers/acpi/drivers/video/dev-device.c create mode 100644 drivers/acpi/drivers/video/dev-driver.c create mode 100644 drivers/acpi/drivers/video/dev-event.c create mode 100644 drivers/acpi/drivers/video/dev-proc.c create mode 100644 drivers/acpi/drivers/video/dev-sysfs.c applies-to: 95e66c2d6e6c165596baf2eafa1dfd06282c889e ae06bbde4b0f14b771ab473eddd510917df4a54f diff --git a/drivers/acpi/drivers/video/Makefile b/drivers/acpi/drivers/video/Makefile index 9c424a1..715e390 100644 --- a/drivers/acpi/drivers/video/Makefile +++ b/drivers/acpi/drivers/video/Makefile @@ -1,8 +1,21 @@ -obj-$(CONFIG_ACPI_VIDEO) += video-bus.o +obj-$(CONFIG_ACPI_VIDEO) += video-bus.o video.o +# +# Video Bus Driver +# video-bus-y := bus-driver.o bus-device.o video-bus-y += bus-event.o video-bus-$(CONFIG_ACPI_DM_PROC) += bus-proc.o video-bus-$(CONFIG_ACPI_DM_SYSFS) += bus-sysfs.o + +# +# Video Device Driver +# +video-y := dev-driver.o dev-device.o +video-y += dev-event.o + +video-$(CONFIG_ACPI_DM_PROC) += dev-proc.o +video-$(CONFIG_ACPI_DM_SYSFS) += dev-sysfs.o + diff --git a/drivers/acpi/drivers/video/dev-device.c b/drivers/acpi/drivers/video/dev-device.c new file mode 100644 index 0000000..de96792 --- /dev/null +++ b/drivers/acpi/drivers/video/dev-device.c @@ -0,0 +1,14 @@ +/** + * drivers/acpi/drivers/video/device.c - Low-level video access + * + * Copyright (C) 2006 Patrick Mochel + * + * Based on drivers/acpi/video.c, which was: + * Copyright (C) 2001, 2002 Andy Grover + * Copyright (C) 2001, 2002 Paul Diefenbaugh + * + * This file is released under the GPLv2. + */ + +#include +#include "video.h" diff --git a/drivers/acpi/drivers/video/dev-driver.c b/drivers/acpi/drivers/video/dev-driver.c new file mode 100644 index 0000000..750220c --- /dev/null +++ b/drivers/acpi/drivers/video/dev-driver.c @@ -0,0 +1,54 @@ +/*** + * drivers/acpi/drivers/video/driver.c - New school ACPI video driver + * + * Copyright (C) 2006 Patrick Mochel + * + * Based on drivers/acpi/video.c, which was + * + * Copyright (C) 2001, 2002 Andy Grover + * Copyright (C) 2001, 2002 Paul Diefenbaugh + * + * This file is released under the GPLv2. + */ + +#include +#include "video.h" + +static int video_add(struct acpi_dev * ad) +{ + struct acpi_video_dev * vd; + + vd = kzalloc(sizeof(struct acpi_video_dev), GFP_KERNEL); + if (!vd) + return -ENOMEM; + + vd->v_ad = ad; + + dev_set_drvdata(&ad->dev, vd); + + printk(KERN_INFO PREFIX "video device [%s]\n", + acpi_dev_bid(ad)); + return 0; +} + +static int video_remove(struct acpi_dev * ad) +{ + struct acpi_video_dev * vd = dev_get_drvdata(&ad->dev); + + dev_set_drvdata(&ad->dev, NULL); + kfree(vd); + return 0; +} + +acpi_no_probe(video); +acpi_no_start(video); +acpi_no_stop(video); +acpi_no_shutdown(video); +acpi_no_suspend(video); +acpi_no_resume(video); + +declare_acpi_driver(video); + +MODULE_AUTHOR("Patrick Mochel"); +MODULE_DESCRIPTION("ACPI Video Driver"); +MODULE_LICENSE("GPL"); diff --git a/drivers/acpi/drivers/video/dev-event.c b/drivers/acpi/drivers/video/dev-event.c new file mode 100644 index 0000000..4324e19 --- /dev/null +++ b/drivers/acpi/drivers/video/dev-event.c @@ -0,0 +1,12 @@ +/** + * drivers/acpi/drivers/video/event.c - ACPI Event notification for video + * + * Copyright (C) 2006 Patrick Mochel + * + * This file is released under the GPLv2. + */ + +#include +#include "video.h" + +acpi_device_event_none(video); diff --git a/drivers/acpi/drivers/video/dev-proc.c b/drivers/acpi/drivers/video/dev-proc.c new file mode 100644 index 0000000..710d731 --- /dev/null +++ b/drivers/acpi/drivers/video/dev-proc.c @@ -0,0 +1,16 @@ +/** + * drivers/acpi/drivers/video/proc.c - procfs interface for fan driver + * + * Copyright (C) 2006 Patrick Mochel + * + * Based on drivers/acpi/video.c, which was: + * Copyright (C) 2001, 2002 Andy Grover + * Copyright (C) 2001, 2002 Paul Diefenbaugh + * + * This file is released under the GPLv2. + */ + +#include +#include "video.h" + +acpi_driver_proc_none(video); diff --git a/drivers/acpi/drivers/video/dev-sysfs.c b/drivers/acpi/drivers/video/dev-sysfs.c new file mode 100644 index 0000000..e8f3ae1 --- /dev/null +++ b/drivers/acpi/drivers/video/dev-sysfs.c @@ -0,0 +1,12 @@ +/** + * drivers/acpi/drivers/video/sysfs.c - sysfs interface for video driver. + * + * Copyright (C) 2006 Patrick Mochel + * + * This file is released under the GPLv2. + */ + +#include +#include "video.h" + +acpi_driver_sysfs_none(video); diff --git a/drivers/acpi/drivers/video/video.h b/drivers/acpi/drivers/video/video.h index fcb3b4c..bf6a593 100644 --- a/drivers/acpi/drivers/video/video.h +++ b/drivers/acpi/drivers/video/video.h @@ -24,6 +24,11 @@ ACPI_MODULE_NAME("acpi_video"); #define VIDEO_DOS_LCD_AUTO 0x00 #define VIDEO_DOS_LCD_NO_AUTO 0x01 + +struct acpi_video_dev { + struct acpi_dev * v_ad; +}; + struct acpi_video_enum { union { struct { --- 0.99.9.GIT