On 4/10/19 5:47 AM, Jean Delvare wrote:
Instead of duplicating the common code into the 2 (binary) drivers,
move the common code to a separate module. This is cleaner.

Signed-off-by: Jean Delvare <jdelv...@suse.de>
Cc: Eddie James <eaja...@linux.ibm.com>
Cc: Guenter Roeck <li...@roeck-us.net>
---
Eddie, can you please give it a try and confirm it works?


Yes, this works well.

Reviewed-by: Eddie James <eaja...@linux.ibm.com>

Tested-by: Eddie James <eaja...@linux.ibm.com>



Note: I kept the module names as they were before, hence the extra
"*-objs :=" statements. They could be removed if we rename the source
files, but that's better done in git directly. I don't mind either way
personally.

  drivers/hwmon/occ/Kconfig  |    3 +--
  drivers/hwmon/occ/Makefile |    6 ++++--
  drivers/hwmon/occ/common.c |    7 +++++++
  drivers/hwmon/occ/sysfs.c  |    2 ++
  4 files changed, 14 insertions(+), 4 deletions(-)

--- linux-5.0.orig/drivers/hwmon/occ/Kconfig    2019-04-10 11:30:05.579537638 
+0200
+++ linux-5.0/drivers/hwmon/occ/Kconfig 2019-04-10 11:31:20.843383376 +0200
@@ -27,5 +27,4 @@ config SENSORS_OCC_P9_SBE
         called occ-p9-hwmon.
config SENSORS_OCC
-       bool "POWER On-Chip Controller"
-       depends on SENSORS_OCC_P8_I2C || SENSORS_OCC_P9_SBE
+       tristate
--- linux-5.0.orig/drivers/hwmon/occ/Makefile   2019-03-04 00:21:29.000000000 
+0100
+++ linux-5.0/drivers/hwmon/occ/Makefile        2019-04-10 11:33:23.631765535 
+0200
@@ -1,5 +1,7 @@
-occ-p8-hwmon-objs := common.o sysfs.o p8_i2c.o
-occ-p9-hwmon-objs := common.o sysfs.o p9_sbe.o
+occ-hwmon-common-objs := common.o sysfs.o
+occ-p8-hwmon-objs := p8_i2c.o
+occ-p9-hwmon-objs := p9_sbe.o
+obj-$(CONFIG_SENSORS_OCC) += occ-hwmon-common.o
  obj-$(CONFIG_SENSORS_OCC_P8_I2C) += occ-p8-hwmon.o
  obj-$(CONFIG_SENSORS_OCC_P9_SBE) += occ-p9-hwmon.o
--- linux-5.0.orig/drivers/hwmon/occ/common.c   2019-03-04 00:21:29.000000000 
+0100
+++ linux-5.0/drivers/hwmon/occ/common.c        2019-04-10 11:44:53.035573580 
+0200
@@ -1,11 +1,13 @@
  // SPDX-License-Identifier: GPL-2.0
#include <linux/device.h>
+#include <linux/export.h>
  #include <linux/hwmon.h>
  #include <linux/hwmon-sysfs.h>
  #include <linux/jiffies.h>
  #include <linux/kernel.h>
  #include <linux/math64.h>
+#include <linux/module.h>
  #include <linux/mutex.h>
  #include <linux/sysfs.h>
  #include <asm/unaligned.h>
@@ -1096,3 +1098,8 @@ int occ_setup(struct occ *occ, const cha
return rc;
  }
+EXPORT_SYMBOL_GPL(occ_setup);
+
+MODULE_AUTHOR("Eddie James <eaja...@linux.ibm.com>");
+MODULE_DESCRIPTION("Common OCC hwmon code");
+MODULE_LICENSE("GPL");
--- linux-5.0.orig/drivers/hwmon/occ/sysfs.c    2019-03-04 00:21:29.000000000 
+0100
+++ linux-5.0/drivers/hwmon/occ/sysfs.c 2019-04-10 11:39:38.627003382 +0200
@@ -12,6 +12,7 @@
#include <linux/bitops.h>
  #include <linux/device.h>
+#include <linux/export.h>
  #include <linux/hwmon-sysfs.h>
  #include <linux/kernel.h>
  #include <linux/sysfs.h>
@@ -186,3 +187,4 @@ void occ_shutdown(struct occ *occ)
  {
        sysfs_remove_group(&occ->bus_dev->kobj, &occ_sysfs);
  }
+EXPORT_SYMBOL_GPL(occ_shutdown);



Reply via email to