On Sat, Feb 17, 2024 at 2:20 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > > On Sat, Jan 27 2024 at 21:47, Anup Patel wrote: > > +static int aplic_direct_irqdomain_translate(struct irq_domain *d, > > + struct irq_fwspec *fwspec, > > + unsigned long *hwirq, > > + unsigned int *type) > > Please align the arguments to the first argument of the first line and > use the 100 characters, i.e. > > static int aplic_direct_irqdomain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, > unsigned long *hwirq, unsigned int *type) > { > > All over the place. Okay, I will update. > > > +{ > > + struct aplic_priv *priv = d->host_data; > > + > > + return aplic_irqdomain_translate(fwspec, priv->gsi_base, > > + hwirq, type); > > +} > > + > > +static int aplic_direct_irqdomain_alloc(struct irq_domain *domain, > > + unsigned int virq, unsigned int nr_irqs, > > + void *arg) > > +{ > > + int i, ret; > > + unsigned int type; > > + irq_hw_number_t hwirq; > > + struct irq_fwspec *fwspec = arg; > > + struct aplic_priv *priv = domain->host_data; > > + struct aplic_direct *direct = > > + container_of(priv, struct aplic_direct, priv); > > Variable ordering. Please make this consistent according to documentation. Okay, I will update. > > > + ret = aplic_irqdomain_translate(fwspec, priv->gsi_base, > > + &hwirq, &type); > > + if (ret) > > + return ret; > > + > > + for (i = 0; i < nr_irqs; i++) { > > + irq_domain_set_info(domain, virq + i, hwirq + i, > > + &aplic_direct_chip, priv, > > + handle_fasteoi_irq, NULL, NULL); > > + irq_set_affinity(virq + i, &direct->lmask); > > + /* See the reason described in aplic_msi_irqdomain_alloc() */ > > I still have to understand that "reason". :) Like mentioned on another patch, I will drop it for now. If required then we can bring it back as a separate patch with clear reasoning. > > > + irq_set_status_flags(virq + i, IRQ_DISABLE_UNLAZY); > > + } > > Thanks, > > tglx Regards, Anup