Commit ca82c067 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

usb: phy: isp1301: Deduplicate of_find_i2c_device_by_node()



The driver is using open-coded variant of of_find_i2c_device_by_node().
Replace it by the actual call to the above mentioned API.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210521145243.87911-1-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 08377263
Loading
Loading
Loading
Loading
+9 −16
Original line number Diff line number Diff line
@@ -142,25 +142,18 @@ static struct i2c_driver isp1301_driver = {

module_i2c_driver(isp1301_driver);

static int match(struct device *dev, const void *data)
{
	const struct device_node *node = (const struct device_node *)data;
	return (dev->of_node == node) &&
		(dev->driver == &isp1301_driver.driver);
}

struct i2c_client *isp1301_get_client(struct device_node *node)
{
	if (node) { /* reference of ISP1301 I2C node via DT */
		struct device *dev = bus_find_device(&i2c_bus_type, NULL,
						     node, match);
		if (!dev)
			return NULL;
		return to_i2c_client(dev);
	} else { /* non-DT: only one ISP1301 chip supported */
	struct i2c_client *client;

	/* reference of ISP1301 I2C node via DT */
	client = of_find_i2c_device_by_node(node);
	if (client)
		return client;

	/* non-DT: only one ISP1301 chip supported */
	return isp1301_i2c_client;
}
}
EXPORT_SYMBOL_GPL(isp1301_get_client);

MODULE_AUTHOR("Roland Stigge <stigge@antcom.de>");