Wed, Dec 19, 2018 at 04:41:37AM CET, tristram...@microchip.com wrote:
>From: Tristram Ha <tristram...@microchip.com>
>
>Add KSZ9477 I2C driver support.  The code ksz9477.c and ksz_common.c are
>used together to generate the I2C driver.
>
>Signed-off-by: Tristram Ha <tristram...@microchip.com>
>diff --git a/drivers/net/dsa/microchip/ksz_i2c.h 
>b/drivers/net/dsa/microchip/ksz_i2c.h
>new file mode 100644
>index 0000000..b9af0a8
>--- /dev/null
>+++ b/drivers/net/dsa/microchip/ksz_i2c.h
>@@ -0,0 +1,69 @@
>+/* SPDX-License-Identifier: GPL-2.0
>+ * Microchip KSZ series I2C access common header
>+ *
>+ * Copyright (C) 2018 Microchip Technology Inc.
>+ *    Tristram Ha <tristram...@microchip.com>
>+ */
>+
>+#ifndef __KSZ_I2C_H
>+#define __KSZ_I2C_H
>+
>+/* Chip dependent I2C access */
>+static int ksz_i2c_read(struct ksz_device *dev, u32 reg, u8 *data,
>+                      unsigned int len);
>+static int ksz_i2c_write(struct ksz_device *dev, u32 reg, void *data,
>+                       unsigned int len);
>+
>+static int ksz_i2c_read8(struct ksz_device *dev, u32 reg, u8 *val)
>+{
>+      return ksz_i2c_read(dev, reg, val, 1);
>+}
>+
>+static int ksz_i2c_read16(struct ksz_device *dev, u32 reg, u16 *val)
>+{
>+      int ret = ksz_i2c_read(dev, reg, (u8 *)val, 2);
>+
>+      if (!ret)
>+              *val = be16_to_cpu(*val);
>+
>+      return ret;
>+}
>+
>+static int ksz_i2c_read32(struct ksz_device *dev, u32 reg, u32 *val)
>+{
>+      int ret = ksz_i2c_read(dev, reg, (u8 *)val, 4);
>+
>+      if (!ret)
>+              *val = be32_to_cpu(*val);
>+
>+      return ret;
>+}
>+
>+static int ksz_i2c_write8(struct ksz_device *dev, u32 reg, u8 value)
>+{
>+      return ksz_i2c_write(dev, reg, &value, 1);
>+}
>+
>+static int ksz_i2c_write16(struct ksz_device *dev, u32 reg, u16 value)
>+{
>+      value = cpu_to_be16(value);
>+      return ksz_i2c_write(dev, reg, &value, 2);
>+}
>+
>+static int ksz_i2c_write32(struct ksz_device *dev, u32 reg, u32 value)
>+{
>+      value = cpu_to_be32(value);
>+      return ksz_i2c_write(dev, reg, &value, 4);
>+}
>+
>+static int ksz_i2c_get(struct ksz_device *dev, u32 reg, void *data, size_t 
>len)
>+{
>+      return ksz_i2c_read(dev, reg, data, len);
>+}
>+
>+static int ksz_i2c_set(struct ksz_device *dev, u32 reg, void *data, size_t 
>len)
>+{
>+      return ksz_i2c_write(dev, reg, data, len);
>+}


This header file makes no sense. Please move the functions into .c



>+
>+#endif
>-- 
>1.9.1
>

Reply via email to