2021-05-21 20:20:26

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/1] 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: Andy Shevchenko <[email protected]>
---
drivers/usb/phy/phy-isp1301.c | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)

diff --git a/drivers/usb/phy/phy-isp1301.c b/drivers/usb/phy/phy-isp1301.c
index 6cf6fbd39237..ad3d57f1c273 100644
--- a/drivers/usb/phy/phy-isp1301.c
+++ b/drivers/usb/phy/phy-isp1301.c
@@ -142,24 +142,17 @@ 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 */
- return isp1301_i2c_client;
- }
+ 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);

--
2.30.2


2021-06-03 14:36:29

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] usb: phy: isp1301: Deduplicate of_find_i2c_device_by_node()

Andy Shevchenko <[email protected]> writes:

> 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: Andy Shevchenko <[email protected]>

Acked-by: Felipe Balbi <[email protected]>

--
balbi


Attachments:
signature.asc (521.00 B)