Message ID | 1557226378-10131-25-git-send-email-suzuki.poulose@arm.com |
---|---|
State | Superseded |
Headers | show |
Series | coresight: Support for ACPI bindings | expand |
On Tue, May 07, 2019 at 11:52:51AM +0100, Suzuki K Poulose wrote: > We match of_node while searching for a device. Make this > more generic in preparation for the ACPI support by using > fwnode_handle. > > Cc: Mathieu Poirier <mathieu.poirier@linaro.org> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> > --- > Change since v2: > - Drop the generic helper. It requires further clean up, > and will be dealt with a separate series. > --- > drivers/hwtracing/coresight/coresight-platform.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/drivers/hwtracing/coresight/coresight-platform.c b/drivers/hwtracing/coresight/coresight-platform.c > index 53d6eed..4394095 100644 > --- a/drivers/hwtracing/coresight/coresight-platform.c > +++ b/drivers/hwtracing/coresight/coresight-platform.c > @@ -36,14 +36,13 @@ static int coresight_alloc_conns(struct device *dev, > return 0; > } > > -#ifdef CONFIG_OF > -static int of_dev_node_match(struct device *dev, void *data) > +static int coresight_device_fwnode_match(struct device *dev, void *fwnode) > { > - return dev->of_node == data; > + return dev_fwnode(dev) == fwnode; > } > > static struct device * > -of_coresight_get_endpoint_device(struct device_node *endpoint) > +coresight_find_device_by_fwnode(struct fwnode_handle *fwnode) > { > struct device *dev = NULL; > > @@ -52,7 +51,7 @@ of_coresight_get_endpoint_device(struct device_node *endpoint) > * platform bus. > */ > dev = bus_find_device(&platform_bus_type, NULL, > - endpoint, of_dev_node_match); > + fwnode, coresight_device_fwnode_match); > if (dev) > return dev; > > @@ -61,9 +60,10 @@ of_coresight_get_endpoint_device(struct device_node *endpoint) > * looking for the device that matches the endpoint node. > */ > return bus_find_device(&amba_bustype, NULL, > - endpoint, of_dev_node_match); > + fwnode, coresight_device_fwnode_match); > } > > +#ifdef CONFIG_OF > static inline bool of_coresight_legacy_ep_is_input(struct device_node *ep) > { > return of_property_read_bool(ep, "slave-mode"); > @@ -191,6 +191,7 @@ static int of_coresight_parse_endpoint(struct device *dev, > struct device_node *rparent = NULL; > struct device_node *rep = NULL; > struct device *rdev = NULL; > + struct fwnode_handle *rdev_fwnode; > > do { > /* Parse the local port details */ > @@ -209,8 +210,9 @@ static int of_coresight_parse_endpoint(struct device *dev, > if (of_graph_parse_endpoint(rep, &rendpoint)) > break; > > + rdev_fwnode = of_fwnode_handle(rparent); > /* If the remote device is not available, defer probing */ > - rdev = of_coresight_get_endpoint_device(rparent); > + rdev = coresight_find_device_by_fwnode(rdev_fwnode); > if (!rdev) { > ret = -EPROBE_DEFER; > break; Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> > -- > 2.7.4 >
diff --git a/drivers/hwtracing/coresight/coresight-platform.c b/drivers/hwtracing/coresight/coresight-platform.c index 53d6eed..4394095 100644 --- a/drivers/hwtracing/coresight/coresight-platform.c +++ b/drivers/hwtracing/coresight/coresight-platform.c @@ -36,14 +36,13 @@ static int coresight_alloc_conns(struct device *dev, return 0; } -#ifdef CONFIG_OF -static int of_dev_node_match(struct device *dev, void *data) +static int coresight_device_fwnode_match(struct device *dev, void *fwnode) { - return dev->of_node == data; + return dev_fwnode(dev) == fwnode; } static struct device * -of_coresight_get_endpoint_device(struct device_node *endpoint) +coresight_find_device_by_fwnode(struct fwnode_handle *fwnode) { struct device *dev = NULL; @@ -52,7 +51,7 @@ of_coresight_get_endpoint_device(struct device_node *endpoint) * platform bus. */ dev = bus_find_device(&platform_bus_type, NULL, - endpoint, of_dev_node_match); + fwnode, coresight_device_fwnode_match); if (dev) return dev; @@ -61,9 +60,10 @@ of_coresight_get_endpoint_device(struct device_node *endpoint) * looking for the device that matches the endpoint node. */ return bus_find_device(&amba_bustype, NULL, - endpoint, of_dev_node_match); + fwnode, coresight_device_fwnode_match); } +#ifdef CONFIG_OF static inline bool of_coresight_legacy_ep_is_input(struct device_node *ep) { return of_property_read_bool(ep, "slave-mode"); @@ -191,6 +191,7 @@ static int of_coresight_parse_endpoint(struct device *dev, struct device_node *rparent = NULL; struct device_node *rep = NULL; struct device *rdev = NULL; + struct fwnode_handle *rdev_fwnode; do { /* Parse the local port details */ @@ -209,8 +210,9 @@ static int of_coresight_parse_endpoint(struct device *dev, if (of_graph_parse_endpoint(rep, &rendpoint)) break; + rdev_fwnode = of_fwnode_handle(rparent); /* If the remote device is not available, defer probing */ - rdev = of_coresight_get_endpoint_device(rparent); + rdev = coresight_find_device_by_fwnode(rdev_fwnode); if (!rdev) { ret = -EPROBE_DEFER; break;
We match of_node while searching for a device. Make this more generic in preparation for the ACPI support by using fwnode_handle. Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> --- Change since v2: - Drop the generic helper. It requires further clean up, and will be dealt with a separate series. --- drivers/hwtracing/coresight/coresight-platform.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) -- 2.7.4