mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
Driver core update for 4.14-rc1
Here is the "big" driver core update for 4.14-rc1. It's really not all that big, the largest thing here being some firmware tests to help ensure that that crazy api is working properly. There's also a new uevent for when a driver is bound or unbound from a device, fixing a hole in the driver model that's been there since the very beginning. Many thanks to Dmitry for being persistent and pointing out how wrong I was about this all along :) Patches for the new uevents are already in the systemd tree, if people want to play around with them. Otherwise just a number of other small api changes and updates here, nothing major. All of these patches have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCWa1/IQ8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+yn8jACfdQg+YXGxTExonxnyiWgoDMMSO2gAn1ETOaak itLO5ll4b6EQ0r3pU27d =pCYl -----END PGP SIGNATURE----- Merge tag 'driver-core-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core update from Greg KH: "Here is the "big" driver core update for 4.14-rc1. It's really not all that big, the largest thing here being some firmware tests to help ensure that that crazy api is working properly. There's also a new uevent for when a driver is bound or unbound from a device, fixing a hole in the driver model that's been there since the very beginning. Many thanks to Dmitry for being persistent and pointing out how wrong I was about this all along :) Patches for the new uevents are already in the systemd tree, if people want to play around with them. Otherwise just a number of other small api changes and updates here, nothing major. All of these patches have been in linux-next for a while with no reported issues" * tag 'driver-core-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (28 commits) driver core: bus: Fix a potential double free Do not disable driver and bus shutdown hook when class shutdown hook is set. base: topology: constify attribute_group structures. base: Convert to using %pOF instead of full_name kernfs: Clarify lockdep name for kn->count fbdev: uvesafb: remove DRIVER_ATTR() usage xen: xen-pciback: remove DRIVER_ATTR() usage driver core: Document struct device:dma_ops mod_devicetable: Remove excess description from structured comment test_firmware: add batched firmware tests firmware: enable a debug print for batched requests firmware: define pr_fmt firmware: send -EINTR on signal abort on fallback mechanism test_firmware: add test case for SIGCHLD on sync fallback initcall_debug: add deferred probe times Input: axp20x-pek - switch to using devm_device_add_group() Input: synaptics_rmi4 - use devm_device_add_group() for attributes in F01 Input: gpio_keys - use devm_device_add_group() for attributes driver core: add devm_device_add_group() and friends driver core: add device_{add|remove}_group() helpers ...
This commit is contained in:
commit
44b1671fae
23 changed files with 1291 additions and 142 deletions
|
|
@ -1172,8 +1172,8 @@ out:
|
|||
return err;
|
||||
}
|
||||
|
||||
static ssize_t pcistub_slot_add(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
static ssize_t new_slot_store(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
{
|
||||
int domain, bus, slot, func;
|
||||
int err;
|
||||
|
|
@ -1189,10 +1189,10 @@ out:
|
|||
err = count;
|
||||
return err;
|
||||
}
|
||||
static DRIVER_ATTR(new_slot, S_IWUSR, NULL, pcistub_slot_add);
|
||||
static DRIVER_ATTR_WO(new_slot);
|
||||
|
||||
static ssize_t pcistub_slot_remove(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
static ssize_t remove_slot_store(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
{
|
||||
int domain, bus, slot, func;
|
||||
int err;
|
||||
|
|
@ -1208,9 +1208,9 @@ out:
|
|||
err = count;
|
||||
return err;
|
||||
}
|
||||
static DRIVER_ATTR(remove_slot, S_IWUSR, NULL, pcistub_slot_remove);
|
||||
static DRIVER_ATTR_WO(remove_slot);
|
||||
|
||||
static ssize_t pcistub_slot_show(struct device_driver *drv, char *buf)
|
||||
static ssize_t slots_show(struct device_driver *drv, char *buf)
|
||||
{
|
||||
struct pcistub_device_id *pci_dev_id;
|
||||
size_t count = 0;
|
||||
|
|
@ -1231,9 +1231,9 @@ static ssize_t pcistub_slot_show(struct device_driver *drv, char *buf)
|
|||
|
||||
return count;
|
||||
}
|
||||
static DRIVER_ATTR(slots, S_IRUSR, pcistub_slot_show, NULL);
|
||||
static DRIVER_ATTR_RO(slots);
|
||||
|
||||
static ssize_t pcistub_irq_handler_show(struct device_driver *drv, char *buf)
|
||||
static ssize_t irq_handlers_show(struct device_driver *drv, char *buf)
|
||||
{
|
||||
struct pcistub_device *psdev;
|
||||
struct xen_pcibk_dev_data *dev_data;
|
||||
|
|
@ -1260,11 +1260,10 @@ static ssize_t pcistub_irq_handler_show(struct device_driver *drv, char *buf)
|
|||
spin_unlock_irqrestore(&pcistub_devices_lock, flags);
|
||||
return count;
|
||||
}
|
||||
static DRIVER_ATTR(irq_handlers, S_IRUSR, pcistub_irq_handler_show, NULL);
|
||||
static DRIVER_ATTR_RO(irq_handlers);
|
||||
|
||||
static ssize_t pcistub_irq_handler_switch(struct device_driver *drv,
|
||||
const char *buf,
|
||||
size_t count)
|
||||
static ssize_t irq_handler_state_store(struct device_driver *drv,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
struct pcistub_device *psdev;
|
||||
struct xen_pcibk_dev_data *dev_data;
|
||||
|
|
@ -1301,11 +1300,10 @@ out:
|
|||
err = count;
|
||||
return err;
|
||||
}
|
||||
static DRIVER_ATTR(irq_handler_state, S_IWUSR, NULL,
|
||||
pcistub_irq_handler_switch);
|
||||
static DRIVER_ATTR_WO(irq_handler_state);
|
||||
|
||||
static ssize_t pcistub_quirk_add(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
static ssize_t quirks_store(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
{
|
||||
int domain, bus, slot, func, reg, size, mask;
|
||||
int err;
|
||||
|
|
@ -1323,7 +1321,7 @@ out:
|
|||
return err;
|
||||
}
|
||||
|
||||
static ssize_t pcistub_quirk_show(struct device_driver *drv, char *buf)
|
||||
static ssize_t quirks_show(struct device_driver *drv, char *buf)
|
||||
{
|
||||
int count = 0;
|
||||
unsigned long flags;
|
||||
|
|
@ -1366,11 +1364,10 @@ out:
|
|||
|
||||
return count;
|
||||
}
|
||||
static DRIVER_ATTR(quirks, S_IRUSR | S_IWUSR, pcistub_quirk_show,
|
||||
pcistub_quirk_add);
|
||||
static DRIVER_ATTR_RW(quirks);
|
||||
|
||||
static ssize_t permissive_add(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
static ssize_t permissive_store(struct device_driver *drv, const char *buf,
|
||||
size_t count)
|
||||
{
|
||||
int domain, bus, slot, func;
|
||||
int err;
|
||||
|
|
@ -1431,8 +1428,7 @@ static ssize_t permissive_show(struct device_driver *drv, char *buf)
|
|||
spin_unlock_irqrestore(&pcistub_devices_lock, flags);
|
||||
return count;
|
||||
}
|
||||
static DRIVER_ATTR(permissive, S_IRUSR | S_IWUSR, permissive_show,
|
||||
permissive_add);
|
||||
static DRIVER_ATTR_RW(permissive);
|
||||
|
||||
static void pcistub_exit(void)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue