[PATCH v3 0/4] Add devicetree functionality to w1 busses and ds2760
From: Daniel Mack
Date: Wed Jul 04 2018 - 00:45:16 EST
This patch set contains four patches that bring devicetree
functionality to w1 bus masters and slaves in general. As an example,
the ds2760 driver is made aware of devicetree probing. Other drivers
can easily be ported later.
W1 masters scan their bus in order to discover slave devices. Once
one is found, a driver matching the family of the device is instanciated
which handles it. To add devicetree functionality, all that's needed
for now is a call to of_find_matching_node() when a slave device is
attached, so the corresponding of_node pointer is set.
The series also contains a patch that merges the w1 slave driver for the
ds2760 battery monitor into its only user, the ds2760 supply driver.
The indirection with two drivers never had any benefit, and here is
a good opportunity to clean this up.
Patch #1 adds some DT bindings documentation
Patch #2 adds the call to of_find_matching_node()
Patch #3 merges the w1 slave and the supply driver for ds2760
Patch #4 makes the ds2760 supply driver aware of DT environments
This works fine on a PXA3xx based board with a battery attached to
the w1-gpio bus master controller.
Changelog:
v2 â v3:
* Fixed a typo in the documentation and added more real-world
example for the bindings. Pointed out by Rob Herring.
Daniel Mack (4):
dt-bindings: w1: document generic onewire and DS2760 bindings
w1: core: match sub-nodes of bus masters in devicetree
power: supply: ds2760_battery: merge ds2760 supply driver with its w1
slave companion
power: supply: ds2760_battery: add devicetree probing
.../bindings/power/supply/maxim,ds2760.txt | 29 ++
.../devicetree/bindings/w1/w1-gpio.txt | 11 +-
Documentation/devicetree/bindings/w1/w1.txt | 25 ++
drivers/power/supply/Kconfig | 2 +-
drivers/power/supply/ds2760_battery.c | 351 +++++++++++++-----
drivers/w1/slaves/Kconfig | 12 -
drivers/w1/slaves/Makefile | 1 -
drivers/w1/slaves/w1_ds2760.c | 175 ---------
drivers/w1/slaves/w1_ds2760.h | 59 ---
drivers/w1/w1.c | 3 +
include/linux/w1.h | 2 +
11 files changed, 329 insertions(+), 341 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt
create mode 100644 Documentation/devicetree/bindings/w1/w1.txt
delete mode 100644 drivers/w1/slaves/w1_ds2760.c
delete mode 100644 drivers/w1/slaves/w1_ds2760.h
--
2.17.1