[Intel-gfx] [RFC 01/15] drm/i915: Make I830 platform support optional
Jani Nikula
jani.nikula at linux.intel.com
Fri Feb 9 11:26:44 UTC 2018
On Thu, 08 Feb 2018, Tvrtko Ursulin <tursulin at ursulin.net> wrote:
> 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
> 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
Is the compiler not smart enough to throw the device info away without
the #ifdefs? You're removing the only reference to it below after
all. Ditto throughout the series.
BR,
Jani.
>
> 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
> INTEL_I845G_IDS(&intel_i845g_info),
> INTEL_I85X_IDS(&intel_i85x_info),
> INTEL_I865G_IDS(&intel_i865g_info),
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list