From: Greg Kroah-Hartman <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: Wanlong Gao <wanlong.gao@gmail.com>, Greg Kroah-Hartman <gregkh@suse.de>
Subject: [PATCH 39/44] driver core: remove the driver-model structures from the documentation
Date: Thu, 19 May 2011 17:10:57 -0700 [thread overview]
Message-ID: <1305850262-9575-39-git-send-email-gregkh@suse.de> (raw)
In-Reply-To: <1305850262-9575-1-git-send-email-gregkh@suse.de>
From: Wanlong Gao <wanlong.gao@gmail.com>
Remove the struct bus_type, class, device, device_driver from the
driver-model docs. With another patch add them to device.h, since
they are out of date. That will keep things up to date and provide
a better way to document this stuff.
Signed-off-by: Wanlong Gao <wanlong.gao@gmail.com>
Acked-by: Harry Wei <harryxiyou@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
Documentation/driver-model/bus.txt | 19 +-------
Documentation/driver-model/class.txt | 17 +------
Documentation/driver-model/device.txt | 91 +--------------------------------
Documentation/driver-model/driver.txt | 18 +------
4 files changed, 4 insertions(+), 141 deletions(-)
diff --git a/Documentation/driver-model/bus.txt b/Documentation/driver-model/bus.txt
index 5001b75..6754b2d 100644
--- a/Documentation/driver-model/bus.txt
+++ b/Documentation/driver-model/bus.txt
@@ -3,24 +3,7 @@ Bus Types
Definition
~~~~~~~~~~
-
-struct bus_type {
- char * name;
-
- struct subsystem subsys;
- struct kset drivers;
- struct kset devices;
-
- struct bus_attribute * bus_attrs;
- struct device_attribute * dev_attrs;
- struct driver_attribute * drv_attrs;
-
- int (*match)(struct device * dev, struct device_driver * drv);
- int (*hotplug) (struct device *dev, char **envp,
- int num_envp, char *buffer, int buffer_size);
- int (*suspend)(struct device * dev, pm_message_t state);
- int (*resume)(struct device * dev);
-};
+See the kerneldoc for the struct bus_type.
int bus_register(struct bus_type * bus);
diff --git a/Documentation/driver-model/class.txt b/Documentation/driver-model/class.txt
index 548505f..1fefc48 100644
--- a/Documentation/driver-model/class.txt
+++ b/Documentation/driver-model/class.txt
@@ -27,22 +27,7 @@ The device class structure looks like:
typedef int (*devclass_add)(struct device *);
typedef void (*devclass_remove)(struct device *);
-struct device_class {
- char * name;
- rwlock_t lock;
- u32 devnum;
- struct list_head node;
-
- struct list_head drivers;
- struct list_head intf_list;
-
- struct driver_dir_entry dir;
- struct driver_dir_entry device_dir;
- struct driver_dir_entry driver_dir;
-
- devclass_add add_device;
- devclass_remove remove_device;
-};
+See the kerneldoc for the struct class.
A typical device class definition would look like:
diff --git a/Documentation/driver-model/device.txt b/Documentation/driver-model/device.txt
index a124f31..b2ff426 100644
--- a/Documentation/driver-model/device.txt
+++ b/Documentation/driver-model/device.txt
@@ -2,96 +2,7 @@
The Basic Device Structure
~~~~~~~~~~~~~~~~~~~~~~~~~~
-struct device {
- struct list_head g_list;
- struct list_head node;
- struct list_head bus_list;
- struct list_head driver_list;
- struct list_head intf_list;
- struct list_head children;
- struct device * parent;
-
- char name[DEVICE_NAME_SIZE];
- char bus_id[BUS_ID_SIZE];
-
- spinlock_t lock;
- atomic_t refcount;
-
- struct bus_type * bus;
- struct driver_dir_entry dir;
-
- u32 class_num;
-
- struct device_driver *driver;
- void *driver_data;
- void *platform_data;
-
- u32 current_state;
- unsigned char *saved_state;
-
- void (*release)(struct device * dev);
-};
-
-Fields
-~~~~~~
-g_list: Node in the global device list.
-
-node: Node in device's parent's children list.
-
-bus_list: Node in device's bus's devices list.
-
-driver_list: Node in device's driver's devices list.
-
-intf_list: List of intf_data. There is one structure allocated for
- each interface that the device supports.
-
-children: List of child devices.
-
-parent: *** FIXME ***
-
-name: ASCII description of device.
- Example: " 3Com Corporation 3c905 100BaseTX [Boomerang]"
-
-bus_id: ASCII representation of device's bus position. This
- field should be a name unique across all devices on the
- bus type the device belongs to.
-
- Example: PCI bus_ids are in the form of
- <bus number>:<slot number>.<function number>
- This name is unique across all PCI devices in the system.
-
-lock: Spinlock for the device.
-
-refcount: Reference count on the device.
-
-bus: Pointer to struct bus_type that device belongs to.
-
-dir: Device's sysfs directory.
-
-class_num: Class-enumerated value of the device.
-
-driver: Pointer to struct device_driver that controls the device.
-
-driver_data: Driver-specific data.
-
-platform_data: Platform data specific to the device.
-
- Example: for devices on custom boards, as typical of embedded
- and SOC based hardware, Linux often uses platform_data to point
- to board-specific structures describing devices and how they
- are wired. That can include what ports are available, chip
- variants, which GPIO pins act in what additional roles, and so
- on. This shrinks the "Board Support Packages" (BSPs) and
- minimizes board-specific #ifdefs in drivers.
-
-current_state: Current power state of the device.
-
-saved_state: Pointer to saved state of the device. This is usable by
- the device driver controlling the device.
-
-release: Callback to free the device after all references have
- gone away. This should be set by the allocator of the
- device (i.e. the bus driver that discovered the device).
+See the kerneldoc for the struct device.
Programming Interface
diff --git a/Documentation/driver-model/driver.txt b/Documentation/driver-model/driver.txt
index d2cd6fb..4421135 100644
--- a/Documentation/driver-model/driver.txt
+++ b/Documentation/driver-model/driver.txt
@@ -1,23 +1,7 @@
Device Drivers
-struct device_driver {
- char * name;
- struct bus_type * bus;
-
- struct completion unloaded;
- struct kobject kobj;
- list_t devices;
-
- struct module *owner;
-
- int (*probe) (struct device * dev);
- int (*remove) (struct device * dev);
-
- int (*suspend) (struct device * dev, pm_message_t state);
- int (*resume) (struct device * dev);
-};
-
+See the kerneldoc for the struct device_driver.
Allocation
--
1.7.4.2
next prev parent reply other threads:[~2011-05-20 0:12 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-20 0:08 [GIT PATCH] driver core merge for .40 Greg KH
2011-05-20 0:10 ` [PATCH 01/44] device: add dev_WARN_ONCE Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 02/44] efivars: memory leak on error in create_efivars_bin_attributes() Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 03/44] efivars: handle errors from register_efivars() Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 04/44] firmware: Fix grammar in sysfs-firmware-dmi doc Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 05/44] drivers: make device_type const Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 06/44] kernel/ksysfs.c: expose file_caps_enabled in sysfs Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 07/44] HOWTO: sync up Documentaion/ja_JP/HOWTO Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 08/44] uio_netx: Add support for netPLC cards Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 09/44] uio: fix finding mm index for vma Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 10/44] uio: fix allocating minor id for uio device Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 11/44] uio: clean uioinfo when uninstall uio driver Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 12/44] printk: /dev/kmsg - properly support writev() to avoid interleaved printk() lines Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 13/44] kmsg: properly support writev to avoid interleaved printk lines fix Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 14/44] drivers:misc:ti-st: handle delayed tty receive Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 15/44] drivers:misc:ti-st: remove rfkill dependency Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 16/44] driver-core: fix race between device_register and driver_register Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 17/44] drivers/base/core.c: Fixed brace coding style issue Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 18/44] driver core/platform_device_add_data: set platform_data to NULL if !data Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 19/44] driver core/platform_device_add_data: free platform data before overwriting Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 20/44] driver core/platform_device_add_resources: set resource to NULL if !res Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 21/44] driver core/platform_device_add_resources: free resource before overwriting Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 22/44] driver core: let dev_set_drvdata return int instead of void as it can fail Greg Kroah-Hartman
2011-05-20 7:53 ` [22/44] " Milton Miller
2011-05-20 8:01 ` Uwe Kleine-König
2011-05-20 0:10 ` [PATCH 23/44] drivers:base:fix the coding format of memory.c Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 24/44] Add a strtobool function matching semantics of existing in kernel equivalents Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 25/44] debugfs: move to new strtobool Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 26/44] params.c: Use new strtobool function to process boolean inputs Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 27/44] misc: fix ti-st build issues Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 28/44] x86: get_bios_ebda_length() Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 29/44] x86: Better comments for get_bios_ebda() Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 30/44] driver: Google EFI SMI Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 31/44] driver: Google Memory Console Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 32/44] Introduce CONFIG_GOOGLE_FIRMWARE Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 33/44] Allow setting of number of raw devices as a module parameter Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 34/44] efivars: prevent oops on unload when efi is not enabled Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 35/44] reboot: disable usermodehelper to prevent fs access Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 36/44] RAW driver: Remove call to kobject_put() Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 37/44] Translated Documentation/email-clients.txt Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 38/44] driver core: Add the device driver-model structures to kerneldoc Greg Kroah-Hartman
2011-05-20 0:10 ` Greg Kroah-Hartman [this message]
2011-05-20 0:10 ` [PATCH 40/44] SYSFS: Fix erroneous comments for sysfs_update_group() Greg Kroah-Hartman
2011-05-20 0:10 ` [PATCH 41/44] memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION Greg Kroah-Hartman
2011-05-20 0:11 ` [PATCH 42/44] drivers/base/memory.c: fix warning due to "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION" Greg Kroah-Hartman
2011-05-20 0:11 ` [PATCH 43/44] sysfs: remove "last sysfs file:" line from the oops messages Greg Kroah-Hartman
2011-05-20 0:11 ` [PATCH 44/44] debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1305850262-9575-39-git-send-email-gregkh@suse.de \
--to=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=wanlong.gao@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.