Re: [RFC PATCH v2 16/17] irqchip/riscv-rpmi-sysmsi: Add ACPI support
From: Sunil V L
Date: Mon Feb 03 2025 - 23:18:49 EST
On Mon, Feb 03, 2025 at 11:38:28AM +0200, Andy Shevchenko wrote:
> On Mon, Feb 03, 2025 at 02:19:05PM +0530, Anup Patel wrote:
> > From: Sunil V L <sunilvl@xxxxxxxxxxxxxxxx>
> >
> > Add ACPI support for the RISC-V RPMI system MSI based irqchip driver.
>
> ...
>
> > + if (!is_of_node(dev->fwnode)) {
>
> Please, use dev_fwnode(),
>
> But why do you need this? Can't the below simply become a no-op without
> this check?
>
> > + rc = riscv_acpi_get_gsi_info(dev->fwnode, &priv->gsi_base, &id,
>
> Ditto.
>
> > + &priv->nr_irqs, NULL);
> > + if (rc) {
> > + dev_err(dev, "failed to find GSI mapping\n");
> > + return rc;
> > + }
> > + }
>
> ...
>
> > * then we need to set it explicitly before using any platform
> > * MSI functions.
> > */
> > - if (is_of_node(dev->fwnode))
> > + if (is_of_node(dev->fwnode)) {
> > of_msi_configure(dev, to_of_node(dev->fwnode));
> > + } else {
> > + struct irq_domain *msi_domain;
> > +
> > + msi_domain = irq_find_matching_fwnode(imsic_acpi_get_fwnode(dev),
> > + DOMAIN_BUS_PLATFORM_MSI);
>
> > + if (msi_domain)
>
> Hmm... The OF case above assumes this check is not needed. Why is it special
> otherwise?
>
> > + dev_set_msi_domain(dev, msi_domain);
> > + }
> >
> > if (!dev_get_msi_domain(dev))
>
> Even here you have a check for NULL, so I believe the conditional is simply
> redundant.
>
> ...
>
> > +#ifdef CONFIG_ACPI
>
> > + if (!acpi_disabled)
>
> Why?
>
> > + acpi_dev_clear_dependencies(ACPI_COMPANION(dev));
> > +#endif
>
> ...
>
> > +#ifdef CONFIG_ACPI
>
> Drop this ugly ifdeffery along with ACPI_PTR(). They are more harmful than
> useful.
>
> ...
>
> > +static const struct acpi_device_id acpi_rpmi_sysmsi_match[] = {
> > + { "RSCV0006", 0 },
>
> Drop ', 0' part as it may be converted to a pointer in the future.
>
Thanks!. Let me address your comments in next revision.
Thanks,
Sunil