Loading CREDITS +1 −2 Original line number Original line Diff line number Diff line Loading @@ -3344,8 +3344,7 @@ S: Spain N: Linus Torvalds N: Linus Torvalds E: torvalds@linux-foundation.org E: torvalds@linux-foundation.org D: Original kernel hacker D: Original kernel hacker S: 12725 SW Millikan Way, Suite 400 S: Portland, Oregon 97005 S: Beaverton, Oregon 97005 S: USA S: USA N: Marcelo Tosatti N: Marcelo Tosatti Loading Documentation/DocBook/gadget.tmpl +38 −0 Original line number Original line Diff line number Diff line Loading @@ -524,6 +524,44 @@ These utilities include endpoint autoconfiguration. <!-- !Edrivers/usb/gadget/epautoconf.c --> <!-- !Edrivers/usb/gadget/epautoconf.c --> </sect1> </sect1> <sect1 id="composite"><title>Composite Device Framework</title> <para>The core API is sufficient for writing drivers for composite USB devices (with more than one function in a given configuration), and also multi-configuration devices (also more than one function, but not necessarily sharing a given configuration). There is however an optional framework which makes it easier to reuse and combine functions. </para> <para>Devices using this framework provide a <emphasis>struct usb_composite_driver</emphasis>, which in turn provides one or more <emphasis>struct usb_configuration</emphasis> instances. Each such configuration includes at least one <emphasis>struct usb_function</emphasis>, which packages a user visible role such as "network link" or "mass storage device". Management functions may also exist, such as "Device Firmware Upgrade". </para> !Iinclude/linux/usb/composite.h !Edrivers/usb/gadget/composite.c </sect1> <sect1 id="functions"><title>Composite Device Functions</title> <para>At this writing, a few of the current gadget drivers have been converted to this framework. Near-term plans include converting all of them, except for "gadgetfs". </para> !Edrivers/usb/gadget/f_acm.c !Edrivers/usb/gadget/f_serial.c </sect1> </chapter> </chapter> <chapter id="controllers"><title>Peripheral Controller Drivers</title> <chapter id="controllers"><title>Peripheral Controller Drivers</title> Loading Documentation/feature-removal-schedule.txt +32 −0 Original line number Original line Diff line number Diff line Loading @@ -308,9 +308,41 @@ Who: Matthew Wilcox <willy@linux.intel.com> --------------------------- --------------------------- What: SCTP_GET_PEER_ADDRS_NUM_OLD, SCTP_GET_PEER_ADDRS_OLD, SCTP_GET_LOCAL_ADDRS_NUM_OLD, SCTP_GET_LOCAL_ADDRS_OLD When: June 2009 Why: A newer version of the options have been introduced in 2005 that removes the limitions of the old API. The sctp library has been converted to use these new options at the same time. Any user space app that directly uses the old options should convert to using the new options. Who: Vlad Yasevich <vladislav.yasevich@hp.com> --------------------------- What: CONFIG_THERMAL_HWMON What: CONFIG_THERMAL_HWMON When: January 2009 When: January 2009 Why: This option was introduced just to allow older lm-sensors userspace Why: This option was introduced just to allow older lm-sensors userspace to keep working over the upgrade to 2.6.26. At the scheduled time of to keep working over the upgrade to 2.6.26. At the scheduled time of removal fixed lm-sensors (2.x or 3.x) should be readily available. removal fixed lm-sensors (2.x or 3.x) should be readily available. Who: Rene Herman <rene.herman@gmail.com> Who: Rene Herman <rene.herman@gmail.com> --------------------------- What: Code that is now under CONFIG_WIRELESS_EXT_SYSFS (in net/core/net-sysfs.c) When: After the only user (hal) has seen a release with the patches for enough time, probably some time in 2010. Why: Over 1K .text/.data size reduction, data is available in other ways (ioctls) Who: Johannes Berg <johannes@sipsolutions.net> --------------------------- What: CONFIG_NF_CT_ACCT When: 2.6.29 Why: Accounting can now be enabled/disabled without kernel recompilation. Currently used only to set a default value for a feature that is also controlled by a kernel/module/sysfs/sysctl parameter. Who: Krzysztof Piotr Oledzki <ole@ans.pl> Documentation/filesystems/configfs/configfs.txt +4 −6 Original line number Original line Diff line number Diff line Loading @@ -233,12 +233,10 @@ accomplished via the group operations specified on the group's config_item_type. config_item_type. struct configfs_group_operations { struct configfs_group_operations { int (*make_item)(struct config_group *group, struct config_item *(*make_item)(struct config_group *group, const char *name, const char *name); struct config_item **new_item); struct config_group *(*make_group)(struct config_group *group, int (*make_group)(struct config_group *group, const char *name); const char *name, struct config_group **new_group); int (*commit_item)(struct config_item *item); int (*commit_item)(struct config_item *item); void (*disconnect_notify)(struct config_group *group, void (*disconnect_notify)(struct config_group *group, struct config_item *item); struct config_item *item); Loading Documentation/filesystems/configfs/configfs_example.c +6 −8 Original line number Original line Diff line number Diff line Loading @@ -273,13 +273,13 @@ static inline struct simple_children *to_simple_children(struct config_item *ite return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; } } static int simple_children_make_item(struct config_group *group, const char *name, struct config_item **new_item) static struct config_item *simple_children_make_item(struct config_group *group, const char *name) { { struct simple_child *simple_child; struct simple_child *simple_child; simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); if (!simple_child) if (!simple_child) return -ENOMEM; return ERR_PTR(-ENOMEM); config_item_init_type_name(&simple_child->item, name, config_item_init_type_name(&simple_child->item, name, Loading @@ -287,8 +287,7 @@ static int simple_children_make_item(struct config_group *group, const char *nam simple_child->storeme = 0; simple_child->storeme = 0; *new_item = &simple_child->item; return &simple_child->item; return 0; } } static struct configfs_attribute simple_children_attr_description = { static struct configfs_attribute simple_children_attr_description = { Loading Loading @@ -360,21 +359,20 @@ static struct configfs_subsystem simple_children_subsys = { * children of its own. * children of its own. */ */ static int group_children_make_group(struct config_group *group, const char *name, struct config_group **new_group) static struct config_group *group_children_make_group(struct config_group *group, const char *name) { { struct simple_children *simple_children; struct simple_children *simple_children; simple_children = kzalloc(sizeof(struct simple_children), simple_children = kzalloc(sizeof(struct simple_children), GFP_KERNEL); GFP_KERNEL); if (!simple_children) if (!simple_children) return -ENOMEM; return ERR_PTR(-ENOMEM); config_group_init_type_name(&simple_children->group, name, config_group_init_type_name(&simple_children->group, name, &simple_children_type); &simple_children_type); *new_group = &simple_children->group; return &simple_children->group; return 0; } } static struct configfs_attribute group_children_attr_description = { static struct configfs_attribute group_children_attr_description = { Loading Loading
CREDITS +1 −2 Original line number Original line Diff line number Diff line Loading @@ -3344,8 +3344,7 @@ S: Spain N: Linus Torvalds N: Linus Torvalds E: torvalds@linux-foundation.org E: torvalds@linux-foundation.org D: Original kernel hacker D: Original kernel hacker S: 12725 SW Millikan Way, Suite 400 S: Portland, Oregon 97005 S: Beaverton, Oregon 97005 S: USA S: USA N: Marcelo Tosatti N: Marcelo Tosatti Loading
Documentation/DocBook/gadget.tmpl +38 −0 Original line number Original line Diff line number Diff line Loading @@ -524,6 +524,44 @@ These utilities include endpoint autoconfiguration. <!-- !Edrivers/usb/gadget/epautoconf.c --> <!-- !Edrivers/usb/gadget/epautoconf.c --> </sect1> </sect1> <sect1 id="composite"><title>Composite Device Framework</title> <para>The core API is sufficient for writing drivers for composite USB devices (with more than one function in a given configuration), and also multi-configuration devices (also more than one function, but not necessarily sharing a given configuration). There is however an optional framework which makes it easier to reuse and combine functions. </para> <para>Devices using this framework provide a <emphasis>struct usb_composite_driver</emphasis>, which in turn provides one or more <emphasis>struct usb_configuration</emphasis> instances. Each such configuration includes at least one <emphasis>struct usb_function</emphasis>, which packages a user visible role such as "network link" or "mass storage device". Management functions may also exist, such as "Device Firmware Upgrade". </para> !Iinclude/linux/usb/composite.h !Edrivers/usb/gadget/composite.c </sect1> <sect1 id="functions"><title>Composite Device Functions</title> <para>At this writing, a few of the current gadget drivers have been converted to this framework. Near-term plans include converting all of them, except for "gadgetfs". </para> !Edrivers/usb/gadget/f_acm.c !Edrivers/usb/gadget/f_serial.c </sect1> </chapter> </chapter> <chapter id="controllers"><title>Peripheral Controller Drivers</title> <chapter id="controllers"><title>Peripheral Controller Drivers</title> Loading
Documentation/feature-removal-schedule.txt +32 −0 Original line number Original line Diff line number Diff line Loading @@ -308,9 +308,41 @@ Who: Matthew Wilcox <willy@linux.intel.com> --------------------------- --------------------------- What: SCTP_GET_PEER_ADDRS_NUM_OLD, SCTP_GET_PEER_ADDRS_OLD, SCTP_GET_LOCAL_ADDRS_NUM_OLD, SCTP_GET_LOCAL_ADDRS_OLD When: June 2009 Why: A newer version of the options have been introduced in 2005 that removes the limitions of the old API. The sctp library has been converted to use these new options at the same time. Any user space app that directly uses the old options should convert to using the new options. Who: Vlad Yasevich <vladislav.yasevich@hp.com> --------------------------- What: CONFIG_THERMAL_HWMON What: CONFIG_THERMAL_HWMON When: January 2009 When: January 2009 Why: This option was introduced just to allow older lm-sensors userspace Why: This option was introduced just to allow older lm-sensors userspace to keep working over the upgrade to 2.6.26. At the scheduled time of to keep working over the upgrade to 2.6.26. At the scheduled time of removal fixed lm-sensors (2.x or 3.x) should be readily available. removal fixed lm-sensors (2.x or 3.x) should be readily available. Who: Rene Herman <rene.herman@gmail.com> Who: Rene Herman <rene.herman@gmail.com> --------------------------- What: Code that is now under CONFIG_WIRELESS_EXT_SYSFS (in net/core/net-sysfs.c) When: After the only user (hal) has seen a release with the patches for enough time, probably some time in 2010. Why: Over 1K .text/.data size reduction, data is available in other ways (ioctls) Who: Johannes Berg <johannes@sipsolutions.net> --------------------------- What: CONFIG_NF_CT_ACCT When: 2.6.29 Why: Accounting can now be enabled/disabled without kernel recompilation. Currently used only to set a default value for a feature that is also controlled by a kernel/module/sysfs/sysctl parameter. Who: Krzysztof Piotr Oledzki <ole@ans.pl>
Documentation/filesystems/configfs/configfs.txt +4 −6 Original line number Original line Diff line number Diff line Loading @@ -233,12 +233,10 @@ accomplished via the group operations specified on the group's config_item_type. config_item_type. struct configfs_group_operations { struct configfs_group_operations { int (*make_item)(struct config_group *group, struct config_item *(*make_item)(struct config_group *group, const char *name, const char *name); struct config_item **new_item); struct config_group *(*make_group)(struct config_group *group, int (*make_group)(struct config_group *group, const char *name); const char *name, struct config_group **new_group); int (*commit_item)(struct config_item *item); int (*commit_item)(struct config_item *item); void (*disconnect_notify)(struct config_group *group, void (*disconnect_notify)(struct config_group *group, struct config_item *item); struct config_item *item); Loading
Documentation/filesystems/configfs/configfs_example.c +6 −8 Original line number Original line Diff line number Diff line Loading @@ -273,13 +273,13 @@ static inline struct simple_children *to_simple_children(struct config_item *ite return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; return item ? container_of(to_config_group(item), struct simple_children, group) : NULL; } } static int simple_children_make_item(struct config_group *group, const char *name, struct config_item **new_item) static struct config_item *simple_children_make_item(struct config_group *group, const char *name) { { struct simple_child *simple_child; struct simple_child *simple_child; simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL); if (!simple_child) if (!simple_child) return -ENOMEM; return ERR_PTR(-ENOMEM); config_item_init_type_name(&simple_child->item, name, config_item_init_type_name(&simple_child->item, name, Loading @@ -287,8 +287,7 @@ static int simple_children_make_item(struct config_group *group, const char *nam simple_child->storeme = 0; simple_child->storeme = 0; *new_item = &simple_child->item; return &simple_child->item; return 0; } } static struct configfs_attribute simple_children_attr_description = { static struct configfs_attribute simple_children_attr_description = { Loading Loading @@ -360,21 +359,20 @@ static struct configfs_subsystem simple_children_subsys = { * children of its own. * children of its own. */ */ static int group_children_make_group(struct config_group *group, const char *name, struct config_group **new_group) static struct config_group *group_children_make_group(struct config_group *group, const char *name) { { struct simple_children *simple_children; struct simple_children *simple_children; simple_children = kzalloc(sizeof(struct simple_children), simple_children = kzalloc(sizeof(struct simple_children), GFP_KERNEL); GFP_KERNEL); if (!simple_children) if (!simple_children) return -ENOMEM; return ERR_PTR(-ENOMEM); config_group_init_type_name(&simple_children->group, name, config_group_init_type_name(&simple_children->group, name, &simple_children_type); &simple_children_type); *new_group = &simple_children->group; return &simple_children->group; return 0; } } static struct configfs_attribute group_children_attr_description = { static struct configfs_attribute group_children_attr_description = { Loading