diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_i2c.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_i2c.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c index 1991a4408cf9..b9755f6378d8 100644 --- a/drivers/gpu/drm/i915/intel_i2c.c +++ b/drivers/gpu/drm/i915/intel_i2c.c @@ -486,9 +486,6 @@ int intel_setup_gmbus(struct drm_device *dev)  		bus->dev_priv = dev_priv;  		bus->adapter.algo = &gmbus_algorithm; -		ret = i2c_add_adapter(&bus->adapter); -		if (ret) -			goto err;  		/* By default use a conservative clock rate */  		bus->reg0 = port | GMBUS_RATE_100KHZ; @@ -498,6 +495,10 @@ int intel_setup_gmbus(struct drm_device *dev)  			bus->force_bit = true;  		intel_gpio_setup(bus, port); + +		ret = i2c_add_adapter(&bus->adapter); +		if (ret) +			goto err;  	}  	intel_i2c_reset(dev_priv->dev); @@ -540,9 +541,6 @@ void intel_teardown_gmbus(struct drm_device *dev)  	struct drm_i915_private *dev_priv = dev->dev_private;  	int i; -	if (dev_priv->gmbus == NULL) -		return; -  	for (i = 0; i < GMBUS_NUM_PORTS; i++) {  		struct intel_gmbus *bus = &dev_priv->gmbus[i];  		i2c_del_adapter(&bus->adapter);  |