[PATCH libdrm] intel: annotate the intel genx helpers as private

Chris Wilson chris at chris-wilson.co.uk
Thu Sep 6 17:59:33 UTC 2018


Quoting Lucas De Marchi (2018-09-06 18:51:37)
> On Thu, Sep 06, 2018 at 06:38:52PM +0100, Chris Wilson wrote:
> > Quoting Emil Velikov (2018-09-06 16:14:07)
> > > From: Emil Velikov <emil.velikov at collabora.com>
> > > 
> > > They're used internally and never meant to be part of the API.
> > > Add the drm_private notation, which should resolve that.
> > > 
> > > Cc: Eric Engestrom <eric.engestrom at intel.com>
> > > Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> > > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > > Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > Fixes: 4e81d4f9c9b ("intel: add generic functions to check PCI ID")
> > > Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> > > ---
> > >  intel/intel_chipset.c | 4 ++--
> > >  intel/intel_chipset.h | 4 ++--
> > >  2 files changed, 4 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/intel/intel_chipset.c b/intel/intel_chipset.c
> > > index d5c33cc5..5aa4a2f2 100644
> > > --- a/intel/intel_chipset.c
> > > +++ b/intel/intel_chipset.c
> > > @@ -44,7 +44,7 @@ static const struct pci_device {
> > >         INTEL_SKL_IDS(9),
> > >  };
> > >  
> > > -bool intel_is_genx(unsigned int devid, int gen)
> > > +drm_private bool intel_is_genx(unsigned int devid, int gen)
> > >  {
> > >         const struct pci_device *p,
> > >                   *pend = pciids + sizeof(pciids) / sizeof(pciids[0]);
> > > @@ -66,7 +66,7 @@ bool intel_is_genx(unsigned int devid, int gen)
> > >         return false;
> > >  }
> > >  
> > > -bool intel_get_genx(unsigned int devid, int *gen)
> > > +drm_private bool intel_get_genx(unsigned int devid, int *gen)
> > 
> > We should only need to put the attribute in the header, right?
> 
> IMO it actually makes more sense to be in the .c. Reason is that if we
> are going to change to be hidden by default and annotate the public
> ones, then we don't need to play with macros to hide them from other
> projects including the header.
> 
> A declaration for a private symbol should not be in an exported header
> so we know that all the functions in that header should actually be
> public.

And we definitely should not be and are not exporting intel_chipset.h.

I'd would rather have visibility declared in the header because that's
where I expect interface documentation.
-Chris


More information about the dri-devel mailing list