|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v8 5/7] xen/asm-generic: introduce generic device.h
On Mon, 2024-02-12 at 15:19 +0100, Jan Beulich wrote:
> On 09.02.2024 19:00, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/include/asm-generic/device.h
> > @@ -0,0 +1,149 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ASM_GENERIC_DEVICE_H__
> > +#define __ASM_GENERIC_DEVICE_H__
> > +
> > +#include <xen/stdbool.h>
> > +
> > +enum device_type
> > +{
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > + DEV_DT,
> > +#endif
> > + DEV_PCI
> > +};
> > +
> > +enum device_class
> > +{
> > + DEVICE_SERIAL,
> > + DEVICE_IOMMU,
> > + DEVICE_INTERRUPT_CONTROLLER,
> > + DEVICE_PCI_HOSTBRIDGE,
> > + /* Use for error */
> > + DEVICE_UNKNOWN,
> > +};
> > +
> > +struct dev_archdata {
> > +#ifdef CONFIG_HAS_PASSTHROUGH
> > + void *iommu; /* IOMMU private data */
> > +#endif
> > +};
> > +
> > +/* struct device - The basic device structure */
> > +struct device
> > +{
> > + enum device_type type;
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > + struct dt_device_node *of_node; /* Used by drivers imported
> > from Linux */
> > +#endif
> > + struct dev_archdata archdata;
> > +#ifdef CONFIG_HAS_PASSTHROUGH
> > + struct iommu_fwspec *iommu_fwspec; /* per-device IOMMU
> > instance data */
> > +#endif
> > +};
> > +
> > +typedef struct device device_t;
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +
> > +#include <xen/device_tree.h>
> > +
> > +#define dev_is_dt(dev) ((dev)->type == DEV_DT)
> > +
> > +/**
> > + * device_init - Initialize a device
> > + * @dev: device to initialize
> > + * @class: class of the device (serial, network...)
> > + * @data: specific data for initializing the device
> > + *
> > + * Return 0 on success.
> > + */
> > +int device_init(struct dt_device_node *dev, enum device_class
> > class,
> > + const void *data);
> > +
> > +/**
> > + * device_get_type - Get the type of the device
> > + * @dev: device to match
> > + *
> > + * Return the device type on success or DEVICE_ANY on failure
> > + */
> > +enum device_class device_get_class(const struct dt_device_node
> > *dev);
> > +
> > +#define DT_DEVICE_START(name_, namestr_, class_) \
>
> I don't think the trailing underscores are needed or helpful here
> (or in the ACPI counterpart), ...
>
> > +static const struct device_desc __dev_desc_##name_ __used \
> > +__section(".dev.info") = { \
> > + .name = namestr_, \
> > + .class = class_,
>
> ... seeing this all it would have taken was to avoid the two words
> "name" and "class" (by e.g. using "ident" and "cls").
>
> Nevertheless:
> Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
Thanks.
I'll apply your comments in the next patch version.
~ Oleksii
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |