drm/i915/gmbus: pass gpio reg to intel_gpio_setup()
authorJani Nikula <jani.nikula@intel.com>
Thu, 3 Mar 2022 18:19:29 +0000 (20:19 +0200)
committerJani Nikula <jani.nikula@intel.com>
Fri, 4 Mar 2022 09:15:17 +0000 (11:15 +0200)
Avoid the additional gmbus lookup on the pin.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220303181931.1661767-3-jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_gmbus.c

index 9dc66447d30826b2009d9a8cda0cd78456a855f5..fd908e5248751010c6f600431f461d21b3a01c64 100644 (file)
@@ -322,14 +322,13 @@ intel_gpio_post_xfer(struct i2c_adapter *adapter)
 }
 
 static void
-intel_gpio_setup(struct intel_gmbus *bus, unsigned int pin)
+intel_gpio_setup(struct intel_gmbus *bus, i915_reg_t gpio_reg)
 {
-       struct drm_i915_private *dev_priv = bus->dev_priv;
        struct i2c_algo_bit_data *algo;
 
        algo = &bus->bit_algo;
 
-       bus->gpio_reg = GPIO(get_gmbus_pin(dev_priv, pin)->gpio);
+       bus->gpio_reg = gpio_reg;
        bus->adapter.algo_data = algo;
        algo->setsda = set_data;
        algo->setscl = set_clock;
@@ -909,7 +908,7 @@ int intel_gmbus_setup(struct drm_i915_private *dev_priv)
                if (IS_I830(dev_priv))
                        bus->force_bit = 1;
 
-               intel_gpio_setup(bus, pin);
+               intel_gpio_setup(bus, GPIO(gmbus_pin->gpio));
 
                ret = i2c_add_adapter(&bus->adapter);
                if (ret)