From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Lee Jones <lee.jones@linaro.org>,
Antoine Tenart <antoine.tenart@free-electrons.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
Arnd Bergmann <arnd@arndb.de>,
Devicetree <devicetree@vger.kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Grant Likely <grant.likely@linaro.org>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Linus Walleij <linus.walleij@linaro.org>,
Henrik Juul Pedersen <hjp@liab.dk>
Subject: [PATCH 4.1 72/86] MFD/OF: document MFD devices and handle simple-mfd
Date: Fri, 6 Nov 2015 11:23:11 -0800 [thread overview]
Message-ID: <20151106192208.892194650@linuxfoundation.org> (raw)
In-Reply-To: <20151106192205.351595349@linuxfoundation.org>
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Linus Walleij <linus.walleij@linaro.org>
commit 22869a9eca4ea5b534538d160b68c7aef44e378a upstream.
This defines a new compatible option for MFD devices "simple-mfd" that will
make the OF core spawn child devices for all subnodes of that MFD device.
It is optional but handy for things like syscon and possibly other
simpler MFD devices.
Since there was no file to put the documentation in, I took this opportunity
to make a small writeup on MFD devices and add the compatible definition
there.
Suggested-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Devicetree <devicetree@vger.kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Henrik Juul Pedersen <hjp@liab.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
Documentation/devicetree/bindings/mfd/mfd.txt | 41 ++++++++++++++++++++++++++
drivers/of/platform.c | 1
2 files changed, 42 insertions(+)
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/mfd.txt
@@ -0,0 +1,41 @@
+Multi-Function Devices (MFD)
+
+These devices comprise a nexus for heterogeneous hardware blocks containing
+more than one non-unique yet varying hardware functionality.
+
+A typical MFD can be:
+
+- A mixed signal ASIC on an external bus, sometimes a PMIC (Power Management
+ Integrated Circuit) that is manufactured in a lower technology node (rough
+ silicon) that handles analog drivers for things like audio amplifiers, LED
+ drivers, level shifters, PHY (physical interfaces to things like USB or
+ ethernet), regulators etc.
+
+- A range of memory registers containing "miscellaneous system registers" also
+ known as a system controller "syscon" or any other memory range containing a
+ mix of unrelated hardware devices.
+
+Optional properties:
+
+- compatible : "simple-mfd" - this signifies that the operating system should
+ consider all subnodes of the MFD device as separate devices akin to how
+ "simple-bus" inidicates when to see subnodes as children for a simple
+ memory-mapped bus. For more complex devices, when the nexus driver has to
+ probe registers to figure out what child devices exist etc, this should not
+ be used. In the latter case the child devices will be determined by the
+ operating system.
+
+Example:
+
+foo@1000 {
+ compatible = "syscon", "simple-mfd";
+ reg = <0x01000 0x1000>;
+
+ led@08.0 {
+ compatible = "register-bit-led";
+ offset = <0x08>;
+ mask = <0x01>;
+ label = "myled";
+ default-state = "on";
+ };
+};
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -25,6 +25,7 @@
const struct of_device_id of_default_bus_match_table[] = {
{ .compatible = "simple-bus", },
+ { .compatible = "simple-mfd", },
#ifdef CONFIG_ARM_AMBA
{ .compatible = "arm,amba-bus", },
#endif /* CONFIG_ARM_AMBA */
next prev parent reply other threads:[~2015-11-06 19:23 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-06 19:21 [PATCH 4.1 00/86] 4.1.13-stable review Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 01/86] ath9k: declare required extra tx headroom Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 02/86] iwlwifi: dvm: fix D3 firmware PN programming Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 03/86] iwlwifi: fix firmware filename for 3160 Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 04/86] rtlwifi: rtl8821ae: Fix system lockups on boot Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 05/86] iwlwifi: mvm: clear csa countdown when AP is stopped Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 06/86] iwlwifi: mvm: fix D3 firmware PN programming Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 07/86] iwlwifi: mvm: init card correctly on ctkill exit check Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 08/86] iwlwifi: mvm: flush fw_dump_wk when mvm fails to start Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 09/86] iwlwifi: pci: add a few more PCI subvendor IDs for the 7265 series Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 10/86] iommu/vt-d: fix range computation when making room for large pages Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 11/86] iommu/amd: Fix BUG when faulting a PROT_NONE VMA Greg Kroah-Hartman
2015-11-06 20:49 ` Linus Torvalds
2015-11-06 20:55 ` Linus Torvalds
2015-11-08 11:45 ` Joerg Roedel
2015-11-06 19:22 ` [PATCH 4.1 12/86] iommu/amd: Dont clear DTE flags when modifying it Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 13/86] powerpc/rtas: Validate rtas.entry before calling enter_rtas() Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 14/86] drm: fix mutex leak in drm_dp_get_mst_branch_device Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 15/86] [media] si2157: Bounds check firmware Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 16/86] [media] si2168: " Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 17/86] [media] rtl28xxu: fix control message flaws Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 18/86] KVM: arm: use GIC support unconditionally Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 19/86] ALSA: hda - Fix inverted internal mic on Lenovo G50-80 Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 20/86] ALSA: hda - Fix deadlock at error in building PCM Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 21/86] ASoC: Add info callback for SX_TLV controls Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 22/86] ASoC: wm8904: Correct number of EQ registers Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 24/86] x86/setup: Extend low identity map to cover whole kernel range Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 25/86] mm: make sendfile(2) killable Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 26/86] fault-inject: fix inverted interval/probability values in printk Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 27/86] drm/nouveau/gem: return only valid domain when theres only one Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 28/86] drm/radeon/dpm: dont add pwm attributes if DPM is disabled Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 32/86] drm/radeon: dont try to recreate sysfs entries on resume Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 36/86] iio: st_accel: fix interrupt handling on LIS3LV02 Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 37/86] iio: accel: sca3000: memory corruption in sca3000_read_first_n_hw_rb() Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 38/86] rbd: require stable pages if message data CRCs are enabled Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 39/86] rbd: dont leak parent_spec in rbd_dev_probe_parent() Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 40/86] rbd: prevent kernel stack blow up on rbd map Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 41/86] ARM: orion: Fix DSA platform device after mvmdio conversion Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 42/86] ARM: mvebu: correct a385-db-ap compatible string Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 43/86] ARM: dts: Fix audio card detection on Peach boards Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 44/86] ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 45/86] ARM: dts: sunxi: Raise minimum CPU voltage for sun7i-a20 to meet SoC specifications Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 46/86] ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 47/86] ARM: 8449/1: fix bug in vdsomunge swab32 macro Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 48/86] Revert "ARM64: unwind: Fix PC calculation" Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 49/86] dm btree remove: fix a bug when rebalancing nodes after removal Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 50/86] dm btree: fix leak of bufio-backed block in btree_split_beneath error path Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 51/86] Revert "serial: 8250_dma: dont bother DMA with small transfers" Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 53/86] i2c: mv64xxx: really allow I2C offloading Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 54/86] xhci: handle no ping response error properly Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 55/86] xhci: Add spurious wakeup quirk for LynxPoint-LP controllers Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 56/86] xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing) Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 57/86] module: Fix locking in symbol_put_addr() Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 58/86] PCI: Prevent out of bounds access in numa_node override Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 59/86] ovl: free stack of paths in ovl_fill_super Greg Kroah-Hartman
2015-11-06 19:22 ` [PATCH 4.1 60/86] ovl: free lower_mnt array in ovl_put_super Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 61/86] ovl: use O_LARGEFILE in ovl_copy_up() Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 62/86] ovl: fix dentry reference leak Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 64/86] crypto: api - Only abort operations on fatal signal Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 65/86] md/raid1: submit_bio_wait() returns 0 on success Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 66/86] md/raid10: " Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 67/86] md/raid5: fix locking in handle_stripe_clean_event() Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 68/86] Revert "md: allow a partially recovered device to be hot-added to an array." Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 69/86] EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs() Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 70/86] irqchip/tegra: Propagate IRQ type setting to parent Greg Kroah-Hartman
2015-11-06 19:23 ` Greg Kroah-Hartman [this message]
2015-11-06 19:23 ` [PATCH 4.1 73/86] btrfs: fix possible leak in btrfs_ioctl_balance() Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 74/86] IB/cm: Fix rb-tree duplicate free and use-after-free Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 75/86] cpufreq: intel_pstate: Fix divide by zero on Knights Landing (KNL) Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 76/86] arm64: kernel: rename __cpu_suspend to keep it aligned with arm Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 77/86] arm64: kernel: fix tcr_el1.t0sz restore on systems with extended idmap Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 78/86] arm64: compat: fix stxr failure case in SWP emulation Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 79/86] NVMe: Fix memory leak on retried commands Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 80/86] drm/vmwgfx: Fix up user_dmabuf refcounting Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 81/86] thp: use is_zero_pfn() only after pte_present() check Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 82/86] pinctrl: baytrail: Serialize all register access Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 83/86] pinctrl: baytrail: Use raw_spinlock for locking Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 84/86] serial: 8250_pci: Add support for 12 port Exar boards Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 85/86] xen: fix backport of previous kexec patch Greg Kroah-Hartman
2015-11-06 19:23 ` [PATCH 4.1 86/86] dts: imx6: fix sd card gpio polarity specified in device tree Greg Kroah-Hartman
2015-11-07 1:43 ` [PATCH 4.1 00/86] 4.1.13-stable review Guenter Roeck
2015-11-07 2:53 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151106192208.892194650@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=alexandre.belloni@free-electrons.com \
--cc=antoine.tenart@free-electrons.com \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=hjp@liab.dk \
--cc=ijc+devicetree@hellion.org.uk \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).