mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
Driver core patches for 4.21-rc1
Here is the "big" set of driver core patches for 4.21-rc1. It's not really big, just a number of small changes for some reported issues, some documentation updates to hopefully make it harder for people to abuse the driver model, and some other minor cleanups. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXCY/dA8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ylZrgCeIi+rWj0mqlyKZk0A+gurH2BPmfwAniGfiHJp w60Fr5/EbCqUr1d1wQIO =4N7R -----END PGP SIGNATURE----- Merge tag 'driver-core-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here is the "big" set of driver core patches for 4.21-rc1. It's not really big, just a number of small changes for some reported issues, some documentation updates to hopefully make it harder for people to abuse the driver model, and some other minor cleanups. All of these have been in linux-next for a while with no reported issues" * tag 'driver-core-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: mm, memory_hotplug: update a comment in unregister_memory() component: convert to DEFINE_SHOW_ATTRIBUTE sysfs: Disable lockdep for driver bind/unbind files driver core: Add missing dev->bus->need_parent_lock checks kobject: return error code if writing /sys/.../uevent fails driver core: Move async_synchronize_full call driver core: platform: Respect return code of platform_device_register_full() kref/kobject: Improve documentation drivers/base/memory.c: Use DEVICE_ATTR_RO and friends driver core: Replace simple_strto{l,ul} by kstrtou{l,ul} kernfs: Improve kernfs_notify() poll notification latency kobject: Fix warnings in lib/kobject_uevent.c kobject: drop unnecessary cast "%llu" for u64 driver core: fix comments for device_block_probing() driver core: Replace simple_strtol by kstrtoint
This commit is contained in:
commit
b07039b79c
12 changed files with 113 additions and 104 deletions
|
@ -815,10 +815,12 @@ ssize_t device_store_ulong(struct device *dev,
|
|||
const char *buf, size_t size)
|
||||
{
|
||||
struct dev_ext_attribute *ea = to_ext_attr(attr);
|
||||
char *end;
|
||||
unsigned long new = simple_strtoul(buf, &end, 0);
|
||||
if (end == buf)
|
||||
return -EINVAL;
|
||||
int ret;
|
||||
unsigned long new;
|
||||
|
||||
ret = kstrtoul(buf, 0, &new);
|
||||
if (ret)
|
||||
return ret;
|
||||
*(unsigned long *)(ea->var) = new;
|
||||
/* Always return full write size even if we didn't consume all */
|
||||
return size;
|
||||
|
@ -839,9 +841,14 @@ ssize_t device_store_int(struct device *dev,
|
|||
const char *buf, size_t size)
|
||||
{
|
||||
struct dev_ext_attribute *ea = to_ext_attr(attr);
|
||||
char *end;
|
||||
long new = simple_strtol(buf, &end, 0);
|
||||
if (end == buf || new > INT_MAX || new < INT_MIN)
|
||||
int ret;
|
||||
long new;
|
||||
|
||||
ret = kstrtol(buf, 0, &new);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (new > INT_MAX || new < INT_MIN)
|
||||
return -EINVAL;
|
||||
*(int *)(ea->var) = new;
|
||||
/* Always return full write size even if we didn't consume all */
|
||||
|
@ -911,8 +918,7 @@ static void device_release(struct kobject *kobj)
|
|||
else if (dev->class && dev->class->dev_release)
|
||||
dev->class->dev_release(dev);
|
||||
else
|
||||
WARN(1, KERN_ERR "Device '%s' does not have a release() "
|
||||
"function, it is broken and must be fixed.\n",
|
||||
WARN(1, KERN_ERR "Device '%s' does not have a release() function, it is broken and must be fixed. See Documentation/kobject.txt.\n",
|
||||
dev_name(dev));
|
||||
kfree(p);
|
||||
}
|
||||
|
@ -1088,8 +1094,14 @@ out:
|
|||
static ssize_t uevent_store(struct device *dev, struct device_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
if (kobject_synth_uevent(&dev->kobj, buf, count))
|
||||
int rc;
|
||||
|
||||
rc = kobject_synth_uevent(&dev->kobj, buf, count);
|
||||
|
||||
if (rc) {
|
||||
dev_err(dev, "uevent: failed to send synthetic uevent\n");
|
||||
return rc;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue