From: Sven Peter <sven@svenpeter.dev>
Add the missing register bits to the defines and also switch
those to use the BIT macro which is much more readable than
using hardcoded masks
Co-developed-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Sven Peter <sven@svenpeter.dev>
---
drivers/i2c/busses/i2c-pasemi-core.c | 40 ++++++++++++++++++++++--------------
1 file changed, 25 insertions(+), 15 deletions(-)
diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-pasemi-core.c
index dac694a9d781..bd128ab2e2eb 100644
--- a/drivers/i2c/busses/i2c-pasemi-core.c
+++ b/drivers/i2c/busses/i2c-pasemi-core.c
@@ -5,6 +5,7 @@
* SMBus host driver for PA Semi PWRficient
*/
+#include <linux/bitfield.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/kernel.h>
@@ -26,21 +27,30 @@
#define REG_REV 0x28
/* Register defs */
-#define MTXFIFO_READ 0x00000400
-#define MTXFIFO_STOP 0x00000200
-#define MTXFIFO_START 0x00000100
-#define MTXFIFO_DATA_M 0x000000ff
-
-#define MRXFIFO_EMPTY 0x00000100
-#define MRXFIFO_DATA_M 0x000000ff
-
-#define SMSTA_XEN 0x08000000
-#define SMSTA_MTN 0x00200000
-
-#define CTL_MRR 0x00000400
-#define CTL_MTR 0x00000200
-#define CTL_EN 0x00000800
-#define CTL_CLK_M 0x000000ff
+#define MTXFIFO_READ BIT(10)
+#define MTXFIFO_STOP BIT(9)
+#define MTXFIFO_START BIT(8)
+#define MTXFIFO_DATA_M GENMASK(7, 0)
+
+#define MRXFIFO_EMPTY BIT(8)
+#define MRXFIFO_DATA_M GENMASK(7, 0)
+
+#define SMSTA_XIP BIT(28)
+#define SMSTA_XEN BIT(27)
+#define SMSTA_JMD BIT(25)
+#define SMSTA_JAM BIT(24)
+#define SMSTA_MTO BIT(23)
+#define SMSTA_MTA BIT(22)
+#define SMSTA_MTN BIT(21)
+#define SMSTA_MRNE BIT(19)
+#define SMSTA_MTE BIT(16)
+#define SMSTA_TOM BIT(6)
+
+#define CTL_EN BIT(11)
+#define CTL_MRR BIT(10)
+#define CTL_MTR BIT(9)
+#define CTL_UJM BIT(8)
+#define CTL_CLK_M GENMASK(7, 0)
static inline void reg_write(struct pasemi_smbus *smbus, int reg, int val)
{
--
2.34.1
Hi Sven, On Sat, Feb 22, 2025 at 01:38:33PM +0000, Sven Peter via B4 Relay wrote: > From: Sven Peter <sven@svenpeter.dev> > > Add the missing register bits to the defines and also switch > those to use the BIT macro which is much more readable than > using hardcoded masks > > Co-developed-by: Hector Martin <marcan@marcan.st> > Signed-off-by: Hector Martin <marcan@marcan.st> > Signed-off-by: Sven Peter <sven@svenpeter.dev> Just this patch merged to i2c/i2c-host. Patch 3 and 4 look good, just some comments on patch 2. Thanks, Andi
Thu, Mar 20, 2025 at 01:23:25AM +0100, Andi Shyti kirjoitti: > Hi Sven, > > On Sat, Feb 22, 2025 at 01:38:33PM +0000, Sven Peter via B4 Relay wrote: > > From: Sven Peter <sven@svenpeter.dev> > > > > Add the missing register bits to the defines and also switch > > those to use the BIT macro which is much more readable than > > using hardcoded masks > > > > Co-developed-by: Hector Martin <marcan@marcan.st> > > Signed-off-by: Hector Martin <marcan@marcan.st> > > Signed-off-by: Sven Peter <sven@svenpeter.dev> > > Just this patch merged to i2c/i2c-host. This needs an update as well. The proper header for BIT() et al. is bits.h. bitfield.h is for FIELD_*() et al. -- With Best Regards, Andy Shevchenko
On Sat, Mar 22, 2025, at 14:23, Andy Shevchenko wrote: > Thu, Mar 20, 2025 at 01:23:25AM +0100, Andi Shyti kirjoitti: >> Hi Sven, >> >> On Sat, Feb 22, 2025 at 01:38:33PM +0000, Sven Peter via B4 Relay wrote: >> > From: Sven Peter <sven@svenpeter.dev> >> > >> > Add the missing register bits to the defines and also switch >> > those to use the BIT macro which is much more readable than >> > using hardcoded masks >> > >> > Co-developed-by: Hector Martin <marcan@marcan.st> >> > Signed-off-by: Hector Martin <marcan@marcan.st> >> > Signed-off-by: Sven Peter <sven@svenpeter.dev> >> >> Just this patch merged to i2c/i2c-host. > > This needs an update as well. The proper header for BIT() et al. is bits.h. > bitfield.h is for FIELD_*() et al. Ugh, good catch. Since this commit is already on the way upstream I'll send a fix (and another one to sort the headers alphabetically while I'm at it anyway). Thanks, Sven
© 2016 - 2026 Red Hat, Inc.