• Kevin Hilman's avatar
    driver core: platform_bus: allow runtime override of dev_pm_ops · c64a0926
    Kevin Hilman authored
    Currently, the platform_bus allows customization of several of the
    busses dev_pm_ops methods by using weak symbols so that platform code
    can override them.  The weak-symbol approach is not scalable when
    wanting to support multiple platforms in a single kernel binary.
    
    Instead, provide __init methods for platform code to customize the
    dev_pm_ops methods at runtime.
    
    NOTE: after these dynamic methods are merged, the weak symbols should
          be removed from drivers/base/platform.c.  AFAIK, this will only
          affect SH and sh-mobile which should be converted to use this
          runtime approach instead of the weak symbols.  After SH &
          sh-mobile are converted, the weak symobols could be removed.
    
    Tested on OMAP3.
    
    Cc: Magnus Damm <magnus.damm@gmail.com>
    Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
    Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    c64a0926
platform.c 32.4 KB