* [PATCH v5 0/2] iio: frequency: ad9832: cleanups
@ 2026-04-16 6:51 Joshua Crofts
2026-04-16 6:51 ` [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header Joshua Crofts
2026-04-16 6:51 ` [PATCH v5 2/2] iio: frequency: ad9832: simplify bitwise math Joshua Crofts
0 siblings, 2 replies; 8+ messages in thread
From: Joshua Crofts @ 2026-04-16 6:51 UTC (permalink / raw)
To: lars, Michael.Hennerich, jic23, gregkh
Cc: dlechner, nuno.sa, andy, linux-iio, linux-staging, linux-kernel,
Joshua Crofts
This series cleans up issues in the AD9832 driver,
including proxy header removal and bit math
simplification.
v2:
- PATCH 1: removed redundant bits.h include as it
is implied in bitops.h
- PATCH 2: changed ull to u64 type
v3:
- PATCH 2: remove rogue vim typo
v4:
- PATCH 1: removed slab.h based on IWYU
recommendation, header reordering
v5:
- PATCH 1: commit message stylistic changes
Joshua Crofts (2):
iio: frequency: ad9832: remove kernel.h proxy header
iio: frequency: ad9832: simplify bitwise math
drivers/staging/iio/frequency/ad9832.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header
2026-04-16 6:51 [PATCH v5 0/2] iio: frequency: ad9832: cleanups Joshua Crofts
@ 2026-04-16 6:51 ` Joshua Crofts
2026-04-16 8:33 ` Andy Shevchenko
2026-04-16 6:51 ` [PATCH v5 2/2] iio: frequency: ad9832: simplify bitwise math Joshua Crofts
1 sibling, 1 reply; 8+ messages in thread
From: Joshua Crofts @ 2026-04-16 6:51 UTC (permalink / raw)
To: lars, Michael.Hennerich, jic23, gregkh
Cc: dlechner, nuno.sa, andy, linux-iio, linux-staging, linux-kernel,
Joshua Crofts, Andy Shevchenko
Remove kernel.h proxy header and add bitops.h for
better dependency control and code clarity. Also
removed slab.h and moved asm header below generic
<linux/*> headers.
Audited using include-what-you-use.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
---
drivers/staging/iio/frequency/ad9832.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c
index b87ea1781b..fbcfdbd398 100644
--- a/drivers/staging/iio/frequency/ad9832.c
+++ b/drivers/staging/iio/frequency/ad9832.c
@@ -5,21 +5,19 @@
* Copyright 2011 Analog Devices Inc.
*/
-#include <asm/div64.h>
-
#include <linux/bitfield.h>
-#include <linux/bits.h>
+#include <linux/bitops.h>
#include <linux/clk.h>
#include <linux/device.h>
#include <linux/err.h>
-#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/regulator/consumer.h>
-#include <linux/slab.h>
#include <linux/spi/spi.h>
#include <linux/sysfs.h>
#include <linux/unaligned.h>
+#include <asm/div64.h>
+
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
--
2.47.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v5 2/2] iio: frequency: ad9832: simplify bitwise math
2026-04-16 6:51 [PATCH v5 0/2] iio: frequency: ad9832: cleanups Joshua Crofts
2026-04-16 6:51 ` [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header Joshua Crofts
@ 2026-04-16 6:51 ` Joshua Crofts
2026-04-16 8:34 ` Andy Shevchenko
1 sibling, 1 reply; 8+ messages in thread
From: Joshua Crofts @ 2026-04-16 6:51 UTC (permalink / raw)
To: lars, Michael.Hennerich, jic23, gregkh
Cc: dlechner, nuno.sa, andy, linux-iio, linux-staging, linux-kernel,
Joshua Crofts, Andy Shevchenko
Refactor the ad9832_calc_freqreg by adding a BIT_ULL()
macro instead of manual bit shifting for better
readability.
Signed-off-by: Joshua Crofts <joshua.crofts1@gmail.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
---
drivers/staging/iio/frequency/ad9832.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c
index fbcfdbd398..cd7c7727f7 100644
--- a/drivers/staging/iio/frequency/ad9832.c
+++ b/drivers/staging/iio/frequency/ad9832.c
@@ -111,8 +111,8 @@ struct ad9832_state {
static unsigned long ad9832_calc_freqreg(unsigned long mclk, unsigned long fout)
{
- unsigned long long freqreg = (u64)fout *
- (u64)((u64)1L << AD9832_FREQ_BITS);
+ u64 freqreg = (u64)fout * BIT_ULL(AD9832_FREQ_BITS);
+
do_div(freqreg, mclk);
return freqreg;
}
--
2.47.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header
2026-04-16 6:51 ` [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header Joshua Crofts
@ 2026-04-16 8:33 ` Andy Shevchenko
2026-04-17 9:41 ` Joshua Crofts
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2026-04-16 8:33 UTC (permalink / raw)
To: Joshua Crofts
Cc: lars, Michael.Hennerich, jic23, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel
On Thu, Apr 16, 2026 at 06:51:17AM +0000, Joshua Crofts wrote:
Sorry that I missed some key points in the previous reviews (see below).
v6 is needed.
...
> Remove kernel.h proxy header and add bitops.h for
> better dependency control and code clarity. Also
> removed slab.h and moved asm header below generic
> <linux/*> headers.
The comment uses too short lines (50), use up to ~72 characters per line,
please.
> Audited using include-what-you-use.
While I gave a tag, it still seems need an improvement, id est
there are missing headers:
array_size.h
dev_printk.h
kstrtox.h
mod_devicetable.h
mutex.h
types.h
asm/byteorder.h
and unneeded one(s):
device.h
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 2/2] iio: frequency: ad9832: simplify bitwise math
2026-04-16 6:51 ` [PATCH v5 2/2] iio: frequency: ad9832: simplify bitwise math Joshua Crofts
@ 2026-04-16 8:34 ` Andy Shevchenko
0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2026-04-16 8:34 UTC (permalink / raw)
To: Joshua Crofts
Cc: lars, Michael.Hennerich, jic23, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel
On Thu, Apr 16, 2026 at 06:51:18AM +0000, Joshua Crofts wrote:
> Refactor the ad9832_calc_freqreg by adding a BIT_ULL()
> macro instead of manual bit shifting for better
> readability.
Code is okay, just make lines wider in the commit message (~72 characters).
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header
2026-04-16 8:33 ` Andy Shevchenko
@ 2026-04-17 9:41 ` Joshua Crofts
2026-04-17 10:00 ` Andy Shevchenko
0 siblings, 1 reply; 8+ messages in thread
From: Joshua Crofts @ 2026-04-17 9:41 UTC (permalink / raw)
To: Andy Shevchenko
Cc: lars, Michael.Hennerich, jic23, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel
On Thu, 16 Apr 2026 at 10:34, Andy Shevchenko
<andriy.shevchenko@intel.com> wrote:
> While I gave a tag, it still seems need an improvement, id est
> there are missing headers:
>
> array_size.h
> dev_printk.h
> kstrtox.h
> mod_devicetable.h
> mutex.h
> types.h
>
> asm/byteorder.h
>
> and unneeded one(s):
> device.h
Adding the headers above is fine, but removing device.h even
if there are things like struct device_attribute in the code? I know
linux/iio/iio.h includes device.h but I thought that we're trying to
eliminate these "includes in includes" unless they're trivial (like
linux/bits.h in linux/bitops.h).
--
Kind regards
CJD
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header
2026-04-17 9:41 ` Joshua Crofts
@ 2026-04-17 10:00 ` Andy Shevchenko
2026-04-17 10:05 ` Joshua Crofts
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2026-04-17 10:00 UTC (permalink / raw)
To: Joshua Crofts
Cc: lars, Michael.Hennerich, jic23, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel
On Fri, Apr 17, 2026 at 11:41:28AM +0200, Joshua Crofts wrote:
> On Thu, 16 Apr 2026 at 10:34, Andy Shevchenko
> <andriy.shevchenko@intel.com> wrote:
> > While I gave a tag, it still seems need an improvement, id est
> > there are missing headers:
> >
> > array_size.h
> > dev_printk.h
> > kstrtox.h
> > mod_devicetable.h
> > mutex.h
> > types.h
> >
> > asm/byteorder.h
> >
> > and unneeded one(s):
> > device.h
>
> Adding the headers above is fine, but removing device.h even
> if there are things like struct device_attribute in the code?
I don't see it's in use. The pointer to it yes, but it's a huge
difference. https://en.wikipedia.org/wiki/Opaque_pointer
> I know linux/iio/iio.h includes device.h but I thought that we're trying to
> eliminate these "includes in includes" unless they're trivial (like
> linux/bits.h in linux/bitops.h).
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header
2026-04-17 10:00 ` Andy Shevchenko
@ 2026-04-17 10:05 ` Joshua Crofts
0 siblings, 0 replies; 8+ messages in thread
From: Joshua Crofts @ 2026-04-17 10:05 UTC (permalink / raw)
To: Andy Shevchenko
Cc: lars, Michael.Hennerich, jic23, gregkh, dlechner, nuno.sa, andy,
linux-iio, linux-staging, linux-kernel
On Fri, 17 Apr 2026 at 12:00, Andy Shevchenko
<andriy.shevchenko@intel.com> wrote:
> I don't see it's in use. The pointer to it yes, but it's a huge
> difference. https://en.wikipedia.org/wiki/Opaque_pointer
My bad, that was an oversight on my part. Thanks for the
clarification. I'll send the updated patch soon.
--
Kind regards
CJD
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-04-17 10:05 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-16 6:51 [PATCH v5 0/2] iio: frequency: ad9832: cleanups Joshua Crofts
2026-04-16 6:51 ` [PATCH v5 1/2] iio: frequency: ad9832: remove kernel.h proxy header Joshua Crofts
2026-04-16 8:33 ` Andy Shevchenko
2026-04-17 9:41 ` Joshua Crofts
2026-04-17 10:00 ` Andy Shevchenko
2026-04-17 10:05 ` Joshua Crofts
2026-04-16 6:51 ` [PATCH v5 2/2] iio: frequency: ad9832: simplify bitwise math Joshua Crofts
2026-04-16 8:34 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox