Skip to contentSkip to conversation

.gitignore: Add generated scripts/rkimage to .gitignore

PATCH Superseded Alexander Shiyan 2 participants 5 messages Jul 14, 2023 – Jul 26, 2023

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 .gitignore: Add generated scripts/rkimage to .gitignore

---
 scripts/.gitignore | 1 +
 1 file changed, 1 insertion(+)
scripts/.gitignore +1 -0
index 3ca742ac6e..36b60ad56b 100644
@@ -32,6 +32,7 @@ omap3-usb-loader
 omap3-usb-loader-target
 rk-usb-loader
 rk-usb-loader-target
+rkimage
 mips-relocs
 rsatoc
 stm32image
Signature · 1 line
2.38.2
#1 lore raw

PATCH 1/2 i2c: Added feature to get bus number from alias

For the correct assignment of the I2C bus number, let's use an alias from the devicetree.

---
 drivers/i2c/i2c.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)
drivers/i2c/i2c.c +12 -8
index 300365bd1f..df3b968a4b 100644
@@ -701,17 +701,21 @@ int i2c_add_numbered_adapter(struct i2c_adapter *adapter)
 	int ret;
 
 	if (adapter->nr < 0) {
-		int nr;
+		if (!adapter->dev.of_node) {
+			int nr = adapter->dev.id;
 
-		for (nr = 0;; nr++)
-			if (!i2c_get_adapter(nr))
-				break;
-		adapter->nr = nr;
-	} else {
-		if (i2c_get_adapter(adapter->nr))
-			return -EBUSY;
+			for (nr = 0;; nr++)
+				if (!i2c_get_adapter(nr))
+					break;
+			adapter->nr = nr;
+		} else
+			adapter->nr =
+				of_alias_get_id(adapter->dev.of_node, "i2c");
 	}
 
+	if (i2c_get_adapter(adapter->nr))
+		return -EBUSY;
+
 	adapter->dev.id = adapter->nr;
 	dev_set_name(&adapter->dev, "i2c");
 
Signature · 1 line
2.38.2
#2 lore raw

Re: [PATCH 1/2] i2c: Added feature to get bus number from alias

Hi Alexander,

Quoted 13 lines · Alexander Shiyan

For the correct assignment of the I2C bus number, let's use an alias from the devicetree.

---
 drivers/i2c/i2c.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)
drivers/i2c/i2c.c +0 -0
index 300365bd1f..df3b968a4b 100644

drivers/i2c/i2c.c int i2c_add_numbered_adapter(struct i2c_adapter *adapter) · line 705

Quoted 6 lines
drivers/i2c/i2c.c +2 -1
@@ -701,17 +701,21 @@ int i2c_add_numbered_adapter(struct i2c_adapter *adapter)
 	int ret;
 
 	if (adapter->nr < 0) {
-		int nr;
+		if (!adapter->dev.of_node) {
+			int nr = adapter->dev.id;

nr is initialized but the initialization value is never used.

Quoted 5 lines
drivers/i2c/i2c.c +0 -4
-		for (nr = 0;; nr++)
-			if (!i2c_get_adapter(nr))
-				break;
-		adapter->nr = nr;

drivers/i2c/i2c.c int i2c_add_numbered_adapter(struct i2c_adapter *adapter) · line 713

Quoted 10 lines
drivers/i2c/i2c.c +7 -3
-	} else {
-		if (i2c_get_adapter(adapter->nr))
-			return -EBUSY;
+			for (nr = 0;; nr++)
+				if (!i2c_get_adapter(nr))
+					break;
+			adapter->nr = nr;
+		} else
+			adapter->nr =
+				of_alias_get_id(adapter->dev.of_node, "i2c");

of_alias_get_id() can return a negative error code when no alias exists. You should catch this and either error out or provide a fallback.

Sascha

Quoted 12 lines
drivers/i2c/i2c.c +3 -0
+	if (i2c_get_adapter(adapter->nr))
+		return -EBUSY;
+
 	adapter->dev.id = adapter->nr;
 	dev_set_name(&adapter->dev, "i2c");
 
Signature · 1 line
2.38.2
Signature · 4 lines
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
#3 lore raw

PATCH 1/1 mfd: rk808: Add missing RK809 chip ID to poweroff handler

In reply to Alexander Shiyan
---
 drivers/mfd/rk808.c | 1 +
 1 file changed, 1 insertion(+)
drivers/mfd/rk808.c +1 -0
index 738ba305ac..1361bb7101 100644
@@ -224,6 +224,7 @@ static void rk808_poweroff(struct poweroff_handler *handler)
 		reg = RK808_DEVCTRL_REG,
 		bit = DEV_OFF_RST;
 		break;
+	case RK809_ID:
 	case RK817_ID:
 		reg = RK817_SYS_CFG(3);
 		bit = DEV_OFF;
Signature · 1 line
2.38.2
#4 lore raw

PATCH 2/2 i2c: rockchip: Get I2C bus number from devicetree alias

In reply to Alexander Shiyan
---
 drivers/i2c/busses/i2c-rockchip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/i2c/busses/i2c-rockchip.c +1 -1
index 23bf4a55d7..e8061fe540 100644
@@ -432,7 +432,7 @@ static int rk_i2c_probe(struct device *dev)
 		return dev_err_probe(dev, PTR_ERR(i2c->clk), "Can't get bus clk\n");
 
 	i2c->adapter.master_xfer = rockchip_i2c_xfer;
-	i2c->adapter.nr = dev->id;
+	i2c->adapter.nr = -1;
 	i2c->adapter.dev.parent = dev;
 	i2c->adapter.dev.of_node = np;
 
Signature · 1 line
2.38.2