On 31/10/15 16:31, Andrew F. Davis wrote: > Hello all, > > This series adds the TI AFE4404 "Ultra-small, Integrated AFE for > Wearable, Optical Heart Rate Monitoring and Bio-Sensing". > > This work is based on previous work by Dan Murphy [0] who is working > on other tasks at the moment, so I will be helping to continue > upstreaming this driver. This is more of a re-write than a continuation > and there are many changes so I am submitting this as a v1. > > This device is very similar to the AFE4403 and I was originally planning > on pushing the two drivers together with common core functions in a > third file. The AFE4403 driver is still being tested so I merged common > code back into this driver, this is why this driver may seem a bit > unnecessarily modular. I will probably split this stuff back out when > I push the AFE4403. > > I also had some issues with sysfs naming for the channels; this device > has three input channels from three LED stages and two ambient > channels based on the LED stages. This might have been be a good place > for using IIO modifiers[1], but we also have two differential channels > based on the ambient channels, and channels cannot have both modifiers > and be differential (the modifier is stored in the differential channel's > ID field?). True enough. Didn't expect to run into this particular problem, but I guess someone will always make hardware breaking any assumptions we make from the software side of things. So I used sysfs names that would be close to what they > would be if IIO supported these things. Fair enough as a starting point though we probably want to figure out how to do this 'right'. Adding an extra field to the channel descriptor will be easy enough - it'll be event codes that are nasty to handle. Jonathan > > [0] http://www.spinics.net/lists/linux-iio/msg18413.html > [1] IIO_MOD_TEMP_AMBIENT could be renamed IIO_MOD_AMBIENT as it can > also apply to LIGHT, PRESSURE, HUMIDITY, etc.. No problem with this change so please send a patch. > > Thanks, > Andrew > > Andrew F. Davis (2): > Documentation: afe4404: Add DT bindings for the AFE4404 heart monitor > iio: health: Add driver for the TI AFE4404 heart monitor > > .../ABI/testing/sysfs-bus-iio-health-afe4404 | 70 +++ > .../devicetree/bindings/iio/health/afe4404.txt | 27 ++ > drivers/iio/Kconfig | 1 + > drivers/iio/Makefile | 1 + > drivers/iio/health/Kconfig | 24 + > drivers/iio/health/Makefile | 6 + > drivers/iio/health/afe4404.c | 526 +++++++++++++++++++++ > drivers/iio/health/afe440x.h | 159 +++++++ > 8 files changed, 814 insertions(+) > create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-health-afe4404 > create mode 100644 Documentation/devicetree/bindings/iio/health/afe4404.txt > create mode 100644 drivers/iio/health/Kconfig > create mode 100644 drivers/iio/health/Makefile > create mode 100644 drivers/iio/health/afe4404.c > create mode 100644 drivers/iio/health/afe440x.h > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html