> > <snip> > > diff --git a/include/drm/intel/xe_late_bind_mei_interface.h > b/include/drm/intel/xe_late_bind_mei_interface.h > > new file mode 100644 > > index 000000000000..4005c4c6184f > > --- /dev/null > > +++ b/include/drm/intel/xe_late_bind_mei_interface.h > > @@ -0,0 +1,49 @@ > > +/* SPDX-License-Identifier: MIT */ > > +/* > > + * Copyright (c) 2025 Intel Corporation > > + */ > > + > > +#ifndef _XE_LATE_BIND_MEI_INTERFACE_H_ > > +#define _XE_LATE_BIND_MEI_INTERFACE_H_ > > + > > +#include <linux/types.h> > > + > > +struct device; > > +struct module; > > + > > +/** > > + * struct xe_late_bind_component_ops - ops for Late Binding services. > > + * @owner: Module providing the ops > > + * @push_config: Sends a config to FW. > > + */ > > +struct xe_late_bind_component_ops { > > + struct module *owner; > > + > > + /** > > + * @push_config: Sends a config to FW. > > + * @dev: device struct corresponding to the mei device > > + * @type: payload type > > + * @flags: payload flags > > + * @payload: payload buffer > > + * @payload_size: payload buffer size > > + * > > + * Return: 0 success, negative errno value on transport failure, > > + * positive status returned by FW > > + */ > > + int (*push_config)(struct device *dev, u32 type, u32 flags, > > + const void *payload, size_t payload_size); > > +}; > > + > > +/** > > + * struct xe_late_bind_component - Late Binding services component > > + * @mei_dev: device that provide Late Binding service. > > + * @ops: Ops implemented by Late Binding driver, used by Xe driver. > > + * > > + * Communication between Xe and MEI drivers for Late Binding services > > + */ > > +struct xe_late_bind_component { > > + struct device *mei_dev; > > + const struct xe_late_bind_component_ops *ops; > > +}; > > Does this structure actually need to be defined here? Differently from > other components, for this component we're only passing the > xe_late_bind_component_ops via the component_bind_all call, so in the Xe > driver we should be free to use wherever type we want to store this info. > > Daniele >
You are right, this struct may be dropped from this header. Badal, let's move it out into Xe code. - - Thanks, Sasha > > + > > +#endif /* _XE_LATE_BIND_MEI_INTERFACE_H_ */