[PATCH 6/7] i3c: mipi-i3c-hci-pci: Add support for Multi-Bus Instances

Krzysztof Kozlowski krzk at kernel.org
Tue Dec 9 22:01:54 PST 2025


On 09/12/2025 12:51, Adrian Hunter wrote:
> +static void mipi_i3c_hci_pci_setup_cell(struct mipi_i3c_hci_pci *hci, int idx,
> +					struct mipi_i3c_hci_pci_cell_data *data,
> +					struct mfd_cell *cell)
> +{
> +	u32 offset = idx ? hci->info->instance_offset[idx - 1] : 0;
> +
> +	hci->instances[idx].offset = offset;
> +
> +	data->pdata = hci->info->pdata;
> +	data->pdata.base_regs = hci->base + offset;
> +
> +	data->res = DEFINE_RES_IRQ(0);
> +
> +	cell->name = "mipi-i3c-hci";
> +	cell->id = hci->instances[idx].dev_id;
> +	cell->platform_data = &data->pdata;
> +	cell->pdata_size = sizeof(data->pdata);
> +	cell->num_resources = 1;
> +	cell->resources = &data->res;
> +}
> +
> +static int mipi_i3c_hci_pci_add_instances(struct mipi_i3c_hci_pci *hci)
> +{
> +	int instance_count = hci->info->instance_count + 1; /* Include instance at offset 0 */
> +	struct mipi_i3c_hci_pci_cell_data *data __free(kfree);

No, don't do that. Please read cleanup.h.

> +	struct mfd_cell *cells __free(kfree);
> +	int irq;
> +	int ret;
> +


Best regards,
Krzysztof



More information about the linux-i3c mailing list