linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Match data improvements for rt1711h driver
@ 2023-08-31 16:04 Biju Das
  2023-08-31 16:04 ` [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table Biju Das
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Biju Das @ 2023-08-31 16:04 UTC (permalink / raw)
  To: Guenter Roeck, Heikki Krogerus
  Cc: Biju Das, Greg Kroah-Hartman, linux-usb, linux-kernel,
	Andy Shevchenko

This patch series extend support for retrieving match data for ID lookup
by using i2c_get_match_data().

The first patch fixes the driver_data for ID table and second patch
convert enum->pointer for constification of data and extending match data
support for ID table. The third and fourth patches replaces comparison of
did against hardware differences with data and feature variable. The last
patch drop CONFIG_OF ifdeffery.

This patch series is only compile tested.

v1->v2:
 * Drop space from ID table
 * Remove trailing comma in the terminator entry for OF table.
 * Updated commit description for patch#2.
 * Swapped the rxdz_sel variable in struct rt1711h_chip_info to avoid
   holes.
 * Changed enable_pd30_extended_message variable type to bool.
 * Added patch for dropping CONFIG_OF ifdeffery for OF table.

Biju Das (5):
  usb: typec: tcpci_rt1711h: Make similar OF and ID table
  usb: typec: tcpci_rt1711h: Convert enum->pointer for data in the match
    tables
  usb: typec: tcpci_rt1711h: Add rxdz_sel variable to struct
    rt1711h_chip_info
  usb: typec: tcpci_rt1711h: Add enable_pd30_extended_message variable
    to struct rt1711h_chip_info
  usb: typec: tcpci_rt1711h: Drop CONFIG_OF ifdeffery

 drivers/usb/typec/tcpm/tcpci_rt1711h.c | 46 ++++++++++++++++----------
 1 file changed, 29 insertions(+), 17 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table
  2023-08-31 16:04 [PATCH v2 0/5] Match data improvements for rt1711h driver Biju Das
@ 2023-08-31 16:04 ` Biju Das
  2023-08-31 16:18   ` Andy Shevchenko
  2023-09-04  8:34   ` Heikki Krogerus
  2023-08-31 16:04 ` [PATCH v2 2/5] usb: typec: tcpci_rt1711h: Convert enum->pointer for data in the match tables Biju Das
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 11+ messages in thread
From: Biju Das @ 2023-08-31 16:04 UTC (permalink / raw)
  To: Guenter Roeck, Heikki Krogerus
  Cc: Biju Das, Greg Kroah-Hartman, linux-usb, linux-kernel,
	Andy Shevchenko

Make similar OF and ID table to extend support for ID match
using i2c_match_data() later. Currently it works only for OF match
tables as the driver_data is wrong for ID match.

While at it, drop a space from the terminator braces for ID table and
remove trailing comma in the terminator entry for OF table.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Drop space from ID table
 * Remove trailing comma in the terminator entry for OF table.
---
 drivers/usb/typec/tcpm/tcpci_rt1711h.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
index 17ebc5fb684f..5ed3d0864431 100644
--- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
+++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
@@ -392,9 +392,9 @@ static void rt1711h_remove(struct i2c_client *client)
 }
 
 static const struct i2c_device_id rt1711h_id[] = {
-	{ "rt1711h", 0 },
-	{ "rt1715", 0 },
-	{ }
+	{ "rt1711h", RT1711H_DID },
+	{ "rt1715", RT1715_DID },
+	{}
 };
 MODULE_DEVICE_TABLE(i2c, rt1711h_id);
 
@@ -402,7 +402,7 @@ MODULE_DEVICE_TABLE(i2c, rt1711h_id);
 static const struct of_device_id rt1711h_of_match[] = {
 	{ .compatible = "richtek,rt1711h", .data = (void *)RT1711H_DID },
 	{ .compatible = "richtek,rt1715", .data = (void *)RT1715_DID },
-	{},
+	{}
 };
 MODULE_DEVICE_TABLE(of, rt1711h_of_match);
 #endif
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 2/5] usb: typec: tcpci_rt1711h: Convert enum->pointer for data in the match tables
  2023-08-31 16:04 [PATCH v2 0/5] Match data improvements for rt1711h driver Biju Das
  2023-08-31 16:04 ` [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table Biju Das
@ 2023-08-31 16:04 ` Biju Das
  2023-08-31 16:04 ` [PATCH v2 3/5] usb: typec: tcpci_rt1711h: Add rxdz_sel variable to struct rt1711h_chip_info Biju Das
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Biju Das @ 2023-08-31 16:04 UTC (permalink / raw)
  To: Guenter Roeck, Heikki Krogerus
  Cc: Biju Das, Greg Kroah-Hartman, linux-usb, linux-kernel,
	Andy Shevchenko

Currently did varaible is used for HW differences between the devices which
complicates the code by adding checks.

Therefore it is better to convert enum->pointer for data match and extend
match support for both ID and OF tables by using i2c_get_match_data().

Add struct rt1711h_chip_info with did variable and replace did->info in
struct rt1711h_chip. Later patch will add more hw differences to
struct rt1711h_chip_info and avoid checking did for HW differences.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Updated commit description.
---
 drivers/usb/typec/tcpm/tcpci_rt1711h.c | 30 ++++++++++++++++++--------
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
index 5ed3d0864431..2b7258d3cb4e 100644
--- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
+++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
@@ -51,13 +51,17 @@
 /* 1b0 as fixed rx threshold of rd/rp 0.55V, 1b1 depends on RTCRTL4[0] */
 #define BMCIO_RXDZEN	BIT(0)
 
+struct rt1711h_chip_info {
+	u16 did;
+};
+
 struct rt1711h_chip {
 	struct tcpci_data data;
 	struct tcpci *tcpci;
 	struct device *dev;
 	struct regulator *vbus;
+	const struct rt1711h_chip_info *info;
 	bool src_en;
-	u16 did;
 };
 
 static int rt1711h_read16(struct rt1711h_chip *chip, unsigned int reg, u16 *val)
@@ -105,7 +109,7 @@ static int rt1711h_init(struct tcpci *tcpci, struct tcpci_data *tdata)
 		return ret;
 
 	/* Enable PD30 extended message for RT1715 */
-	if (chip->did == RT1715_DID) {
+	if (chip->info->did == RT1715_DID) {
 		ret = regmap_update_bits(regmap, RT1711H_RTCTRL8,
 					 RT1711H_ENEXTMSG, RT1711H_ENEXTMSG);
 		if (ret < 0)
@@ -200,7 +204,7 @@ static inline int rt1711h_init_cc_params(struct rt1711h_chip *chip, u8 status)
 	if ((cc1 >= TYPEC_CC_RP_1_5 && cc2 < TYPEC_CC_RP_DEF) ||
 	    (cc2 >= TYPEC_CC_RP_1_5 && cc1 < TYPEC_CC_RP_DEF)) {
 		rxdz_en = BMCIO_RXDZEN;
-		if (chip->did == RT1715_DID)
+		if (chip->info->did == RT1715_DID)
 			rxdz_sel = RT1711H_BMCIO_RXDZSEL;
 		else
 			rxdz_sel = 0;
@@ -319,7 +323,7 @@ static int rt1711h_check_revision(struct i2c_client *i2c, struct rt1711h_chip *c
 	ret = i2c_smbus_read_word_data(i2c, TCPC_BCD_DEV);
 	if (ret < 0)
 		return ret;
-	if (ret != chip->did) {
+	if (ret != chip->info->did) {
 		dev_err(&i2c->dev, "did is not correct, 0x%04x\n", ret);
 		return -ENODEV;
 	}
@@ -336,7 +340,7 @@ static int rt1711h_probe(struct i2c_client *client)
 	if (!chip)
 		return -ENOMEM;
 
-	chip->did = (size_t)device_get_match_data(&client->dev);
+	chip->info = i2c_get_match_data(client);
 
 	ret = rt1711h_check_revision(client, chip);
 	if (ret < 0) {
@@ -391,17 +395,25 @@ static void rt1711h_remove(struct i2c_client *client)
 	tcpci_unregister_port(chip->tcpci);
 }
 
+static const struct rt1711h_chip_info rt1711h = {
+	.did = RT1711H_DID,
+};
+
+static const struct rt1711h_chip_info rt1715 = {
+	.did = RT1715_DID,
+};
+
 static const struct i2c_device_id rt1711h_id[] = {
-	{ "rt1711h", RT1711H_DID },
-	{ "rt1715", RT1715_DID },
+	{ "rt1711h", (kernel_ulong_t)&rt1711h },
+	{ "rt1715", (kernel_ulong_t)&rt1715 },
 	{}
 };
 MODULE_DEVICE_TABLE(i2c, rt1711h_id);
 
 #ifdef CONFIG_OF
 static const struct of_device_id rt1711h_of_match[] = {
-	{ .compatible = "richtek,rt1711h", .data = (void *)RT1711H_DID },
-	{ .compatible = "richtek,rt1715", .data = (void *)RT1715_DID },
+	{ .compatible = "richtek,rt1711h", .data = &rt1711h },
+	{ .compatible = "richtek,rt1715", .data = &rt1715 },
 	{}
 };
 MODULE_DEVICE_TABLE(of, rt1711h_of_match);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 3/5] usb: typec: tcpci_rt1711h: Add rxdz_sel variable to struct rt1711h_chip_info
  2023-08-31 16:04 [PATCH v2 0/5] Match data improvements for rt1711h driver Biju Das
  2023-08-31 16:04 ` [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table Biju Das
  2023-08-31 16:04 ` [PATCH v2 2/5] usb: typec: tcpci_rt1711h: Convert enum->pointer for data in the match tables Biju Das
@ 2023-08-31 16:04 ` Biju Das
  2023-08-31 16:05 ` [PATCH v2 4/5] usb: typec: tcpci_rt1711h: Add enable_pd30_extended_message " Biju Das
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: Biju Das @ 2023-08-31 16:04 UTC (permalink / raw)
  To: Guenter Roeck, Heikki Krogerus
  Cc: Biju Das, Greg Kroah-Hartman, linux-usb, linux-kernel,
	Andy Shevchenko

The RT1715 needs 0.35V/0.75V rx threshold for rd/rp whereas it is 0.4V/0.7V
for RT1711H. Add rxdz_sel variable to struct rt1711h_chip_info for
handling this difference.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Swapped the rxdz_sel variable in struct rt1711h_chip_info to avoid
   holes.
---
 drivers/usb/typec/tcpm/tcpci_rt1711h.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
index 2b7258d3cb4e..40822bae9ae8 100644
--- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
+++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
@@ -52,6 +52,7 @@
 #define BMCIO_RXDZEN	BIT(0)
 
 struct rt1711h_chip_info {
+	u32 rxdz_sel;
 	u16 did;
 };
 
@@ -204,10 +205,7 @@ static inline int rt1711h_init_cc_params(struct rt1711h_chip *chip, u8 status)
 	if ((cc1 >= TYPEC_CC_RP_1_5 && cc2 < TYPEC_CC_RP_DEF) ||
 	    (cc2 >= TYPEC_CC_RP_1_5 && cc1 < TYPEC_CC_RP_DEF)) {
 		rxdz_en = BMCIO_RXDZEN;
-		if (chip->info->did == RT1715_DID)
-			rxdz_sel = RT1711H_BMCIO_RXDZSEL;
-		else
-			rxdz_sel = 0;
+		rxdz_sel = chip->info->rxdz_sel;
 	} else {
 		rxdz_en = 0;
 		rxdz_sel = RT1711H_BMCIO_RXDZSEL;
@@ -400,6 +398,7 @@ static const struct rt1711h_chip_info rt1711h = {
 };
 
 static const struct rt1711h_chip_info rt1715 = {
+	.rxdz_sel = RT1711H_BMCIO_RXDZSEL,
 	.did = RT1715_DID,
 };
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 4/5] usb: typec: tcpci_rt1711h: Add enable_pd30_extended_message variable to struct rt1711h_chip_info
  2023-08-31 16:04 [PATCH v2 0/5] Match data improvements for rt1711h driver Biju Das
                   ` (2 preceding siblings ...)
  2023-08-31 16:04 ` [PATCH v2 3/5] usb: typec: tcpci_rt1711h: Add rxdz_sel variable to struct rt1711h_chip_info Biju Das
@ 2023-08-31 16:05 ` Biju Das
  2023-08-31 16:05 ` [PATCH v2 5/5] usb: typec: tcpci_rt1711h: Drop CONFIG_OF ifdeffery Biju Das
  2023-08-31 16:21 ` [PATCH v2 0/5] Match data improvements for rt1711h driver Andy Shevchenko
  5 siblings, 0 replies; 11+ messages in thread
From: Biju Das @ 2023-08-31 16:05 UTC (permalink / raw)
  To: Guenter Roeck, Heikki Krogerus
  Cc: Biju Das, Greg Kroah-Hartman, linux-usb, linux-kernel,
	Andy Shevchenko

The RT1715 has PD30 extended message compared to RT1711H. Add a variable
enable_pd30_extended_message to struct rt1711h_chip_info to enable this
feature for RT1715.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v1->v2:
 * Changed enable_pd30_extended_message variable type to bool.
---
 drivers/usb/typec/tcpm/tcpci_rt1711h.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
index 40822bae9ae8..5d2dc7ead9d0 100644
--- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
+++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
@@ -54,6 +54,7 @@
 struct rt1711h_chip_info {
 	u32 rxdz_sel;
 	u16 did;
+	bool enable_pd30_extended_message;
 };
 
 struct rt1711h_chip {
@@ -110,7 +111,7 @@ static int rt1711h_init(struct tcpci *tcpci, struct tcpci_data *tdata)
 		return ret;
 
 	/* Enable PD30 extended message for RT1715 */
-	if (chip->info->did == RT1715_DID) {
+	if (chip->info->enable_pd30_extended_message) {
 		ret = regmap_update_bits(regmap, RT1711H_RTCTRL8,
 					 RT1711H_ENEXTMSG, RT1711H_ENEXTMSG);
 		if (ret < 0)
@@ -400,6 +401,7 @@ static const struct rt1711h_chip_info rt1711h = {
 static const struct rt1711h_chip_info rt1715 = {
 	.rxdz_sel = RT1711H_BMCIO_RXDZSEL,
 	.did = RT1715_DID,
+	.enable_pd30_extended_message = true,
 };
 
 static const struct i2c_device_id rt1711h_id[] = {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 5/5] usb: typec: tcpci_rt1711h: Drop CONFIG_OF ifdeffery
  2023-08-31 16:04 [PATCH v2 0/5] Match data improvements for rt1711h driver Biju Das
                   ` (3 preceding siblings ...)
  2023-08-31 16:05 ` [PATCH v2 4/5] usb: typec: tcpci_rt1711h: Add enable_pd30_extended_message " Biju Das
@ 2023-08-31 16:05 ` Biju Das
  2023-08-31 16:20   ` Andy Shevchenko
  2023-08-31 16:21 ` [PATCH v2 0/5] Match data improvements for rt1711h driver Andy Shevchenko
  5 siblings, 1 reply; 11+ messages in thread
From: Biju Das @ 2023-08-31 16:05 UTC (permalink / raw)
  To: Guenter Roeck, Heikki Krogerus
  Cc: Biju Das, Greg Kroah-Hartman, linux-usb, linux-kernel,
	Andy Shevchenko

Drop of_match_ptr() from rt1711h_of_match and get rid of ugly CONFIG_OF
ifdeffery. This slightly increases the size of rt1711h_of_match on non-OF
system and shouldn't be an issue.

Add mod_devicetable.h include.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v2:
 * New patch
---
 drivers/usb/typec/tcpm/tcpci_rt1711h.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
index 5d2dc7ead9d0..67422d45eb54 100644
--- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
+++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
@@ -7,6 +7,7 @@
 
 #include <linux/bits.h>
 #include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/i2c.h>
 #include <linux/interrupt.h>
@@ -411,19 +412,17 @@ static const struct i2c_device_id rt1711h_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, rt1711h_id);
 
-#ifdef CONFIG_OF
 static const struct of_device_id rt1711h_of_match[] = {
 	{ .compatible = "richtek,rt1711h", .data = &rt1711h },
 	{ .compatible = "richtek,rt1715", .data = &rt1715 },
 	{}
 };
 MODULE_DEVICE_TABLE(of, rt1711h_of_match);
-#endif
 
 static struct i2c_driver rt1711h_i2c_driver = {
 	.driver = {
 		.name = "rt1711h",
-		.of_match_table = of_match_ptr(rt1711h_of_match),
+		.of_match_table = rt1711h_of_match,
 	},
 	.probe = rt1711h_probe,
 	.remove = rt1711h_remove,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table
  2023-08-31 16:04 ` [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table Biju Das
@ 2023-08-31 16:18   ` Andy Shevchenko
  2023-08-31 16:22     ` Biju Das
  2023-09-04  8:34   ` Heikki Krogerus
  1 sibling, 1 reply; 11+ messages in thread
From: Andy Shevchenko @ 2023-08-31 16:18 UTC (permalink / raw)
  To: Biju Das
  Cc: Guenter Roeck, Heikki Krogerus, Greg Kroah-Hartman, linux-usb,
	linux-kernel

On Thu, Aug 31, 2023 at 05:04:57PM +0100, Biju Das wrote:
> Make similar OF and ID table to extend support for ID match
> using i2c_match_data() later. Currently it works only for OF match
> tables as the driver_data is wrong for ID match.

> While at it, drop a space from the terminator braces for ID table and
> remove trailing comma in the terminator entry for OF table.

Just as simple as:

While at it, drop a space and remove trailing comma in the terminator entry
for OF table.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 5/5] usb: typec: tcpci_rt1711h: Drop CONFIG_OF ifdeffery
  2023-08-31 16:05 ` [PATCH v2 5/5] usb: typec: tcpci_rt1711h: Drop CONFIG_OF ifdeffery Biju Das
@ 2023-08-31 16:20   ` Andy Shevchenko
  0 siblings, 0 replies; 11+ messages in thread
From: Andy Shevchenko @ 2023-08-31 16:20 UTC (permalink / raw)
  To: Biju Das
  Cc: Guenter Roeck, Heikki Krogerus, Greg Kroah-Hartman, linux-usb,
	linux-kernel

On Thu, Aug 31, 2023 at 05:05:01PM +0100, Biju Das wrote:
> Drop of_match_ptr() from rt1711h_of_match and get rid of ugly CONFIG_OF
> ifdeffery. This slightly increases the size of rt1711h_of_match on non-OF
> system and shouldn't be an issue.
> 
> Add mod_devicetable.h include.

It also allows, in case if needed, to enumerate this device via ACPI with
PRP0001 magic.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 0/5] Match data improvements for rt1711h driver
  2023-08-31 16:04 [PATCH v2 0/5] Match data improvements for rt1711h driver Biju Das
                   ` (4 preceding siblings ...)
  2023-08-31 16:05 ` [PATCH v2 5/5] usb: typec: tcpci_rt1711h: Drop CONFIG_OF ifdeffery Biju Das
@ 2023-08-31 16:21 ` Andy Shevchenko
  5 siblings, 0 replies; 11+ messages in thread
From: Andy Shevchenko @ 2023-08-31 16:21 UTC (permalink / raw)
  To: Biju Das
  Cc: Guenter Roeck, Heikki Krogerus, Greg Kroah-Hartman, linux-usb,
	linux-kernel

On Thu, Aug 31, 2023 at 05:04:56PM +0100, Biju Das wrote:
> This patch series extend support for retrieving match data for ID lookup
> by using i2c_get_match_data().
> 
> The first patch fixes the driver_data for ID table and second patch
> convert enum->pointer for constification of data and extending match data
> support for ID table. The third and fourth patches replaces comparison of
> did against hardware differences with data and feature variable. The last
> patch drop CONFIG_OF ifdeffery.
> 
> This patch series is only compile tested.

FWIW, with the cosmetic changes it's fine,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table
  2023-08-31 16:18   ` Andy Shevchenko
@ 2023-08-31 16:22     ` Biju Das
  0 siblings, 0 replies; 11+ messages in thread
From: Biju Das @ 2023-08-31 16:22 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Guenter Roeck, Heikki Krogerus, Greg Kroah-Hartman,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org

> Subject: Re: [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and
> ID table
> 
> On Thu, Aug 31, 2023 at 05:04:57PM +0100, Biju Das wrote:
> > Make similar OF and ID table to extend support for ID match using
> > i2c_match_data() later. Currently it works only for OF match tables as
> > the driver_data is wrong for ID match.
> 
> > While at it, drop a space from the terminator braces for ID table and
> > remove trailing comma in the terminator entry for OF table.
> 
> Just as simple as:
> 
> While at it, drop a space and remove trailing comma in the terminator entry
> for OF table.

Basically changes done on both OF/ID table.

Drop a space from ID table.
Remove trailing comma in the terminator entry for OF table.

Cheers,
Biju


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table
  2023-08-31 16:04 ` [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table Biju Das
  2023-08-31 16:18   ` Andy Shevchenko
@ 2023-09-04  8:34   ` Heikki Krogerus
  1 sibling, 0 replies; 11+ messages in thread
From: Heikki Krogerus @ 2023-09-04  8:34 UTC (permalink / raw)
  To: Biju Das
  Cc: Guenter Roeck, Greg Kroah-Hartman, linux-usb, linux-kernel,
	Andy Shevchenko

On Thu, Aug 31, 2023 at 05:04:57PM +0100, Biju Das wrote:
> Make similar OF and ID table to extend support for ID match
> using i2c_match_data() later. Currently it works only for OF match
> tables as the driver_data is wrong for ID match.
> 
> While at it, drop a space from the terminator braces for ID table and
> remove trailing comma in the terminator entry for OF table.
> 
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> v1->v2:
>  * Drop space from ID table
>  * Remove trailing comma in the terminator entry for OF table.
> ---
>  drivers/usb/typec/tcpm/tcpci_rt1711h.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/typec/tcpm/tcpci_rt1711h.c b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
> index 17ebc5fb684f..5ed3d0864431 100644
> --- a/drivers/usb/typec/tcpm/tcpci_rt1711h.c
> +++ b/drivers/usb/typec/tcpm/tcpci_rt1711h.c
> @@ -392,9 +392,9 @@ static void rt1711h_remove(struct i2c_client *client)
>  }
>  
>  static const struct i2c_device_id rt1711h_id[] = {
> -	{ "rt1711h", 0 },
> -	{ "rt1715", 0 },
> -	{ }
> +	{ "rt1711h", RT1711H_DID },
> +	{ "rt1715", RT1715_DID },
> +	{}

This is too confusing and messy. Don't assign those RT1711H_DID in
this patch at all - you are not using the I2C driver data anywhere
yet, and in next patch where you start using it, you replace those
assignments with an actual driver data structure that then contain the
values (that did memeber). So there is not point in using the driver
data here at all.

Just make this patch a cleanup patch where you remove the commas, and
deal with those RT1715_DID in the next patch just like you already do.

>  };
>  MODULE_DEVICE_TABLE(i2c, rt1711h_id);
>  
> @@ -402,7 +402,7 @@ MODULE_DEVICE_TABLE(i2c, rt1711h_id);
>  static const struct of_device_id rt1711h_of_match[] = {
>  	{ .compatible = "richtek,rt1711h", .data = (void *)RT1711H_DID },
>  	{ .compatible = "richtek,rt1715", .data = (void *)RT1715_DID },
> -	{},
> +	{}
>  };
>  MODULE_DEVICE_TABLE(of, rt1711h_of_match);
>  #endif

thanks,

-- 
heikki

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-09-04  8:34 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-31 16:04 [PATCH v2 0/5] Match data improvements for rt1711h driver Biju Das
2023-08-31 16:04 ` [PATCH v2 1/5] usb: typec: tcpci_rt1711h: Make similar OF and ID table Biju Das
2023-08-31 16:18   ` Andy Shevchenko
2023-08-31 16:22     ` Biju Das
2023-09-04  8:34   ` Heikki Krogerus
2023-08-31 16:04 ` [PATCH v2 2/5] usb: typec: tcpci_rt1711h: Convert enum->pointer for data in the match tables Biju Das
2023-08-31 16:04 ` [PATCH v2 3/5] usb: typec: tcpci_rt1711h: Add rxdz_sel variable to struct rt1711h_chip_info Biju Das
2023-08-31 16:05 ` [PATCH v2 4/5] usb: typec: tcpci_rt1711h: Add enable_pd30_extended_message " Biju Das
2023-08-31 16:05 ` [PATCH v2 5/5] usb: typec: tcpci_rt1711h: Drop CONFIG_OF ifdeffery Biju Das
2023-08-31 16:20   ` Andy Shevchenko
2023-08-31 16:21 ` [PATCH v2 0/5] Match data improvements for rt1711h driver Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).