DRIVER
Mention P8 and P9?
+M: Eddie James <eaja...@us.ibm.com>
+L: linux-hw...@vger.kernel.org
Have you subscribed to this list? Would you prefer the mail to come to
the openbmc list?
+S: Maintained
+F: Documentation/hwmon/occ
+F: drivers/hwmon/occ/
+
ONENAND FLAS
On 02/09/2017 11:31 PM, Joel Stanley wrote:
On Wed, Feb 8, 2017 at 9:40 AM, wrote:
From: "Edward A. James"
Add functions to send SCOM operations over I2C bus. The BMC can
communicate with the Power8 host processor over I2C, but needs to use
DRIVER
Mention P8 and P9?
+M: Eddie James <eaja...@us.ibm.com>
+L: linux-hw...@vger.kernel.org
Have you subscribed to this list? Would you prefer the mail to come to
the openbmc list?
+S: Maintained
+F: Documentation/hwmon/occ
+F: drivers/hwmon/occ/
+
ONENAND FLAS
nsor = p9_alloc_sensor,
+ .get_sensor = p9_get_sensor,
+};
+
+static const struct occ_init_data p9_init = {
+ .command_addr = 0xFFFBE000,
+ .response_addr = 0xFFFBF000,
+ .ops = _ops,
+};
+
+const u32 *p9_get_sensor_hwmon_configs()
+{
+ return p9_sensor_hwmon_c
===
+
+Supported chips:
+ * POWER8
+ * POWER9
+
+Please note that the driver does not run on these processors. Instead, the
+driver runs on a connected service processor, such as an AST2400. (see the
+BMC - Host Communications section).
+
+Author: Eddie James <eaj
{
+ .command_addr = 0x6000,
+ .response_addr = 0x7000,
+ .ops = _ops,
+};
+
+const u32 *p8_get_sensor_hwmon_configs()
+{
+ return p8_sensor_hwmon_configs;
+}
+
+struct occ *p8_occ_init(struct device *dev, void *bus,
+ const struct occ_bus_ops *bus_ops)
+{
+
er = {
+ .class = I2C_CLASS_HWMON,
+ .driver = {
+ .name = OCC_P8_I2C_NAME,
+ .of_match_table = occ_of_match,
+ },
+ .probe = p8_occ_probe,
+ .id_table = occ_ids,
+};
+
+module_i2c_driver(p8_occ_driver);
+
+MODULE_AUTHOR("Eddie James <eaja...@us.ibm.com>");
+MODULE_DESCRIPTION("BMC P8 OCC hwmon driver");
+MODULE_LICENSE("GPL");
--
1.8.3.1
buf[2] = data0;
+
+ rc = i2c_master_send(client, (const char *)buf, sizeof(u32) * 3);
+ if (rc < 0)
+ return rc;
+ else if (rc != sizeof(u32) * 3)
+ return -EIO;
+
+ return 0;
+}
+
+MODULE_AUTHOR("Eddie James <eaja...@us.ibm.com>")
_info,
+ NULL);
+ if (IS_ERR(hwmon->dev)) {
+ dev_err(dev, "cannot register hwmon device %s: %ld\n",
+ hwmon->hwmon_name, PTR_ERR(hwmon->dev));
+ return ERR_CAST(hwmon->dev);
+
From: "Edward A. James"
This patchset adds a hwmon driver to support the OCC (On-Chip Controller)
on the IBM POWER8 and POWER9 processors, from a BMC (Baseboard Management
Controller). The OCC is an embedded processor that provides real time
power and thermal monitoring.
The
hwmon,
+ >occ_info,
+ NULL);
+ if (IS_ERR(hwmon->dev)) {
+ dev_err(dev, "cannot register hwmon device %s: %ld\n",
+ h
buf[2] = data0;
+
+ rc = i2c_master_send(client, (const char *)buf, sizeof(u32) * 3);
+ if (rc < 0)
+ return rc;
+ else if (rc != sizeof(u32) * 3)
+ return -EIO;
+
+ return 0;
+}
+
+MODULE_AUTHOR("Eddie James <eaja...@us.ibm.com>")
{
+ .command_addr = 0x6000,
+ .response_addr = 0x7000,
+ .ops = _ops,
+};
+
+const u32 *p8_get_sensor_hwmon_configs()
+{
+ return p8_sensor_hwmon_configs;
+}
+
+struct occ *p8_occ_init(struct device *dev, void *bus,
+ const struct occ_bus_ops *bus_ops)
+{
+
er = {
+ .class = I2C_CLASS_HWMON,
+ .driver = {
+ .name = OCC_P8_I2C_NAME,
+ .of_match_table = occ_of_match,
+ },
+ .probe = p8_occ_probe,
+ .id_table = occ_ids,
+};
+
+module_i2c_driver(p8_occ_driver);
+
+MODULE_AUTHOR("Eddie James <eaja...@us.ibm.com>");
+MODULE_DESCRIPTION("BMC P8 OCC hwmon driver");
+MODULE_LICENSE("GPL");
--
1.8.3.1
From: "Edward A. James"
This patchset adds a hwmon driver to support the OCC (On-Chip Controller)
on the IBM POWER8 and POWER9 processors, from a BMC (Baseboard Management
Controller). The OCC is an embedded processor that provides real time
power and thermal monitoring.
The
===
+
+Supported chips:
+ * POWER8
+ * POWER9
+
+Please note that the driver does not run on these processors. Instead, the
+driver runs on a connected service processor, such as an AST2400. (see the
+BMC - Host Communications section).
+
+Author: Eddie James <eaj
From: "Edward A. James"
Signed-off-by: Edward A. James
---
Documentation/ABI/testing/sysfs-driver-ibmps | 49
1 file changed, 49 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-driver-ibmps
diff --git
From: "Edward A. James"
This series adds a hwmon pmbus driver for an IBM power supply. The core
monitoring functionality is provided by pmbus. The driver also exports some
sysfs entries for raw status register access and the ability to clear faults.
Edward A. James (4):
of, p8_i2c_occ_of_match);
+
+static struct i2c_driver ibmps_driver = {
+ .driver = {
+ .name = "ibmps",
+ .of_match_table = ibmps_of_match,
+ },
+ .probe = ibmps_probe,
+ .remove = ibmps_remove,
+ .id_table = ibmps_
a/Documentation/hwmon/ibmps b/Documentation/hwmon/ibmps
new file mode 100644
index 000..7f13fd4
--- /dev/null
+++ b/Documentation/hwmon/ibmps
@@ -0,0 +1,53 @@
+Kernel driver ibmps
+
+
+Supported chips:
+ * IBM Witherspoon power supply
+
+Author: Eddie James <eaja...@u
From: "Edward A. James"
Add sysfs entries to dump out PS registers and clear faults.
Signed-off-by: Edward A. James
---
drivers/hwmon/pmbus/ibmps.c | 78 +
1 file changed, 78 insertions(+)
diff --git
On 08/15/2017 12:35 PM, Peter Rosin wrote:
On 2017-08-15 18:28, Christopher Bostic wrote:
On 8/15/17 3:10 AM, Joel Stanley wrote:
On Tue, Aug 15, 2017 at 4:06 PM, Peter Rosin <p...@axentia.se> wrote:
On 2017-07-26 19:13, Eddie James wrote:
From: "Edward A. James" <
From: "Edward A. James"
Signed-off-by: Edward A. James
---
.../devicetree/bindings/i2c/ibm,cffps1.txt | 21 +
1 file changed, 21 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/ibm,cffps1.txt
diff
On 08/14/2017 05:37 PM, Guenter Roeck wrote:
On Mon, Aug 14, 2017 at 02:26:20PM -0500, Eddie James wrote:
On 08/14/2017 01:53 PM, Guenter Roeck wrote:
On Mon, Aug 14, 2017 at 10:26:30AM -0500, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Signed-off-by:
",
+ .of_match_table = ibm_cffps_of_match,
+ },
+ .probe = ibm_cffps_probe,
+ .remove = pmbus_do_remove,
+ .id_table = ibm_cffps_id,
+};
+
+module_i2c_driver(ibm_cffps_driver);
+
+MODULE_AUTHOR("Eddie James");
+MODULE_DESCRIPTION("PMBus driver for IBM Common Form Factor power supplies");
+MODULE_LICENSE("GPL");
--
1.8.3.1
--git a/Documentation/hwmon/ibm-cffps b/Documentation/hwmon/ibm-cffps
new file mode 100644
index 000..e05ecd8
--- /dev/null
+++ b/Documentation/hwmon/ibm-cffps
@@ -0,0 +1,54 @@
+Kernel driver ibm-cffps
+===
+
+Supported chips:
+ * IBM Common Form Factor power supply
+
+Aut
From: "Edward A. James"
This series adds a hwmon pmbus driver for a POWER System power supply. The
core monitoring functionality is provided by pmbus.
Changes since v3:
* Change "fault" to "alarm" in the documentation.
Changes since v2:
* Renamed the driver again...
*
On 08/14/2017 01:53 PM, Guenter Roeck wrote:
On Mon, Aug 14, 2017 at 10:26:30AM -0500, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Signed-off-by: Edward A. James <eaja...@us.ibm.com>
---
Documentation/hwmon/ibm-cffps | 54 +
From: "Edward A. James"
Export all the available status registers through debugfs. This is
useful for hardware diagnostics, especially on multi-page pmbus devices,
as user-space access of the i2c space could corrupt the pmbus page
accounting.
Signed-off-by: Edward A. James
On 08/10/2017 10:00 AM, Guenter Roeck wrote:
On Wed, Aug 02, 2017 at 04:17:10PM -0500, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Add the driver to monitor power supplies with hwmon over pmbus.
Signed-off-by: Edward A. James <eaja...@us.ibm.com&g
On 08/09/2017 08:15 PM, Guenter Roeck wrote:
On Wed, Aug 09, 2017 at 05:19:17PM -0500, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Export all the available status registers through debugfs, if the client
driver wants them.
Signed-off-by: Edwar
On 08/10/2017 03:15 PM, Eddie James wrote:
On 08/09/2017 08:15 PM, Guenter Roeck wrote:
On Wed, Aug 09, 2017 at 05:19:17PM -0500, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Export all the available status registers through debugfs, if the
client
d
From: "Edward A. James"
This series adds some functionality to the pmbus core.
The first two patches provide support for the STATUS_WORD register. This allows
more default alarm attributes to be used, as the upper byte of the status
register is available. The third patch
From: "Edward A. James"
Add PB_STATUS_INPUT as the generic alarm bit for iin and pin. We also
need to redo the status register checking before setting up the boolean
attribute, since it won't necessarily check STATUS_WORD if the device
doesn't support it, which we need for
From: "Edward A. James"
Export all the available status registers through debugfs, if the client
driver wants them.
Signed-off-by: Edward A. James
---
drivers/hwmon/pmbus/pmbus.h | 6 ++
drivers/hwmon/pmbus/pmbus_core.c | 201
From: "Edward A. James"
Pmbus always reads byte data from the status register, even if
configured to use STATUS_WORD. Use a function pointer to read the
correct amount of data from the registers.
Also switch to try STATUS_WORD first before STATUS_BYTE on init.
Signed-off-by:
From: "Edward A. James"
Switch the storage of status registers to 16 bit values. This allows us
to store all the bits of STATUS_WORD.
Signed-off-by: Edward A. James
---
drivers/hwmon/pmbus/pmbus_core.c | 14 +++---
1 file changed, 7
a/Documentation/hwmon/powerps b/Documentation/hwmon/powerps
new file mode 100644
index 000..a4fbe92
--- /dev/null
+++ b/Documentation/hwmon/powerps
@@ -0,0 +1,54 @@
+Kernel driver powerps
+=
+
+Supported chips:
+ * POWER system power supply
+
+Author: Eddie Jam
From: "Edward A. James"
Signed-off-by: Edward A. James
---
.../devicetree/bindings/i2c/ibm,power-ps.txt| 21 +
1 file changed, 21 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/ibm,power-ps.txt
diff
rps_of_match,
+ },
+ .probe = powerps_probe,
+ .remove = pmbus_do_remove,
+ .id_table = powerps_id,
+};
+
+module_i2c_driver(powerps_driver);
+
+MODULE_AUTHOR("Eddie James");
+MODULE_DESCRIPTION("PMBus driver for POWER system power supplies");
+MODULE_LICENSE("GPL");
--
1.8.3.1
From: "Edward A. James"
This series adds a hwmon pmbus driver for a POWER System power supply. The
core monitoring functionality is provided by pmbus.
This series depends on the pmbus core extensions for debugfs recently submitted
to the mailing list (latest:
On 08/10/2017 08:18 PM, Guenter Roeck wrote:
On Thu, Aug 10, 2017 at 05:19:45PM -0500, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Add the driver to monitor POWER system power supplies with hwmon over
pmbus.
Signed-off-by: Edward A. James <
From: "Edward A. James"
This series adds a hwmon pmbus driver for a POWER System power supply. The
core monitoring functionality is provided by pmbus.
Changes since v2:
* Renamed the driver again...
* Remove debugfs bool from pmbus_driver_info.
* Add comment for returning
--git a/Documentation/hwmon/ibm-cffps b/Documentation/hwmon/ibm-cffps
new file mode 100644
index 000..e091ff2
--- /dev/null
+++ b/Documentation/hwmon/ibm-cffps
@@ -0,0 +1,54 @@
+Kernel driver ibm-cffps
+===
+
+Supported chips:
+ * IBM Common Form Factor power supply
+
+Aut
",
+ .of_match_table = ibm_cffps_of_match,
+ },
+ .probe = ibm_cffps_probe,
+ .remove = pmbus_do_remove,
+ .id_table = ibm_cffps_id,
+};
+
+module_i2c_driver(ibm_cffps_driver);
+
+MODULE_AUTHOR("Eddie James");
+MODULE_DESCRIPTION("PMBus driver for IBM Common Form Factor power supplies");
+MODULE_LICENSE("GPL");
--
1.8.3.1
From: "Edward A. James"
Signed-off-by: Edward A. James
---
.../devicetree/bindings/i2c/ibm,cffps1.txt | 21 +
1 file changed, 21 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/ibm,cffps1.txt
diff
From: "Edward A. James"
Export all the available status registers through debugfs. This is
useful for hardware diagnostics, especially on multi-page pmbus devices,
as user-space access of the i2c space could corrupt the pmbus page
accounting.
Signed-off-by: Edward A. James
On 08/11/2017 08:52 AM, Guenter Roeck wrote:
On 08/10/2017 02:57 PM, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Export all the available status registers through debugfs, if the client
driver wants them.
Signed-off-by: Edward A. James <eaja...@us.ibm
On 08/14/2017 11:13 AM, Guenter Roeck wrote:
On Mon, Aug 14, 2017 at 09:59:50AM -0500, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Export all the available status registers through debugfs. This is
useful for hardware diagnostics, especially on multi-pa
From: "Edward A. James"
Execute I2C transfers from the FSI-attached I2C master. Use polling
instead of interrupts as we have no hardware IRQ over FSI.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 197
From: "Edward A. James"
Add and initialize I2C adapters for each port on the FSI-attached I2C
master. Ports for each master are defined in the devicetree.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 91
From: "Edward A. James"
Document the bindings.
Signed-off-by: Edward A. James
---
Documentation/devicetree/bindings/i2c/i2c-fsi.txt | 40 +++
1 file changed, 40 insertions(+)
create mode 100644
From: "Edward A. James"
Since there are many ports per master, each with it's own adapter and
chardev, we need some locking to prevent transfers from changing the\
master state while other transfers are in progress.
Signed-off-by: Edward A. James
---
c/busses/i2c-fsi.c
new file mode 100644
index 000..b7f2bc6
--- /dev/null
+++ b/drivers/i2c/busses/i2c-fsi.c
@@ -0,0 +1,243 @@
+/*
+ * Copyright 2017 IBM Corporation
+ *
+ * Eddie James <eaja...@us.ibm.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify
From: "Edward A. James"
Bus recovery should reset the engine and force clock the bus 9 times
to recover most situations.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 75
1 file changed,
From: "Edward A. James"
This series adds an algorithm for an I2C master physically located on an FSI
slave device. The I2C master has multiple ports, each of which may be connected
to an I2C slave. Access to the I2C master registers is achieved over FSI bus.
Due to the
From: "Edward A. James"
Document the bindings.
Signed-off-by: Edward A. James
---
Documentation/devicetree/bindings/i2c/i2c-fsi.txt | 40 +++
1 file changed, 40 insertions(+)
create mode 100644
From: "Edward A. James"
Since there are many ports per master, each with it's own adapter and
chardev, we need some locking to prevent transfers from changing the\
master state while other transfers are in progress.
Signed-off-by: Edward A. James
---
From: "Edward A. James"
This series adds an algorithm for an I2C master physically located on an FSI
slave device. The I2C master has multiple ports, each of which may be connected
to an I2C slave. Access to the I2C master registers is achieved over FSI bus.
Due to the
From: "Edward A. James"
Add and initialize I2C adapters for each port on the FSI-attached I2C
master. Ports for each master are defined in the devicetree.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 91
c/busses/i2c-fsi.c
new file mode 100644
index 000..b7f2bc6
--- /dev/null
+++ b/drivers/i2c/busses/i2c-fsi.c
@@ -0,0 +1,243 @@
+/*
+ * Copyright 2017 IBM Corporation
+ *
+ * Eddie James <eaja...@us.ibm.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify
From: "Edward A. James"
Bus recovery should reset the engine and force clock the bus 9 times
to recover most situations.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 75
1 file changed,
From: "Edward A. James"
Execute I2C transfers from the FSI-attached I2C master. Use polling
instead of interrupts as we have no hardware IRQ over FSI.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 197
From: "Edward A. James"
Reset causes problems for operations requiring multiple scoms (e.g. i2c
over scom). Instead, reset scom engine during probe.
Signed-off-by: Edward A. James
---
drivers/fsi/fsi-scom.c | 10 --
1 file changed, 4
From: "Edward A. James"
Add method to parse the response from the OCC poll command. This only
needs to be done during probe(), since the OCC shouldn't change the
number or format of sensors while it's running. The parsed response
allows quick access to sensor data, as well as
From: "Edward A. James"
Create device attributes for additional OCC properties that do not
belong as hwmon sensors. These provide additional information as to the
state of the processor and system.
Signed-off-by: Edward A. James
---
From: "Edward A. James"
For the P8 OCC, add the procedure to send a command to the OCC over I2C
bus. This involves writing the OCC command registers with serial
communication operations (SCOMs) interpreted by the I2C slave. For the
P9 OCC, add a procedure to use the OCC
From: "Edward A. James"
Add structures to define all sensor types and versions. Add sysfs show
and store functions for each sensor type. Add a method to construct the
"set user power cap" command and send it to the OCC. Add rate limit to
polling the OCC (in case user-space
From: "Edward A. James"
Setup the sensor attributes for every OCC sensor found by the first poll
response. Register the attributes with hwmon. Add hwmon documentation
for the driver.
Signed-off-by: Edward A. James
---
drivers/hwmon/occ/common.c | 432
44 Documentation/hwmon/occ
diff --git a/Documentation/hwmon/occ b/Documentation/hwmon/occ
new file mode 100644
index 000..dcae911
--- /dev/null
+++ b/Documentation/hwmon/occ
@@ -0,0 +1,74 @@
+Kernel driver occ-hwmon
+===
+
+Supported chips:
+ * POWER8
+ * POWER9
+
+Aut
From: "Edward A. James"
Detail the sysfs attributes provided by the occ-hwmon driver.
Signed-off-by: Edward A. James
---
Documentation/ABI/testing/sysfs-driver-occ-hwmon | 77
1 file changed, 77 insertions(+)
create mode 100644
From: "Edward A. James"
This series adds a hwmon driver to support the OCC on POWER8 and POWER9
processors. The OCC is an embedded processor that provides realtime power and
thermal monitoring and management.
This driver has two different platform drivers as a "base" for the
s = I2C_CLASS_HWMON,
+ .driver = {
+ .name = "occ-hwmon",
+ .of_match_table = p8_i2c_occ_of_match,
+ },
+ .probe = p8_i2c_occ_probe,
+};
+
+module_i2c_driver(p8_i2c_occ_driver);
+
+MODULE_AUTHOR("Eddie James <eaja...@us.ibm.com>&quo
From: "Edward A. James"
Document the bindings for I2C-based OCC hwmon driver.
Signed-off-by: Edward A. James
---
.../devicetree/bindings/i2c/ibm,p8-occ-hwmon.txt | 25 ++
1 file changed, 25 insertions(+)
create mode 100644
From: "Edward A. James"
Add logic to detect a number of error scenarios on the OCC. Export any
errors through an additional non-hwmon device attribute. The error
counting and state verification are required by the OCC hardware
specification.
Signed-off-by: Edward A. James
From: "Edward A. James"
This series adds an algorithm for an I2C master physically located on an FSI
slave device. The I2C master has multiple ports, each of which may be connected
to an I2C slave. Access to the I2C master registers is achieved over FSI bus.
Due to the
From: "Edward A. James"
Since there are many ports per master, each with it's own adapter and
chardev, we need some locking to prevent transfers from changing the\
master state while other transfers are in progress.
Signed-off-by: Edward A. James
---
c/busses/i2c-fsi.c
new file mode 100644
index 000..79475f8
--- /dev/null
+++ b/drivers/i2c/busses/i2c-fsi.c
@@ -0,0 +1,244 @@
+/*
+ * Copyright 2017 IBM Corporation
+ *
+ * Eddie James <eaja...@us.ibm.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify
From: "Edward A. James"
Add and initialize I2C adapters for each port on the FSI-attached I2C
master. Ports for each master are defined in the devicetree.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 96
From: "Edward A. James"
Execute I2C transfers from the FSI-attached I2C master. Use polling
instead of interrupts as we have no hardware IRQ over FSI.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 197
From: "Edward A. James"
Document the bindings.
Signed-off-by: Edward A. James
Acked-by: Rob Herring
---
Documentation/devicetree/bindings/i2c/i2c-fsi.txt | 40 +++
1 file changed, 40 insertions(+)
create mode
From: "Edward A. James"
Bus recovery should reset the engine and force clock the bus 9 times
to recover most situations.
Signed-off-by: Edward A. James
---
drivers/i2c/busses/i2c-fsi.c | 75
1 file changed,
On 06/26/2017 08:06 PM, Jeremy Kerr wrote:
Hi Eddie,
+Required properties:
+ - compatible = "ibm,i2cm-fsi";
+ - reg = < address size >; : The FSI CFAM address and address
space
+ size.
+ - #address-cells = <1>; : Number of
From: "Edward A. James"
Refactor the user interface of the SBEFIFO driver to allow for an
in-kernel read/write API. Add exported functions for other drivers to
call, and add an include file with those functions. Also parse the
device tree for child nodes and create child
spin_unlock(>lock);
+
+ WRITE_ONCE(sbefifo->rc, -ENODEV);
+
+ wake_up(>wait);
+ sbefifo_put(sbefifo);
+ }
+
+ return 0;
+}
+
+static struct fsi_device_id sbefifo_ids[] = {
+ {
+ .engine_type = FSI_ENGID_SB
From: "Edward A. James"
This series adds two FSI-based device drivers. The OCC driver is dependent on
the SBEFIFO driver, as a user of it's in-kernel API. The in-kernel API provided
by the OCC driver will be used by a hwmon driver (on the lkml as "Add On-Chip
Controller (OCC)
of_device_id occ_match[] = {
+ { .compatible = "ibm,p9-occ" },
+ { },
+};
+
+static struct platform_driver occ_driver = {
+ .driver = {
+ .name = "occ",
+ .of_match_table = occ_match,
+ },
+ .probe = occ_probe,
+ .remove = occ_remove,
+};
+
+static int occ_init(void)
+{
+ occ_wq = create_singlethread_workqueue("occ");
+ if (!occ_wq)
+ return -ENOMEM;
+
+ return platform_driver_register(_driver);
+}
+
+static void occ_exit(void)
+{
+ destroy_workqueue(occ_wq);
+
+ platform_driver_unregister(_driver);
+
+ ida_destroy(_ida);
+}
+
+module_init(occ_init);
+module_exit(occ_exit);
+
+MODULE_AUTHOR("Eddie James <eaja...@us.ibm.com>");
+MODULE_DESCRIPTION("BMC P9 OCC driver");
+MODULE_LICENSE("GPL");
--
1.8.3.1
From: "Edward A. James"
Add an in-kernel read/write API with exported functions. This is
necessary for other drivers which want to directly interact with the
OCC. Also parse the OCC device tree node for child nodes and create
child platform devices accordingly.
From: "Edward A. James"
Document the bindings for the SBE and OCC devices. SBE devices are
located on a CFAM on an FSI bus, and OCC devices are accessed through
the SBEFIFO.
Signed-off-by: Edward A. James
---
On 04/02/2017 06:19 AM, Guenter Roeck wrote:
On 03/14/2017 01:55 PM, Eddie James wrote:
From: "Edward A. James" <eaja...@us.ibm.com>
Add a generic mechanism to expose the sensors provided by the OCC in
sysfs.
Signed-off-by: Edward A. James <eaja...@us.ibm.com>
Signed-
From: "Edward A. James"
Export all the available status registers through debugfs, if the client
driver wants them.
Signed-off-by: Edward A. James
---
drivers/hwmon/pmbus/pmbus.c | 24 +-
drivers/hwmon/pmbus/pmbus.h | 11 +++
From: "Edward A. James"
This series adds some functionality to the pmbus core.
The first two patches provide support for the STATUS_WORD register. This allows
more default alarm attributes to be used, as the upper byte of the status
register is available. The third patch
From: "Edward A. James"
Add PB_STATUS_INPUT as the generic alarm bit for iin and pin. We also
need to redo the status register checking before setting up the boolean
attribute, since it won't necessarily check STATUS_WORD if the device
doesn't support it, which we need for
From: "Edward A. James"
Switch the storage of status registers to 16 bit values. This allows us
to store all the bits of STATUS_WORD.
Signed-off-by: Edward A. James
---
drivers/hwmon/pmbus/pmbus_core.c | 14 +++---
1 file changed, 7
From: "Edward A. James"
Pmbus always reads byte data from the status register, even if
configured to use STATUS_WORD. Use a function pointer to read the
correct amount of data from the registers.
Also switch to try STATUS_WORD first before STATUS_BYTE on init.
Signed-off-by:
From: "Edward A. James"
Add an in-kernel read/write API with exported functions. This is
necessary for other drivers which want to directly interact with the
OCC. Also parse the OCC device tree node for child nodes and create
child platform devices accordingly.
kfree(xfr);
+ spin_unlock(>lock);
+
+ WRITE_ONCE(sbefifo->rc, -ENODEV);
+
+ wake_up(>wait);
+ sbefifo_put(sbefifo);
+ }
+
+ return 0;
+}
+
+static struct fsi_device_id sbefifo_ids[] = {
+ {
+
+ ida_simple_remove(_ida, occ->idx);
+
+ return 0;
+}
+
+static const struct of_device_id occ_match[] = {
+ { .compatible = "ibm,p9-occ" },
+ { },
+};
+
+static struct platform_driver occ_driver = {
+ .driver = {
+ .name = "occ",
+ .of
From: "Edward A. James"
Refactor the user interface of the SBEFIFO driver to allow for an
in-kernel read/write API. Add exported functions for other drivers to
call, and add an include file with those functions. Also parse the
device tree for child nodes and create child
From: "Edward A. James"
This series adds two FSI-based device drivers. The OCC driver is dependent on
the SBEFIFO driver, as a user of it's in-kernel API. The in-kernel API provided
by the OCC driver will be used by a hwmon driver (to be sent to the lkml soon).
I previously
1 - 100 of 827 matches
Mail list logo