summaryrefslogtreecommitdiff
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-27 22:41:06 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-27 22:41:06 +0300
commit33cbfe54499338af08ab906a99afac247ea533f6 (patch)
treea2af0661254396449942ca00e9f770d073d39db7 /include/linux/device.h
parentd77b3f07a1d7127f1ecaf82a95a36b8a3e8fc689 (diff)
downloadlinux-33cbfe54499338af08ab906a99afac247ea533f6.tar.xz
Revert "driver core: Add edit_links() callback for drivers"
This reverts commit 134b23eec9e3a3c795a6ceb0efe2fa63e87983b2. Based on a lot of email and in-person discussions, this patch series is being reworked to address a number of issues that were pointed out that needed to be taken care of before it should be merged. It will be resubmitted with those changes hopefully soon. Cc: Frank Rowand <frowand.list@gmail.com> Cc: Saravana Kannan <saravanak@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r--include/linux/device.h20
1 files changed, 0 insertions, 20 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 90142ec9ce84..73210745cc6b 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -349,20 +349,6 @@ enum probe_type {
* @probe_type: Type of the probe (synchronous or asynchronous) to use.
* @of_match_table: The open firmware table.
* @acpi_match_table: The ACPI match table.
- * @edit_links: Called to allow a matched driver to edit the device links the
- * bus might have added incorrectly. This will be useful to handle
- * cases where the bus incorrectly adds functional dependencies
- * that aren't true or tries to create cyclic dependencies. But
- * doesn't correctly handle functional dependencies that are
- * missed by the bus as the supplier's sync_state might get to
- * execute before the driver for a missing consumer is loaded and
- * gets to edit the device links for the consumer.
- *
- * This function might be called multiple times after a new device
- * is added. The function is expected to create all the device
- * links for the new device and return 0 if it was completed
- * successfully or return an error if it needs to be reattempted
- * in the future.
* @probe: Called to query the existence of a specific device,
* whether this driver can work with it, and bind the driver
* to a specific device.
@@ -404,7 +390,6 @@ struct device_driver {
const struct of_device_id *of_match_table;
const struct acpi_device_id *acpi_match_table;
- int (*edit_links)(struct device *dev);
int (*probe) (struct device *dev);
int (*remove) (struct device *dev);
void (*shutdown) (struct device *dev);
@@ -1240,8 +1225,6 @@ struct dev_links_info {
* @offline: Set after successful invocation of bus type's .offline().
* @of_node_reused: Set if the device-tree node is shared with an ancestor
* device.
- * @has_edit_links: This device has a driver than is capable of
- * editing the device links created by driver core.
* @dma_coherent: this particular device is dma coherent, even if the
* architecture supports non-coherent devices.
*
@@ -1338,7 +1321,6 @@ struct device {
bool offline_disabled:1;
bool offline:1;
bool of_node_reused:1;
- bool has_edit_links:1;
#if defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE) || \
defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU) || \
defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL)
@@ -1590,7 +1572,6 @@ extern int __must_check device_attach(struct device *dev);
extern int __must_check driver_attach(struct device_driver *drv);
extern void device_initial_probe(struct device *dev);
extern int __must_check device_reprobe(struct device *dev);
-extern int driver_edit_links(struct device *dev);
extern bool device_is_bound(struct device *dev);
@@ -1682,7 +1663,6 @@ struct device_link *device_link_add(struct device *consumer,
struct device *supplier, u32 flags);
void device_link_del(struct device_link *link);
void device_link_remove(void *consumer, struct device *supplier);
-void device_link_remove_from_wfs(struct device *consumer);
#ifndef dev_fmt
#define dev_fmt(fmt) fmt