diff options
| -rw-r--r-- | drivers/acpi/acpi_apd.c | 10 | ||||
| -rw-r--r-- | drivers/acpi/acpi_lpss.c | 10 | ||||
| -rw-r--r-- | drivers/acpi/acpi_platform.c | 5 | ||||
| -rw-r--r-- | drivers/acpi/dptf/int340x_thermal.c | 4 | ||||
| -rw-r--r-- | drivers/acpi/scan.c | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/intel-hid.c | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/intel-vbtn.c | 2 | ||||
| -rw-r--r-- | include/linux/acpi.h | 3 |
8 files changed, 15 insertions, 23 deletions
diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c index 5f112d811e42..5959ed996a75 100644 --- a/drivers/acpi/acpi_apd.c +++ b/drivers/acpi/acpi_apd.c | |||
| @@ -117,7 +117,7 @@ static int acpi_apd_create_device(struct acpi_device *adev, | |||
| 117 | int ret; | 117 | int ret; |
| 118 | 118 | ||
| 119 | if (!dev_desc) { | 119 | if (!dev_desc) { |
| 120 | pdev = acpi_create_platform_device(adev); | 120 | pdev = acpi_create_platform_device(adev, NULL); |
| 121 | return IS_ERR_OR_NULL(pdev) ? PTR_ERR(pdev) : 1; | 121 | return IS_ERR_OR_NULL(pdev) ? PTR_ERR(pdev) : 1; |
| 122 | } | 122 | } |
| 123 | 123 | ||
| @@ -134,14 +134,8 @@ static int acpi_apd_create_device(struct acpi_device *adev, | |||
| 134 | goto err_out; | 134 | goto err_out; |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | if (dev_desc->properties) { | ||
| 138 | ret = device_add_properties(&adev->dev, dev_desc->properties); | ||
| 139 | if (ret) | ||
| 140 | goto err_out; | ||
| 141 | } | ||
| 142 | |||
| 143 | adev->driver_data = pdata; | 137 | adev->driver_data = pdata; |
| 144 | pdev = acpi_create_platform_device(adev); | 138 | pdev = acpi_create_platform_device(adev, dev_desc->properties); |
| 145 | if (!IS_ERR_OR_NULL(pdev)) | 139 | if (!IS_ERR_OR_NULL(pdev)) |
| 146 | return 1; | 140 | return 1; |
| 147 | 141 | ||
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c index 552010288135..373657f7e35a 100644 --- a/drivers/acpi/acpi_lpss.c +++ b/drivers/acpi/acpi_lpss.c | |||
| @@ -395,7 +395,7 @@ static int acpi_lpss_create_device(struct acpi_device *adev, | |||
| 395 | 395 | ||
| 396 | dev_desc = (const struct lpss_device_desc *)id->driver_data; | 396 | dev_desc = (const struct lpss_device_desc *)id->driver_data; |
| 397 | if (!dev_desc) { | 397 | if (!dev_desc) { |
| 398 | pdev = acpi_create_platform_device(adev); | 398 | pdev = acpi_create_platform_device(adev, NULL); |
| 399 | return IS_ERR_OR_NULL(pdev) ? PTR_ERR(pdev) : 1; | 399 | return IS_ERR_OR_NULL(pdev) ? PTR_ERR(pdev) : 1; |
| 400 | } | 400 | } |
| 401 | pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); | 401 | pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); |
| @@ -451,14 +451,8 @@ static int acpi_lpss_create_device(struct acpi_device *adev, | |||
| 451 | goto err_out; | 451 | goto err_out; |
| 452 | } | 452 | } |
| 453 | 453 | ||
| 454 | if (dev_desc->properties) { | ||
| 455 | ret = device_add_properties(&adev->dev, dev_desc->properties); | ||
| 456 | if (ret) | ||
| 457 | goto err_out; | ||
| 458 | } | ||
| 459 | |||
| 460 | adev->driver_data = pdata; | 454 | adev->driver_data = pdata; |
| 461 | pdev = acpi_create_platform_device(adev); | 455 | pdev = acpi_create_platform_device(adev, dev_desc->properties); |
| 462 | if (!IS_ERR_OR_NULL(pdev)) { | 456 | if (!IS_ERR_OR_NULL(pdev)) { |
| 463 | return 1; | 457 | return 1; |
| 464 | } | 458 | } |
diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c index 159f7f19abce..56e70da83c6c 100644 --- a/drivers/acpi/acpi_platform.c +++ b/drivers/acpi/acpi_platform.c | |||
| @@ -33,6 +33,7 @@ static const struct acpi_device_id forbidden_id_list[] = { | |||
| 33 | /** | 33 | /** |
| 34 | * acpi_create_platform_device - Create platform device for ACPI device node | 34 | * acpi_create_platform_device - Create platform device for ACPI device node |
| 35 | * @adev: ACPI device node to create a platform device for. | 35 | * @adev: ACPI device node to create a platform device for. |
| 36 | * @properties: Optional collection of build-in properties. | ||
| 36 | * | 37 | * |
| 37 | * Check if the given @adev can be represented as a platform device and, if | 38 | * Check if the given @adev can be represented as a platform device and, if |
| 38 | * that's the case, create and register a platform device, populate its common | 39 | * that's the case, create and register a platform device, populate its common |
| @@ -40,7 +41,8 @@ static const struct acpi_device_id forbidden_id_list[] = { | |||
| 40 | * | 41 | * |
| 41 | * Name of the platform device will be the same as @adev's. | 42 | * Name of the platform device will be the same as @adev's. |
| 42 | */ | 43 | */ |
| 43 | struct platform_device *acpi_create_platform_device(struct acpi_device *adev) | 44 | struct platform_device *acpi_create_platform_device(struct acpi_device *adev, |
| 45 | struct property_entry *properties) | ||
| 44 | { | 46 | { |
| 45 | struct platform_device *pdev = NULL; | 47 | struct platform_device *pdev = NULL; |
| 46 | struct platform_device_info pdevinfo; | 48 | struct platform_device_info pdevinfo; |
| @@ -88,6 +90,7 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev) | |||
| 88 | pdevinfo.res = resources; | 90 | pdevinfo.res = resources; |
| 89 | pdevinfo.num_res = count; | 91 | pdevinfo.num_res = count; |
| 90 | pdevinfo.fwnode = acpi_fwnode_handle(adev); | 92 | pdevinfo.fwnode = acpi_fwnode_handle(adev); |
| 93 | pdevinfo.properties = properties; | ||
| 91 | 94 | ||
| 92 | if (acpi_dma_supported(adev)) | 95 | if (acpi_dma_supported(adev)) |
| 93 | pdevinfo.dma_mask = DMA_BIT_MASK(32); | 96 | pdevinfo.dma_mask = DMA_BIT_MASK(32); |
diff --git a/drivers/acpi/dptf/int340x_thermal.c b/drivers/acpi/dptf/int340x_thermal.c index 33505c651f62..86364097e236 100644 --- a/drivers/acpi/dptf/int340x_thermal.c +++ b/drivers/acpi/dptf/int340x_thermal.c | |||
| @@ -34,11 +34,11 @@ static int int340x_thermal_handler_attach(struct acpi_device *adev, | |||
| 34 | const struct acpi_device_id *id) | 34 | const struct acpi_device_id *id) |
| 35 | { | 35 | { |
| 36 | if (IS_ENABLED(CONFIG_INT340X_THERMAL)) | 36 | if (IS_ENABLED(CONFIG_INT340X_THERMAL)) |
| 37 | acpi_create_platform_device(adev); | 37 | acpi_create_platform_device(adev, NULL); |
| 38 | /* Intel SoC DTS thermal driver needs INT3401 to set IRQ descriptor */ | 38 | /* Intel SoC DTS thermal driver needs INT3401 to set IRQ descriptor */ |
| 39 | else if (IS_ENABLED(CONFIG_INTEL_SOC_DTS_THERMAL) && | 39 | else if (IS_ENABLED(CONFIG_INTEL_SOC_DTS_THERMAL) && |
| 40 | id->driver_data == INT3401_DEVICE) | 40 | id->driver_data == INT3401_DEVICE) |
| 41 | acpi_create_platform_device(adev); | 41 | acpi_create_platform_device(adev, NULL); |
| 42 | return 1; | 42 | return 1; |
| 43 | } | 43 | } |
| 44 | 44 | ||
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index ad9fc84a8601..3d31ae3a482d 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c | |||
| @@ -1734,7 +1734,7 @@ static void acpi_default_enumeration(struct acpi_device *device) | |||
| 1734 | &is_spi_i2c_slave); | 1734 | &is_spi_i2c_slave); |
| 1735 | acpi_dev_free_resource_list(&resource_list); | 1735 | acpi_dev_free_resource_list(&resource_list); |
| 1736 | if (!is_spi_i2c_slave) { | 1736 | if (!is_spi_i2c_slave) { |
| 1737 | acpi_create_platform_device(device); | 1737 | acpi_create_platform_device(device, NULL); |
| 1738 | acpi_device_set_enumerated(device); | 1738 | acpi_device_set_enumerated(device); |
| 1739 | } else { | 1739 | } else { |
| 1740 | blocking_notifier_call_chain(&acpi_reconfig_chain, | 1740 | blocking_notifier_call_chain(&acpi_reconfig_chain, |
diff --git a/drivers/platform/x86/intel-hid.c b/drivers/platform/x86/intel-hid.c index ed5874217ee7..12dbb5063376 100644 --- a/drivers/platform/x86/intel-hid.c +++ b/drivers/platform/x86/intel-hid.c | |||
| @@ -264,7 +264,7 @@ check_acpi_dev(acpi_handle handle, u32 lvl, void *context, void **rv) | |||
| 264 | return AE_OK; | 264 | return AE_OK; |
| 265 | 265 | ||
| 266 | if (acpi_match_device_ids(dev, ids) == 0) | 266 | if (acpi_match_device_ids(dev, ids) == 0) |
| 267 | if (acpi_create_platform_device(dev)) | 267 | if (acpi_create_platform_device(dev, NULL)) |
| 268 | dev_info(&dev->dev, | 268 | dev_info(&dev->dev, |
| 269 | "intel-hid: created platform device\n"); | 269 | "intel-hid: created platform device\n"); |
| 270 | 270 | ||
diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c index 146d02f8c9bc..78080763df51 100644 --- a/drivers/platform/x86/intel-vbtn.c +++ b/drivers/platform/x86/intel-vbtn.c | |||
| @@ -164,7 +164,7 @@ check_acpi_dev(acpi_handle handle, u32 lvl, void *context, void **rv) | |||
| 164 | return AE_OK; | 164 | return AE_OK; |
| 165 | 165 | ||
| 166 | if (acpi_match_device_ids(dev, ids) == 0) | 166 | if (acpi_match_device_ids(dev, ids) == 0) |
| 167 | if (acpi_create_platform_device(dev)) | 167 | if (acpi_create_platform_device(dev, NULL)) |
| 168 | dev_info(&dev->dev, | 168 | dev_info(&dev->dev, |
| 169 | "intel-vbtn: created platform device\n"); | 169 | "intel-vbtn: created platform device\n"); |
| 170 | 170 | ||
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 632ec16a855e..c09936f55166 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -546,7 +546,8 @@ int acpi_device_uevent_modalias(struct device *, struct kobj_uevent_env *); | |||
| 546 | int acpi_device_modalias(struct device *, char *, int); | 546 | int acpi_device_modalias(struct device *, char *, int); |
| 547 | void acpi_walk_dep_device_list(acpi_handle handle); | 547 | void acpi_walk_dep_device_list(acpi_handle handle); |
| 548 | 548 | ||
| 549 | struct platform_device *acpi_create_platform_device(struct acpi_device *); | 549 | struct platform_device *acpi_create_platform_device(struct acpi_device *, |
| 550 | struct property_entry *); | ||
| 550 | #define ACPI_PTR(_ptr) (_ptr) | 551 | #define ACPI_PTR(_ptr) (_ptr) |
| 551 | 552 | ||
| 552 | static inline void acpi_device_set_enumerated(struct acpi_device *adev) | 553 | static inline void acpi_device_set_enumerated(struct acpi_device *adev) |
