Commit 9dfa374c authored by Hans de Goede's avatar Hans de Goede
Browse files

platform_data: Add linux/platform_data/tps68470.h file



The clk and regulator frameworks expect clk/regulator consumer-devices
to have info about the consumed clks/regulators described in the device's
fw_node.

To work around cases where this info is not present in the firmware tables,
which is often the case on x86/ACPI devices, both frameworks allow the
provider-driver to attach info about consumers to the provider-device
during probe/registration of the provider device.

The TI TPS68470 PMIC is used x86/ACPI devices with the consumer-info
missing from the ACPI tables. Thus the tps68470-clk and tps68470-regulator
drivers must provide the consumer-info at probe time.

Define tps68470_clk_platform_data and tps68470_regulator_platform_data
structs to allow the x86 platform code to pass the necessary consumer info
to these drivers.

Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20211203102857.44539-5-hdegoede@redhat.com
parent c537be0b
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * TI TPS68470 PMIC platform data definition.
 *
 * Copyright (c) 2021 Red Hat Inc.
 *
 * Red Hat authors:
 * Hans de Goede <hdegoede@redhat.com>
 */
#ifndef __PDATA_TPS68470_H
#define __PDATA_TPS68470_H

enum tps68470_regulators {
	TPS68470_CORE,
	TPS68470_ANA,
	TPS68470_VCM,
	TPS68470_VIO,
	TPS68470_VSIO,
	TPS68470_AUX1,
	TPS68470_AUX2,
	TPS68470_NUM_REGULATORS
};

struct regulator_init_data;

struct tps68470_regulator_platform_data {
	const struct regulator_init_data *reg_init_data[TPS68470_NUM_REGULATORS];
};

struct tps68470_clk_platform_data {
	const char *consumer_dev_name;
	const char *consumer_con_id;
};

#endif