sandbox: i2c: Move platdata structs to header files
authorSimon Glass <sjg@chromium.org>
Mon, 15 Mar 2021 04:25:27 +0000 (17:25 +1300)
committerSimon Glass <sjg@chromium.org>
Fri, 26 Mar 2021 04:03:08 +0000 (17:03 +1300)
At present the structs used by these drivers are declared in the C files
and so are not accessible to dtoc. Move them to header files, as required.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
arch/sandbox/include/asm/i2c.h
arch/sandbox/include/asm/rtc.h
drivers/i2c/i2c-emul-uclass.c
drivers/rtc/i2c_rtc_emul.c

index b482be4..4fc190b 100644 (file)
@@ -11,4 +11,19 @@ struct sandbox_i2c_priv {
        bool test_mode;
 };
 
+/**
+ * struct i2c_emul_uc_plat - information about the emulator for this device
+ *
+ * This is used by devices in UCLASS_I2C_EMUL to record information about the
+ * device being emulated. It is accessible with dev_get_uclass_plat()
+ *
+ * @dev: Device being emulated
+ * @idx: of-platdata index, set up by the device's bind() method if of-platdata
+ *     is in use
+ */
+struct i2c_emul_uc_plat {
+       struct udevice *dev;
+       int idx;
+};
+
 #endif /* __asn_i2c_h */
index 5bb032f..025cd6c 100644 (file)
@@ -9,6 +9,8 @@
 #ifndef __asm_rtc_h
 #define __asm_rtc_h
 
+#include <dt-structs.h>
+
 /* Register numbers in the sandbox RTC */
 enum {
        REG_SEC         = 5,
@@ -29,4 +31,26 @@ enum {
        REG_COUNT       = 0x80,
 };
 
+/**
+ * struct sandbox_i2c_rtc_plat_data - platform data for the RTC
+ *
+ * @base_time:         Base system time when RTC device was bound
+ * @offset:            RTC offset from current system time
+ * @use_system_time:   true to use system time, false to use @base_time
+ * @reg:               Register values
+ */
+struct sandbox_i2c_rtc_plat_data {
+#if CONFIG_IS_ENABLED(OF_PLATDATA)
+       struct dtd_sandbox_i2c_rtc_emul dtplat;
+#endif
+       long base_time;
+       long offset;
+       bool use_system_time;
+       u8 reg[REG_COUNT];
+};
+
+struct sandbox_i2c_rtc {
+       unsigned int offset_secs;
+};
+
 #endif
index 75d7988..9ef4651 100644 (file)
@@ -7,6 +7,7 @@
 #include <dm.h>
 #include <i2c.h>
 #include <log.h>
+#include <asm/i2c.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 
  * uclass so avoid having strange devices on the I2C bus.
  */
 
-/**
- * struct i2c_emul_uc_plat - information about the emulator for this device
- *
- * This is used by devices in UCLASS_I2C_EMUL to record information about the
- * device being emulated. It is accessible with dev_get_uclass_plat()
- *
- * @dev: Device being emulated
- */
-struct i2c_emul_uc_plat {
-       struct udevice *dev;
-};
-
 struct udevice *i2c_emul_get_device(struct udevice *emul)
 {
        struct i2c_emul_uc_plat *uc_plat = dev_get_uclass_plat(emul);
index fdc885c..ba418c2 100644 (file)
 #define debug_buffer(x, ...)
 #endif
 
-/**
- * struct sandbox_i2c_rtc_plat_data - platform data for the RTC
- *
- * @base_time:         Base system time when RTC device was bound
- * @offset:            RTC offset from current system time
- * @use_system_time:   true to use system time, false to use @base_time
- * @reg:               Register values
- */
-struct sandbox_i2c_rtc_plat_data {
-       long base_time;
-       long offset;
-       bool use_system_time;
-       u8 reg[REG_COUNT];
-};
-
-struct sandbox_i2c_rtc {
-       unsigned int offset_secs;
-};
-
 long sandbox_i2c_rtc_set_offset(struct udevice *dev, bool use_system_time,
                                int offset)
 {