[][Fix pointer type casting warning of proprietary mdio ioctl]
[Description]
Fix pointer type casting warning of proprietary mdio ioctl.
Change to use implicit type casting to avoid potential endianness
problem.
drivers/net/ethernet/mediatek/mtk_eth_dbg.c:427:7: error: passing
argument 5 of 'mii_mgr_read_cl45' from incompatible pointer type
[-Werror=incompatible-pointer-types]
&mii.val_out);
^~~~~~~~~~~~
drivers/net/ethernet/mediatek/mtk_eth_dbg.c:387:87: note: expected
'u16 *' {aka 'short unsigned int *'} but argument is of type
'unsigned int *' static void mii_mgr_read_cl45(struct mtk_eth
*eth, u16 port, u16 devad, u16 reg, u16 *data)
~~~~~^~~~
[Release-log]
N/A
Change-Id: I172b995f1279ca561acb857fa3b47683545000f1
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/4577257
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
index ab5e1f8..59e48bb 100755
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
@@ -400,6 +400,7 @@
struct mtk_eth *eth = mac->hw;
struct mtk_mii_ioctl_data mii;
struct mtk_esw_reg reg;
+ u16 val;
switch (cmd) {
case MTKETH_MII_READ:
@@ -424,7 +425,8 @@
mdio_phy_id_prtad(mii.phy_id),
mdio_phy_id_devad(mii.phy_id),
mii.reg_num,
- &mii.val_out);
+ &val);
+ mii.val_out = val;
if (copy_to_user(ifr->ifr_data, &mii, sizeof(mii)))
goto err_copy;
@@ -432,11 +434,12 @@
case MTKETH_MII_WRITE_CL45:
if (copy_from_user(&mii, ifr->ifr_data, sizeof(mii)))
goto err_copy;
+ val = mii.val_in;
mii_mgr_write_cl45(eth,
mdio_phy_id_prtad(mii.phy_id),
mdio_phy_id_devad(mii.phy_id),
mii.reg_num,
- mii.val_in);
+ val);
return 0;
case MTKETH_ESW_REG_READ:
if (!mt7530_exist(eth))