Re: [PATCH net-next v6 8/8] mfd: zl3073x: Register DPLL sub-device during init

From: Ivan Vecera
Date: Thu May 01 2025 - 09:52:17 EST



On 01. 05. 25 3:22 odp., Lee Jones wrote:
On Wed, 30 Apr 2025, Ivan Vecera wrote:

Register DPLL sub-devices to expose the functionality provided
by ZL3073x chip family. Each sub-device represents one of
the available DPLL channels.

Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx>
---
v4->v6:
* no change
v3->v4:
* use static mfd cells
---
drivers/mfd/zl3073x-core.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/drivers/mfd/zl3073x-core.c b/drivers/mfd/zl3073x-core.c
index 050dc57c90c3..3e665cdf228f 100644
--- a/drivers/mfd/zl3073x-core.c
+++ b/drivers/mfd/zl3073x-core.c
@@ -7,6 +7,7 @@
#include <linux/device.h>
#include <linux/export.h>
#include <linux/math64.h>
+#include <linux/mfd/core.h>
#include <linux/mfd/zl3073x.h>
#include <linux/module.h>
#include <linux/netlink.h>
@@ -755,6 +756,14 @@ static void zl3073x_devlink_unregister(void *ptr)
devlink_unregister(ptr);
}
+static const struct mfd_cell zl3073x_dpll_cells[] = {
+ MFD_CELL_BASIC("zl3073x-dpll", NULL, NULL, 0, 0),
+ MFD_CELL_BASIC("zl3073x-dpll", NULL, NULL, 0, 1),
+ MFD_CELL_BASIC("zl3073x-dpll", NULL, NULL, 0, 2),
+ MFD_CELL_BASIC("zl3073x-dpll", NULL, NULL, 0, 3),
+ MFD_CELL_BASIC("zl3073x-dpll", NULL, NULL, 0, 4),
+};

What other devices / subsystems will be involved when this is finished?

PHC/PTP driver and in future GPIO controller.

I'm adding here only DPLL for now as it is finished and ready
(part2)... PTP driver is now in progress and GPIO is in planning phase.

Ivan