diff --git a/drivers/power/regulator/bd71837.c b/drivers/power/regulator/bd71837.c
index 1637a2d..74011d6 100644
--- a/drivers/power/regulator/bd71837.c
+++ b/drivers/power/regulator/bd71837.c
@@ -35,7 +35,7 @@
 };
 
 /**
- * struct bd71837_platdata - describe regulator control registers
+ * struct bd71837_plat - describe regulator control registers
  *
  * @name:	name of the regulator. Used for matching the dt-entry
  * @enable_reg:	register address used to enable/disable regulator
@@ -49,7 +49,7 @@
  * @sel_mask:	bit to toggle in order to transfer the register control to SW
  * @dvs:	whether the voltage can be changed when regulator is enabled
  */
-struct bd71837_platdata {
+struct bd71837_plat {
 	const char		*name;
 	u8			enable_reg;
 	u8			enablemask;
@@ -160,7 +160,7 @@
  * is powering NXP i.MX8. In this use-case we (for now) only allow control
  * for BUCK3 and BUCK4 which are not boot critical.
  */
-static struct bd71837_platdata bd71837_reg_data[] = {
+static struct bd71837_plat bd71837_reg_data[] = {
 /* Bucks 1-4 which support dynamic voltage scaling */
 	BD_DATA("BUCK1", BD718XX_BUCK1_CTRL, HW_STATE_CONTROL,
 		BD718XX_BUCK1_VOLT_RUN, DVS_BUCK_RUN_MASK, dvs_buck_vranges, 0,
@@ -205,7 +205,7 @@
 		BD71837_LDO7_MASK, ldo7_vranges, 0, false, BD718XX_LDO_SEL),
 };
 
-static struct bd71837_platdata bd71847_reg_data[] = {
+static struct bd71837_plat bd71847_reg_data[] = {
 /* Bucks 1 and 2 which support dynamic voltage scaling */
 	BD_DATA("BUCK1", BD718XX_BUCK1_CTRL, HW_STATE_CONTROL,
 		BD718XX_BUCK1_VOLT_RUN, DVS_BUCK_RUN_MASK, dvs_buck_vranges, 0,
@@ -274,7 +274,7 @@
 static int bd71837_get_enable(struct udevice *dev)
 {
 	int val;
-	struct bd71837_platdata *plat = dev_get_plat(dev);
+	struct bd71837_plat *plat = dev_get_plat(dev);
 
 	/*
 	 * boot critical regulators on bd71837 must not be controlled by sw
@@ -298,7 +298,7 @@
 static int bd71837_set_enable(struct udevice *dev, bool enable)
 {
 	int val = 0;
-	struct bd71837_platdata *plat = dev_get_plat(dev);
+	struct bd71837_plat *plat = dev_get_plat(dev);
 
 	/*
 	 * boot critical regulators on bd71837 must not be controlled by sw
@@ -321,7 +321,7 @@
 	unsigned int range;
 	int i;
 	int found = 0;
-	struct bd71837_platdata *plat = dev_get_plat(dev);
+	struct bd71837_plat *plat = dev_get_plat(dev);
 
 	/*
 	 * An under/overshooting may occur if voltage is changed for other
@@ -369,7 +369,7 @@
 {
 	unsigned int reg, range;
 	unsigned int tmp;
-	struct bd71837_platdata *plat = dev_get_plat(dev);
+	struct bd71837_plat *plat = dev_get_plat(dev);
 	int i;
 
 	reg = pmic_reg_read(dev->parent, plat->volt_reg);
@@ -399,11 +399,11 @@
 
 static int bd71837_regulator_probe(struct udevice *dev)
 {
-	struct bd71837_platdata *plat = dev_get_plat(dev);
+	struct bd71837_plat *plat = dev_get_plat(dev);
 	int i, ret;
 	struct dm_regulator_uclass_plat *uc_pdata;
 	int type;
-	struct bd71837_platdata *init_data;
+	struct bd71837_plat *init_data;
 	int data_amnt;
 
 	type = dev_get_driver_data(dev_get_parent(dev));
@@ -466,5 +466,5 @@
 	.id = UCLASS_REGULATOR,
 	.ops = &bd71837_regulator_ops,
 	.probe = bd71837_regulator_probe,
-	.plat_auto	= sizeof(struct bd71837_platdata),
+	.plat_auto	= sizeof(struct bd71837_plat),
 };
