From b1e661e7db61c1e1234f3b637de7d72964eb25a5 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Thu, 30 Apr 2020 21:58:03 +0800 Subject: [PATCH] sama5/sam_tsd: Fix error: 'ret' may be used uninitialized Signed-off-by: Xiang Xiao --- arch/arm/src/sama5/sam_tsd.c | 49 +++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/arch/arm/src/sama5/sam_tsd.c b/arch/arm/src/sama5/sam_tsd.c index fa96185d49..b012898317 100644 --- a/arch/arm/src/sama5/sam_tsd.c +++ b/arch/arm/src/sama5/sam_tsd.c @@ -196,7 +196,8 @@ struct sam_tsd_s /* Interrupt bottom half logic and data sampling */ static void sam_tsd_notify(struct sam_tsd_s *priv); -static int sam_tsd_sample(struct sam_tsd_s *priv, struct sam_sample_s *sample); +static int sam_tsd_sample(struct sam_tsd_s *priv, + struct sam_sample_s *sample); static int sam_tsd_waitsample(struct sam_tsd_s *priv, struct sam_sample_s *sample); static void sam_tsd_bottomhalf(void *arg); @@ -259,17 +260,17 @@ static void sam_tsd_notify(struct sam_tsd_s *priv) if (priv->nwaiters > 0) { - /* After posting this semaphore, we need to exit because the touchscreen - * is no longer available. + /* After posting this semaphore, we need to exit because the + * touchscreen is no longer available. */ nxsem_post(&priv->waitsem); } - /* If there are threads waiting on poll() for touchscreen data to become available, - * then wake them up now. NOTE: we wake up all waiting threads because we - * do not know that they are going to do. If they all try to read the data, - * then some make end up blocking after all. + /* If there are threads waiting on poll() for touchscreen data to become + * available, then wake them up now. NOTE: we wake up all waiting threads + * because we do not know that they are going to do. If they all try to + * read the data, then some make end up blocking after all. */ for (i = 0; i < CONFIG_SAMA5_TSD_NPOLLWAITERS; i++) @@ -288,7 +289,8 @@ static void sam_tsd_notify(struct sam_tsd_s *priv) * Name: sam_tsd_sample ****************************************************************************/ -static int sam_tsd_sample(struct sam_tsd_s *priv, struct sam_sample_s *sample) +static int sam_tsd_sample(struct sam_tsd_s *priv, + struct sam_sample_s *sample) { irqstate_t flags; int ret = -EAGAIN; @@ -341,10 +343,11 @@ static int sam_tsd_sample(struct sam_tsd_s *priv, struct sam_sample_s *sample) * Name: sam_tsd_waitsample ****************************************************************************/ -static int sam_tsd_waitsample(struct sam_tsd_s *priv, struct sam_sample_s *sample) +static int sam_tsd_waitsample(struct sam_tsd_s *priv, + struct sam_sample_s *sample) { irqstate_t flags; - int ret; + int ret = 0; /* Interrupts me be disabled when this is called to (1) prevent posting * of semaphores from interrupt handlers, and (2) to prevent sampled data @@ -387,7 +390,7 @@ static int sam_tsd_waitsample(struct sam_tsd_s *priv, struct sam_sample_s *sampl iinfo("Sampled\n"); /* Re-acquire the semaphore that manages mutually exclusive access to - * the device structure. We may have to wait here. But we have our sample. + * the device structure. We may have to wait here. But we have our sample. * Interrupts and pre-emption will be re-enabled while we wait. */ @@ -420,7 +423,7 @@ errout: * * Input Parameters: * priv - The touchscreen private data structure - * tsav - The new (shifted) value of the TSAV field of the ADC TSMR register. + * tsav - The new (shifted) value of the TSAV field of ADC TSMR register * * Returned Value: * None @@ -476,9 +479,9 @@ static void sam_tsd_setaverage(struct sam_tsd_s *priv, uint32_t tsav) * Description: * This function executes on the worker thread. It is scheduled by * sam_tsd_interrupt whenever any interesting, enabled TSD event occurs. - * All TSD interrupts are disabled when this function runs. sam_tsd_bottomhalf - * will re-enable TSD interrupts when it completes processing all pending - * TSD events. + * All TSD interrupts are disabled when this function runs. + * sam_tsd_bottomhalf will re-enable TSD interrupts when it completes + * processing all pending TSD events. * * Input Parameters: * arg - The touchscreen private data structure cast to (void *) @@ -540,8 +543,8 @@ static void sam_tsd_bottomhalf(void *arg) ier = ADC_INT_PEN; - /* Ignore the interrupt if the pen was already up (CONTACT_NONE == pen up - * and already reported; CONTACT_UP == pen up, but not reported) + /* Ignore the interrupt if the pen was already up (CONTACT_NONE == pen + * up and already reported; CONTACT_UP == pen up, but not reported) */ if (priv->sample.contact == CONTACT_NONE || @@ -570,8 +573,8 @@ static void sam_tsd_bottomhalf(void *arg) } /* It is a pen down event. If the last loss-of-contact event has not been - * processed yet, then we have to ignore the pen down event (or else it will - * look like a drag event) + * processed yet, then we have to ignore the pen down event (or else it + * will look like a drag event) */ else if (priv->sample.contact == CONTACT_UP) @@ -590,7 +593,7 @@ static void sam_tsd_bottomhalf(void *arg) } else { - /* The pen is down and the driver has accepted the last sample values. */ + /* The pen is down and the driver accepted the last sample values. */ /* While the pen is down we want interrupts on all data ready and pen * release events. @@ -779,9 +782,9 @@ static int sam_tsd_schedule(struct sam_tsd_s *priv) sam_adc_putreg(priv->adc, SAM_ADC_IDR, ADC_TSD_ALLINTS); - /* Transfer processing to the worker thread. Since touchscreen ADC interrupts are - * disabled while the work is pending, no special action should be required - * to protected the work queue. + /* Transfer processing to the worker thread. Since touchscreen ADC + * interrupts are disabled while the work is pending, no special action + * should be required to protected the work queue. */ DEBUGASSERT(priv->work.worker == NULL);