linux/drivers
Andres Salomon a9bbba9963 mfd: add platform_device sharing support for mfd
This adds functions to enable platform_device sharing for mfd clients.

Each platform driver (mfd client) that wants to share an mfd_cell's
platform_device uses the mfd_shared_platform_driver_{un,}register()
functions instead of platform_driver_{un,}register().  Along with
registering the platform driver, these also register a new platform
device with the same characteristics as the original cell, but a different
name.  Given an mfd_cell with the name "foo", drivers that want to
share access to its resources can call mfd_shared_platform_driver_register
with platform drivers named (for example) "bar" and "baz".  This
will register two platform devices and drivers named "bar" and "baz"
that share the same cell as the platform device "foo".  The drivers
can then call "foo" cell's enable hooks (or mfd_shared_cell_enable)
to enable resources, and obtain platform resources as they normally
would.

This deals with platform handling only; mfd driver-specific details,
hardware handling, refcounting, etc are all dealt with separately.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2011-03-23 10:41:58 +01:00
..
accessibility
acpi acpi: tie ACPI backlight devices to PCI devices if possible 2011-03-22 17:44:00 -07:00
amba
ata Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-03-18 06:31:43 -07:00
atm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
auxdisplay
base
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2011-03-22 16:25:25 -07:00
bluetooth Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
cdrom
char Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
clk
clocksource
connector
cpufreq
cpuidle
crypto
dca drivers/dca/dca-core.c: use list_move() instead of list_del()/list_add() combination 2011-03-22 17:44:12 -07:00
dio
dma mfd: mfd_cell is now implicitly available to timberdale drivers 2011-03-23 10:41:52 +01:00
edac Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2011-03-21 10:05:22 -07:00
firmware sigma-firmware: loader for Analog Devices' SigmaStudio 2011-03-22 17:44:15 -07:00
gpio rdc321x-southbridge: Use mfd_data instead of driver_data 2011-03-23 10:41:57 +01:00
gpu nouveau: change the backlight parent device to the connector, not the PCI dev 2011-03-22 17:43:59 -07:00
hid backlight: add backlight type 2011-03-22 17:43:59 -07:00
hwmon mfd: mfd_cell is now implicitly available to jz4740 drivers 2011-03-23 10:41:50 +01:00
hwspinlock
i2c mfd: mfd_cell is now implicitly available to timberdale drivers 2011-03-23 10:41:52 +01:00
ide
idle
ieee802154
infiniband Merge branch 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2011-03-17 18:40:35 -07:00
input mfd: mfd_cell is now implicitly available to twl4030 drivers 2011-03-23 10:41:54 +01:00
isdn Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
leds mfd: mfd_cell is now implicitly available to mc13xxx drivers 2011-03-23 10:41:54 +01:00
lguest
macintosh backlight: add backlight type 2011-03-22 17:43:59 -07:00
mca
md
media mfd: mfd_cell is now implicitly available to wl1273 drivers 2011-03-23 10:41:53 +01:00
memstick
message Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
mfd mfd: add platform_device sharing support for mfd 2011-03-23 10:41:58 +01:00
misc drivers/misc/pch_phub.c: add MODULE_DEVICE_TABLE 2011-03-22 17:44:11 -07:00
mmc mmc: Use mfd_data instead of driver_data for tmio-mmc 2011-03-23 10:41:56 +01:00
mtd mtd: Use mfd_data instead of driver_data for tmio_nand 2011-03-23 10:41:57 +01:00
net mfd: mfd_cell is now implicitly available to janz drivers 2011-03-23 10:41:54 +01:00
nfc
nubus
of
oprofile
parisc
parport
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-03-18 10:56:44 -07:00
pcmcia
platform backlight: add backlight type 2011-03-22 17:43:59 -07:00
pnp pnp: only assign IORESOURCE_DMA if CONFIG_ISA_DMA_API is enabled 2011-03-22 17:44:16 -07:00
power mfd: mfd_cell is now implicitly available to jz4740 drivers 2011-03-23 10:41:50 +01:00
pps pps: remove unreachable code 2011-03-22 17:44:17 -07:00
ps3
rapidio
regulator mfd: mfd_cell is now implicitly available to mc13xxx drivers 2011-03-23 10:41:54 +01:00
rtc rtc: add real-time clock driver for NVIDIA Tegra 2011-03-22 17:44:16 -07:00
s390
sbus
scsi sd: Fail discard requests when logical block provisioning has been disabled 2011-03-22 09:35:53 -07:00
sfi
sh
sn
spi mfd: mfd_cell is now implicitly available to timberdale drivers 2011-03-23 10:41:52 +01:00
ssb
staging backlight: add backlight type 2011-03-22 17:43:59 -07:00
target Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
tc
telephony
thermal
tty tty: stop using "delayed_work" in the tty layer 2011-03-22 16:17:32 -07:00
uio
usb mfd: mfd_cell is now implicitly available to tc6393xb drivers 2011-03-23 10:41:53 +01:00
uwb
vhost
video fb: Use mfd_data instead of driver_data for tmio-fb 2011-03-23 10:41:57 +01:00
virtio
vlynq
w1 w1: Use mfd_data instead of driver_data for dsw1wm.c 2011-03-23 10:41:56 +01:00
watchdog rdc321x-southbridge: Use mfd_data instead of driver_data 2011-03-23 10:41:57 +01:00
xen
zorro
Kconfig
Makefile