• Krzysztof Kozlowski's avatar
    regulator: s2mps11: Copy supported regulators from initconst · 3e80f95b
    Krzysztof Kozlowski authored
    Add __initconst to 'regulator_desc' array with supported regulators.
    During probe choose how many and which regulators will be supported
    according to device ID. Then copy the 'regulator_desc' array to
    allocated memory so the regulator core can use it.
    
    Additionally allocate array of of_regulator_match() dynamically (based
    on number of regulators) instead of allocation on the stack.
    
    This is needed for supporting different devices in s2mps11
    driver and actually prepares the regulator driver for supporting the
    S2MPS14 device.
    
    Code for supporting the S2MPS14 device will add its own array of
    'regulator_desc' (also marked as __initconst). This way memory footprint
    of the driver will be reduced (approximately 'regulators_desc' array for
    S2MPS11 occupies 5 kB on 32-bit ARM, for S2MPS14 will occupy 3 kB).
    Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
    Cc: Yadwinder Singh Brar <yadi.brar01@gmail.com>
    Reviewed-by: default avatarYadwinder Singh Brar <yadi.brar@samsung.com>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    3e80f95b
s2mps11.c 13.9 KB