Re: [PATCH v2 1/3] units: Add SI metric prefix definitions

From: Joe Perches
Date: Mon Jun 07 2021 - 11:43:08 EST


On Mon, 2021-06-07 at 18:23 +0300, Andy Shevchenko wrote:
> Sometimes it's useful to have well-defined SI metric prefix to be used
> to self-describe the formulas or equations.
>
> List most popular ones in the units.h.
[]
> diff --git a/include/linux/units.h b/include/linux/units.h
[]
> @@ -4,6 +4,22 @@
>  
>  #include <linux/math.h>
>  
> +/* Metric prefixes in accordance with Système international (d'unités) */
> +#define PETA 1000000000000000LL
> +#define TERA 1000000000000LL
> +#define GIGA 1000000000L
> +#define MEGA 1000000L
> +#define KILO 1000L
> +#define HECTO 100L
> +#define DECA 10L
> +#define DECI 10L
> +#define CENTI 100L
> +#define MILLI 1000L
> +#define MICRO 1000000L
> +#define NANO 1000000000L
> +#define PICO 1000000000000LL
> +#define FEMTO 1000000000000000LL
> +
>  #define MILLIWATT_PER_WATT 1000L
>  #define MICROWATT_PER_MILLIWATT 1000L
>  #define MICROWATT_PER_WATT 1000000L

Somewhat surprisingly to me, this seems safe.

(though I suggest using UL and ULL rather than L and LL)

The only use of any of these seems to be:

sound/pcmcia/vx/vxp_ops.c: [VX_MICRO] = 0x0c, // MICRO
sound/pcmcia/vx/vxp_ops.c: vx_outb(chip, MICRO, level);
sound/pcmcia/vx/vxp_ops.c: vx_outb(chip, MICRO, vx_compute_mic_level(chip->mic_level));

and these vx_outb uses are themselves macros that prepend VX_ to the 2nd arg.