MFD sharing support (v3, full)

From: Andres Salomon
Date: Thu Feb 17 2011 - 22:14:08 EST


Here's all of my third attempt at MFD cell sharing. This includes all
parts; some of the patches from v2 are being resent without changes. I
apologize for the noise, but since I screwed up the threading in the first
batch and people were having trouble finding some of the patches, I figured
I'd resend everything together. There are some changes in there as well;
they've been marked in commit messages.

This whole set does the following things:
- make mfd_cell structs always accessible to platform devices
- adjust the mfd_cell API to (hopefully) be cleaner, replacing platform_data
and driver_data with mfd_data
- add wrapper functions to access mfd cell and data fields
- adjust all mfd clients/drivers to use the new API
- add a reference counting wrapper for mfd_cell's enable/disable hooks
- add platform device sharing wrappers to allow mfd clients to create
new platform devices (at the same time as platform drivers are being
registered)
- update the cs5535-mfd driver (and clients) to make use of the new
sharing code

This effectively provides the ability for mfd clients to share a single
mfd_cell, and provide the framework for mfd-core be handle shared hardware
resources.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/