Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/sparc64/dev/pcf8591_envctrl.c
RevisionDateAuthorComments
 1.20  17-Sep-2025  thorpej Don't get the OF phandle from i2c_attach_args::ia_cookie; get it from
self's devhandle.
 1.19  27-Jan-2021  thorpej branches: 1.19.4; 1.19.14;
Use DEVICE_COMPAT_EOL.
 1.18  25-Jan-2021  thorpej Since we're using designated initialisers for compat data, we should
use a completely empty initializer for the sentinel.
 1.17  17-Jan-2021  thorpej Use designated initializers and a consistent termination style in
compat_data[].
 1.16  23-Dec-2020  jdc Rename the CPU fan to SYS fan to match what the firmware calls it.
Check for fan failure and high temperature events when setting the fan
speed. If one or both is true, run the fans at full speed.
 1.15  20-Dec-2020  jdc For the E250:
set fans to medium speed when attaching and full speed when detaching.
remove unused PS fan definition.
In general:
return early from attach if the device isn't present.
handle errors from sysmon during attach so that detach doesn't crash.
try to handle errors when acquiring the iic bus during detach.
 1.14  07-Dec-2020  jdc Add some debugging output to check sensor addition and refresh.
 1.13  06-Dec-2020  jdc Don't read from the chip when matching, fail the attach instead (requested
by jmcneill). Reverts previous.
While here, handle errors attaching sysmon and acquiring the iic bus lock.
 1.12  05-Dec-2020  jdc When matching, try a read in case this is an optional device and isn't
actually present.
 1.11  31-Oct-2020  jdc branches: 1.11.2;
Call sysmon_envsys_unregister() not sysmon_envsys_destroy() when
detaching. Pointed out by Michael van Elst.
 1.10  24-Oct-2020  jdc Add support for automatically changing the CPU fan speed on the E250 in a
similar way to the SB1000/SB2000.
The fan control information was determined by experiment, as it's only
partially available in OFW.
Hardcode the missing information for E250 fan control into the driver
(it should be possible to support the E450 in future too).
 1.9  26-Jun-2018  thorpej In my quest to make device_compatible_entry (and associated goo)
super-general, it turns out I also made it a little to cumbersome
to use (if my tired fingers are any indication). So, this is a
course-correction -- one string per entry (like of_compat_data,
which it will soon replace), and remove the over-verbose macros.
 1.8  18-Jun-2018  thorpej - Rename iic_compat_match() to iic_compatible_match() and change it
to use the new device_compatible_match() routine. A pointer to
the matching device_compatible_entry is returned if a match is
found.
- Adjust iic_use_direct_match() accordingly.
- i2c drivers now provide device_compatible_entry tables when performing
direct-config matching.
- In the dsrtc driver, take advantage of this new capability to greatly
simplify model selection.

(I'm coming for you next, of_compat_data...)
 1.7  16-Jun-2018  thorpej More cleanup to i2c autoconfiguration:

- Get all of the drivers onto the new match quality constants.
- Introduce a new helper function, iic_use_direct_match(), that has
all of the logic for direct-config matching. If it returns true,
the driver returns the match result (which may be 0). If it returns
false, the driver does indirect-config matching.
- iic_compat_match() now returns a weighted match quality; matches to
lower-indexed "compatible" device property are more-specific matches,
and return a better match quality accordingly.
 1.6  18-Mar-2012  mrg branches: 1.6.38;
add missing __KERNEL_RCSID().
 1.5  20-Jun-2011  pgoyette branches: 1.5.2; 1.5.6;
Initialize sensor states before registering.
 1.4  03-Apr-2011  jdc branches: 1.4.2;
Remove ENVSYS_FMONNOTSUPP, so that we can monitor this sensor.
 1.3  28-Feb-2010  martin branches: 1.3.2; 1.3.4; 1.3.6; 1.3.8;
dmesg cosmetics
 1.2  28-Feb-2010  pgoyette Set the FMONNOTSUPP flag for each individual sensor, and add the
FMONLIMITS flag so the sensor is actually monitored and events can
be generated.

As discussed with martin@ in private email.
 1.1  28-Feb-2010  martin Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.
 1.3.8.1  06-Jun-2011  jruoho Sync with HEAD.
 1.3.6.2  30-Apr-2010  uebayasi Sync with HEAD.
 1.3.6.1  28-Feb-2010  uebayasi file pcf8591_envctrl.c was added on branch uebayasi-xip on 2010-04-30 14:39:51 +0000
 1.3.4.1  21-Apr-2011  rmind sync with head
 1.3.2.2  11-Mar-2010  yamt sync with head
 1.3.2.1  28-Feb-2010  yamt file pcf8591_envctrl.c was added on branch yamt-nfs-mp on 2010-03-11 15:03:00 +0000
 1.4.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.5.6.1  05-Apr-2012  mrg sync to latest -current.
 1.5.2.1  17-Apr-2012  yamt sync with head
 1.6.38.2  28-Jul-2018  pgoyette Sync with HEAD
 1.6.38.1  25-Jun-2018  pgoyette Sync with HEAD
 1.11.2.3  03-Apr-2021  thorpej Sync with HEAD.
 1.11.2.2  03-Jan-2021  thorpej Sync w/ HEAD.
 1.11.2.1  14-Dec-2020  thorpej Sync w/ HEAD.
 1.19.14.1  09-Aug-2021  thorpej Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.
 1.19.4.1  15-May-2021  thorpej - Move all of the stuff-missing-from-OFW-device-tree stuff into a
new function sparc64_device_tree_fixup(), and call it from
device_register().
- sparc64_device_tree_fixup() is table-driven, selecting the table
based on the machine_model. It can appy "dtnode" fixups (by matching
the device's OFW path) and "special" fixups, which are especially
useful when a property needs to be added to another device that happens
to not be in the OFW device tree.
- Implement enumeration of missing-from-OFW-device-tree i2c devices
by "sub-classing" the controller's device handle, intercepting the
"i2c-enumerate-devices" device call. We let the "super" first
enumerate any i2c devices that are in the OFW device tree, and then
enumerate our own additions after that is done. i2c additions are
provided by the machine_model fixup tables.

RSS XML Feed