[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 04/29] xen/asm-generic: introduce stub header device.h
Hi, On 19/10/2023 10:14, Jan Beulich wrote: On 14.09.2023 16:56, Oleksii Kurochko wrote:--- /dev/null +++ b/xen/include/asm-generic/device.h @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef __ASM_GENERIC_DEVICE_H__ +#define __ASM_GENERIC_DEVICE_H__ + +struct dt_device_node; + +enum device_type +{ + DEV_DT, + DEV_PCI, +};Are both of these really generic? I think can be re-used for RISC-V to have an abstract view a device. This is for instance used in the IOMMU code where both PCI and platform (here called DT) can be assigned to a domain. The driver will need to know the difference, but the common layer doesn't need to. +struct device { + enum device_type type; +#ifdef CONFIG_HAS_DEVICE_TREE + struct dt_device_node *of_node; /* Used by drivers imported from Linux */ +#endif +}; + +enum device_class +{ + DEVICE_SERIAL, + DEVICE_IOMMU, + DEVICE_GIC,This one certainly is Arm-specific. This could be renamed to DEVICE_IC (or INTERRUPT_CONTROLLER) + DEVICE_PCI_HOSTBRIDGE,And this one's PCI-specific. Are you suggesting to #ifdef it? If so, I don't exactly see the value here. Overall same question as before: Are you expecting that RISC-V is going to get away without a customized header? I wouldn't think so. I think it can be useful. Most likely you will have multiple drivers for a class and you may want to initialize certain device class early than others. See how it is used in device_init(). Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |