diff mbox series

[net,v4] net: txgbe: fix i2c dev name cannot match clkdev

Message ID 20240321054742.446481-1-duanqiangwen@net-swift.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series [net,v4] net: txgbe: fix i2c dev name cannot match clkdev | expand

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag present in non-next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 939 this patch: 939
netdev/build_tools success No tools touched, skip
netdev/cc_maintainers fail 1 blamed authors not CCed: michal.kubiak@intel.com; 1 maintainers not CCed: michal.kubiak@intel.com
netdev/build_clang success Errors and warnings before: 956 this patch: 956
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 956 this patch: 956
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 26 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/contest success net-next-2024-03-21--15-00 (tests: 909)

Commit Message

Duanqiang Wen March 21, 2024, 5:47 a.m. UTC
txgbe clkdev shortened clk_name, so i2c_dev info_name
also need to shorten. Otherwise, i2c_dev cannot initialize
clock. And had "i2c_dw" string in a define.

Fixes: e30cef001da2 ("net: txgbe: fix clk_name exceed MAX_DEV_ID limits")
Signed-off-by: Duanqiang Wen <duanqiangwen@net-swift.com>
---
 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c  | 6 +++---
 drivers/net/ethernet/wangxun/txgbe/txgbe_type.h | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

Comments

Jiri Pirko March 21, 2024, 10:55 a.m. UTC | #1
Thu, Mar 21, 2024 at 06:47:42AM CET, duanqiangwen@net-swift.com wrote:
>txgbe clkdev shortened clk_name, so i2c_dev info_name
>also need to shorten. Otherwise, i2c_dev cannot initialize
>clock. And had "i2c_dw" string in a define.
>
>Fixes: e30cef001da2 ("net: txgbe: fix clk_name exceed MAX_DEV_ID limits")
>Signed-off-by: Duanqiang Wen <duanqiangwen@net-swift.com>

As Jakub asked you, could you please take a break and read
https://www.kernel.org/doc/html/next/process/maintainer-netdev.html
?
Thanks!
Florian Fainelli March 21, 2024, 1:06 p.m. UTC | #2
On 3/20/2024 10:47 PM, Duanqiang Wen wrote:
> txgbe clkdev shortened clk_name, so i2c_dev info_name
> also need to shorten. Otherwise, i2c_dev cannot initialize
> clock. And had "i2c_dw" string in a define.
> 
> Fixes: e30cef001da2 ("net: txgbe: fix clk_name exceed MAX_DEV_ID limits")
> Signed-off-by: Duanqiang Wen <duanqiangwen@net-swift.com>

When Jiri suggested to use a define, I did not read it as meaning a 
define local within the driver, but rather a define that would span 
beyond you driver that would match what is expected to be used by 
drivers/i2c/busses/i2c-designware-pcidrv.c.

As a matter of fact, there are quite a few drivers that expect to use 
this driver name:

git grep i2c_designware *
drivers/i2c/busses/i2c-designware-pcidrv.c:MODULE_ALIAS("i2c_designware-pci");
drivers/i2c/busses/i2c-designware-platdrv.c:MODULE_ALIAS("platform:i2c_designware");
drivers/i2c/busses/i2c-designware-platdrv.c:            .name   = 
"i2c_designware",
drivers/mfd/intel-lpss.c:       .name = "i2c_designware",
drivers/mfd/intel_quark_i2c_gpio.c:#define 
INTEL_QUARK_I2C_CONTROLLER_CLK "i2c_designware.0"
drivers/mfd/intel_quark_i2c_gpio.c:             .name = "i2c_designware",
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c: snprintf(clk_name, 
sizeof(clk_name), "i2c_designware.%d",
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c: info.name = 
"i2c_designware";

so they should all be covered by using a define under 
include/linux/i2c-designware.h.

--
Florian
diff mbox series

Patch

diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
index 5b5d5e4310d1..3f61f161f1ed 100644
--- a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
+++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
@@ -571,8 +571,8 @@  static int txgbe_clock_register(struct txgbe *txgbe)
 	char clk_name[32];
 	struct clk *clk;
 
-	snprintf(clk_name, sizeof(clk_name), "i2c_dw.%d",
-		 pci_dev_id(pdev));
+	snprintf(clk_name, sizeof(clk_name), "%s.%d",
+		 TXGBE_I2C_CLK_DEV_NAME, pci_dev_id(pdev));
 
 	clk = clk_register_fixed_rate(NULL, clk_name, NULL, 0, 156250000);
 	if (IS_ERR(clk))
@@ -634,7 +634,7 @@  static int txgbe_i2c_register(struct txgbe *txgbe)
 
 	info.parent = &pdev->dev;
 	info.fwnode = software_node_fwnode(txgbe->nodes.group[SWNODE_I2C]);
-	info.name = "i2c_designware";
+	info.name = TXGBE_I2C_CLK_DEV_NAME;
 	info.id = pci_dev_id(pdev);
 
 	info.res = &DEFINE_RES_IRQ(pdev->irq);
diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h b/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h
index 1b4ff50d5857..de33313c475f 100644
--- a/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h
+++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h
@@ -129,6 +129,8 @@ 
 
 #define TXGBE_MAX_EITR        GENMASK(11, 3)
 
+#define TXGBE_I2C_CLK_DEV_NAME "i2c_dw"
+
 extern char txgbe_driver_name[];
 
 void txgbe_down(struct wx *wx);