> 
> On Thu, Sep 08, 2022 at 05:16:02PM -0700, Daniele Ceraolo Spurio wrote:
> > +static ssize_t mei_pxp_gsc_command(struct device *dev, u8 client_id,
> u32 fence_id,
> > +                              struct scatterlist *sg_in, size_t 
> > total_in_len,
> > +                              struct scatterlist *sg_out)
> > +{
> > +   struct mei_cl_device *cldev;
> > +
> > +   if (!dev || !sg_in || !sg_out)
> > +           return -EINVAL;
> 
> How can these ever be NULL?  Doesn't the core control this, so why would
> that happen?
This is any interface function between modules, I think it is not healthy to 
take assumptions here about how caller
behaves, this is not an inner functions. This is important even for catching 
programmatical mistakes. 
> 
> Don't check for things that can never happen.
> 
> > +
> > +   cldev = to_mei_cl_device(dev);
> > +
> > +   return mei_cldev_send_gsc_command(cldev, client_id, fence_id,
> sg_in,
> > +total_in_len, sg_out); }
> > +
> >  static const struct i915_pxp_component_ops mei_pxp_ops = {
> >     .owner = THIS_MODULE,
> >     .send = mei_pxp_send_message,
> >     .recv = mei_pxp_receive_message,
> > +   .gsc_command = mei_pxp_gsc_command,
> >  };
> >
> >  static int mei_component_master_bind(struct device *dev) diff --git
> > a/include/drm/i915_pxp_tee_interface.h
> > b/include/drm/i915_pxp_tee_interface.h
> > index af593ec64469..a702b6ec17f7 100644
> > --- a/include/drm/i915_pxp_tee_interface.h
> > +++ b/include/drm/i915_pxp_tee_interface.h
> > @@ -8,6 +8,7 @@
> >
> >  #include <linux/mutex.h>
> >  #include <linux/device.h>
> > +struct scatterlist;
> >
> >  /**
> >   * struct i915_pxp_component_ops - ops for PXP services.
> > @@ -23,6 +24,10 @@ struct i915_pxp_component_ops {
> >
> >     int (*send)(struct device *dev, const void *message, size_t size);
> >     int (*recv)(struct device *dev, void *buffer, size_t size);
> > +   ssize_t (*gsc_command)(struct device *dev, u8 client_id, u32
> fence_id,
> > +                          struct scatterlist *sg_in, size_t total_in_len,
> > +                          struct scatterlist *sg_out);
> 
> No documentation for this new callback?
> 
> The build should give you are warning :(
Will fix.

Thanks
Tomas


Reply via email to