History log of /netbsd/sys/dev/ic/pcf8584.c (Results 1 – 20 of 20)
Revision Date Author Comments
# 882ffae7 25-Sep-2022 thorpej <thorpej@NetBSD.org>

Remove unnecessary include of <sys/malloc.h>.


# beecddb6 07-Aug-2021 thorpej <thorpej@NetBSD.org>

Merge thorpej-cfargs2.


# 3bee0c11 24-Apr-2021 thorpej <thorpej@NetBSD.org>

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass a

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).

show more ...


# f13fc1f3 23-Dec-2019 thorpej <thorpej@NetBSD.org>

pcfiic_i2c_exec(): No need to check 'cold' to force I2C_F_POLL; the i2c
upper layer does it for us.


# 610ff4e3 22-Dec-2019 thorpej <thorpej@NetBSD.org>

Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks
no longer need to be provided by back-end controller driver

Cleanup i2c bus acquire / release, centralizing all of the logic into
iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks
no longer need to be provided by back-end controller drivers (only if
they need special handling, e.g. powering on the i2c controller).
This results in the removal of a bunch of rendundant code from each
back-end controller driver.

Assert that we are not in hard interrupt context in iic_acquire_bus(),
iic_exec(), and iic_release_bus().

show more ...


# f8daa395 11-Jan-2016 jdc <jdc@NetBSD.org>

Always take the bus lock (avoids collisions when drivers set I2C_F_POLL).


# 06c82500 04-Jan-2016 jdc <jdc@NetBSD.org>

Redo r1.12 - process cmd and value buffers in pcfiic_xmit().
Avoids allocating a temporary buffer for writes using both buffers.


# dd5d46f0 03-Jan-2016 jdc <jdc@NetBSD.org>

Remove duplicate register definitions and merge them all into pcf8584reg.h.
No functional change.


# 7f9787d3 16-Dec-2015 jdc <jdc@NetBSD.org>

Allow pcfiic to handle i2c writes using cmdbuf for the register, and buf for
the value to be written. Prior to this, we would send an empty write command
to the correct i2c address, plus an empty wr

Allow pcfiic to handle i2c writes using cmdbuf for the register, and buf for
the value to be written. Prior to this, we would send an empty write command
to the correct i2c address, plus an empty write command to the device at the
i2c address of the first byte of buf.

show more ...


# 79b65f99 20-Jan-2014 jdc <jdc@NetBSD.org>

Remove the check for (cmdlen > 0) when writing. When i2cscan sends a
quick_write, the command length is 0, so we were previously returning
success for every address in this case.


# e7207c38 15-Sep-2013 martin <martin@NetBSD.org>

Remove unused variable


# 79167488 16-Apr-2010 dyoung <dyoung@NetBSD.org>

#include <sys/bus.h> instead of <machine/bus.h>. No functional change
intended.


# 87ba0950 31-Mar-2010 macallan <macallan@NetBSD.org>

remove a now useless bus_space_barrier()


# 38fe6d62 31-Mar-2010 macallan <macallan@NetBSD.org>

Do as OpenSolaris does and read the status register after each write.
Now this driver works on my Blade 2500.


# 046723f0 28-Feb-2010 martin <martin@NetBSD.org>

Update pcf8584 driver from OpenBSD


# ce099b40 28-Apr-2008 martin <martin@NetBSD.org>

Remove clause 3 and 4 from TNF licenses


# 70885129 08-Apr-2008 cegger <cegger@NetBSD.org>

use aprint_*_dev and device_xname


# ebe7b38b 26-Mar-2008 tnn <tnn@NetBSD.org>

convert pcf8584 to device_t.


# a2a38285 19-Oct-2007 ad <ad@NetBSD.org>

machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h


# b2079804 14-Apr-2007 tnn <tnn@NetBSD.org>

Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <m

Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>

show more ...