aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/platform_device.h
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2015-11-30 17:11:38 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-12-07 02:29:23 +0100
commit00bbc1d8e46a92ce7bd80622cf4b09c3b727a741 (patch)
treee1e606ba1745e49abe091d5ad2d819eb950d4e19 /include/linux/platform_device.h
parentdevice property: Take a copy of the property set (diff)
downloadwireguard-linux-00bbc1d8e46a92ce7bd80622cf4b09c3b727a741.tar.xz
wireguard-linux-00bbc1d8e46a92ce7bd80622cf4b09c3b727a741.zip
driver core: platform: Add support for built-in device properties
Make it possible to pass built-in device properties to platform device drivers. This is useful if the system does not have any firmware interface like Device Tree or ACPI which provides these. Properties associated with the platform device will be automatically released when the corresponding device is removed. Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/linux/platform_device.h')
-rw-r--r--include/linux/platform_device.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index dc777be5f2e1..dba40b1c41dc 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -18,6 +18,7 @@
#define PLATFORM_DEVID_AUTO (-2)
struct mfd_cell;
+struct property_set;
struct platform_device {
const char *name;
@@ -70,6 +71,8 @@ struct platform_device_info {
const void *data;
size_t size_data;
u64 dma_mask;
+
+ const struct property_set *pset;
};
extern struct platform_device *platform_device_register_full(
const struct platform_device_info *pdevinfo);
@@ -167,6 +170,8 @@ extern int platform_device_add_resources(struct platform_device *pdev,
unsigned int num);
extern int platform_device_add_data(struct platform_device *pdev,
const void *data, size_t size);
+extern int platform_device_add_properties(struct platform_device *pdev,
+ const struct property_set *pset);
extern int platform_device_add(struct platform_device *pdev);
extern void platform_device_del(struct platform_device *pdev);
extern void platform_device_put(struct platform_device *pdev);