aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_device.h
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2013-05-15 10:26:50 -0400
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2013-05-15 10:26:50 -0400
commit12e04ffcd93b25dfd726d46338c2ee7d23de556e (patch)
treef91479a62805619168994fd3ee55e3ffa23fc24e /include/linux/platform_device.h
parent9eff37a8713939f218ab8bf0dc93f1d67af7b8b4 (diff)
parentf722406faae2d073cc1d01063d1123c35425939e (diff)
Merge tag 'v3.10-rc1' into stable/for-linus-3.10
Linux 3.10-rc1 * tag 'v3.10-rc1': (12273 commits) Linux 3.10-rc1 [SCSI] qla2xxx: Update firmware link in Kconfig file. [SCSI] iscsi class, qla4xxx: fix sess/conn refcounting when find fns are used [SCSI] sas: unify the pointlessly separated enums sas_dev_type and sas_device_type [SCSI] pm80xx: thermal, sas controller config and error handling update [SCSI] pm80xx: NCQ error handling changes [SCSI] pm80xx: WWN Modification for PM8081/88/89 controllers [SCSI] pm80xx: Changed module name and debug messages update [SCSI] pm80xx: Firmware flash memory free fix, with addition of new memory region for it [SCSI] pm80xx: SPC new firmware changes for device id 0x8081 alone [SCSI] pm80xx: Added SPCv/ve specific hardware functionalities and relevant changes in common files [SCSI] pm80xx: MSI-X implementation for using 64 interrupts [SCSI] pm80xx: Updated common functions common for SPC and SPCv/ve [SCSI] pm80xx: Multiple inbound/outbound queue configuration [SCSI] pm80xx: Added SPCv/ve specific ids, variables and modify for SPC [SCSI] lpfc: fix up Kconfig dependencies [SCSI] Handle MLQUEUE busy response in scsi_send_eh_cmnd dm cache: set config value dm cache: move config fns dm thin: generate event when metadata threshold passed ...
Diffstat (limited to 'include/linux/platform_device.h')
-rw-r--r--include/linux/platform_device.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index c082c71f7225..9abf1db6aea6 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -20,12 +20,12 @@
20struct mfd_cell; 20struct mfd_cell;
21 21
22struct platform_device { 22struct platform_device {
23 const char * name; 23 const char *name;
24 int id; 24 int id;
25 bool id_auto; 25 bool id_auto;
26 struct device dev; 26 struct device dev;
27 u32 num_resources; 27 u32 num_resources;
28 struct resource * resource; 28 struct resource *resource;
29 29
30 const struct platform_device_id *id_entry; 30 const struct platform_device_id *id_entry;
31 31
@@ -47,9 +47,12 @@ extern struct bus_type platform_bus_type;
47extern struct device platform_bus; 47extern struct device platform_bus;
48 48
49extern void arch_setup_pdev_archdata(struct platform_device *); 49extern void arch_setup_pdev_archdata(struct platform_device *);
50extern struct resource *platform_get_resource(struct platform_device *, unsigned int, unsigned int); 50extern struct resource *platform_get_resource(struct platform_device *,
51 unsigned int, unsigned int);
51extern int platform_get_irq(struct platform_device *, unsigned int); 52extern int platform_get_irq(struct platform_device *, unsigned int);
52extern struct resource *platform_get_resource_byname(struct platform_device *, unsigned int, const char *); 53extern struct resource *platform_get_resource_byname(struct platform_device *,
54 unsigned int,
55 const char *);
53extern int platform_get_irq_byname(struct platform_device *, const char *); 56extern int platform_get_irq_byname(struct platform_device *, const char *);
54extern int platform_add_devices(struct platform_device **, int); 57extern int platform_add_devices(struct platform_device **, int);
55 58
@@ -161,7 +164,8 @@ extern struct platform_device *platform_device_alloc(const char *name, int id);
161extern int platform_device_add_resources(struct platform_device *pdev, 164extern int platform_device_add_resources(struct platform_device *pdev,
162 const struct resource *res, 165 const struct resource *res,
163 unsigned int num); 166 unsigned int num);
164extern int platform_device_add_data(struct platform_device *pdev, const void *data, size_t size); 167extern int platform_device_add_data(struct platform_device *pdev,
168 const void *data, size_t size);
165extern int platform_device_add(struct platform_device *pdev); 169extern int platform_device_add(struct platform_device *pdev);
166extern void platform_device_del(struct platform_device *pdev); 170extern void platform_device_del(struct platform_device *pdev);
167extern void platform_device_put(struct platform_device *pdev); 171extern void platform_device_put(struct platform_device *pdev);
@@ -190,7 +194,8 @@ static inline void *platform_get_drvdata(const struct platform_device *pdev)
190 return dev_get_drvdata(&pdev->dev); 194 return dev_get_drvdata(&pdev->dev);
191} 195}
192 196
193static inline void platform_set_drvdata(struct platform_device *pdev, void *data) 197static inline void platform_set_drvdata(struct platform_device *pdev,
198 void *data)
194{ 199{
195 dev_set_drvdata(&pdev->dev, data); 200 dev_set_drvdata(&pdev->dev, data);
196} 201}
@@ -222,10 +227,10 @@ static void __exit __platform_driver##_exit(void) \
222} \ 227} \
223module_exit(__platform_driver##_exit); 228module_exit(__platform_driver##_exit);
224 229
225extern struct platform_device *platform_create_bundle(struct platform_driver *driver, 230extern struct platform_device *platform_create_bundle(
226 int (*probe)(struct platform_device *), 231 struct platform_driver *driver, int (*probe)(struct platform_device *),
227 struct resource *res, unsigned int n_res, 232 struct resource *res, unsigned int n_res,
228 const void *data, size_t size); 233 const void *data, size_t size);
229 234
230/* early platform driver interface */ 235/* early platform driver interface */
231struct early_platform_driver { 236struct early_platform_driver {