Messages in this thread | | | Date | Tue, 8 Aug 2023 09:41:45 +0100 | From | Conor Dooley <> | Subject | Re: [RFC PATCH v1 20/21] RISC-V: ACPI: Create PLIC platform device |
| |
On Thu, Aug 03, 2023 at 11:29:15PM +0530, Sunil V L wrote: > Since PLIC needs to be a platform device
For the unwashed, why does the PLCI need to be a platform device? (And while you're at that, please try to make use of the extra ~20 characters per line that you can use here.)
> probe the > MADT and create platform devices for each PLIC in the > system. Use software node framework for the fwnode > which allows to create properties and hence the > actual irqchip driver doesn't need to do anything > different for ACPI vs DT. > > Signed-off-by: Sunil V L <sunilvl@ventanamicro.com> > Co-developed-by: Haibo Xu <haibo1.xu@intel.com> > Signed-off-by: Haibo Xu <haibo1.xu@intel.com>
> +static struct fwnode_handle *acpi_plic_create_fwnode(struct acpi_madt_plic *plic) > +{ > + struct fwnode_handle *fwnode, *parent_fwnode; > + struct riscv_irqchip_list *plic_element; > + struct software_node_ref_args *refs; > + struct property_entry props[8] = {}; > + int nr_contexts; > + > + props[0] = PROPERTY_ENTRY_U32("riscv,gsi-base", plic->gsi_base); > + props[1] = PROPERTY_ENTRY_U32("riscv,ndev", plic->num_irqs); > + props[2] = PROPERTY_ENTRY_U32("riscv,max_prio", plic->max_prio);
My OCD wants to know why this gets an _ but the others have a -.
> + props[3] = PROPERTY_ENTRY_U8("riscv,plic-id", plic->id); > + props[4] = PROPERTY_ENTRY_U64("riscv,plic-base", plic->base_addr); > + props[5] = PROPERTY_ENTRY_U32("riscv,plic-size", plic->size); [unhandled content-type:application/pgp-signature] | |