From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Andreas Kemnade <andreas@kemnade.info>,
linux-arm-msm@vger.kernel.org, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: Andy Gross <agross@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Jonathan Cameron <jic23@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Peter Rosin <peda@axentia.se>
Subject: [PATCH v2 1/5] math.h: Introduce data types for fractional numbers
Date: Mon, 10 Jan 2022 21:31:00 +0200 [thread overview]
Message-ID: <20220110193104.75225-1-andriy.shevchenko@linux.intel.com> (raw)
Introduce a macro to produce data types like
struct TYPE_fract {
__TYPE numerator;
__TYPE denominator;
};
to be used in the code wherever it's needed.
In the following changes convert some users to it.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
May be pulled via IIO tree.
v2: no changes
include/linux/math.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/include/linux/math.h b/include/linux/math.h
index 53674a327e39..439b8f0b9ebd 100644
--- a/include/linux/math.h
+++ b/include/linux/math.h
@@ -2,6 +2,7 @@
#ifndef _LINUX_MATH_H
#define _LINUX_MATH_H
+#include <linux/types.h>
#include <asm/div64.h>
#include <uapi/linux/kernel.h>
@@ -106,6 +107,17 @@
} \
)
+#define __STRUCT_FRACT(type) \
+struct type##_fract { \
+ __##type numerator; \
+ __##type denominator; \
+};
+__STRUCT_FRACT(s16)
+__STRUCT_FRACT(u16)
+__STRUCT_FRACT(s32)
+__STRUCT_FRACT(u32)
+#undef __STRUCT_FRACT
+
/*
* Multiplies an integer by a fraction, while avoiding unnecessary
* overflow or loss of precision.
--
2.34.1
next reply other threads:[~2022-01-10 19:31 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-10 19:31 Andy Shevchenko [this message]
2022-01-10 19:31 ` [PATCH v2 2/5] iio: adc: rn5t618: Re-use generic struct u16_fract Andy Shevchenko
2022-01-10 19:31 ` [PATCH v2 3/5] iio: adc: twl4030-madc: Re-use generic struct s16_fract Andy Shevchenko
2022-01-10 19:31 ` [PATCH v2 4/5] iio: adc: qcom-vadc-common: Re-use generic struct u32_fract Andy Shevchenko
2022-01-10 19:31 ` [PATCH v2 5/5] iio: afe: iio-rescale: Re-use generic struct s32_fract Andy Shevchenko
2022-01-15 18:52 ` Jonathan Cameron
2022-01-24 15:18 ` Andy Shevchenko
2022-01-24 15:19 ` Andy Shevchenko
2022-01-24 21:28 ` Liam Beguin
2022-01-25 13:17 ` Andy Shevchenko
2022-01-25 14:54 ` Peter Rosin
2022-01-25 18:17 ` Andy Shevchenko
2022-01-26 10:26 ` Peter Rosin
2022-01-26 12:04 ` Andy Shevchenko
2022-01-26 12:35 ` Peter Rosin
2022-01-26 13:01 ` Andy Shevchenko
2022-01-27 11:03 ` Peter Rosin
2022-01-27 12:11 ` Peter Rosin
2022-01-27 15:09 ` Andy Shevchenko
2022-01-27 15:08 ` Andy Shevchenko
2022-01-26 15:54 ` Liam Beguin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220110193104.75225-1-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=agross@kernel.org \
--cc=andreas@kemnade.info \
--cc=bjorn.andersson@linaro.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peda@axentia.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.