public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [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