Skip to content

Commit 99cd105

Browse files
author
Lee Jones
committed
mfd: cs5535-mfd: Register clients using their own dedicated MFD cell entries
CS5535 is the only user of mfd_clone_cell(). It makes more sense to register child devices in the traditional way and remove the quite bespoke mfd_clone_cell() call from the MFD API. Signed-off-by: Lee Jones <[email protected]> Reviewed-by: Daniel Thompson <[email protected]>
1 parent 2d4ba91 commit 99cd105

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

drivers/mfd/cs5535-mfd.c

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,19 @@ static struct mfd_cell cs5535_mfd_cells[] = {
5050
.num_resources = 1,
5151
.resources = &cs5535_mfd_resources[PMS_BAR],
5252
},
53+
};
54+
55+
static struct mfd_cell cs5535_olpc_mfd_cells[] = {
5356
{
54-
.name = "cs5535-acpi",
57+
.name = "olpc-xo1-pm-acpi",
58+
.num_resources = 1,
59+
.resources = &cs5535_mfd_resources[ACPI_BAR],
60+
},
61+
{
62+
.name = "olpc-xo1-sci-acpi",
5563
.num_resources = 1,
5664
.resources = &cs5535_mfd_resources[ACPI_BAR],
5765
},
58-
};
59-
60-
static const char *olpc_acpi_clones[] = {
61-
"olpc-xo1-pm-acpi",
62-
"olpc-xo1-sci-acpi"
6366
};
6467

6568
static int cs5535_mfd_probe(struct pci_dev *pdev,
@@ -101,10 +104,14 @@ static int cs5535_mfd_probe(struct pci_dev *pdev,
101104
goto err_remove_devices;
102105
}
103106

104-
err = mfd_clone_cell("cs5535-acpi", olpc_acpi_clones,
105-
ARRAY_SIZE(olpc_acpi_clones));
107+
err = mfd_add_devices(&pdev->dev, PLATFORM_DEVID_NONE,
108+
cs5535_olpc_mfd_cells,
109+
ARRAY_SIZE(cs5535_olpc_mfd_cells),
110+
NULL, 0, NULL);
106111
if (err) {
107-
dev_err(&pdev->dev, "Failed to clone MFD cell\n");
112+
dev_err(&pdev->dev,
113+
"Failed to add CS5535 OLPC sub-devices: %d\n",
114+
err);
108115
goto err_release_acpi;
109116
}
110117
}

0 commit comments

Comments
 (0)