]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
i2c: pasemi: Add registers bits and switch to BIT()
authorSven Peter <sven@svenpeter.dev>
Sat, 22 Feb 2025 13:38:33 +0000 (13:38 +0000)
committerAndi Shyti <andi.shyti@kernel.org>
Sat, 22 Mar 2025 12:11:52 +0000 (13:11 +0100)
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>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20250222-pasemi-fixes-v1-1-d7ea33d50c5e@svenpeter.dev
drivers/i2c/busses/i2c-pasemi-core.c

index dac694a9d781f86afe634ddc4d93dee51bd2edff..bd128ab2e2ebb64929f2f6a3525835a880c3114d 100644 (file)
@@ -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>
 #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)
 {