hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/base/platform-msi.c
....@@ -321,11 +321,12 @@
321321 * Returns an irqdomain for @nvec interrupts
322322 */
323323 struct irq_domain *
324
-platform_msi_create_device_domain(struct device *dev,
325
- unsigned int nvec,
326
- irq_write_msi_msg_t write_msi_msg,
327
- const struct irq_domain_ops *ops,
328
- void *host_data)
324
+__platform_msi_create_device_domain(struct device *dev,
325
+ unsigned int nvec,
326
+ bool is_tree,
327
+ irq_write_msi_msg_t write_msi_msg,
328
+ const struct irq_domain_ops *ops,
329
+ void *host_data)
329330 {
330331 struct platform_msi_priv_data *data;
331332 struct irq_domain *domain;
....@@ -336,7 +337,8 @@
336337 return NULL;
337338
338339 data->host_data = host_data;
339
- domain = irq_domain_create_hierarchy(dev->msi_domain, 0, nvec,
340
+ domain = irq_domain_create_hierarchy(dev->msi_domain, 0,
341
+ is_tree ? 0 : nvec,
340342 dev->fwnode, ops, data);
341343 if (!domain)
342344 goto free_priv;
....@@ -385,7 +387,7 @@
385387 *
386388 * @domain: The platform-msi domain
387389 * @virq: The base irq from which to perform the allocate operation
388
- * @nvec: How many interrupts to free from @virq
390
+ * @nr_irqs: How many interrupts to free from @virq
389391 *
390392 * Return 0 on success, or an error code on failure. Must be called
391393 * with irq_domain_mutex held (which can only be done as part of a