Commit 894554c1 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'driver-core-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core

Pull driver core fixes from Greg KH:
 "Here are two small driver core fixes to resolve some reported issues

  The first is to handle the much-reported (by the build systems)
  problem that superH does not boot anymore.

  The second handles an issue in the new platform logic that a number of
  people ran into with the automated tests in kbuild

  Both of these have been in linux-next with no reported issues"

* tag 'driver-core-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
  drivers: Fix boot problem on SuperH
  of/platform: Unconditionally pause/resume sync state during kernel init
parents aff2a525 eecd37e1
...@@ -325,9 +325,9 @@ int __init sh_early_platform_driver_probe(char *class_str, ...@@ -325,9 +325,9 @@ int __init sh_early_platform_driver_probe(char *class_str,
} }
/** /**
* sh_early_platform_cleanup - clean up early platform code * early_platform_cleanup - clean up early platform code
*/ */
static int __init sh_early_platform_cleanup(void) void __init early_platform_cleanup(void)
{ {
struct platform_device *pd, *pd2; struct platform_device *pd, *pd2;
...@@ -337,11 +337,4 @@ static int __init sh_early_platform_cleanup(void) ...@@ -337,11 +337,4 @@ static int __init sh_early_platform_cleanup(void)
list_del(&pd->dev.devres_head); list_del(&pd->dev.devres_head);
memset(&pd->dev.devres_head, 0, sizeof(pd->dev.devres_head)); memset(&pd->dev.devres_head, 0, sizeof(pd->dev.devres_head));
} }
return 0;
} }
/*
* This must happen once after all early devices are probed but before probing
* real platform devices.
*/
subsys_initcall(sh_early_platform_cleanup);
...@@ -1325,10 +1325,14 @@ struct device *platform_find_device_by_driver(struct device *start, ...@@ -1325,10 +1325,14 @@ struct device *platform_find_device_by_driver(struct device *start,
} }
EXPORT_SYMBOL_GPL(platform_find_device_by_driver); EXPORT_SYMBOL_GPL(platform_find_device_by_driver);
void __weak __init early_platform_cleanup(void) { }
int __init platform_bus_init(void) int __init platform_bus_init(void)
{ {
int error; int error;
early_platform_cleanup();
error = device_register(&platform_bus); error = device_register(&platform_bus);
if (error) { if (error) {
put_device(&platform_bus); put_device(&platform_bus);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment