Loading Documentation/ABI/testing/sysfs-devices-deferred_probe 0 → 100644 +12 −0 Original line number Diff line number Diff line What: /sys/devices/.../deferred_probe Date: August 2016 Contact: Ben Hutchings <ben.hutchings@codethink.co.uk> Description: The /sys/devices/.../deferred_probe attribute is present for all devices. If a driver detects during probing a device that a related device is not yet ready, it may defer probing of the first device. The kernel will retry probing the first device after any other device is successfully probed. This attribute reads as 1 if probing of this device is currently deferred, or 0 otherwise. arch/x86/kernel/cpu/intel_cacheinfo.c +2 −0 Original line number Diff line number Diff line Loading @@ -934,6 +934,8 @@ static int __populate_cache_leaves(unsigned int cpu) ci_leaf_init(this_leaf++, &id4_regs); __cache_cpumap_setup(cpu, idx, &id4_regs); } this_cpu_ci->cpu_map_populated = true; return 0; } Loading drivers/base/Kconfig +2 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,8 @@ config DEBUG_TEST_DRIVER_REMOVE unusable. You should say N here unless you are explicitly looking to test this functionality. source "drivers/base/test/Kconfig" config SYS_HYPERVISOR bool default n Loading drivers/base/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -24,5 +24,7 @@ obj-$(CONFIG_PINCTRL) += pinctrl.o obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o obj-$(CONFIG_GENERIC_MSI_IRQ_DOMAIN) += platform-msi.o obj-y += test/ ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG drivers/base/base.h +15 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,9 @@ extern void bus_remove_device(struct device *dev); extern int bus_add_driver(struct device_driver *drv); extern void bus_remove_driver(struct device_driver *drv); extern void device_release_driver_internal(struct device *dev, struct device_driver *drv, struct device *parent); extern void driver_detach(struct device_driver *drv); extern int driver_probe_device(struct device_driver *drv, struct device *dev); Loading Loading @@ -138,6 +141,8 @@ extern void device_unblock_probing(void); extern struct kset *devices_kset; extern void devices_kset_move_last(struct device *dev); extern struct device_attribute dev_attr_deferred_probe; #if defined(CONFIG_MODULES) && defined(CONFIG_SYSFS) extern void module_add_driver(struct module *mod, struct device_driver *drv); extern void module_remove_driver(struct device_driver *drv); Loading @@ -152,3 +157,13 @@ extern int devtmpfs_init(void); #else static inline int devtmpfs_init(void) { return 0; } #endif /* Device links support */ extern int device_links_read_lock(void); extern void device_links_read_unlock(int idx); extern int device_links_check_suppliers(struct device *dev); extern void device_links_driver_bound(struct device *dev); extern void device_links_driver_cleanup(struct device *dev); extern void device_links_no_driver(struct device *dev); extern bool device_links_busy(struct device *dev); extern void device_links_unbind_consumers(struct device *dev); Loading
Documentation/ABI/testing/sysfs-devices-deferred_probe 0 → 100644 +12 −0 Original line number Diff line number Diff line What: /sys/devices/.../deferred_probe Date: August 2016 Contact: Ben Hutchings <ben.hutchings@codethink.co.uk> Description: The /sys/devices/.../deferred_probe attribute is present for all devices. If a driver detects during probing a device that a related device is not yet ready, it may defer probing of the first device. The kernel will retry probing the first device after any other device is successfully probed. This attribute reads as 1 if probing of this device is currently deferred, or 0 otherwise.
arch/x86/kernel/cpu/intel_cacheinfo.c +2 −0 Original line number Diff line number Diff line Loading @@ -934,6 +934,8 @@ static int __populate_cache_leaves(unsigned int cpu) ci_leaf_init(this_leaf++, &id4_regs); __cache_cpumap_setup(cpu, idx, &id4_regs); } this_cpu_ci->cpu_map_populated = true; return 0; } Loading
drivers/base/Kconfig +2 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,8 @@ config DEBUG_TEST_DRIVER_REMOVE unusable. You should say N here unless you are explicitly looking to test this functionality. source "drivers/base/test/Kconfig" config SYS_HYPERVISOR bool default n Loading
drivers/base/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -24,5 +24,7 @@ obj-$(CONFIG_PINCTRL) += pinctrl.o obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o obj-$(CONFIG_GENERIC_MSI_IRQ_DOMAIN) += platform-msi.o obj-y += test/ ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG
drivers/base/base.h +15 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,9 @@ extern void bus_remove_device(struct device *dev); extern int bus_add_driver(struct device_driver *drv); extern void bus_remove_driver(struct device_driver *drv); extern void device_release_driver_internal(struct device *dev, struct device_driver *drv, struct device *parent); extern void driver_detach(struct device_driver *drv); extern int driver_probe_device(struct device_driver *drv, struct device *dev); Loading Loading @@ -138,6 +141,8 @@ extern void device_unblock_probing(void); extern struct kset *devices_kset; extern void devices_kset_move_last(struct device *dev); extern struct device_attribute dev_attr_deferred_probe; #if defined(CONFIG_MODULES) && defined(CONFIG_SYSFS) extern void module_add_driver(struct module *mod, struct device_driver *drv); extern void module_remove_driver(struct device_driver *drv); Loading @@ -152,3 +157,13 @@ extern int devtmpfs_init(void); #else static inline int devtmpfs_init(void) { return 0; } #endif /* Device links support */ extern int device_links_read_lock(void); extern void device_links_read_unlock(int idx); extern int device_links_check_suppliers(struct device *dev); extern void device_links_driver_bound(struct device *dev); extern void device_links_driver_cleanup(struct device *dev); extern void device_links_no_driver(struct device *dev); extern bool device_links_busy(struct device *dev); extern void device_links_unbind_consumers(struct device *dev);