Skip to content

Commit ed73300

Browse files
hkallweitthierryreding
authored andcommitted
pwm: meson: switch to using struct clk_parent_data for mux parents
We'll use struct clk_parent_data for mux/div/gate initialization in the follow-up patches. As a first step switch the mux from using parent_names to clk_parent_data. Suggested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
1 parent bafa23b commit ed73300

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

drivers/pwm/pwm-meson.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
#define MISC_A_EN BIT(0)
6262

6363
#define MESON_NUM_PWMS 2
64+
#define MESON_MAX_MUX_PARENTS 4
6465

6566
static struct meson_pwm_channel_data {
6667
u8 reg_offset;
@@ -477,21 +478,27 @@ MODULE_DEVICE_TABLE(of, meson_pwm_matches);
477478

478479
static int meson_pwm_init_channels(struct meson_pwm *meson)
479480
{
481+
struct clk_parent_data mux_parent_data[MESON_MAX_MUX_PARENTS] = {};
480482
struct device *dev = meson->chip.dev;
481-
struct clk_init_data init;
482483
unsigned int i;
483484
char name[255];
484485
int err;
485486

487+
for (i = 0; i < meson->data->num_parents; i++) {
488+
mux_parent_data[i].index = -1;
489+
mux_parent_data[i].name = meson->data->parent_names[i];
490+
}
491+
486492
for (i = 0; i < meson->chip.npwm; i++) {
487493
struct meson_pwm_channel *channel = &meson->channels[i];
494+
struct clk_init_data init = {};
488495

489496
snprintf(name, sizeof(name), "%s#mux%u", dev_name(dev), i);
490497

491498
init.name = name;
492499
init.ops = &clk_mux_ops;
493500
init.flags = 0;
494-
init.parent_names = meson->data->parent_names;
501+
init.parent_data = mux_parent_data;
495502
init.num_parents = meson->data->num_parents;
496503

497504
channel->mux.reg = meson->base + REG_MISC_AB;

0 commit comments

Comments
 (0)