[RFC linux v2 0/2] drivers/hwmon: OCC hwmon driver restructuring
Joel Stanley
joel at jms.id.au
Wed Oct 12 16:24:51 AEDT 2016
Hey,
On Wed, Oct 12, 2016 at 8:42 AM, <eajames.ibm at gmail.com> wrote:
> From: "Edward A. James" <eajames at us.ibm.com>
>
> This patchset is provided to refactor the Power8 OCC hwmon driver. There are a
> number of issues with the existing driver. Firstly, i2c access was embedded
> throughout the driver. Secondly, there is no way to easily add different
> versions of the OCC.
>
> This patchset addresses the first issue by abstracting the bus transfer
> protocol into a modular structure. In this way, any low level transfer method
> may be easily implemented.
Cool. I think you should consider sending these patches as a series
that introduce the driver from scratch. You can achieve this by
reverting the patch that adds the code Yi wrote, and adding your
cleaned up version as a series of small patches.
This will be one of our first client drivers for Jeremy and Chris' fsi
bus. I recommend taking a read of the current state of the client
driver API, and keeping that in mind when you write the i2c version.
Cheers,
Joel
>
> The second issue is addressed by separating the "version specific" code for the
> OCC and the common hwmon code. This task is not yet complete, but the general
> structure is in place. Ultimately, different OCC versions could be probed up
> using the device tree.
>
> Patch 1: "drivers/hwmon: Move OCC driver to occ directory"
> - Move the existing OCC hwmon driver to it's own directory.
> - Edit makefiles and Kconfig accordingly to preserve the build.
>
> Patch 2: "drivers/hwmon: Isolate bus transfer protocol"
> - Copy i2c related code into occ_i2c.c and simplify.
> - Copy common platform code into occ.c; more functions can be placed here
> later.
> - Change core functions to accept OCC driver data parameter instead of
> device pointer.
>
> Edward A. James (2):
> drivers/hwmon: Move OCC driver to occ directory
> drivers/hwmon: Isolate bus transfer protocol
>
> drivers/hwmon/Kconfig | 13 +-
> drivers/hwmon/Makefile | 2 +-
> drivers/hwmon/occ/Kconfig | 15 +
> drivers/hwmon/occ/Makefile | 1 +
> drivers/hwmon/occ/occ.c | 127 ++++
> drivers/hwmon/occ/occ.h | 47 ++
> drivers/hwmon/occ/occ_i2c.c | 150 +++++
> drivers/hwmon/occ/power8_occ.c | 1055 +++++++++++++++++++++++++++++++++
> drivers/hwmon/occ/power8_occ.h | 25 +
> drivers/hwmon/power8_occ_i2c.c | 1254 ----------------------------------------
> 10 files changed, 1422 insertions(+), 1267 deletions(-)
> create mode 100644 drivers/hwmon/occ/Kconfig
> create mode 100644 drivers/hwmon/occ/Makefile
> create mode 100644 drivers/hwmon/occ/occ.c
> create mode 100644 drivers/hwmon/occ/occ.h
> create mode 100644 drivers/hwmon/occ/occ_i2c.c
> create mode 100644 drivers/hwmon/occ/power8_occ.c
> create mode 100644 drivers/hwmon/occ/power8_occ.h
> delete mode 100644 drivers/hwmon/power8_occ_i2c.c
>
> --
> 1.9.1
>
> _______________________________________________
> openbmc mailing list
> openbmc at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/openbmc
More information about the openbmc
mailing list