summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-12-31 13:02:30 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-12-31 13:02:30 -0600
commite34fce45aef18a5dfadc5c76ee18649abedd6026 (patch)
tree59caea298c17a8b1642d5bd794a304f52ebc2fa9
parent78dbcb3debf28d9a87455f9a6c552ed35efb63a9 (diff)
downloadpx4-nuttx-e34fce45aef18a5dfadc5c76ee18649abedd6026.tar.gz
px4-nuttx-e34fce45aef18a5dfadc5c76ee18649abedd6026.tar.bz2
px4-nuttx-e34fce45aef18a5dfadc5c76ee18649abedd6026.zip
Minor corrections to Ethernet driver skeleton
-rw-r--r--nuttx/drivers/net/skeleton.c52
1 files changed, 25 insertions, 27 deletions
diff --git a/nuttx/drivers/net/skeleton.c b/nuttx/drivers/net/skeleton.c
index 33fbacb5b..7febcb52b 100644
--- a/nuttx/drivers/net/skeleton.c
+++ b/nuttx/drivers/net/skeleton.c
@@ -56,7 +56,7 @@
#include <nuttx/net/arp.h>
#include <nuttx/net/netdev.h>
-#ifndef CONFIG_NET_NOINTS
+#ifdef CONFIG_NET_NOINTS
# include <nuttx/wqueue.h>
#endif
@@ -141,17 +141,17 @@ static int skel_interrupt(int irq, FAR void *context);
/* Watchdog timer expirations */
-static inline void skel_poll_process(FAR struct skel_driver_s *skel);
+static inline void skel_txtimeout_process(FAR struct skel_driver_s *skel);
#ifdef CONFIG_NET_NOINTS
-static void skel_poll_work(FAR void *arg);
+static void skel_txtimeout_work(FAR void *arg);
#endif
-static void skel_polltimer(int argc, uint32_t arg, ...);
+static void skel_txtimeout_expiry(int argc, uint32_t arg, ...);
-static inline void skel_txtimeout_process(FAR struct skel_driver_s *skel);
+static inline void skel_poll_process(FAR struct skel_driver_s *skel);
#ifdef CONFIG_NET_NOINTS
-static void skel_txtimeout_work(FAR void *arg);
+static void skel_poll_work(FAR void *arg);
#endif
-static void skel_txtimeout(int argc, uint32_t arg, ...);
+static void skel_poll_expiry(int argc, uint32_t arg, ...);
/* NuttX callback functions */
@@ -202,7 +202,7 @@ static int skel_transmit(FAR struct skel_driver_s *skel)
/* Setup the TX timeout watchdog (perhaps restarting the timer) */
- (void)wd_start(skel->sk_txtimeout, skeleton_TXTIMEOUT, skel_txtimeout, 1, (uint32_t)skel);
+ (void)wd_start(skel->sk_txtimeout, skeleton_TXTIMEOUT, skel_txtimeout_expiry, 1, (uint32_t)skel);
return OK;
}
@@ -410,7 +410,7 @@ static inline void skel_interrupt_process(FAR struct skel_driver_s *skel)
#ifdef CONFIG_NET_NOINTS
static void skel_interrupt_work(FAR void *arg)
{
- FAR struct skel_driver_s *skel = ( FAR struct skel_driver_s *)arg;
+ FAR struct skel_driver_s *skel = (FAR struct skel_driver_s *)arg;
/* Process pending Ethernet interrupts */
@@ -460,7 +460,7 @@ static int skel_interrupt(int irq, FAR void *context)
/* Cancel any pending poll work */
- work_cancel(HPWORK, skel->sk_work);
+ work_cancel(HPWORK, &skel->sk_work);
/* Schedule to perform the interrupt processing on the worker thread. */
@@ -480,7 +480,7 @@ static int skel_interrupt(int irq, FAR void *context)
*
* Description:
* Process a TX timeout. Called from the either the watchdog timer
- * expiration logic or from the worker thread, depeding upon the
+ * expiration logic or from the worker thread, depending upon the
* configuration. The timeout means that the last TX never completed.
* Reset the hardware and start again.
*
@@ -526,16 +526,16 @@ static inline void skel_txtimeout_process(FAR struct skel_driver_s *skel)
#ifdef CONFIG_NET_NOINTS
static void skel_txtimeout_work(FAR void *arg)
{
- FAR struct skel_driver_s *skel = ( FAR struct skel_driver_s *)arg;
+ FAR struct skel_driver_s *skel = (FAR struct skel_driver_s *)arg;
/* Process pending Ethernet interrupts */
- skel_txtimetout_process(skel);
+ skel_txtimeout_process(skel);
}
#endif
/****************************************************************************
- * Function: skel_txtimeout
+ * Function: skel_txtimeout_expiry
*
* Description:
* Our TX watchdog timed out. Called from the timer interrupt handler.
@@ -553,7 +553,7 @@ static void skel_txtimeout_work(FAR void *arg)
*
****************************************************************************/
-static void skel_txtimeout(int argc, uint32_t arg, ...)
+static void skel_txtimeout_expiry(int argc, uint32_t arg, ...)
{
FAR struct skel_driver_s *skel = (FAR struct skel_driver_s *)arg;
@@ -563,11 +563,11 @@ static void skel_txtimeout(int argc, uint32_t arg, ...)
* condition with interrupt work that is already queued and in progress.
*/
- /* Cancel any pending poll or interrupt work. This will have not effect
+ /* Cancel any pending poll or interrupt work. This will have no effect
* on work that has already been started.
*/
- work_cancel(HPWORK, skel->sk_work);
+ work_cancel(HPWORK, &skel->sk_work);
/* Schedule to perform the TX timeout processing on the worker thread.
* TODO: Assure that no there is not pending interrupt or poll work.
@@ -575,7 +575,7 @@ static void skel_txtimeout(int argc, uint32_t arg, ...)
work_queue(HPWORK, &skel->sk_work, skel_txtimeout_work, skel, 0);
#else
- /* Process the interrupt now */
+ /* Process the timeout now */
skel_txtimeout_process(skel);
#endif
@@ -613,7 +613,7 @@ static inline void skel_poll_process(FAR struct skel_driver_s *skel)
/* Setup the watchdog poll timer again */
- (void)wd_start(skel->sk_txpoll, skeleton_WDDELAY, skel_polltimer, 1, arg);
+ (void)wd_start(skel->sk_txpoll, skeleton_WDDELAY, skel_poll_expiry, 1, skel);
}
/****************************************************************************
@@ -636,7 +636,7 @@ static inline void skel_poll_process(FAR struct skel_driver_s *skel)
#ifdef CONFIG_NET_NOINTS
static void skel_poll_work(FAR void *arg)
{
- FAR struct skel_driver_s *skel = ( FAR struct skel_driver_s *)arg;
+ FAR struct skel_driver_s *skel = (FAR struct skel_driver_s *)arg;
/* Perform the poll */
@@ -645,7 +645,7 @@ static void skel_poll_work(FAR void *arg)
#endif
/****************************************************************************
- * Function: skel_polltimer
+ * Function: skel_poll_expiry
*
* Description:
* Periodic timer handler. Called from the timer interrupt handler.
@@ -662,7 +662,7 @@ static void skel_poll_work(FAR void *arg)
*
****************************************************************************/
-static void skel_polltimer(int argc, uint32_t arg, ...)
+static void skel_poll_expiry(int argc, uint32_t arg, ...)
{
FAR struct skel_driver_s *skel = (FAR struct skel_driver_s *)arg;
@@ -671,7 +671,7 @@ static void skel_polltimer(int argc, uint32_t arg, ...)
* pending interrupt actions.
*/
- if (work_available(&skel->sk_work)
+ if (work_available(&skel->sk_work))
{
/* Schedule to perform the interrupt processing on the worker thread.
* TODO: Make sure that there can be no pending interrupt work.
@@ -685,7 +685,7 @@ static void skel_polltimer(int argc, uint32_t arg, ...)
* cycle.
*/
- (void)wd_start(skel->sk_txpoll, skeleton_WDDELAY, skel_polltimer, 1, arg);
+ (void)wd_start(skel->sk_txpoll, skeleton_WDDELAY, skel_poll_expiry, 1, arg);
}
#else
@@ -693,8 +693,6 @@ static void skel_polltimer(int argc, uint32_t arg, ...)
skel_poll_process(skel);
#endif
-
- return OK;
}
/****************************************************************************
@@ -726,7 +724,7 @@ static int skel_ifup(struct net_driver_s *dev)
/* Set and activate a timer process */
- (void)wd_start(skel->sk_txpoll, skeleton_WDDELAY, skel_polltimer, 1, (uint32_t)skel);
+ (void)wd_start(skel->sk_txpoll, skeleton_WDDELAY, skel_poll_expiry, 1, (uint32_t)skel);
/* Enable the Ethernet interrupt */