From bdd66ea6c70f684b851c4596a21fe661c11c0211 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 15 Apr 2017 08:53:42 -0600 Subject: [PATCH 1/2] 6loWPAN: Add some checks for the case where there are multiple network devices and multiple link layer protocols. --- net/sixlowpan/sixlowpan_send.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/net/sixlowpan/sixlowpan_send.c b/net/sixlowpan/sixlowpan_send.c index 8338a41347..1dd8f86c66 100644 --- a/net/sixlowpan/sixlowpan_send.c +++ b/net/sixlowpan/sixlowpan_send.c @@ -161,7 +161,24 @@ static uint16_t send_interrupt(FAR struct net_driver_s *dev, ninfo("flags: %04x: %d\n", flags); - /* Check if the IEEE802.15.4 went down */ +#ifdef CONFIG_NET_MULTILINK + /* Verify that this is an IEEE802.15.4 network driver. */ + + if (dev->d_lltype != NET_LL_IEEE802154) + { + return flags; + } +#endif + +#ifdef CONFIG_NET_MULTINIC + /* REVISIT: Verify that this is the correct IEEE802.15.4 network driver to + * route the outgoing frame(s). Chances are that there is only one + * IEEE802.15.4 network driver + */ + +#endif + + /* Check if the IEEE802.15.4 network driver went down */ if ((flags & NETDEV_DOWN) != 0) { From 78bc1aa6bc5a1f916f7773896b8c968146f8f0b2 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 15 Apr 2017 09:33:27 -0600 Subject: [PATCH 2/2] Argument of network device IOCTL should be unsigned long, just as will all other IOCTL methods. --- arch/arm/src/kinetis/kinetis_enet.c | 20 +++++++++++--------- arch/arm/src/lpc43xx/lpc43_ethernet.c | 22 ++++++++++++++-------- arch/arm/src/sam34/sam_emac.c | 4 ++-- arch/arm/src/sama5/sam_emaca.c | 4 ++-- arch/arm/src/sama5/sam_emacb.c | 4 ++-- arch/arm/src/sama5/sam_gmac.c | 4 ++-- arch/arm/src/samv7/sam_emac.c | 4 ++-- arch/arm/src/stm32/stm32_eth.c | 22 ++++++++++++++-------- arch/arm/src/stm32f7/stm32_ethernet.c | 23 +++++++++++++---------- arch/arm/src/tiva/tm4c_ethernet.c | 20 +++++++++++++------- drivers/net/skeleton.c | 18 +++++++++++------- include/nuttx/net/netdev.h | 3 ++- net/netdev/netdev_ioctl.c | 6 +++--- 13 files changed, 91 insertions(+), 63 deletions(-) diff --git a/arch/arm/src/kinetis/kinetis_enet.c b/arch/arm/src/kinetis/kinetis_enet.c index 694b155734..37910fc9b9 100644 --- a/arch/arm/src/kinetis/kinetis_enet.c +++ b/arch/arm/src/kinetis/kinetis_enet.c @@ -297,28 +297,30 @@ static void kinetis_polltimer_expiry(int argc, uint32_t arg, ...); /* NuttX callback functions */ -static int kinetis_ifup(struct net_driver_s *dev); -static int kinetis_ifdown(struct net_driver_s *dev); +static int kinetis_ifup(struct net_driver_s *dev); +static int kinetis_ifdown(struct net_driver_s *dev); static void kinetis_txavail_work(FAR void *arg); -static int kinetis_txavail(struct net_driver_s *dev); +static int kinetis_txavail(struct net_driver_s *dev); #ifdef CONFIG_NET_IGMP -static int kinetis_addmac(struct net_driver_s *dev, FAR const uint8_t *mac); -static int kinetis_rmmac(struct net_driver_s *dev, FAR const uint8_t *mac); +static int kinetis_addmac(struct net_driver_s *dev, + FAR const uint8_t *mac); +static int kinetis_rmmac(struct net_driver_s *dev, FAR const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int kinetis_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int kinetis_ioctl(struct net_driver_s *dev, int cmd, + unsigned long arg); #endif /* PHY/MII support */ static inline void kinetis_initmii(struct kinetis_driver_s *priv); static int kinetis_writemii(struct kinetis_driver_s *priv, uint8_t phyaddr, - uint8_t regaddr, uint16_t data); + uint8_t regaddr, uint16_t data); static int kinetis_readmii(struct kinetis_driver_s *priv, uint8_t phyaddr, - uint8_t regaddr, uint16_t *data); + uint8_t regaddr, uint16_t *data); static inline int kinetis_initphy(struct kinetis_driver_s *priv); /* Initialization */ @@ -1447,7 +1449,7 @@ static int kinetis_rmmac(struct net_driver_s *dev, FAR const uint8_t *mac) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int kinetis_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int kinetis_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { int ret; FAR struct kinetis_driver_s *priv = diff --git a/arch/arm/src/lpc43xx/lpc43_ethernet.c b/arch/arm/src/lpc43xx/lpc43_ethernet.c index 1aeca91d89..171f20ee74 100644 --- a/arch/arm/src/lpc43xx/lpc43_ethernet.c +++ b/arch/arm/src/lpc43xx/lpc43_ethernet.c @@ -572,7 +572,8 @@ static void lpc43_checksetup(void); static void lpc43_initbuffer(FAR struct lpc43_ethmac_s *priv); static inline uint8_t *lpc43_allocbuffer(FAR struct lpc43_ethmac_s *priv); -static inline void lpc43_freebuffer(FAR struct lpc43_ethmac_s *priv, uint8_t *buffer); +static inline void lpc43_freebuffer(FAR struct lpc43_ethmac_s *priv, + uint8_t *buffer); static inline bool lpc43_isfreebuffer(FAR struct lpc43_ethmac_s *priv); /* Common TX logic */ @@ -583,11 +584,13 @@ static void lpc43_dopoll(FAR struct lpc43_ethmac_s *priv); /* Interrupt handling */ -static void lpc43_enableint(FAR struct lpc43_ethmac_s *priv, uint32_t ierbit); -static void lpc43_disableint(FAR struct lpc43_ethmac_s *priv, uint32_t ierbit); +static void lpc43_enableint(FAR struct lpc43_ethmac_s *priv, + uint32_t ierbit); +static void lpc43_disableint(FAR struct lpc43_ethmac_s *priv, + uint32_t ierbit); static void lpc43_freesegment(FAR struct lpc43_ethmac_s *priv, - FAR struct eth_rxdesc_s *rxfirst, int segments); + FAR struct eth_rxdesc_s *rxfirst, int segments); static int lpc43_recvframe(FAR struct lpc43_ethmac_s *priv); static void lpc43_receive(FAR struct lpc43_ethmac_s *priv); static void lpc43_freeframe(FAR struct lpc43_ethmac_s *priv); @@ -619,7 +622,8 @@ static int lpc43_addmac(struct net_driver_s *dev, FAR const uint8_t *mac); static int lpc43_rmmac(struct net_driver_s *dev, FAR const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int lpc43_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int lpc43_ioctl(struct net_driver_s *dev, int cmd, + unsigned long arg); #endif /* Descriptor Initialization */ @@ -630,8 +634,10 @@ static void lpc43_rxdescinit(FAR struct lpc43_ethmac_s *priv); #if defined(CONFIG_NETDEV_PHY_IOCTL) && defined(CONFIG_ARCH_PHY_INTERRUPT) static int lpc43_phyintenable(FAR struct lpc43_ethmac_s *priv); #endif -static int lpc43_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value); -static int lpc43_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value); +static int lpc43_phyread(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t *value); +static int lpc43_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t value); #ifdef CONFIG_ETH0_PHY_DM9161 static inline int lpc43_dm9161(FAR struct lpc43_ethmac_s *priv); #endif @@ -2739,7 +2745,7 @@ static void lpc43_rxdescinit(FAR struct lpc43_ethmac_s *priv) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int lpc43_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int lpc43_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { #ifdef CONFIG_ARCH_PHY_INTERRUPT FAR struct lpc43_ethmac_s *priv = (FAR struct lpc43_ethmac_s *)dev->d_private; diff --git a/arch/arm/src/sam34/sam_emac.c b/arch/arm/src/sam34/sam_emac.c index c5db8c01a4..f1db43f0ca 100644 --- a/arch/arm/src/sam34/sam_emac.c +++ b/arch/arm/src/sam34/sam_emac.c @@ -409,7 +409,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg); #endif /* PHY Initialization */ @@ -2310,7 +2310,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { struct sam_emac_s *priv = (struct sam_emac_s *)dev->d_private; int ret; diff --git a/arch/arm/src/sama5/sam_emaca.c b/arch/arm/src/sama5/sam_emaca.c index 92e18b160a..09cba2280f 100644 --- a/arch/arm/src/sama5/sam_emaca.c +++ b/arch/arm/src/sama5/sam_emaca.c @@ -414,7 +414,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg); #endif /* PHY Initialization */ @@ -2346,7 +2346,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { struct sam_emac_s *priv = (struct sam_emac_s *)dev->d_private; int ret; diff --git a/arch/arm/src/sama5/sam_emacb.c b/arch/arm/src/sama5/sam_emacb.c index 3fd2f903fb..10c120cc47 100644 --- a/arch/arm/src/sama5/sam_emacb.c +++ b/arch/arm/src/sama5/sam_emacb.c @@ -508,7 +508,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg); #endif /* PHY Initialization */ @@ -2713,7 +2713,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { struct sam_emac_s *priv = (struct sam_emac_s *)dev->d_private; int ret; diff --git a/arch/arm/src/sama5/sam_gmac.c b/arch/arm/src/sama5/sam_gmac.c index a3d296b349..0988f8aedb 100644 --- a/arch/arm/src/sama5/sam_gmac.c +++ b/arch/arm/src/sama5/sam_gmac.c @@ -339,7 +339,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg); #endif /* PHY Initialization */ @@ -2301,7 +2301,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { struct sam_gmac_s *priv = (struct sam_gmac_s *)dev->d_private; int ret; diff --git a/arch/arm/src/samv7/sam_emac.c b/arch/arm/src/samv7/sam_emac.c index 8905ee5554..4432570c78 100644 --- a/arch/arm/src/samv7/sam_emac.c +++ b/arch/arm/src/samv7/sam_emac.c @@ -610,7 +610,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg); #endif /* PHY Initialization */ @@ -3164,7 +3164,7 @@ static int sam_rmmac(struct net_driver_s *dev, const uint8_t *mac) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int sam_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int sam_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { struct sam_emac_s *priv = (struct sam_emac_s *)dev->d_private; int ret; diff --git a/arch/arm/src/stm32/stm32_eth.c b/arch/arm/src/stm32/stm32_eth.c index b17077fd54..0b1bbd247c 100644 --- a/arch/arm/src/stm32/stm32_eth.c +++ b/arch/arm/src/stm32/stm32_eth.c @@ -635,7 +635,8 @@ static void stm32_checksetup(void); static void stm32_initbuffer(FAR struct stm32_ethmac_s *priv); static inline uint8_t *stm32_allocbuffer(FAR struct stm32_ethmac_s *priv); -static inline void stm32_freebuffer(FAR struct stm32_ethmac_s *priv, uint8_t *buffer); +static inline void stm32_freebuffer(FAR struct stm32_ethmac_s *priv, + uint8_t *buffer); static inline bool stm32_isfreebuffer(FAR struct stm32_ethmac_s *priv); /* Common TX logic */ @@ -646,11 +647,13 @@ static void stm32_dopoll(FAR struct stm32_ethmac_s *priv); /* Interrupt handling */ -static void stm32_enableint(FAR struct stm32_ethmac_s *priv, uint32_t ierbit); -static void stm32_disableint(FAR struct stm32_ethmac_s *priv, uint32_t ierbit); +static void stm32_enableint(FAR struct stm32_ethmac_s *priv, + uint32_t ierbit); +static void stm32_disableint(FAR struct stm32_ethmac_s *priv, + uint32_t ierbit); static void stm32_freesegment(FAR struct stm32_ethmac_s *priv, - FAR struct eth_rxdesc_s *rxfirst, int segments); + FAR struct eth_rxdesc_s *rxfirst, int segments); static int stm32_recvframe(FAR struct stm32_ethmac_s *priv); static void stm32_receive(FAR struct stm32_ethmac_s *priv); static void stm32_freeframe(FAR struct stm32_ethmac_s *priv); @@ -682,7 +685,8 @@ static int stm32_addmac(struct net_driver_s *dev, FAR const uint8_t *mac); static int stm32_rmmac(struct net_driver_s *dev, FAR const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int stm32_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int stm32_ioctl(struct net_driver_s *dev, int cmd, + unsigned long arg); #endif /* Descriptor Initialization */ @@ -697,9 +701,11 @@ static int stm32_phyintenable(FAR struct stm32_ethmac_s *priv); #endif #if defined(CONFIG_STM32_AUTONEG) || defined(CONFIG_NETDEV_PHY_IOCTL) || \ defined(CONFIG_ETH0_PHY_DM9161) -static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value); +static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t *value); #endif -static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value); +static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t value); #ifdef CONFIG_ETH0_PHY_DM9161 static inline int stm32_dm9161(FAR struct stm32_ethmac_s *priv); #endif @@ -2805,7 +2811,7 @@ static void stm32_rxdescinit(FAR struct stm32_ethmac_s *priv) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int stm32_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int stm32_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { #ifdef CONFIG_ARCH_PHY_INTERRUPT FAR struct stm32_ethmac_s *priv = (FAR struct stm32_ethmac_s *)dev->d_private; diff --git a/arch/arm/src/stm32f7/stm32_ethernet.c b/arch/arm/src/stm32f7/stm32_ethernet.c index 961b21bf26..0885c086cd 100644 --- a/arch/arm/src/stm32f7/stm32_ethernet.c +++ b/arch/arm/src/stm32f7/stm32_ethernet.c @@ -678,9 +678,10 @@ static void stm32_checksetup(void); /* Free buffer management */ static void stm32_initbuffer(struct stm32_ethmac_s *priv, - uint8_t *txbuffer); + uint8_t *txbuffer); static inline uint8_t *stm32_allocbuffer(struct stm32_ethmac_s *priv); -static inline void stm32_freebuffer(struct stm32_ethmac_s *priv, uint8_t *buffer); +static inline void stm32_freebuffer(struct stm32_ethmac_s *priv, + uint8_t *buffer); static inline bool stm32_isfreebuffer(struct stm32_ethmac_s *priv); /* Common TX logic */ @@ -695,7 +696,7 @@ static void stm32_enableint(struct stm32_ethmac_s *priv, uint32_t ierbit); static void stm32_disableint(struct stm32_ethmac_s *priv, uint32_t ierbit); static void stm32_freesegment(struct stm32_ethmac_s *priv, - struct eth_rxdesc_s *rxfirst, int segments); + struct eth_rxdesc_s *rxfirst, int segments); static int stm32_recvframe(struct stm32_ethmac_s *priv); static void stm32_receive(struct stm32_ethmac_s *priv); static void stm32_freeframe(struct stm32_ethmac_s *priv); @@ -727,24 +728,26 @@ static int stm32_addmac(struct net_driver_s *dev, const uint8_t *mac); static int stm32_rmmac(struct net_driver_s *dev, const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int stm32_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int stm32_ioctl(struct net_driver_s *dev, int cmd, + unsigned long arg); #endif /* Descriptor Initialization */ static void stm32_txdescinit(struct stm32_ethmac_s *priv, - union stm32_txdesc_u *txtable); + union stm32_txdesc_u *txtable); static void stm32_rxdescinit(struct stm32_ethmac_s *priv, - union stm32_rxdesc_u *rxtable, - uint8_t *rxbuffer); + union stm32_rxdesc_u *rxtable, uint8_t *rxbuffer); /* PHY Initialization */ #if defined(CONFIG_NETDEV_PHY_IOCTL) && defined(CONFIG_ARCH_PHY_INTERRUPT) static int stm32_phyintenable(struct stm32_ethmac_s *priv); #endif -static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value); -static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value); +static int stm32_phyread(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t *value); +static int stm32_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t value); #ifdef CONFIG_ETH0_PHY_DM9161 static inline int stm32_dm9161(struct stm32_ethmac_s *priv); #endif @@ -2938,7 +2941,7 @@ static void stm32_rxdescinit(struct stm32_ethmac_s *priv, ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int stm32_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int stm32_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { #ifdef CONFIG_ARCH_PHY_INTERRUPT struct stm32_ethmac_s *priv = (struct stm32_ethmac_s *)dev->d_private; diff --git a/arch/arm/src/tiva/tm4c_ethernet.c b/arch/arm/src/tiva/tm4c_ethernet.c index f6c6870f4c..cf0661d36e 100644 --- a/arch/arm/src/tiva/tm4c_ethernet.c +++ b/arch/arm/src/tiva/tm4c_ethernet.c @@ -685,7 +685,8 @@ static void tiva_checksetup(void); static void tiva_initbuffer(FAR struct tiva_ethmac_s *priv); static inline uint8_t *tiva_allocbuffer(FAR struct tiva_ethmac_s *priv); -static inline void tiva_freebuffer(FAR struct tiva_ethmac_s *priv, uint8_t *buffer); +static inline void tiva_freebuffer(FAR struct tiva_ethmac_s *priv, + uint8_t *buffer); static inline bool tiva_isfreebuffer(FAR struct tiva_ethmac_s *priv); /* Common TX logic */ @@ -697,10 +698,11 @@ static void tiva_dopoll(FAR struct tiva_ethmac_s *priv); /* Interrupt handling */ static void tiva_enableint(FAR struct tiva_ethmac_s *priv, uint32_t ierbit); -static void tiva_disableint(FAR struct tiva_ethmac_s *priv, uint32_t ierbit); +static void tiva_disableint(FAR struct tiva_ethmac_s *priv, + uint32_t ierbit); static void tiva_freesegment(FAR struct tiva_ethmac_s *priv, - FAR struct emac_rxdesc_s *rxfirst, int segments); + FAR struct emac_rxdesc_s *rxfirst, int segments); static int tiva_recvframe(FAR struct tiva_ethmac_s *priv); static void tiva_receive(FAR struct tiva_ethmac_s *priv); static void tiva_freeframe(FAR struct tiva_ethmac_s *priv); @@ -732,7 +734,8 @@ static int tiva_addmac(struct net_driver_s *dev, FAR const uint8_t *mac); static int tiva_rmmac(struct net_driver_s *dev, FAR const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_PHY_IOCTL -static int tiva_ioctl(struct net_driver_s *dev, int cmd, long arg); +static int tiva_ioctl(struct net_driver_s *dev, int cmd, + unsigned long arg); #endif /* Descriptor Initialization */ @@ -745,8 +748,10 @@ static void tiva_rxdescinit(FAR struct tiva_ethmac_s *priv); #ifdef CONFIG_TIVA_PHY_INTERRUPTS static void tiva_phy_intenable(bool enable); #endif -static int tiva_phyread(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t *value); -static int tiva_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, uint16_t value); +static int tiva_phyread(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t *value); +static int tiva_phywrite(uint16_t phydevaddr, uint16_t phyregaddr, + uint16_t value); static int tiva_phyinit(FAR struct tiva_ethmac_s *priv); /* MAC/DMA Initialization */ @@ -766,6 +771,7 @@ static int tive_emac_configure(FAR struct tiva_ethmac_s *priv); /**************************************************************************** * Private Functions ****************************************************************************/ + /**************************************************************************** * Name: tiva_getreg * @@ -2855,7 +2861,7 @@ static void tiva_rxdescinit(FAR struct tiva_ethmac_s *priv) ****************************************************************************/ #ifdef CONFIG_NETDEV_PHY_IOCTL -static int tiva_ioctl(struct net_driver_s *dev, int cmd, long arg) +static int tiva_ioctl(struct net_driver_s *dev, int cmd, unsigned long arg) { int ret; diff --git a/drivers/net/skeleton.c b/drivers/net/skeleton.c index 94380212f6..77f1aea82d 100644 --- a/drivers/net/skeleton.c +++ b/drivers/net/skeleton.c @@ -175,23 +175,26 @@ static void skel_poll_expiry(int argc, wdparm_t arg, ...); /* NuttX callback functions */ -static int skel_ifup(FAR struct net_driver_s *dev); -static int skel_ifdown(FAR struct net_driver_s *dev); +static int skel_ifup(FAR struct net_driver_s *dev); +static int skel_ifdown(FAR struct net_driver_s *dev); static void skel_txavail_work(FAR void *arg); -static int skel_txavail(FAR struct net_driver_s *dev); +static int skel_txavail(FAR struct net_driver_s *dev); #if defined(CONFIG_NET_IGMP) || defined(CONFIG_NET_ICMPv6) -static int skel_addmac(FAR struct net_driver_s *dev, FAR const uint8_t *mac); +static int skel_addmac(FAR struct net_driver_s *dev, + FAR const uint8_t *mac); #ifdef CONFIG_NET_IGMP -static int skel_rmmac(FAR struct net_driver_s *dev, FAR const uint8_t *mac); +static int skel_rmmac(FAR struct net_driver_s *dev, + FAR const uint8_t *mac); #endif #ifdef CONFIG_NET_ICMPv6 static void skel_ipv6multicast(FAR struct skel_driver_s *priv); #endif #endif #ifdef CONFIG_NETDEV_IOCTL -static int skel_ioctl(FAR struct net_driver_s *dev, int cmd, long arg); +static int skel_ioctl(FAR struct net_driver_s *dev, int cmd, + unsigned long arg); #endif /**************************************************************************** @@ -1095,7 +1098,8 @@ static void skel_ipv6multicast(FAR struct skel_driver_s *priv) ****************************************************************************/ #ifdef CONFIG_NETDEV_IOCTL -static int skel_ioctl(FAR struct net_driver_s *dev, int cmd, long arg) +static int skel_ioctl(FAR struct net_driver_s *dev, int cmd, + unsigned long arg) { FAR struct skel_driver_s *priv = (FAR struct skel_driver_s *)dev->d_private; int ret; diff --git a/include/nuttx/net/netdev.h b/include/nuttx/net/netdev.h index 12b71840d7..844117ee79 100644 --- a/include/nuttx/net/netdev.h +++ b/include/nuttx/net/netdev.h @@ -331,7 +331,8 @@ struct net_driver_s int (*d_rmmac)(FAR struct net_driver_s *dev, FAR const uint8_t *mac); #endif #ifdef CONFIG_NETDEV_IOCTL - int (*d_ioctl)(FAR struct net_driver_s *dev, int cmd, long arg); + int (*d_ioctl)(FAR struct net_driver_s *dev, int cmd, + unsigned long arg); #endif /* Drivers may attached device-specific, private information */ diff --git a/net/netdev/netdev_ioctl.c b/net/netdev/netdev_ioctl.c index 1a845774fc..8abe8aaf18 100644 --- a/net/netdev/netdev_ioctl.c +++ b/net/netdev/netdev_ioctl.c @@ -385,7 +385,7 @@ static int netdev_wifrioctl(FAR struct socket *psock, int cmd, { /* Just forward the IOCTL to the wireless driver */ - ret = dev->d_ioctl(dev, cmd, ((long)(uintptr_t)req)); + ret = dev->d_ioctl(dev, cmd, ((unsigned long)(uintptr_t)req)); } } @@ -827,7 +827,7 @@ static int netdev_ifrioctl(FAR struct socket *psock, int cmd, if (dev && dev->d_ioctl) { struct mii_iotcl_notify_s *notify = &req->ifr_ifru.ifru_mii_notify; - ret = dev->d_ioctl(dev, cmd, ((long)(uintptr_t)notify)); + ret = dev->d_ioctl(dev, cmd, ((unsigned long)(uintptr_t)notify)); } } break; @@ -841,7 +841,7 @@ static int netdev_ifrioctl(FAR struct socket *psock, int cmd, if (dev && dev->d_ioctl) { struct mii_ioctl_data_s *mii_data = &req->ifr_ifru.ifru_mii_data; - ret = dev->d_ioctl(dev, cmd, ((long)(uintptr_t)mii_data)); + ret = dev->d_ioctl(dev, cmd, ((unsigned long)(uintptr_t)mii_data)); } } break;