Fix compilation errors with floating point is enabled and field widths are disabled (I don't know why you would do that, but the code was wrong)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4562 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
b0a280e6e0
commit
a374630bf3
@ -2763,6 +2763,8 @@ static void stm32_ep0configure(FAR struct stm32_usbdev_s *priv)
|
||||
static int stm32_epdisable(FAR struct usbdev_ep_s *ep)
|
||||
{
|
||||
FAR struct stm32_ep_s *privep = (FAR struct stm32_ep_s *)ep;
|
||||
uint32_t regaddr;
|
||||
uint32_t regval;
|
||||
irqstate_t flags;
|
||||
|
||||
#ifdef CONFIG_DEBUG
|
||||
@ -2774,20 +2776,39 @@ static int stm32_epdisable(FAR struct usbdev_ep_s *ep)
|
||||
#endif
|
||||
usbtrace(TRACE_EPDISABLE, privep->epphy);
|
||||
|
||||
/* Is this an IN or an OUT endpoint */
|
||||
|
||||
flags = irqsave();
|
||||
|
||||
/* Disable Endpoint */
|
||||
|
||||
if (privep->isin)
|
||||
{
|
||||
#warning "Missing logic"
|
||||
/* Deactivate the endpoint */
|
||||
|
||||
regaddr = STM32_OTGFS_DIEPCTL(privep->epphy);
|
||||
regval = stm32_getreg(regaddr);
|
||||
regval &= ~OTGFS_DIEPCTL0_USBAEP;
|
||||
stm32_putreg(regval, regaddr);
|
||||
|
||||
/* Disable endpoint interrupts */
|
||||
|
||||
regval = stm32_getreg(STM32_OTGFS_DAINTMSK);
|
||||
regval &= ~OTGFS_DAINT_IEP(privep->epphy);
|
||||
stm32_putreg(regval, STM32_OTGFS_DAINTMSK);
|
||||
}
|
||||
else
|
||||
{
|
||||
#warning "Missing logic"
|
||||
}
|
||||
/* Deactivate the endpoint */
|
||||
|
||||
privep->stalled = true;
|
||||
regaddr = priv, STM32_OTGFS_DOEPCTL(privep->epphy);
|
||||
regval = stm32_getreg(regaddr);
|
||||
regval &= ~OTGFS_DOEPCTL_USBAEP;
|
||||
stm32_putreg(regval, regaddr);
|
||||
|
||||
/* Disable endpoint interrupts */
|
||||
|
||||
regval = stm32_getreg(STM32_OTGFS_DAINTMSK);
|
||||
regval &= ~OTGFS_DAINT_OEP(privep->epphy);
|
||||
stm32_putreg(regval, STM32_OTGFS_DAINTMSK);
|
||||
}
|
||||
|
||||
/* Cancel any ongoing activity */
|
||||
|
||||
|
0
lib/misc/lib_crc32.c
Executable file → Normal file
0
lib/misc/lib_crc32.c
Executable file → Normal file
0
lib/stdio/lib_dtoa.c
Executable file → Normal file
0
lib/stdio/lib_dtoa.c
Executable file → Normal file
0
lib/stdio/lib_libdtoa.c
Executable file → Normal file
0
lib/stdio/lib_libdtoa.c
Executable file → Normal file
@ -1,8 +1,8 @@
|
||||
/****************************************************************************
|
||||
* lib/stdio/lib_libvsprintf.c
|
||||
*
|
||||
* Copyright (C) 2007-2011 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
* Copyright (C) 2007-2012 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -49,16 +49,17 @@
|
||||
#include "lib_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor oDefinitions
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
/* If you have floating point but no fieldwidth, then use a fixed (but
|
||||
* configurable) floating point precision.
|
||||
*/
|
||||
|
||||
enum
|
||||
{
|
||||
FMT_RJUST = 0, /* Default */
|
||||
FMT_LJUST,
|
||||
FMT_RJUST0,
|
||||
FMT_CENTER
|
||||
};
|
||||
#if defined(CONFIG_LIBC_FLOATINGPOINT) && \
|
||||
defined(CONFIG_NOPRINTF_FIELDWIDTH) && \
|
||||
!defined(CONFIG_LIBC_FIXEDPRECISION)
|
||||
# define CONFIG_LIBC_FIXEDPRECISION 3
|
||||
#endif
|
||||
|
||||
#define FLAG_SHOWPLUS 0x01
|
||||
#define FLAG_ALTFORM 0x02
|
||||
@ -129,6 +130,14 @@ enum
|
||||
* Private Type Declarations
|
||||
****************************************************************************/
|
||||
|
||||
enum
|
||||
{
|
||||
FMT_RJUST = 0, /* Default */
|
||||
FMT_LJUST,
|
||||
FMT_RJUST0,
|
||||
FMT_CENTER
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
* Private Function Prototypes
|
||||
****************************************************************************/
|
||||
@ -1549,9 +1558,8 @@ int lib_vsprintf(FAR struct lib_outstream_s *obj, FAR const char *src, va_list a
|
||||
#ifdef CONFIG_LIBC_FLOATINGPOINT
|
||||
else if (strchr("eEfgG", FMT_CHAR))
|
||||
{
|
||||
#ifdef CONFIG_NOPRINTF_FIELDWIDTH
|
||||
double dblval = va_arg(ap, double);
|
||||
|
||||
#ifndef CONFIG_NOPRINTF_FIELDWIDTH
|
||||
int dblsize;
|
||||
|
||||
/* Get the width of the output */
|
||||
@ -1561,21 +1569,25 @@ int lib_vsprintf(FAR struct lib_outstream_s *obj, FAR const char *src, va_list a
|
||||
/* Perform left field justification actions */
|
||||
|
||||
prejustify(obj, fmt, flags, width, dblsize);
|
||||
#endif
|
||||
|
||||
/* Output the number */
|
||||
|
||||
lib_dtoa(obj, FMT_CHAR, trunc, flags, dblval);
|
||||
|
||||
#ifndef CONFIG_NOPRINTF_FIELDWIDTH
|
||||
/* Perform right field justification actions */
|
||||
|
||||
postjustify(obj, fmt, flags, width, dblsize);
|
||||
}
|
||||
#else
|
||||
/* Output the number with a fixed precision */
|
||||
|
||||
double dblval = va_arg(ap, double);
|
||||
lib_dtoa(obj, FMT_CHAR, CONFIG_LIBC_FIXEDPRECISION, flags, dblval);
|
||||
#endif
|
||||
}
|
||||
#endif /* CONFIG_LIBC_FLOATINGPOINT */
|
||||
}
|
||||
|
||||
return obj->nput;
|
||||
}
|
||||
|
||||
|
||||
|
0
lib/string/lib_strtod.c
Executable file → Normal file
0
lib/string/lib_strtod.c
Executable file → Normal file
Loading…
Reference in New Issue
Block a user