mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Driver core / kernfs pull request for 3.16-rc1
Here is the "big" pull request for 3.16-rc1. Not a lot of changes here, some kernfs work, a revert of a very old driver core change that ended up cauing some memory leaks on driver probe error paths, and other minor things. As was pointed out earlier today, one commit here,26fc9cd200(kernfs: move the last knowledge of sysfs out from kernfs) is also needed in your 3.15-final branch as well. If you could cherry-pick it there, it would be most appreciated by Andy Lutomirski to prevent a regression there. All of these have been in linux-next for a while. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEABECAAYFAlONV9YACgkQMUfUDdst+yn0sQCfWWYg1oVXyu6f0uJjYbVBFkpD UHgAoJxxfwTZJq/xYrnk6+RqUowIsUlh =ojAS -----END PGP SIGNATURE----- Merge tag 'driver-core-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core into next Pull driver core / kernfs changes from Greg KH: "Here is the "big" pull request for 3.16-rc1. Not a lot of changes here, some kernfs work, a revert of a very old driver core change that ended up cauing some memory leaks on driver probe error paths, and other minor things. As was pointed out earlier today, one commit here,26fc9cd200("kernfs: move the last knowledge of sysfs out from kernfs") is also needed in your 3.15-final branch as well. If you could cherry-pick it there, it would be most appreciated by Andy Lutomirski to prevent a regression there. All of these have been in linux-next for a while" * tag 'driver-core-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: crypto/nx/nx-842: dev_set_drvdata can no longer fail kernfs: move the last knowledge of sysfs out from kernfs sysfs: fix attribute_group bin file path on removal sysfs.h: don't return a void-valued expression in sysfs_remove_file init.h: Update initcall_sync variants to fix build errors driver core: Inline dev_set/get_drvdata driver core: dev_get_drvdata: Don't check for NULL dev driver core: dev_set_drvdata returns void driver core: dev_set_drvdata can no longer fail driver core: Move driver_data back to struct device lib/devres.c: fix checkpatch warnings lib/devres.c: use dev in devm_request_and_ioremap kobject: Make support for uevent_helper optional. kernfs: make kernfs_notify() trigger inotify events too kernfs: implement kernfs_root->supers list
This commit is contained in:
commit
5da77761e6
22 changed files with 141 additions and 89 deletions
|
|
@ -1,10 +1,10 @@
|
|||
menu "Generic Driver Options"
|
||||
|
||||
config UEVENT_HELPER_PATH
|
||||
string "path to uevent helper"
|
||||
default ""
|
||||
config UEVENT_HELPER
|
||||
bool "Support for uevent helper"
|
||||
default y
|
||||
help
|
||||
Path to uevent helper program forked by the kernel for
|
||||
The uevent helper program is forked by the kernel for
|
||||
every uevent.
|
||||
Before the switch to the netlink-based uevent source, this was
|
||||
used to hook hotplug scripts into kernel device events. It
|
||||
|
|
@ -15,8 +15,13 @@ config UEVENT_HELPER_PATH
|
|||
that it creates a high system load, or on smaller systems
|
||||
it is known to create out-of-memory situations during bootup.
|
||||
|
||||
To disable user space helper program execution at early boot
|
||||
time specify an empty string here. This setting can be altered
|
||||
config UEVENT_HELPER_PATH
|
||||
string "path to uevent helper"
|
||||
depends on UEVENT_HELPER
|
||||
default ""
|
||||
help
|
||||
To disable user space helper program execution at by default
|
||||
specify an empty string here. This setting can still be altered
|
||||
via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper
|
||||
later at runtime.
|
||||
|
||||
|
|
|
|||
|
|
@ -63,8 +63,6 @@ struct driver_private {
|
|||
* binding of drivers which were unable to get all the resources needed by
|
||||
* the device; typically because it depends on another driver getting
|
||||
* probed first.
|
||||
* @driver_data - private pointer for driver specific info. Will turn into a
|
||||
* list soon.
|
||||
* @device - pointer back to the struct class that this structure is
|
||||
* associated with.
|
||||
*
|
||||
|
|
@ -76,7 +74,6 @@ struct device_private {
|
|||
struct klist_node knode_driver;
|
||||
struct klist_node knode_bus;
|
||||
struct list_head deferred_probe;
|
||||
void *driver_data;
|
||||
struct device *device;
|
||||
};
|
||||
#define to_device_private_parent(obj) \
|
||||
|
|
|
|||
|
|
@ -587,29 +587,3 @@ void driver_detach(struct device_driver *drv)
|
|||
put_device(dev);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* These exports can't be _GPL due to .h files using this within them, and it
|
||||
* might break something that was previously working...
|
||||
*/
|
||||
void *dev_get_drvdata(const struct device *dev)
|
||||
{
|
||||
if (dev && dev->p)
|
||||
return dev->p->driver_data;
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(dev_get_drvdata);
|
||||
|
||||
int dev_set_drvdata(struct device *dev, void *data)
|
||||
{
|
||||
int error;
|
||||
|
||||
if (!dev->p) {
|
||||
error = device_private_init(dev);
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
dev->p->driver_data = data;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(dev_set_drvdata);
|
||||
|
|
|
|||
Loading…
Reference in a new issue