diff options
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/platform.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 869ff8c00146..9bfc434d1327 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c | |||
@@ -160,11 +160,6 @@ static void platform_device_release(struct device *dev) | |||
160 | * | 160 | * |
161 | * Create a platform device object which can have other objects attached | 161 | * Create a platform device object which can have other objects attached |
162 | * to it, and which will have attached objects freed when it is released. | 162 | * to it, and which will have attached objects freed when it is released. |
163 | * | ||
164 | * This device will be marked as not supporting hotpluggable drivers; no | ||
165 | * device add/remove uevents will be generated. In the unusual case that | ||
166 | * the device isn't being dynamically allocated as a legacy "probe the | ||
167 | * hardware" driver, infrastructure code should reverse this marking. | ||
168 | */ | 163 | */ |
169 | struct platform_device *platform_device_alloc(const char *name, unsigned int id) | 164 | struct platform_device *platform_device_alloc(const char *name, unsigned int id) |
170 | { | 165 | { |
@@ -177,12 +172,6 @@ struct platform_device *platform_device_alloc(const char *name, unsigned int id) | |||
177 | pa->pdev.id = id; | 172 | pa->pdev.id = id; |
178 | device_initialize(&pa->pdev.dev); | 173 | device_initialize(&pa->pdev.dev); |
179 | pa->pdev.dev.release = platform_device_release; | 174 | pa->pdev.dev.release = platform_device_release; |
180 | |||
181 | /* prevent hotplug "modprobe $(MODALIAS)" from causing trouble in | ||
182 | * legacy probe-the-hardware drivers, which don't properly split | ||
183 | * out device enumeration logic from drivers. | ||
184 | */ | ||
185 | pa->pdev.dev.uevent_suppress = 1; | ||
186 | } | 175 | } |
187 | 176 | ||
188 | return pa ? &pa->pdev : NULL; | 177 | return pa ? &pa->pdev : NULL; |
@@ -530,7 +519,7 @@ static ssize_t | |||
530 | modalias_show(struct device *dev, struct device_attribute *a, char *buf) | 519 | modalias_show(struct device *dev, struct device_attribute *a, char *buf) |
531 | { | 520 | { |
532 | struct platform_device *pdev = to_platform_device(dev); | 521 | struct platform_device *pdev = to_platform_device(dev); |
533 | int len = snprintf(buf, PAGE_SIZE, "%s\n", pdev->name); | 522 | int len = snprintf(buf, PAGE_SIZE, "platform:%s\n", pdev->name); |
534 | 523 | ||
535 | return (len >= PAGE_SIZE) ? (PAGE_SIZE - 1) : len; | 524 | return (len >= PAGE_SIZE) ? (PAGE_SIZE - 1) : len; |
536 | } | 525 | } |
@@ -546,7 +535,7 @@ static int platform_uevent(struct device *dev, char **envp, int num_envp, | |||
546 | struct platform_device *pdev = to_platform_device(dev); | 535 | struct platform_device *pdev = to_platform_device(dev); |
547 | 536 | ||
548 | envp[0] = buffer; | 537 | envp[0] = buffer; |
549 | snprintf(buffer, buffer_size, "MODALIAS=%s", pdev->name); | 538 | snprintf(buffer, buffer_size, "MODALIAS=platform:%s", pdev->name); |
550 | return 0; | 539 | return 0; |
551 | } | 540 | } |
552 | 541 | ||