[Intel-gfx] [RFC 01/15] drm/i915: Make I830 platform support optional

Chris Wilson chris at chris-wilson.co.uk
Thu Feb 8 13:23:11 UTC 2018


Quoting Tvrtko Ursulin (2018-02-08 13:05:52)
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>  drivers/gpu/drm/i915/Kconfig           | 5 +++++
>  drivers/gpu/drm/i915/Kconfig.platforms | 6 ++++++
>  drivers/gpu/drm/i915/i915_drv.h        | 5 ++++-
>  drivers/gpu/drm/i915/i915_pci.c        | 4 ++++
>  4 files changed, 19 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/gpu/drm/i915/Kconfig.platforms
> 
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index dfd95889f4b7..1363d05e6ec5 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -131,3 +131,8 @@ depends on DRM_I915
>  depends on EXPERT
>  source drivers/gpu/drm/i915/Kconfig.debug
>  endmenu
> +
> +menu "Platform support"
> +depends on DRM_I915
> +source drivers/gpu/drm/i915/Kconfig.platforms
> +endmenu
> diff --git a/drivers/gpu/drm/i915/Kconfig.platforms b/drivers/gpu/drm/i915/Kconfig.platforms
> new file mode 100644
> index 000000000000..f3949fff21e9
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/Kconfig.platforms
> @@ -0,0 +1,6 @@
> +config DRM_I915_PLATFORM_INTEL_I830
> +       bool "Intel i830 platform support"
> +       default y
> +       depends on DRM_I915
> +       help
> +         Include support for Intel i830 platform.
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 28a2671a26c7..6acd9789b452 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2575,7 +2575,10 @@ intel_info(const struct drm_i915_private *dev_priv)
>  
>  #define IS_PLATFORM(dev_priv, p) ((dev_priv)->info.platform_mask & BIT(p))
>  
> -#define IS_I830(dev_priv)      IS_PLATFORM(dev_priv, INTEL_I830)
> +#define IS_OPT_PLATFORM(dev_priv, p) \
> +       (IS_ENABLED(CONFIG_DRM_I915_PLATFORM_##p) && IS_PLATFORM(dev_priv, p))
> +
> +#define IS_I830(dev_priv)      IS_OPT_PLATFORM(dev_priv, INTEL_I830)
>  #define IS_I845G(dev_priv)     IS_PLATFORM(dev_priv, INTEL_I845G)
>  #define IS_I85X(dev_priv)      IS_PLATFORM(dev_priv, INTEL_I85X)
>  #define IS_I865G(dev_priv)     IS_PLATFORM(dev_priv, INTEL_I865G)
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 4e7a10c89782..81573073dceb 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -74,12 +74,14 @@
>         GEN_DEFAULT_PAGE_SIZES, \
>         CURSOR_OFFSETS
>  
> +#ifdef CONFIG_DRM_I915_PLATFORM_INTEL_I830

Be modern throughout, #if IS_ENABLED?

>  static const struct intel_device_info intel_i830_info = {
>         GEN2_FEATURES,
>         .platform = INTEL_I830,
>         .is_mobile = 1, .cursor_needs_physical = 1,
>         .num_pipes = 2, /* legal, last one wins */
>  };
> +#endif
>  
>  static const struct intel_device_info intel_i845g_info = {
>         GEN2_FEATURES,
> @@ -599,7 +601,9 @@ static const struct intel_device_info intel_icelake_11_info = {
>   * PCI ID matches, otherwise we'll use the wrong info struct above.
>   */
>  static const struct pci_device_id pciidlist[] = {
> +#ifdef CONFIG_DRM_I915_PLATFORM_INTEL_I830
>         INTEL_I830_IDS(&intel_i830_info),
> +#endif

This is exactly what I had in mind for the first draft. I was also
wondering how easy is it for us to create .section.platform. (Modules
within modules)
-Chris


More information about the Intel-gfx mailing list