Re: [RFC PATCH v1 20/21] RISC-V: ACPI: Create PLIC platform device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxx>
> Co-developed-by: Haibo Xu <haibo1.xu@xxxxxxxxx>
> Signed-off-by: Haibo Xu <haibo1.xu@xxxxxxxxx>

> +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);

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux